diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index cf685720d2411..493a48865f07c 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -18443,6 +18443,91 @@ public final class Settings { * @hide */ public static final String DYNAMIC_COLOR_THEME_ENABLED = "dynamic_color_theme_enabled"; + + /** + * Current state of accessibility vibration watch feature + * (0 = false, 1 = true) + * + * @hide + */ + public static final String ACCESSIBILITY_VIBRATION_WATCH_ENABLED = + "a11y_vibration_watch_enabled"; + + /** + * Stores current type of accessibility vibration + * (0 = {@link #ACCESSIBILITY_VIBRATION_WATCH_TYPE_DIGIT}, + * 1 = {@link #ACCESSIBILITY_VIBRATION_WATCH_TYPE_TERSE) + * + * @hide + */ + public static final String ACCESSIBILITY_VIBRATION_WATCH_TYPE = + "a11y_vibration_watch_type"; + + /** + * Vibration watch type digit + * One of the possible states for {@link #ACCESSIBILITY_VIBRATION_WATCH_TYPE}. + * + * @hide + */ + public static final int ACCESSIBILITY_VIBRATION_WATCH_TYPE_DIGIT = 0; + + /** + * Vibration watch type terse + * One of the possible states for {@link #ACCESSIBILITY_VIBRATION_WATCH_TYPE}. + * + * @hide + */ + public static final int ACCESSIBILITY_VIBRATION_WATCH_TYPE_TERSE = 1; + + /** + * Stores current accessibility vibration watch speed + * (0 = {@link #ACCESSIBILITY_VIBRATION_WATCH_SPEED_VERY_SLOW}, + * 1 = {@link #ACCESSIBILITY_VIBRATION_WATCH_SPEED_SLOW}, + * 2 = {@link #ACCESSIBILITY_VIBRATION_WATCH_SPEED_MEDIUM}, + * 3 = {@link #ACCESSIBILITY_VIBRATION_WATCH_SPEED_FAST}, + * 4 = {@link #ACCESSIBILITY_VIBRATION_WATCH_SPEED_VERY_FAST}) + */ + public static final String ACCESSIBILITY_VIBRATION_WATCH_SPEED = "vibration_speed"; + + /** + * Vibration watch speed type very slow + * One of the possible states for {@link #ACCESSIBILITY_VIBRATION_WATCH_SPEED}. + * + * @hide + */ + public static final int ACCESSIBILITY_VIBRATION_WATCH_SPEED_VERY_SLOW = 0; + + /** + * Vibration watch speed type slow + * One of the possible states for {@link #ACCESSIBILITY_VIBRATION_WATCH_SPEED}. + * + * @hide + */ + public static final int ACCESSIBILITY_VIBRATION_WATCH_SPEED_SLOW = 1; + + /** + * Vibration watch speed type medium + * One of the possible states for {@link #ACCESSIBILITY_VIBRATION_WATCH_SPEED}. + * + * @hide + */ + public static final int ACCESSIBILITY_VIBRATION_WATCH_SPEED_MEDIUM = 2; + + /** + * Vibration watch speed type fast + * One of the possible states for {@link #ACCESSIBILITY_VIBRATION_WATCH_SPEED}. + * + * @hide + */ + public static final int ACCESSIBILITY_VIBRATION_WATCH_SPEED_FAST = 3; + + /** + * Vibration watch speed type very fast + * One of the possible states for {@link #ACCESSIBILITY_VIBRATION_WATCH_SPEED}. + * + * @hide + */ + public static final int ACCESSIBILITY_VIBRATION_WATCH_SPEED_VERY_FAST = 4; } } diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java index 3ffbabd96796c..8de0f0dcc013e 100644 --- a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java +++ b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java @@ -296,6 +296,19 @@ public class GlobalSettingsValidators { String.valueOf(Global.Wearable.LOCK_SCREEN_STATE_PIN), String.valueOf(Global.Wearable.LOCK_SCREEN_STATE_PATTERN) })); + VALIDATORS.put(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_ENABLED, BOOLEAN_VALIDATOR); + VALIDATORS.put(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_TYPE, + new DiscreteValueValidator(new String[]{ + String.valueOf(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_TYPE_DIGIT), + String.valueOf(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_TYPE_TERSE)})); + VALIDATORS.put(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED, + new DiscreteValueValidator(new String[]{String.valueOf( + Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED_VERY_SLOW), + String.valueOf(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED_SLOW), + String.valueOf(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED_MEDIUM), + String.valueOf(Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED_FAST), + String.valueOf( + Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED_VERY_FAST)})); VALIDATORS.put( Global.Wearable.PAIRED_DEVICE_OS_TYPE, new DiscreteValueValidator( diff --git a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java index 222aaa3c0c5a7..42f23711969e6 100644 --- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java +++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java @@ -663,7 +663,10 @@ public class SettingsBackupTest { Settings.Global.Wearable.BEDTIME_HARD_MODE, Settings.Global.Wearable.EARLY_UPDATES_STATUS, Settings.Global.Wearable.RSB_WAKE_ENABLED, - Settings.Global.Wearable.LOCK_SCREEN_STATE); + Settings.Global.Wearable.LOCK_SCREEN_STATE, + Settings.Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_ENABLED, + Settings.Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_TYPE, + Settings.Global.Wearable.ACCESSIBILITY_VIBRATION_WATCH_SPEED); private static final Set BACKUP_DENY_LIST_SECURE_SETTINGS = newHashSet(