From 70fb6a8d7afacf85cf78114ef2a3960e57a7f57a Mon Sep 17 00:00:00 2001 From: Gabriel Luong Date: Thu, 12 Nov 2020 17:17:36 -0500 Subject: [PATCH] [fenix] Revert "For https://github.com/mozilla-mobile/fenix/issues/15761 - [Grid View] Enable the grid view and remove its feature flag (https://github.com/mozilla-mobile/fenix/pull/16535)" (https://github.com/mozilla-mobile/fenix/pull/16544) This reverts commit cb340e88f265cc16ba05edaa54c3a99164560438. --- app/src/main/java/org/mozilla/fenix/FeatureFlags.kt | 5 +++++ .../org/mozilla/fenix/settings/SecretSettingsFragment.kt | 6 ++++++ .../java/org/mozilla/fenix/settings/TabsSettingsFragment.kt | 6 ++++++ app/src/main/java/org/mozilla/fenix/utils/Settings.kt | 6 ++++++ app/src/main/res/values/preference_keys.xml | 2 ++ app/src/main/res/values/static_strings.xml | 2 ++ app/src/main/res/xml/secret_settings_preferences.xml | 5 +++++ app/src/main/res/xml/tabs_preferences.xml | 4 +++- 8 files changed, 35 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt b/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt index b1ccd04c6c..b0a6d9cc61 100644 --- a/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt +++ b/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt @@ -21,6 +21,11 @@ object FeatureFlags { */ val syncedTabsInTabsTray = Config.channel.isNightlyOrDebug + /** + * Shows the grid view settings for the tabs tray. + */ + val showGridViewInTabsSettings = Config.channel.isNightlyOrDebug + /** * Enables downloads with external download managers. */ 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 e3fc881248..88e1232914 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt @@ -25,6 +25,12 @@ class SecretSettingsFragment : PreferenceFragmentCompat() { override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) { setPreferencesFromResource(R.xml.secret_settings_preferences, rootKey) + requirePreference(R.string.pref_key_show_grid_view_tabs_settings).apply { + isVisible = FeatureFlags.showGridViewInTabsSettings + isChecked = context.settings().showGridViewInTabsSettings + onPreferenceChangeListener = SharedPreferenceUpdater() + } + requirePreference(R.string.pref_key_synced_tabs_tabs_tray).apply { isVisible = FeatureFlags.syncedTabsInTabsTray isChecked = context.settings().syncedTabsInTabsTray diff --git a/app/src/main/java/org/mozilla/fenix/settings/TabsSettingsFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/TabsSettingsFragment.kt index d31fc34121..b5b9964991 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/TabsSettingsFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/TabsSettingsFragment.kt @@ -6,10 +6,12 @@ package org.mozilla.fenix.settings import android.os.Bundle import android.view.View +import androidx.preference.PreferenceCategory import androidx.preference.PreferenceFragmentCompat import org.mozilla.fenix.R import org.mozilla.fenix.components.metrics.Event import org.mozilla.fenix.ext.components +import org.mozilla.fenix.ext.settings import org.mozilla.fenix.ext.showToolbar import org.mozilla.fenix.utils.view.addToRadioGroup @@ -49,6 +51,10 @@ class TabsSettingsFragment : PreferenceFragmentCompat() { radioOneMonth = requirePreference(R.string.pref_key_close_tabs_after_one_month) setupRadioGroups() + + requirePreference(R.string.pref_key_tab_view_category).apply { + isVisible = context.settings().showGridViewInTabsSettings + } } private fun setupRadioGroups() { 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 c1b7f4ae74..7f221c328e 100644 --- a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -123,6 +123,12 @@ class Settings(private val appContext: Context) : PreferencesHolder { val canShowCfr: Boolean get() = (System.currentTimeMillis() - lastCfrShownTimeInMillis) > THREE_DAYS_MS + var showGridViewInTabsSettings by featureFlagPreference( + appContext.getPreferenceKey(R.string.pref_key_show_grid_view_tabs_settings), + default = Config.channel.isNightlyOrDebug, + featureFlag = FeatureFlags.showGridViewInTabsSettings + ) + var syncedTabsInTabsTray by featureFlagPreference( appContext.getPreferenceKey(R.string.pref_key_synced_tabs_tabs_tray), default = false, diff --git a/app/src/main/res/values/preference_keys.xml b/app/src/main/res/values/preference_keys.xml index 4f8d45e6e9..b035a92f5f 100644 --- a/app/src/main/res/values/preference_keys.xml +++ b/app/src/main/res/values/preference_keys.xml @@ -220,6 +220,7 @@ pref_key_show_collections_home + pref_key_tab_view_category pref_key_tab_view_list pref_key_tab_view_grid pref_key_tabs @@ -227,6 +228,7 @@ pref_key_close_tabs_after_one_day pref_key_close_tabs_after_one_week pref_key_close_tabs_after_one_month + pref_key_show_grid_view_tabs_settings pref_key_camera_permissions_needed diff --git a/app/src/main/res/values/static_strings.xml b/app/src/main/res/values/static_strings.xml index 9c289c1fca..6acb14828c 100644 --- a/app/src/main/res/values/static_strings.xml +++ b/app/src/main/res/values/static_strings.xml @@ -32,6 +32,8 @@ Secret Settings + + Show Grid View in Tabs Settings Show Synced Tabs in the tabs tray diff --git a/app/src/main/res/xml/secret_settings_preferences.xml b/app/src/main/res/xml/secret_settings_preferences.xml index 7f97222664..a0c531b5b5 100644 --- a/app/src/main/res/xml/secret_settings_preferences.xml +++ b/app/src/main/res/xml/secret_settings_preferences.xml @@ -4,6 +4,11 @@ - file, You can obtain one at http://mozilla.org/MPL/2.0/. --> + + app:iconSpaceReserved="false" + app:isPreferenceVisible="false">