diff --git a/app/nimbus.fml.yaml b/app/nimbus.fml.yaml index 6fa085388..e946bb843 100644 --- a/app/nimbus.fml.yaml +++ b/app/nimbus.fml.yaml @@ -382,42 +382,42 @@ features: description: > Show the primary toolbar entry point into the translations feature. (Translations icon on URL toolbar.) type: Boolean - default: true + default: false main-flow-browser-menu-enabled: description: > Show the browser menu entry point into the translations feature. ('Translate Page' on browser menu.) type: Boolean - default: true + default: false page-settings-enabled: description: > Show the page settings entry point within the translations feature. (Gear icon on the translations main flow page.) 'main-flow-toolbar-enabled' or 'main-flow-browser-menu-enabled' must also be enabled for users to access this feature. type: Boolean - default: true + default: false global-settings-enabled: description: > Show the global settings entry point within the translations feature. ('Translation Settings' on the page settings view.) 'page-settings-enabled' must also be enabled for users to access this feature. type: Boolean - default: true + default: false global-lang-settings-enabled: description: > Show the global language options entry point for automatically translating. ('Automatic Translation' on the global settings view.) 'global-settings-enabled' must also be enabled for users to access this feature. type: Boolean - default: true + default: false global-site-settings-enabled: description: > Show the global never translate this site options entry point for site management. ('Never translate these sites' on the global settings view.) 'global-settings-enabled' must also be enabled for users to access this feature. type: Boolean - default: true + default: false downloads-enabled: description: > Show the global language model download options entry point for translations. ('Download languages' on the global settings view.) 'global-settings-enabled' must also be enabled for users to access this feature. type: Boolean - default: true + default: false types: objects: {} diff --git a/app/src/androidTest/java/org/mozilla/fenix/helpers/FeatureSettingsHelper.kt b/app/src/androidTest/java/org/mozilla/fenix/helpers/FeatureSettingsHelper.kt index 6aa8319f5..9b6fda9e1 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/helpers/FeatureSettingsHelper.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/helpers/FeatureSettingsHelper.kt @@ -82,11 +82,6 @@ interface FeatureSettingsHelper { */ var composeTopSitesEnabled: Boolean - /** - * Enable or disable translations flow. - */ - var isTranslationsEnabled: Boolean - fun applyFlagUpdates() fun resetAllFeatureFlags() diff --git a/app/src/androidTest/java/org/mozilla/fenix/helpers/FeatureSettingsHelperDelegate.kt b/app/src/androidTest/java/org/mozilla/fenix/helpers/FeatureSettingsHelperDelegate.kt index c6f0853a1..9426d0c12 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/helpers/FeatureSettingsHelperDelegate.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/helpers/FeatureSettingsHelperDelegate.kt @@ -37,7 +37,6 @@ class FeatureSettingsHelperDelegate() : FeatureSettingsHelper { etpPolicy = getETPPolicy(settings), tabsTrayRewriteEnabled = settings.enableTabsTrayToCompose, composeTopSitesEnabled = settings.enableComposeTopSites, - translationsEnabled = settings.enableTranslations, ) /** @@ -67,7 +66,6 @@ class FeatureSettingsHelperDelegate() : FeatureSettingsHelper { override var etpPolicy: ETPPolicy by updatedFeatureFlags::etpPolicy override var tabsTrayRewriteEnabled: Boolean by updatedFeatureFlags::tabsTrayRewriteEnabled override var composeTopSitesEnabled: Boolean by updatedFeatureFlags::composeTopSitesEnabled - override var isTranslationsEnabled: Boolean by updatedFeatureFlags::translationsEnabled override fun applyFlagUpdates() { applyFeatureFlags(updatedFeatureFlags) @@ -93,7 +91,6 @@ class FeatureSettingsHelperDelegate() : FeatureSettingsHelper { settings.shouldShowOpenInAppBanner = featureFlags.isOpenInAppBannerEnabled settings.enableTabsTrayToCompose = featureFlags.tabsTrayRewriteEnabled settings.enableComposeTopSites = featureFlags.composeTopSitesEnabled - settings.enableTranslations = featureFlags.translationsEnabled setETPPolicy(featureFlags.etpPolicy) } } @@ -113,7 +110,6 @@ private data class FeatureFlags( var etpPolicy: ETPPolicy, var tabsTrayRewriteEnabled: Boolean, var composeTopSitesEnabled: Boolean, - var translationsEnabled: Boolean, ) internal fun getETPPolicy(settings: Settings): ETPPolicy { diff --git a/app/src/androidTest/java/org/mozilla/fenix/helpers/HomeActivityTestRule.kt b/app/src/androidTest/java/org/mozilla/fenix/helpers/HomeActivityTestRule.kt index d552d55fb..754f7f5a5 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/helpers/HomeActivityTestRule.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/helpers/HomeActivityTestRule.kt @@ -165,7 +165,6 @@ class HomeActivityIntentTestRule internal constructor( etpPolicy: ETPPolicy = getETPPolicy(settings), tabsTrayRewriteEnabled: Boolean = false, composeTopSitesEnabled: Boolean = false, - translationsEnabled: Boolean = false, ) : this(initialTouchMode, launchActivity, skipOnboarding) { this.isHomeOnboardingDialogEnabled = isHomeOnboardingDialogEnabled this.isPocketEnabled = isPocketEnabled @@ -180,7 +179,6 @@ class HomeActivityIntentTestRule internal constructor( this.etpPolicy = etpPolicy this.tabsTrayRewriteEnabled = tabsTrayRewriteEnabled this.composeTopSitesEnabled = composeTopSitesEnabled - this.isTranslationsEnabled = translationsEnabled } private val longTapUserPreference = getLongPressTimeout() @@ -262,7 +260,6 @@ class HomeActivityIntentTestRule internal constructor( skipOnboarding: Boolean = false, tabsTrayRewriteEnabled: Boolean = false, composeTopSitesEnabled: Boolean = false, - translationsEnabled: Boolean = false, ) = HomeActivityIntentTestRule( initialTouchMode = initialTouchMode, launchActivity = launchActivity, @@ -274,7 +271,6 @@ class HomeActivityIntentTestRule internal constructor( isWallpaperOnboardingEnabled = false, isOpenInAppBannerEnabled = false, composeTopSitesEnabled = composeTopSitesEnabled, - translationsEnabled = translationsEnabled, ) } } diff --git a/app/src/androidTest/java/org/mozilla/fenix/ui/MainMenuTest.kt b/app/src/androidTest/java/org/mozilla/fenix/ui/MainMenuTest.kt index 7302bc9b0..b4646ece9 100644 --- a/app/src/androidTest/java/org/mozilla/fenix/ui/MainMenuTest.kt +++ b/app/src/androidTest/java/org/mozilla/fenix/ui/MainMenuTest.kt @@ -6,6 +6,7 @@ package org.mozilla.fenix.ui import androidx.core.net.toUri import mozilla.components.concept.engine.utils.EngineReleaseChannel +import org.junit.Before import org.junit.Rule import org.junit.Test import org.mozilla.fenix.customannotations.SmokeTest @@ -21,6 +22,8 @@ import org.mozilla.fenix.helpers.TestAssetHelper import org.mozilla.fenix.helpers.TestHelper import org.mozilla.fenix.helpers.TestHelper.mDevice import org.mozilla.fenix.helpers.TestSetup +import org.mozilla.fenix.nimbus.FxNimbus +import org.mozilla.fenix.nimbus.Translations import org.mozilla.fenix.ui.robots.browserScreen import org.mozilla.fenix.ui.robots.clickContextMenuItem import org.mozilla.fenix.ui.robots.clickPageObject @@ -30,10 +33,27 @@ import org.mozilla.fenix.ui.robots.navigationToolbar class MainMenuTest : TestSetup() { @get:Rule - val activityTestRule = - HomeActivityIntentTestRule.withDefaultSettingsOverrides(translationsEnabled = true) + val activityTestRule = HomeActivityIntentTestRule.withDefaultSettingsOverrides() // TestRail link: https://testrail.stage.mozaws.net/index.php?/cases/view/233849 + + @Before + override fun setUp() { + super.setUp() + FxNimbus.features.translations.withInitializer { _, _ -> + // These are FML generated objects and enums + Translations( + mainFlowToolbarEnabled = true, + mainFlowBrowserMenuEnabled = true, + pageSettingsEnabled = true, + globalSettingsEnabled = true, + globalLangSettingsEnabled = true, + globalSiteSettingsEnabled = true, + downloadsEnabled = true, + ) + } + } + @Test fun verifyTabMainMenuItemsTest() { val defaultWebPage = TestAssetHelper.getGenericAsset(mockWebServer, 1) diff --git a/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt b/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt index f7da4b110..3960c1d9f 100644 --- a/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt +++ b/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt @@ -63,12 +63,6 @@ object FeatureFlags { */ const val unifiedSearchSettings = true - /** - * Allows users to enable translations. - * Preference to fully enable translations is pref_key_enable_translations. - */ - val translations = Config.channel.isNightlyOrDebug - /** * Allows users to enable Firefox Suggest. */ diff --git a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt index b6154c5ea..3acba253b 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt @@ -314,7 +314,6 @@ class BrowserFragment : BaseBrowserFragment(), UserInteractionHandler { context.components.core.store.state.translationEngine.isEngineSupported if (isEngineSupported != true || - !context.settings().enableTranslations || !FxNimbus.features.translations.value().mainFlowToolbarEnabled ) { return diff --git a/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt b/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt index 62159623e..842837756 100644 --- a/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt +++ b/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt @@ -199,7 +199,7 @@ open class DefaultToolbarMenu( */ @VisibleForTesting(otherwise = PRIVATE) fun shouldShowTranslations(): Boolean = selectedSession?.let { - context.settings().enableTranslations && store.state.translationEngine.isEngineSupported == true && + store.state.translationEngine.isEngineSupported == true && FxNimbus.features.translations.value().mainFlowBrowserMenuEnabled } ?: false // End of predicates // diff --git a/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt index 7d7d4108c..fee37d6d0 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt @@ -76,12 +76,6 @@ class SecretSettingsFragment : PreferenceFragmentCompat() { onPreferenceChangeListener = SharedPreferenceUpdater() } - requirePreference(R.string.pref_key_enable_translations).apply { - isVisible = FeatureFlags.translations - isChecked = context.settings().enableTranslations - onPreferenceChangeListener = SharedPreferenceUpdater() - } - requirePreference(R.string.pref_key_enable_fxsuggest).apply { isVisible = FeatureFlags.fxSuggest isChecked = context.settings().enableFxSuggest diff --git a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt index 7e0eac452..5fe16784f 100644 --- a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -1874,14 +1874,6 @@ class Settings(private val appContext: Context) : PreferencesHolder { default = FeatureFlags.composeTopSites, ) - /** - * Indicates if Firefox translations are enabled. - */ - var enableTranslations by booleanPreference( - key = appContext.getPreferenceKey(R.string.pref_key_enable_translations), - default = false, - ) - /** * Adjust Activated User sent */ diff --git a/app/src/main/res/values/preference_keys.xml b/app/src/main/res/values/preference_keys.xml index c84882ccf..02e8d5111 100644 --- a/app/src/main/res/values/preference_keys.xml +++ b/app/src/main/res/values/preference_keys.xml @@ -368,7 +368,6 @@ pref_key_custom_sponsored_stories_country pref_key_custom_sponsored_stories_city pref_key_enable_compose_top_sites - pref_key_enable_translations pref_key_growth_set_as_default diff --git a/app/src/main/res/values/static_strings.xml b/app/src/main/res/values/static_strings.xml index 649bfb5ae..9db93cea1 100644 --- a/app/src/main/res/values/static_strings.xml +++ b/app/src/main/res/values/static_strings.xml @@ -68,8 +68,6 @@ Enable Tabs Tray to Compose rewrite Enable Compose Top Sites - - Enable Firefox Translations Enable Firefox Suggest diff --git a/app/src/main/res/xml/secret_settings_preferences.xml b/app/src/main/res/xml/secret_settings_preferences.xml index 35e5068ad..2a11a24f7 100644 --- a/app/src/main/res/xml/secret_settings_preferences.xml +++ b/app/src/main/res/xml/secret_settings_preferences.xml @@ -30,11 +30,6 @@ android:key="@string/pref_key_toolbar_use_redesign_incomplete" android:title="@string/preferences_debug_settings_toolbar_redesign" app:iconSpaceReserved="false" /> -