From 8a05a6e2c726d6bf1c68223504481d5048f3dc36 Mon Sep 17 00:00:00 2001 From: rahulsainani Date: Mon, 30 Oct 2023 18:56:13 +0100 Subject: [PATCH] Bug 1861664 - Fix shopping experience nimbus flag usage (cherry picked from commit 9229d02daa613375bc9ea1f5aca669e1ec066a5b) --- .../java/org/mozilla/fenix/browser/BrowserFragment.kt | 4 +--- .../components/toolbar/BrowserToolbarCFRPresenter.kt | 5 +---- .../mozilla/fenix/settings/SecretSettingsFragment.kt | 6 ------ .../fenix/shopping/ShoppingExperienceFeature.kt | 10 +++------- app/src/main/java/org/mozilla/fenix/utils/Settings.kt | 8 -------- app/src/main/res/values/preference_keys.xml | 1 - app/src/main/res/values/static_strings.xml | 2 -- app/src/main/res/xml/secret_settings_preferences.xml | 5 ----- 8 files changed, 5 insertions(+), 36 deletions(-) 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 228f127d7..c21eb9dff 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt @@ -285,9 +285,7 @@ class BrowserFragment : BaseBrowserFragment(), UserInteractionHandler { feature = ReviewQualityCheckFeature( appStore = requireComponents.appStore, browserStore = context.components.core.store, - shoppingExperienceFeature = DefaultShoppingExperienceFeature( - settings = requireContext().settings(), - ), + shoppingExperienceFeature = DefaultShoppingExperienceFeature(), onIconVisibilityChange = { if (!reviewQualityCheckAvailable && it) { Shopping.addressBarIconDisplayed.record() diff --git a/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarCFRPresenter.kt b/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarCFRPresenter.kt index 74e78b573..40aa65d20 100644 --- a/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarCFRPresenter.kt +++ b/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarCFRPresenter.kt @@ -40,7 +40,6 @@ import org.mozilla.fenix.GleanMetrics.Shopping import org.mozilla.fenix.GleanMetrics.TrackingProtection import org.mozilla.fenix.R import org.mozilla.fenix.ext.components -import org.mozilla.fenix.ext.settings import org.mozilla.fenix.settings.SupportUtils import org.mozilla.fenix.settings.SupportUtils.SumoTopic.TOTAL_COOKIE_PROTECTION import org.mozilla.fenix.shopping.DefaultShoppingExperienceFeature @@ -81,9 +80,7 @@ class BrowserToolbarCFRPresenter( private val sessionId: String? = null, private val onShoppingCfrActionClicked: () -> Unit, private val onShoppingCfrDismiss: () -> Unit, - private val shoppingExperienceFeature: ShoppingExperienceFeature = DefaultShoppingExperienceFeature( - context.settings(), - ), + private val shoppingExperienceFeature: ShoppingExperienceFeature = DefaultShoppingExperienceFeature(), ) { @VisibleForTesting internal var scope: CoroutineScope? = null 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 17f625be0..6721dd81a 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt @@ -60,12 +60,6 @@ class SecretSettingsFragment : PreferenceFragmentCompat() { onPreferenceChangeListener = SharedPreferenceUpdater() } - requirePreference(R.string.pref_key_enable_shopping_experience).apply { - isVisible = Config.channel.isNightlyOrDebug - isChecked = context.settings().enableShoppingExperience - onPreferenceChangeListener = SharedPreferenceUpdater() - } - requirePreference(R.string.pref_key_enable_translations).apply { isVisible = FeatureFlags.translations isChecked = context.settings().enableTranslations diff --git a/app/src/main/java/org/mozilla/fenix/shopping/ShoppingExperienceFeature.kt b/app/src/main/java/org/mozilla/fenix/shopping/ShoppingExperienceFeature.kt index b0780dd8c..4eef7176e 100644 --- a/app/src/main/java/org/mozilla/fenix/shopping/ShoppingExperienceFeature.kt +++ b/app/src/main/java/org/mozilla/fenix/shopping/ShoppingExperienceFeature.kt @@ -4,7 +4,7 @@ package org.mozilla.fenix.shopping -import org.mozilla.fenix.utils.Settings +import org.mozilla.fenix.nimbus.FxNimbus /** * An abstraction for shopping experience feature flag. @@ -19,13 +19,9 @@ interface ShoppingExperienceFeature { /** * The default implementation of [ShoppingExperienceFeature]. - * - * @property settings Used to check if the feature is enabled. */ -class DefaultShoppingExperienceFeature( - private val settings: Settings, -) : ShoppingExperienceFeature { +class DefaultShoppingExperienceFeature : ShoppingExperienceFeature { override val isEnabled - get() = settings.enableShoppingExperience + get() = FxNimbus.features.shoppingExperience.value().enabled } 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 29fdd57c8..7873820a4 100644 --- a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -1852,14 +1852,6 @@ class Settings(private val appContext: Context) : PreferencesHolder { default = FeatureFlags.composeTopSites, ) - /** - * Indicates if the shopping experience feature is enabled. - */ - val enableShoppingExperience by booleanPreference( - key = appContext.getPreferenceKey(R.string.pref_key_enable_shopping_experience), - default = FxNimbus.features.shoppingExperience.value().enabled, - ) - /** * Indicates if Firefox translations are enabled. */ diff --git a/app/src/main/res/values/preference_keys.xml b/app/src/main/res/values/preference_keys.xml index 88bf35c10..a3120dd27 100644 --- a/app/src/main/res/values/preference_keys.xml +++ b/app/src/main/res/values/preference_keys.xml @@ -356,7 +356,6 @@ pref_key_custom_sponsored_stories_country pref_key_custom_sponsored_stories_city pref_key_enable_compose_top_sites - pref_key_enable_shopping_experience pref_key_enable_translations diff --git a/app/src/main/res/values/static_strings.xml b/app/src/main/res/values/static_strings.xml index 0d0cd1d62..7c45db7d1 100644 --- a/app/src/main/res/values/static_strings.xml +++ b/app/src/main/res/values/static_strings.xml @@ -66,8 +66,6 @@ Enable Tabs Tray to Compose rewrite Enable Compose Top Sites - - Enable Shopping Experience Enable Firefox Translations diff --git a/app/src/main/res/xml/secret_settings_preferences.xml b/app/src/main/res/xml/secret_settings_preferences.xml index f2eb8c195..42bb50629 100644 --- a/app/src/main/res/xml/secret_settings_preferences.xml +++ b/app/src/main/res/xml/secret_settings_preferences.xml @@ -25,11 +25,6 @@ android:key="@string/pref_key_enable_compose_top_sites" android:title="@string/preferences_debug_settings_compose_top_sites" app:iconSpaceReserved="false" /> -