tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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:
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/HomeSettingsFragment.kt | 2--
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt | 6------
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt | 87+++++++++++++++++++++----------------------------------------------------------
Mmobile/android/fenix/app/src/main/res/values/preference_keys.xml | 1-
Mmobile/android/fenix/app/src/main/res/values/static_strings.xml | 2+-
Mmobile/android/fenix/app/src/main/res/xml/secret_settings_preferences.xml | 5-----
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" />