diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 925547d865483..07212a25d2cb5 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -18199,6 +18199,37 @@ public final class Settings { */ public static final String WRIST_ORIENTATION_MODE = "wear_wrist_orientation_mode"; + /** + * Current lock screen state of the device + * (null = default value of this setting (lockscreen is never set), + * 0 = {@link #LOCK_SCREEN_STATE_NONE}, + * 1 = {@link #LOCK_SCREEN_STATE_PIN}, + * 2 = {@link #LOCK_SCREEN_STATE_PATTERN}) + * @hide + */ + public static final String LOCK_SCREEN_STATE = "lock_screen_state"; + + /** + * No lock screen set + * One of the possible states for {@link #LOCK_SCREEN_STATE}. + * @hide + */ + public static final int LOCK_SCREEN_STATE_NONE = 0; + + /** + * Lock screen set as a pin + * One of the possible states for {@link #LOCK_SCREEN_STATE}. + * @hide + */ + public static final int LOCK_SCREEN_STATE_PIN = 1; + + /** + * Lock screen set as a pattern + * One of the possible states for {@link #LOCK_SCREEN_STATE}. + * @hide + */ + public static final int LOCK_SCREEN_STATE_PATTERN = 2; + /** * Setting indicating the name of the Wear OS app package containing the device's sysui. * diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java index 7b8ca4d36ed88..673a3abf5de72 100644 --- a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java +++ b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java @@ -280,6 +280,14 @@ public class GlobalSettingsValidators { VALIDATORS.put(Global.Wearable.AMBIENT_LOW_BIT_ENABLED, BOOLEAN_VALIDATOR); VALIDATORS.put(Global.Wearable.AMBIENT_PLUGGED_TIMEOUT_MIN, ANY_INTEGER_VALIDATOR); VALIDATORS.put(Global.Wearable.AMBIENT_TILT_TO_BRIGHT, BOOLEAN_VALIDATOR); + VALIDATORS.put( + Global.Wearable.LOCK_SCREEN_STATE, + new DiscreteValueValidator( + new String[] { + String.valueOf(Global.Wearable.LOCK_SCREEN_STATE_NONE), + String.valueOf(Global.Wearable.LOCK_SCREEN_STATE_PIN), + String.valueOf(Global.Wearable.LOCK_SCREEN_STATE_PATTERN) + })); 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 01740319a9a1c..3782ce434182b 100644 --- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java +++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java @@ -659,7 +659,8 @@ public class SettingsBackupTest { Settings.Global.Wearable.BEDTIME_MODE, Settings.Global.Wearable.BEDTIME_HARD_MODE, Settings.Global.Wearable.EARLY_UPDATES_STATUS, - Settings.Global.Wearable.RSB_WAKE_ENABLED); + Settings.Global.Wearable.RSB_WAKE_ENABLED, + Settings.Global.Wearable.LOCK_SCREEN_STATE); private static final Set BACKUP_DENY_LIST_SECURE_SETTINGS = newHashSet(