diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 0c49b3f6e4121..66d14e511da9d 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -16764,6 +16764,12 @@ public final class Settings { */ public static final String WEAR_ACTIVITY_AUTO_RESUME_TIMEOUT_MS = "wear_activity_auto_resume_timeout_ms"; + + /** + * If burn in protection is enabled. + * @hide + */ + public static final String BURN_IN_PROTECTION_ENABLED = "burn_in_protection"; } } diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java index 692d24acd9ddd..bc10093158689 100644 --- a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java +++ b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java @@ -310,6 +310,7 @@ public class GlobalSettingsValidators { VALIDATORS.put( Global.Wearable.WEAR_ACTIVITY_AUTO_RESUME_TIMEOUT_MS, NON_NEGATIVE_INTEGER_VALIDATOR); + VALIDATORS.put(Global.Wearable.BURN_IN_PROTECTION_ENABLED, BOOLEAN_VALIDATOR); } } diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index 9e7daf49eaaba..cd05993da326e 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -5380,6 +5380,20 @@ public class SettingsProvider extends ContentProvider { initGlobalSettingsDefaultValForWearLocked( Settings.Global.Wearable.COMPANION_OS_VERSION, Settings.Global.Wearable.COMPANION_OS_VERSION_UNDEFINED); + final boolean defaultBurnInProtectionEnabled = + getContext() + .getResources() + .getBoolean( + com.android + .internal + .R + .bool + .config_enableBurnInProtection); + final boolean forceBurnInProtection = + SystemProperties.getBoolean("persist.debug.force_burn_in", false); + initGlobalSettingsDefaultValForWearLocked( + Settings.Global.Wearable.BURN_IN_PROTECTION_ENABLED, + defaultBurnInProtectionEnabled || forceBurnInProtection); // TODO(b/164398026): add necessary initialization logic for all entries. currentVersion = 204; diff --git a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java index 90bb7f9c7f75c..f747cc1c007d8 100644 --- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java +++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java @@ -657,7 +657,8 @@ public class SettingsBackupTest { Settings.Global.Wearable.OEM_SETUP_VERSION, Settings.Global.Wearable.MASTER_GESTURES_ENABLED, Settings.Global.Wearable.UNGAZE_ENABLED, - Settings.Global.Wearable.WEAR_ACTIVITY_AUTO_RESUME_TIMEOUT_MS); + Settings.Global.Wearable.WEAR_ACTIVITY_AUTO_RESUME_TIMEOUT_MS, + Settings.Global.Wearable.BURN_IN_PROTECTION_ENABLED); private static final Set BACKUP_DENY_LIST_SECURE_SETTINGS = newHashSet(