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" /> + +