commit 6f626f7437a727412fb3934ea6d3ed454330f4d5
parent 88b505fc10eb4bbc5af6c3cadb325f1d1d3a2b56
Author: Devota Aabel <daabel@mozilla.com>
Date: Mon, 27 Oct 2025 18:51:13 +0000
Bug 1996061- Remove overrideUserSpecifiedHomepageSections flag, and revert HomepageSections nimbus flags to previous logic. r=gl,android-reviewers
Differential Revision: https://phabricator.services.mozilla.com/D269860
Diffstat:
6 files changed, 24 insertions(+), 79 deletions(-)
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/HomeSettingsFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/HomeSettingsFragment.kt
@@ -43,7 +43,6 @@ class HomeSettingsFragment : PreferenceFragmentCompat() {
private fun setupPreferences() {
requirePreference<SwitchPreference>(R.string.pref_key_show_top_sites).apply {
- isVisible = requireContext().settings().showHomepageTopSitesSectionToggle
isChecked = context.settings().showTopSitesFeature
onPreferenceChangeListener = object : SharedPreferenceUpdater() {
override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean {
@@ -60,7 +59,6 @@ class HomeSettingsFragment : PreferenceFragmentCompat() {
}
requirePreference<CheckBoxPreference>(R.string.pref_key_enable_contile).apply {
- isVisible = requireContext().settings().showHomepageTopSitesSectionToggle
isChecked = context.settings().showContileFeature
onPreferenceChangeListener = object : SharedPreferenceUpdater() {
override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean {
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt
@@ -163,12 +163,6 @@ class SecretSettingsFragment : PreferenceFragmentCompat() {
onPreferenceChangeListener = SharedPreferenceUpdater()
}
- requirePreference<SwitchPreference>(R.string.pref_key_override_user_specified_homepage_sections).apply {
- isVisible = Config.channel.isNightlyOrDebug
- isChecked = context.settings().overrideUserSpecifiedHomepageSections
- onPreferenceChangeListener = SharedPreferenceUpdater()
- }
-
requirePreference<SwitchPreference>(R.string.pref_key_enable_homepage_as_new_tab).apply {
isVisible = Config.channel.isNightlyOrDebug
isChecked = context.settings().enableHomepageAsNewTab
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
@@ -177,33 +177,20 @@ class Settings(private val appContext: Context) : PreferencesHolder {
/**
* Indicates if the recent saved bookmarks functionality should be visible.
*/
- val showBookmarksHomeFeature: Boolean
- get() = if (overrideUserSpecifiedHomepageSections) {
- homescreenSections[HomeScreenSection.BOOKMARKS] == true
- } else {
- preferences.getBoolean(
- appContext.getPreferenceKey(R.string.pref_key_customization_bookmarks),
- homescreenSections[HomeScreenSection.BOOKMARKS] == true,
- )
- }
+ var showBookmarksHomeFeature by lazyFeatureFlagPreference(
+ appContext.getPreferenceKey(R.string.pref_key_customization_bookmarks),
+ default = { homescreenSections[HomeScreenSection.BOOKMARKS] == true },
+ featureFlag = true,
+ )
/**
* Indicates if the recent tabs functionality should be visible.
*/
- var showRecentTabsFeature: Boolean
- get() = if (overrideUserSpecifiedHomepageSections) {
- homescreenSections[HomeScreenSection.JUMP_BACK_IN] == true
- } else {
- preferences.getBoolean(
- appContext.getPreferenceKey(R.string.pref_key_recent_tabs),
- homescreenSections[HomeScreenSection.JUMP_BACK_IN] == true,
- )
- }
- set(value) {
- preferences.edit {
- putBoolean(appContext.getPreferenceKey(R.string.pref_key_recent_tabs), value)
- }
- }
+ var showRecentTabsFeature by lazyFeatureFlagPreference(
+ appContext.getPreferenceKey(R.string.pref_key_recent_tabs),
+ featureFlag = true,
+ default = { homescreenSections[HomeScreenSection.JUMP_BACK_IN] == true },
+ )
/**
* Indicates if the stories homescreen section should be shown.
@@ -235,20 +222,11 @@ class Settings(private val appContext: Context) : PreferencesHolder {
/**
* Indicates whether or not the "Recently Visited" section should be shown on the home screen.
*/
- var historyMetadataUIFeature: Boolean
- get() = if (overrideUserSpecifiedHomepageSections) {
- homescreenSections[HomeScreenSection.RECENT_EXPLORATIONS] == true
- } else {
- preferences.getBoolean(
- appContext.getPreferenceKey(R.string.pref_key_history_metadata_feature),
- homescreenSections[HomeScreenSection.RECENT_EXPLORATIONS] == true,
- )
- }
- set(value) {
- preferences.edit {
- putBoolean(appContext.getPreferenceKey(R.string.pref_key_history_metadata_feature), value)
- }
- }
+ var historyMetadataUIFeature by lazyFeatureFlagPreference(
+ appContext.getPreferenceKey(R.string.pref_key_history_metadata_feature),
+ default = { homescreenSections[HomeScreenSection.RECENT_EXPLORATIONS] == true },
+ featureFlag = true,
+ )
/**
* Indicates whether or not the "Synced Tabs" section should be shown on the home screen.
@@ -274,51 +252,32 @@ class Settings(private val appContext: Context) : PreferencesHolder {
/**
* Indicates whether or not top sites should be shown on the home screen.
*/
- val showTopSitesFeature: Boolean
- get() = if (overrideUserSpecifiedHomepageSections) {
- homescreenSections[HomeScreenSection.TOP_SITES] == true
- } else {
- preferences.getBoolean(
- appContext.getPreferenceKey(R.string.pref_key_show_top_sites),
- homescreenSections[HomeScreenSection.TOP_SITES] == true,
- )
- }
+ var showTopSitesFeature by lazyFeatureFlagPreference(
+ appContext.getPreferenceKey(R.string.pref_key_show_top_sites),
+ featureFlag = true,
+ default = { homescreenSections[HomeScreenSection.TOP_SITES] == true },
+ )
private val homescreenSections: Map<HomeScreenSection, Boolean>
get() = FxNimbus.features.homescreen.value().sectionsEnabled
/**
- * Indicates if the top sites homepage section settings should be visible
- */
- val showHomepageTopSitesSectionToggle: Boolean
- get() = !overrideUserSpecifiedHomepageSections || enableHomepageSearchBar
-
- /**
* Indicates if the recent tabs homepage section settings should be visible
*/
val showHomepageRecentTabsSectionToggle: Boolean
- get() = !overrideUserSpecifiedHomepageSections && !enableHomepageSearchBar
+ get() = !enableHomepageSearchBar
/**
* Indicates if the bookmarks homepage section settings should be visible
*/
val showHomepageBookmarksSectionToggle: Boolean
- get() = !overrideUserSpecifiedHomepageSections && !enableHomepageSearchBar
+ get() = !enableHomepageSearchBar
/**
* Indicates if the recently visited homepage section settings should be visible
*/
val showHomepageRecentlyVisitedSectionToggle: Boolean
- get() = !overrideUserSpecifiedHomepageSections && !enableHomepageSearchBar
-
- /**
- * Indicates if the user specified homepage section visibility should be ignored.
- */
- val overrideUserSpecifiedHomepageSections by lazyFeatureFlagPreference(
- appContext.getPreferenceKey(R.string.pref_key_override_user_specified_homepage_sections),
- featureFlag = true,
- default = { FxNimbus.features.overrideUserSpecifiedHomepageSections.value().enabled },
- )
+ get() = !enableHomepageSearchBar
var numberOfAppLaunches by intPreference(
appContext.getPreferenceKey(R.string.pref_key_times_app_opened),
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
@@ -316,7 +316,6 @@
<string name="pref_key_encryption_key_generated" translatable="false">pref_key_encryption_key_generated</string>
<!-- Homepage -->
- <string name="pref_key_override_user_specified_homepage_sections" translatable="false">pref_key_override_user_specified_homepage_sections</string>
<string name="pref_key_enable_homepage_header" translatable="false">pref_key_enable_homepage_header</string>
<!-- Top Sites -->
diff --git a/mobile/android/fenix/app/src/main/res/values/static_strings.xml b/mobile/android/fenix/app/src/main/res/values/static_strings.xml
@@ -72,7 +72,7 @@
<!-- Label for enabling the Homepage Search Bar -->
<string name="preferences_debug_settings_homepage_searchbar" translatable="false">Enable Homepage Search Bar</string>
<!-- Label for overriding user specified homepage sections -->
- <string name="preferences_debug_settings_override_user_specified_homepage_sections" translatable="false">Override user specified homepage sections</string>
+ <string name="preferences_debug_settings_override_user_specified_homepage_sections" tools:ignore="UnusedResources" moz:removedIn="146" translatable="false">Override user specified homepage sections</string>
<!-- Label for enabling the Compose Logins -->
<string name="preferences_debug_settings_compose_logins" translatable="false">Enable Compose Logins</string>
<!-- Label for enabling Homepage as a New Tab -->
diff --git a/mobile/android/fenix/app/src/main/res/xml/secret_settings_preferences.xml b/mobile/android/fenix/app/src/main/res/xml/secret_settings_preferences.xml
@@ -27,11 +27,6 @@
app:iconSpaceReserved="false" />
<SwitchPreference
android:defaultValue="false"
- android:key="@string/pref_key_override_user_specified_homepage_sections"
- android:title="@string/preferences_debug_settings_override_user_specified_homepage_sections"
- app:iconSpaceReserved="false" />
- <SwitchPreference
- android:defaultValue="false"
android:key="@string/pref_key_enable_compose_logins"
android:title="@string/preferences_debug_settings_compose_logins"
app:iconSpaceReserved="false" />