tor-browser

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

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:
Mmobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt | 17+++++++++++++++++
Mmobile/android/fenix/app/src/main/res/xml/preferences.xml | 5+++++
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"