commit f48e08833568334442fad849d65bbfbc6e391225
parent 5160eedf247343e20c37292593b1db13c9863b6e
Author: clairehurst <clairehurst@torproject.org>
Date: Thu, 26 Feb 2026 14:10:36 -0700
fixup! [android] Modify UI/UX
TB 44274
Re-adds screenshot setting to our custom location. It was removed upstream in 144 and re-added in 145, but not in the place we want it
Diffstat:
2 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt
@@ -80,6 +80,8 @@ import org.mozilla.fenix.utils.Settings
import kotlin.system.exitProcess
import org.mozilla.fenix.GleanMetrics.Settings as SettingsMetrics
+import android.view.WindowManager
+
@Suppress("LargeClass", "TooManyFunctions")
class SettingsFragment : PreferenceFragmentCompat(), UserInteractionHandler {
@@ -577,6 +579,21 @@ class SettingsFragment : PreferenceFragmentCompat(), UserInteractionHandler {
val preferenceMakeDefaultBrowser =
requirePreference<DefaultBrowserPreference>(R.string.pref_key_make_default_browser)
+ // Copied from PrivateBrowsingFragment with some removals
+ requirePreference<SwitchPreference>(R.string.pref_key_allow_screenshots_in_private_mode).apply {
+ onPreferenceChangeListener = object : SharedPreferenceUpdater() {
+ override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean {
+ if (newValue == false) {
+ activity?.window?.addFlags(WindowManager.LayoutParams.FLAG_SECURE)
+ } else {
+ activity?.window?.clearFlags(WindowManager.LayoutParams.FLAG_SECURE)
+ }
+ return super.onPreferenceChange(preference, newValue)
+ }
+ }
+ }
+
+
if (!Config.channel.isReleased) {
preferenceLeakCanary?.setOnPreferenceChangeListener { _, newValue ->
val isEnabled = newValue == true
diff --git a/mobile/android/fenix/app/src/main/res/xml/preferences.xml b/mobile/android/fenix/app/src/main/res/xml/preferences.xml
@@ -204,6 +204,11 @@
android:key="@string/pref_key_advanced"
android:layout="@layout/preference_category_no_icon_style">
+ <SwitchPreference
+ android:key="@string/pref_key_allow_screenshots_in_private_mode"
+ app:iconSpaceReserved="false"
+ android:title="@string/preferences_allow_screenshots" />
+
<androidx.preference.Preference
android:key="@string/pref_key_addons"
app:iconSpaceReserved="false"