diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 6fc2811572af7..07e48acef0743 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -10813,6 +10813,13 @@ public final class Settings { public static final String ACCESSIBILITY_FLOATING_MENU_MIGRATION_TOOLTIP_PROMPT = "accessibility_floating_menu_migration_tooltip_prompt"; + /** + * Setting that specifies whether the software cursor accessibility service is enabled. + * @hide + */ + public static final String ACCESSIBILITY_SOFTWARE_CURSOR_ENABLED = + "accessibility_software_cursor_enabled"; + /** * Whether the Adaptive connectivity option is enabled. * diff --git a/core/proto/android/providers/settings/secure.proto b/core/proto/android/providers/settings/secure.proto index 285258a979e46..322354b5ad60d 100644 --- a/core/proto/android/providers/settings/secure.proto +++ b/core/proto/android/providers/settings/secure.proto @@ -88,6 +88,7 @@ message SecureSettingsProto { optional SettingProto odi_captions_volume_ui_enabled = 42 [ (android.privacy).dest = DEST_AUTOMATIC ]; // Setting for accessibility magnification for following typing. optional SettingProto accessibility_magnification_follow_typing_enabled = 43 [ (android.privacy).dest = DEST_AUTOMATIC ]; + optional SettingProto accessibility_software_cursor_enabled = 44 [ (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 133b52d186371..42b992fb44d32 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.LOCKSCREEN_USE_DOUBLE_LINE_CLOCK, Settings.Secure.STATUS_BAR_SHOW_VIBRATE_ICON, Settings.Secure.WEAR_TALKBACK_ENABLED, - Settings.Secure.HBM_SETTING_KEY + Settings.Secure.HBM_SETTING_KEY, + Settings.Secure.ACCESSIBILITY_SOFTWARE_CURSOR_ENABLED }; } diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java index bb01f4f038693..14b58550d1623 100644 --- a/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java +++ b/packages/SettingsProvider/src/android/provider/settings/validators/SecureSettingsValidators.java @@ -345,5 +345,6 @@ public class SecureSettingsValidators { VALIDATORS.put(Secure.ODI_CAPTIONS_VOLUME_UI_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Secure.WEAR_TALKBACK_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Secure.HBM_SETTING_KEY, BOOLEAN_VALIDATOR); + VALIDATORS.put(Secure.ACCESSIBILITY_SOFTWARE_CURSOR_ENABLED, BOOLEAN_VALIDATOR); } } diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java index 4e2bce226d6c3..c3b645e7bc0df 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java @@ -1825,6 +1825,9 @@ class SettingsProtoDumpUtil { Settings.Secure.ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED, SecureSettingsProto.Accessibility .ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED); + dumpSetting(s, p, + Settings.Secure.ACCESSIBILITY_SOFTWARE_CURSOR_ENABLED, + SecureSettingsProto.Accessibility.ACCESSIBILITY_SOFTWARE_CURSOR_ENABLED); p.end(accessibilityToken); final long adaptiveSleepToken = p.start(SecureSettingsProto.ADAPTIVE_SLEEP);