diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java index 4dfa6c30a5e7c..7a031e33e542c 100644 --- a/core/java/android/provider/Settings.java +++ b/core/java/android/provider/Settings.java @@ -13510,6 +13510,54 @@ public final class Settings { */ public static final int DEFAULT_ENABLE_TARE = 0; + /** + * Whether to enable the TARE AlarmManager economic policy or not. + * 1 means enable, 0 means disable. + * + * @hide + */ + public static final String ENABLE_TARE_ALARM_MANAGER = "enable_tare_alarm_manager"; + + /** + * Default value for {@link #ENABLE_TARE_ALARM_MANAGER}. + * + * @hide + */ + public static final int DEFAULT_ENABLE_TARE_ALARM_MANAGER = 0; + + /** + * Settings for AlarmManager's TARE EconomicPolicy (list of its economic factors). + * + * Keys are listed in {@link android.app.tare.EconomyManager}. + * + * @hide + */ + public static final String TARE_ALARM_MANAGER_CONSTANTS = "tare_alarm_manager_constants"; + + /** + * Whether to enable the TARE JobScheduler economic policy or not. + * 1 means enable, 0 means disable. + * + * @hide + */ + public static final String ENABLE_TARE_JOB_SCHEDULER = "enable_tare_job_scheduler"; + + /** + * Default value for {@link #ENABLE_TARE_JOB_SCHEDULER}. + * + * @hide + */ + public static final int DEFAULT_ENABLE_TARE_JOB_SCHEDULER = 0; + + /** + * Settings for JobScheduler's TARE EconomicPolicy (list of its economic factors). + * + * Keys are listed in {@link android.app.tare.EconomyManager}. + * + * @hide + */ + public static final String TARE_JOB_SCHEDULER_CONSTANTS = "tare_job_scheduler_constants"; + /** * Whether or not to enable the User Absent, Radios Off feature on small battery devices. * Type: int (0 for false, 1 for true) diff --git a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java index 9bc8e657daa34..fe48575c40c98 100644 --- a/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java +++ b/packages/SettingsProvider/src/android/provider/settings/validators/GlobalSettingsValidators.java @@ -118,6 +118,10 @@ public class GlobalSettingsValidators { VALIDATORS.put(Global.CLOCKWORK_SYSUI_PACKAGE_NAME, ANY_STRING_VALIDATOR); VALIDATORS.put(Global.CLOCKWORK_HOME_READY, ANY_STRING_VALIDATOR); VALIDATORS.put(Global.ENABLE_TARE, BOOLEAN_VALIDATOR); + VALIDATORS.put(Global.ENABLE_TARE_ALARM_MANAGER, BOOLEAN_VALIDATOR); + VALIDATORS.put(Global.ENABLE_TARE_JOB_SCHEDULER, BOOLEAN_VALIDATOR); + VALIDATORS.put(Global.TARE_ALARM_MANAGER_CONSTANTS, ANY_STRING_VALIDATOR); + VALIDATORS.put(Global.TARE_JOB_SCHEDULER_CONSTANTS, ANY_STRING_VALIDATOR); VALIDATORS.put(Global.PRIVATE_DNS_MODE, ANY_STRING_VALIDATOR); VALIDATORS.put(Global.PRIVATE_DNS_SPECIFIER, ANY_STRING_VALIDATOR); VALIDATORS.put(Global.SOFT_AP_TIMEOUT_ENABLED, BOOLEAN_VALIDATOR); diff --git a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java index ec2ec668d2d99..b2100629a394b 100644 --- a/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java +++ b/packages/SettingsProvider/test/src/android/provider/SettingsBackupTest.java @@ -266,6 +266,8 @@ public class SettingsBackupTest { Settings.Global.ENABLE_EPHEMERAL_FEATURE, Settings.Global.ENABLE_RESTRICTED_BUCKET, Settings.Global.ENABLE_TARE, + Settings.Global.ENABLE_TARE_ALARM_MANAGER, + Settings.Global.ENABLE_TARE_JOB_SCHEDULER, Settings.Global.DYNAMIC_POWER_SAVINGS_ENABLED, Settings.Global.DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD, Settings.Global.SMART_REPLIES_IN_NOTIFICATIONS_FLAGS, @@ -474,6 +476,8 @@ public class SettingsBackupTest { Settings.Global.SYS_UIDCPUPOWER, Settings.Global.SYS_TRACED, Settings.Global.FPS_DEVISOR, + Settings.Global.TARE_ALARM_MANAGER_CONSTANTS, + Settings.Global.TARE_JOB_SCHEDULER_CONSTANTS, Settings.Global.TCP_DEFAULT_INIT_RWND, Settings.Global.TETHER_DUN_APN, Settings.Global.TETHER_DUN_REQUIRED,