diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index b674faaecedfe..6829cd71cc5bf 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -11160,6 +11160,15 @@ public final class Settings { @TestApi public static final int ACCESSIBILITY_MAGNIFICATION_MODE_ALL = 0x3; + /** + * Whether the magnification always on feature is enabled. If true, the magnifier will not + * deactivate on Activity transitions; it will only zoom out to 100%. + * + * @hide + */ + public static final String ACCESSIBILITY_MAGNIFICATION_ALWAYS_ON_ENABLED = + "accessibility_magnification_always_on_enabled"; + /** * Whether the following typing focus feature for magnification is enabled. * @hide diff --git a/core/proto/android/providers/settings/secure.proto b/core/proto/android/providers/settings/secure.proto index ea0ec79469d5c..68267db87a5ce 100644 --- a/core/proto/android/providers/settings/secure.proto +++ b/core/proto/android/providers/settings/secure.proto @@ -89,6 +89,7 @@ message SecureSettingsProto { // Setting for accessibility magnification for following typing. optional SettingProto accessibility_magnification_follow_typing_enabled = 43 [ (android.privacy).dest = DEST_AUTOMATIC ]; optional SettingProto contrast_level = 44 [ (android.privacy).dest = DEST_AUTOMATIC ]; + optional SettingProto accessibility_magnification_always_on_enabled = 45 [ (android.privacy).dest = DEST_AUTOMATIC ]; } optional Accessibility accessibility = 2; diff --git a/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java b/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java index bf9e428552cca..a08d7cd16b74f 100644 --- a/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java +++ b/packages/SettingsProvider/src/android/provider/settings/backup/SecureSettings.java @@ -211,6 +211,7 @@ public class SecureSettings { Settings.Secure.ACCESSIBILITY_FLOATING_MENU_ICON_TYPE, Settings.Secure.ACCESSIBILITY_FLOATING_MENU_OPACITY, Settings.Secure.ACCESSIBILITY_FLOATING_MENU_FADE_ENABLED, + Settings.Secure.ACCESSIBILITY_MAGNIFICATION_ALWAYS_ON_ENABLED, Settings.Secure.ODI_CAPTIONS_VOLUME_UI_ENABLED, Settings.Secure.NOTIFICATION_BUBBLES, Settings.Secure.LOCATION_TIME_ZONE_DETECTION_ENABLED, diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java index f0bc1df2cf87a..154987dad7360 100644 --- a/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java +++ b/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java @@ -297,6 +297,7 @@ public class SecureSettingsValidators { Secure.ACCESSIBILITY_MAGNIFICATION_MODE_FULLSCREEN, Secure.ACCESSIBILITY_MAGNIFICATION_MODE_ALL)); VALIDATORS.put(Secure.ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED, BOOLEAN_VALIDATOR); + VALIDATORS.put(Secure.ACCESSIBILITY_MAGNIFICATION_ALWAYS_ON_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put( Secure.ACCESSIBILITY_BUTTON_TARGETS, ACCESSIBILITY_SHORTCUT_TARGET_LIST_VALIDATOR); diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java index 7aeba95258c37..159f2dd52586c 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java @@ -1832,6 +1832,10 @@ class SettingsProtoDumpUtil { Settings.Secure.ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED, SecureSettingsProto.Accessibility .ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_MAGNIFICATION_ALWAYS_ON_ENABLED, + SecureSettingsProto.Accessibility + .ACCESSIBILITY_MAGNIFICATION_ALWAYS_ON_ENABLED); p.end(accessibilityToken); final long adaptiveSleepToken = p.start(SecureSettingsProto.ADAPTIVE_SLEEP);