From 69384e288c285bfd88e8e139211a10f0191f0dfb Mon Sep 17 00:00:00 2001 From: Norisz Fay Date: Fri, 13 Sep 2024 23:22:05 +0300 Subject: [PATCH] Backed out changeset 9c1d0c3ff431 (Bug 1790516) as requested by developer CLOSED TREE --- .../browser/engine/gecko/GeckoEngineSessionTest.kt | 4 ---- .../components/browser/state/action/BrowserAction.kt | 5 ----- .../browser/state/reducer/BrowserStateReducer.kt | 2 -- .../components/browser/state/state/BrowserState.kt | 2 -- .../components/browser/state/store/BrowserStoreTest.kt | 10 ---------- .../mozilla/components/feature/tabs/TabsUseCases.kt | 1 - mobile/android/android-components/docs/changelog.md | 3 --- .../src/main/java/org/mozilla/fenix/HomeActivity.kt | 2 +- .../src/main/java/org/mozilla/fenix/components/Core.kt | 2 -- .../src/main/java/org/mozilla/fenix/utils/Settings.kt | 5 ++--- .../fenix/app/src/main/res/values/preference_keys.xml | 2 +- .../geckoview/test/rule/GeckoSessionTestRule.java | 2 -- .../org/mozilla/geckoview/GeckoSessionSettings.java | 7 ++----- 13 files changed, 6 insertions(+), 41 deletions(-) diff --git a/mobile/android/android-components/components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/GeckoEngineSessionTest.kt b/mobile/android/android-components/components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/GeckoEngineSessionTest.kt index 20f02f0a7635..470b63a9d06b 100644 --- a/mobile/android/android-components/components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/GeckoEngineSessionTest.kt +++ b/mobile/android/android-components/components/browser/engine-gecko/src/test/java/mozilla/components/browser/engine/gecko/GeckoEngineSessionTest.kt @@ -11,7 +11,6 @@ import android.os.Looper.getMainLooper import android.os.Message import android.view.WindowManager import androidx.test.ext.junit.runners.AndroidJUnit4 -import androidx.test.platform.app.InstrumentationRegistry import kotlinx.coroutines.ExperimentalCoroutinesApi import mozilla.components.browser.engine.gecko.ext.geckoTrackingProtectionPermission import mozilla.components.browser.engine.gecko.ext.isExcludedForTrackingProtection @@ -79,7 +78,6 @@ import org.mockito.Mockito.spy import org.mockito.Mockito.times import org.mockito.Mockito.verify import org.mockito.Mockito.verifyNoInteractions -import org.mozilla.gecko.util.HardwareUtils import org.mozilla.geckoview.AllowOrDeny import org.mozilla.geckoview.ContentBlocking import org.mozilla.geckoview.GeckoResult @@ -135,7 +133,6 @@ class GeckoEngineSessionTest { private lateinit var scrollDelegate: ArgumentCaptor private lateinit var contentBlockingDelegate: ArgumentCaptor private lateinit var historyDelegate: ArgumentCaptor - private var context = InstrumentationRegistry.getInstrumentation().targetContext @Suppress("DEPRECATION") // Deprecation will be handled in https://github.com/mozilla-mobile/android-components/issues/8514 @@ -170,7 +167,6 @@ class GeckoEngineSessionTest { geckoSession = mockGeckoSession() geckoSessionProvider = { geckoSession } - HardwareUtils.init(context) } private fun captureDelegates() { diff --git a/mobile/android/android-components/components/browser/state/src/main/java/mozilla/components/browser/state/action/BrowserAction.kt b/mobile/android/android-components/components/browser/state/src/main/java/mozilla/components/browser/state/action/BrowserAction.kt index 08ea7e354a81..d93dec53840c 100644 --- a/mobile/android/android-components/components/browser/state/src/main/java/mozilla/components/browser/state/action/BrowserAction.kt +++ b/mobile/android/android-components/components/browser/state/src/main/java/mozilla/components/browser/state/action/BrowserAction.kt @@ -1917,8 +1917,3 @@ sealed class AppLifecycleAction : BrowserAction() { */ object PauseAction : AppLifecycleAction() } - -/** - * Toggles the global default for desktop browsing mode. - */ -data object ToggleDesktopMode : BrowserAction() diff --git a/mobile/android/android-components/components/browser/state/src/main/java/mozilla/components/browser/state/reducer/BrowserStateReducer.kt b/mobile/android/android-components/components/browser/state/src/main/java/mozilla/components/browser/state/reducer/BrowserStateReducer.kt index bc1159808456..a2ae9e4547c5 100644 --- a/mobile/android/android-components/components/browser/state/src/main/java/mozilla/components/browser/state/reducer/BrowserStateReducer.kt +++ b/mobile/android/android-components/components/browser/state/src/main/java/mozilla/components/browser/state/reducer/BrowserStateReducer.kt @@ -30,7 +30,6 @@ import mozilla.components.browser.state.action.ShareInternetResourceAction import mozilla.components.browser.state.action.SystemAction import mozilla.components.browser.state.action.TabGroupAction import mozilla.components.browser.state.action.TabListAction -import mozilla.components.browser.state.action.ToggleDesktopMode import mozilla.components.browser.state.action.TrackingProtectionAction import mozilla.components.browser.state.action.TranslationsAction import mozilla.components.browser.state.action.UndoAction @@ -80,7 +79,6 @@ internal object BrowserStateReducer { is DebugAction -> DebugReducer.reduce(state, action) is ExtensionsProcessAction -> ExtensionsProcessStateReducer.reduce(state, action) is AwesomeBarAction -> AwesomeBarStateReducer.reduce(state, action) - is ToggleDesktopMode -> state.copy(desktopMode = !state.desktopMode) } } } diff --git a/mobile/android/android-components/components/browser/state/src/main/java/mozilla/components/browser/state/state/BrowserState.kt b/mobile/android/android-components/components/browser/state/src/main/java/mozilla/components/browser/state/state/BrowserState.kt index 6e12f61318af..94ded431dd64 100644 --- a/mobile/android/android-components/components/browser/state/src/main/java/mozilla/components/browser/state/state/BrowserState.kt +++ b/mobile/android/android-components/components/browser/state/src/main/java/mozilla/components/browser/state/state/BrowserState.kt @@ -36,7 +36,6 @@ import java.util.Locale * @property locale The current locale of the app. Will be null when following the system default. * @property awesomeBarState Holds state for interactions with the [AwesomeBar]. * @property translationEngine Holds translation state that applies to the browser. - * @property desktopMode Whether or not browsing is in desktop mode by default for any newly opened tabs. */ data class BrowserState( val tabs: List = emptyList(), @@ -57,5 +56,4 @@ data class BrowserState( val extensionsProcessDisabled: Boolean = false, val awesomeBarState: AwesomeBarState = AwesomeBarState(), val translationEngine: TranslationsBrowserState = TranslationsBrowserState(), - val desktopMode: Boolean = false, ) : State diff --git a/mobile/android/android-components/components/browser/state/src/test/java/mozilla/components/browser/state/store/BrowserStoreTest.kt b/mobile/android/android-components/components/browser/state/src/test/java/mozilla/components/browser/state/store/BrowserStoreTest.kt index 6c3e65be0ee4..cc2eff24d101 100644 --- a/mobile/android/android-components/components/browser/state/src/test/java/mozilla/components/browser/state/store/BrowserStoreTest.kt +++ b/mobile/android/android-components/components/browser/state/src/test/java/mozilla/components/browser/state/store/BrowserStoreTest.kt @@ -9,7 +9,6 @@ import mozilla.components.browser.state.action.BrowserAction import mozilla.components.browser.state.action.InitAction import mozilla.components.browser.state.action.RestoreCompleteAction import mozilla.components.browser.state.action.TabListAction -import mozilla.components.browser.state.action.ToggleDesktopMode import mozilla.components.browser.state.state.BrowserState import mozilla.components.browser.state.state.createTab import mozilla.components.lib.state.Middleware @@ -93,13 +92,4 @@ class BrowserStoreTest { store.dispatch(RestoreCompleteAction).joinBlocking() assertTrue(store.state.restoreComplete) } - - @Test - fun `ToggleDesktopMode updates state`() { - val store = BrowserStore() - assertFalse(store.state.desktopMode) - - store.dispatch(ToggleDesktopMode).joinBlocking() - assertTrue(store.state.desktopMode) - } } diff --git a/mobile/android/android-components/components/feature/tabs/src/main/java/mozilla/components/feature/tabs/TabsUseCases.kt b/mobile/android/android-components/components/feature/tabs/src/main/java/mozilla/components/feature/tabs/TabsUseCases.kt index 3a6392a9b3ce..faac955d8f90 100644 --- a/mobile/android/android-components/components/feature/tabs/src/main/java/mozilla/components/feature/tabs/TabsUseCases.kt +++ b/mobile/android/android-components/components/feature/tabs/src/main/java/mozilla/components/feature/tabs/TabsUseCases.kt @@ -180,7 +180,6 @@ class TabsUseCases( initialLoadFlags = flags, initialAdditionalHeaders = additionalHeaders, historyMetadata = historyMetadata, - desktopMode = store.state.desktopMode, ) store.dispatch(TabListAction.AddTabAction(tab, select = selectTab)) diff --git a/mobile/android/android-components/docs/changelog.md b/mobile/android/android-components/docs/changelog.md index c658f1402675..066021739abc 100644 --- a/mobile/android/android-components/docs/changelog.md +++ b/mobile/android/android-components/docs/changelog.md @@ -21,9 +21,6 @@ permalink: /changelog/ * **All components** * ⚠️Increased `compileSdkVersion` to 35 (Android 15) -* **browser-store** - * Adds `desktopMode` property to the `BrowserStore` to know whether or not browsing is in desktop mode. [Bug 1790516](https://bugzilla.mozilla.org/show_bug.cgi?id=1790516) - * **browser-state** * 🆕 New `isPdf` property for `ContentState` to inform whether the current page is a pdf or not. [Bug 1817810](https://bugzilla.mozilla.org/show_bug.cgi?id=1817810) diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt index 81e1e20d327d..313b6db567e0 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt @@ -1176,7 +1176,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity { components.core.store.dispatch(ContentAction.UpdateDesktopModeAction(tabId, true)) // Reset preference value after opening the tab in desktop mode - settings().openNextTabInDesktopMode = components.core.store.state.desktopMode + settings().openNextTabInDesktopMode = false } @VisibleForTesting diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Core.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Core.kt index 91bf24359876..4e5459f7012b 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Core.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Core.kt @@ -99,7 +99,6 @@ import org.mozilla.fenix.R import org.mozilla.fenix.components.search.SearchMigration import org.mozilla.fenix.downloads.DownloadService import org.mozilla.fenix.ext.components -import org.mozilla.fenix.ext.isTablet import org.mozilla.fenix.ext.settings import org.mozilla.fenix.gecko.GeckoProvider import org.mozilla.fenix.historymetadata.DefaultHistoryMetadataService @@ -327,7 +326,6 @@ class Core( search = SearchState( applicationSearchEngines = applicationSearchEngines, ), - desktopMode = context.isTablet(), ), middleware = middlewareList + EngineMiddleware.create( engine, diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt index a03531ce3029..abaf7a106acd 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -44,7 +44,6 @@ import org.mozilla.fenix.components.toolbar.ToolbarPosition import org.mozilla.fenix.components.toolbar.navbar.shouldAddNavigationBar import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.getPreferenceKey -import org.mozilla.fenix.ext.isTablet import org.mozilla.fenix.nimbus.CookieBannersSection import org.mozilla.fenix.nimbus.FxNimbus import org.mozilla.fenix.nimbus.HomeScreenSection @@ -1628,8 +1627,8 @@ class Settings(private val appContext: Context) : PreferencesHolder { * If set to true, next opened tab from home screen will be opened in desktop mode. */ var openNextTabInDesktopMode by booleanPreference( - appContext.getPreferenceKey(R.string.pref_key_open_next_tab_desktop_mode_is_tablet), - default = appContext.isTablet(), + appContext.getPreferenceKey(R.string.pref_key_open_next_tab_desktop_mode), + default = false, ) var signedInFxaAccount by booleanPreference( diff --git a/mobile/android/fenix/app/src/main/res/values/preference_keys.xml b/mobile/android/fenix/app/src/main/res/values/preference_keys.xml index 43462bc38b23..fe157616a41e 100644 --- a/mobile/android/fenix/app/src/main/res/values/preference_keys.xml +++ b/mobile/android/fenix/app/src/main/res/values/preference_keys.xml @@ -359,7 +359,7 @@ pref_key_return_to_browser - pref_key_open_next_tab_desktop_mode_is_tablet + pref_key_open_next_tab_desktop_mode pref_key_pocket_homescreen_recommendations diff --git a/mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/rule/GeckoSessionTestRule.java b/mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/rule/GeckoSessionTestRule.java index 357169eb2526..3fe315d97b41 100644 --- a/mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/rule/GeckoSessionTestRule.java +++ b/mobile/android/geckoview/src/androidTest/java/org/mozilla/geckoview/test/rule/GeckoSessionTestRule.java @@ -64,7 +64,6 @@ import org.junit.rules.TestRule; import org.junit.runner.Description; import org.junit.runners.model.Statement; import org.mozilla.gecko.MultiMap; -import org.mozilla.gecko.util.HardwareUtils; import org.mozilla.gecko.util.ThreadUtils; import org.mozilla.geckoview.Autocomplete; import org.mozilla.geckoview.Autofill; @@ -873,7 +872,6 @@ public class GeckoSessionTestRule implements TestRule { @Nullable private Map mResponseModifiers = null; public GeckoSessionTestRule() { - HardwareUtils.init(InstrumentationRegistry.getInstrumentation().getTargetContext()); mDefaultSettings = new GeckoSessionSettings.Builder().build(); } diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSessionSettings.java b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSessionSettings.java index 4ee3e69e35b5..4dc23bc51954 100644 --- a/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSessionSettings.java +++ b/mobile/android/geckoview/src/main/java/org/mozilla/geckoview/GeckoSessionSettings.java @@ -16,7 +16,6 @@ import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.Arrays; import java.util.Collection; -import org.mozilla.gecko.GeckoAppShell; import org.mozilla.gecko.util.GeckoBundle; @AnyThread @@ -230,7 +229,7 @@ public final class GeckoSessionSettings implements Parcelable { /** The user agent mode is mobile device */ public static final int USER_AGENT_MODE_MOBILE = 0; - /** The user agent mode is desktop device */ + /** The user agent mobe is desktop device */ public static final int USER_AGENT_MODE_DESKTOP = 1; /** The user agent mode is VR device */ @@ -377,9 +376,7 @@ public final class GeckoSessionSettings implements Parcelable { mBundle.putBoolean(ALLOW_JAVASCRIPT.name, true); mBundle.putBoolean(FULL_ACCESSIBILITY_TREE.name, false); mBundle.putBoolean(IS_EXTENSION_POPUP.name, false); - mBundle.putInt( - USER_AGENT_MODE.name, - GeckoAppShell.isTablet() ? USER_AGENT_MODE_DESKTOP : USER_AGENT_MODE_MOBILE); + mBundle.putInt(USER_AGENT_MODE.name, USER_AGENT_MODE_MOBILE); mBundle.putString(USER_AGENT_OVERRIDE.name, null); mBundle.putInt(VIEWPORT_MODE.name, VIEWPORT_MODE_MOBILE); mBundle.putInt(DISPLAY_MODE.name, DISPLAY_MODE_BROWSER);