From 2e62dd5c874e3c88edaae21b1bb5f2a548d1d27a Mon Sep 17 00:00:00 2001 From: Elise Richards Date: Wed, 19 Aug 2020 13:24:48 -0500 Subject: [PATCH] =?UTF-8?q?FNX-14546=20=E2=81=83=20For=20#13096:=20Add=20n?= =?UTF-8?q?otifications=20pref=20in=20top=20level=20settings=20(#13366)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add notifications pref in top level settings to route to Android app and notification settings * Make pref visible on Oreo and higher * Only show notifications pref when Oreo and above --- .../org/mozilla/fenix/settings/SettingsFragment.kt | 11 +++++++++++ app/src/main/java/org/mozilla/fenix/utils/Settings.kt | 1 + app/src/main/res/values/preference_keys.xml | 1 + app/src/main/res/values/strings.xml | 2 ++ app/src/main/res/xml/preferences.xml | 5 +++++ 5 files changed, 20 insertions(+) diff --git a/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt index f74e27bb4..38dc05b83 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt @@ -270,6 +270,13 @@ class SettingsFragment : PreferenceFragmentCompat() { resources.getString(R.string.pref_key_delete_browsing_data_on_quit_preference) -> { SettingsFragmentDirections.actionSettingsFragmentToDeleteBrowsingDataOnQuitFragment() } + resources.getString(R.string.pref_key_notifications) -> { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { + val intent = Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS) + startActivity(intent) + } + null + } resources.getString(R.string.pref_key_customize) -> { SettingsFragmentDirections.actionSettingsFragmentToCustomizationFragment() } @@ -352,6 +359,10 @@ class SettingsFragment : PreferenceFragmentCompat() { findPreference( getPreferenceKey(R.string.pref_key_debug_settings) )?.isVisible = requireContext().settings().showSecretDebugMenuThisSession + + findPreference( + getPreferenceKey(R.string.pref_key_notifications) + )?.isVisible = requireContext().settings().showNotificationsSetting } private fun getClickListenerForMakeDefaultBrowser(): Preference.OnPreferenceClickListener { 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 ba2390b3f..6c703a9c2 100644 --- a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -279,6 +279,7 @@ class Settings(private val appContext: Context) : PreferencesHolder { !trackingProtectionOnboardingShownThisSession) var showSecretDebugMenuThisSession = false + var showNotificationsSetting = Build.VERSION.SDK_INT >= Build.VERSION_CODES.O val shouldShowSecurityPinWarningSync: Boolean get() = loginsSecureWarningSyncCount < showLoginsSecureWarningSyncMaxCount diff --git a/app/src/main/res/values/preference_keys.xml b/app/src/main/res/values/preference_keys.xml index 317651afd..57402d075 100644 --- a/app/src/main/res/values/preference_keys.xml +++ b/app/src/main/res/values/preference_keys.xml @@ -20,6 +20,7 @@ pref_key_privacy_link pref_key_delete_browsing_data pref_key_delete_browsing_data_on_quit_preference + pref_key_notifications pref_key_delete_browsing_data_on_quit pref_key_delete_open_tabs_on_quit pref_key_delete_browsing_history_on_quit diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c1d3b87b6..3b3e512f7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -300,6 +300,8 @@ External download manager Add-ons + + Notifications diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index f3bf4c39b..c161e4c96 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -109,6 +109,11 @@ android:key="@string/pref_key_delete_browsing_data_on_quit_preference" android:title="@string/preferences_delete_browsing_data_on_quit" /> + +