mirror of
https://github.com/fork-maintainers/iceraven-browser
synced 2024-11-19 09:25:34 +00:00
[fenix] For https://github.com/mozilla-mobile/fenix/issues/2477 - Adds accessibility setting to force enable zoom
This commit is contained in:
parent
9d544a27e8
commit
212d63ec39
@ -54,4 +54,6 @@ object FeatureFlags {
|
||||
* Allows Progressive Web Apps to be installed to the device home screen.
|
||||
*/
|
||||
val progressiveWebApps = nightly or debug
|
||||
|
||||
val forceZoomPreference = nightly or debug
|
||||
}
|
||||
|
@ -8,6 +8,7 @@ import android.os.Bundle
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.preference.PreferenceFragmentCompat
|
||||
import androidx.preference.SwitchPreference
|
||||
import org.mozilla.fenix.FeatureFlags
|
||||
import org.mozilla.fenix.R
|
||||
import org.mozilla.fenix.ext.components
|
||||
import org.mozilla.fenix.ext.getPreferenceKey
|
||||
@ -25,6 +26,23 @@ class AccessibilityFragment : PreferenceFragmentCompat() {
|
||||
(activity as AppCompatActivity).title = getString(R.string.preferences_accessibility)
|
||||
(activity as AppCompatActivity).supportActionBar?.show()
|
||||
|
||||
val forceZoomPreference = findPreference<SwitchPreference>(
|
||||
getPreferenceKey(R.string.pref_key_accessibility_force_enable_zoom)
|
||||
)
|
||||
forceZoomPreference?.isVisible = FeatureFlags.forceZoomPreference
|
||||
|
||||
if (FeatureFlags.forceZoomPreference) {
|
||||
forceZoomPreference?.setOnPreferenceChangeListener<Boolean> { preference, shouldForce ->
|
||||
val settings = preference.context.settings()
|
||||
val components = preference.context.components
|
||||
|
||||
settings.forceEnableZoom = shouldForce
|
||||
components.core.engine.settings.forceUserScalableContent = shouldForce
|
||||
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
val textSizePreference = findPreference<TextPercentageSeekBarPreference>(
|
||||
getPreferenceKey(R.string.pref_key_accessibility_font_scale)
|
||||
)
|
||||
|
@ -77,6 +77,11 @@ class Settings private constructor(
|
||||
override val preferences: SharedPreferences =
|
||||
appContext.getSharedPreferences(FENIX_PREFERENCES, MODE_PRIVATE)
|
||||
|
||||
var forceEnableZoom by booleanPreference(
|
||||
appContext.getPreferenceKey(R.string.pref_key_accessibility_force_enable_zoom),
|
||||
default = false
|
||||
)
|
||||
|
||||
var adjustCampaignId by stringPreference(
|
||||
appContext.getPreferenceKey(R.string.pref_key_adjust_campaign),
|
||||
default = ""
|
||||
|
@ -12,6 +12,7 @@
|
||||
<string name="pref_key_accessibility" translatable="false">pref_key_accessibility</string>
|
||||
<string name="pref_key_accessibility_auto_size" translatable="false">pref_key_accessibility_auto_size</string>
|
||||
<string name="pref_key_accessibility_font_scale" translatable="false">pref_key_accessibility_font_scale</string>
|
||||
<string name="pref_key_accessibility_force_enable_zoom" translatable="false">pref_key_accessibility_force_enable_zoom</string>
|
||||
<string name="pref_key_language" translatable="false">pref_key_language</string>
|
||||
<string name="pref_key_data_choices" translatable="false">pref_key_data_choices</string>
|
||||
<string name="pref_key_privacy_link" translatable="false">pref_key_privacy_link</string>
|
||||
|
@ -24,4 +24,10 @@
|
||||
|
||||
<!--suppress CheckTagEmptyBody This is a default value for places where we don't want a string set-->
|
||||
<string name="empty_string" translatable="false"></string>
|
||||
|
||||
|
||||
<!-- Title for Accessibility Force Enable Zoom Preference -->
|
||||
<string name="preference_accessibility_force_enable_zoom" translatable="false">Zoom on all websites</string>
|
||||
<!-- Summary for Accessibility Force Enable Zoom Preference -->
|
||||
<string name="preference_accessibility_force_enable_zoom_summary" translatable="false">Enable to allow pinch and zoom, even on websites that prevent this gesture.</string>
|
||||
</resources>
|
||||
|
@ -24,4 +24,12 @@
|
||||
app:min="0"
|
||||
app:seekBarIncrement="1"
|
||||
app:showSeekBarValue="true" />
|
||||
<SwitchPreference
|
||||
android:defaultValue="false"
|
||||
android:key="@string/pref_key_accessibility_force_enable_zoom"
|
||||
android:summary="@string/preference_accessibility_force_enable_zoom_summary"
|
||||
android:title="@string/preference_accessibility_force_enable_zoom"
|
||||
app:isPreferenceVisible="false"
|
||||
app:allowDividerAbove="true"
|
||||
app:iconSpaceReserved="false" />
|
||||
</PreferenceScreen>
|
||||
|
Loading…
Reference in New Issue
Block a user