Loading core/proto/android/server/powermanagerservice.proto +23 −1 Original line number Diff line number Diff line Loading @@ -366,6 +366,15 @@ message BatterySaverStateMachineProto { // Whether battery level is low or not. optional bool is_battery_level_low = 8; // Denotes which threshold should be used for automatic Battery Saver triggering. enum AutomaticTriggerEnum { TRIGGER_PERCENTAGE = 0; TRIGGER_DYNAMIC = 1; } // The value of Global.AUTOMATIC_POWER_SAVE_MODE. This is a cached value, so it could // be slightly different from what's in GlobalSettingsProto.DynamicPowerSavings. optional AutomaticTriggerEnum setting_automatic_trigger = 19; // The value of Global.LOW_POWER_MODE. This is a cached value, so it could // be slightly different from what's in GlobalSettingsProto.LowPowerMode. optional bool setting_battery_saver_enabled = 9; Loading @@ -390,5 +399,18 @@ message BatterySaverStateMachineProto { // using elapsed realtime as the timebase. optional int64 last_adaptive_battery_saver_changed_externally_elapsed = 17; // Next tag: 19 // The default disable threshold for Dynamic Power Savings enabled battery saver. optional int32 default_dynamic_disable_threshold = 20; // When to disable battery saver again if it was enabled due to an external suggestion. // Corresponds to Global.DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD. This is a cached value, // so it could be slightly different from what's in GlobalSettingsProto.DynamicPowerSavings. optional int32 dynamic_disable_threshold = 21; // Whether we've received a suggestion that battery saver should be on from an external app. // Corresponds to Global.DYNAMIC_POWER_SAVINGS_ENABLED. This is a cached value, so it could // be slightly different from what's in GlobalSettingsProto.DynamicPowerSavings. optional bool dynamic_battery_saver_enabled = 22; // Next tag: 23 } services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java +32 −8 Original line number Diff line number Diff line Loading @@ -176,8 +176,10 @@ public class BatterySaverStateMachine { @GuardedBy("mLock") private int mSettingBatterySaverStickyAutoDisableThreshold; /** Config flag to track default disable threshold for Dynamic Power Savings enabled battery * saver. */ /** * Config flag to track default disable threshold for Dynamic Power Savings enabled battery * saver. */ @GuardedBy("mLock") private final int mDynamicPowerSavingsDefaultDisableThreshold; Loading @@ -192,7 +194,8 @@ public class BatterySaverStateMachine { @GuardedBy("mLock") private int mSettingAutomaticBatterySaver; /** When to disable battery saver again if it was enabled due to an external suggestion. /** * When to disable battery saver again if it was enabled due to an external suggestion. * Corresponds to Settings.Global.DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD. */ @GuardedBy("mLock") Loading @@ -203,7 +206,7 @@ public class BatterySaverStateMachine { * Updates when Settings.Global.DYNAMIC_POWER_SAVINGS_ENABLED changes. */ @GuardedBy("mLock") private boolean mDynamicPowerSavingsBatterySaver; private boolean mDynamicPowerSavingsEnableBatterySaver; /** * Last reason passed to {@link #enableBatterySaverLocked}. Loading Loading @@ -265,7 +268,7 @@ public class BatterySaverStateMachine { /** @return true if the dynamic mode should be used */ private boolean isDynamicModeActiveLocked() { return mSettingAutomaticBatterySaver == PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC && mDynamicPowerSavingsBatterySaver; && mDynamicPowerSavingsEnableBatterySaver; } /** Loading Loading @@ -428,7 +431,7 @@ public class BatterySaverStateMachine { final boolean dynamicPowerSavingsThresholdChanged = mDynamicPowerSavingsDisableThreshold != dynamicPowerSavingsDisableThreshold; final boolean dynamicPowerSavingsBatterySaverChanged = mDynamicPowerSavingsBatterySaver != dynamicPowerSavingsBatterySaver; mDynamicPowerSavingsEnableBatterySaver != dynamicPowerSavingsBatterySaver; if (!(enabledChanged || stickyChanged || thresholdChanged || automaticModeChanged || stickyAutoDisableEnabledChanged || stickyAutoDisableThresholdChanged Loading @@ -443,7 +446,7 @@ public class BatterySaverStateMachine { mSettingBatterySaverStickyAutoDisableThreshold = stickyAutoDisableThreshold; mSettingAutomaticBatterySaver = automaticBatterySaver; mDynamicPowerSavingsDisableThreshold = dynamicPowerSavingsDisableThreshold; mDynamicPowerSavingsBatterySaver = dynamicPowerSavingsBatterySaver; mDynamicPowerSavingsEnableBatterySaver = dynamicPowerSavingsBatterySaver; if (thresholdChanged) { // To avoid spamming the event log, we throttle logging here. Loading Loading @@ -923,6 +926,8 @@ public class BatterySaverStateMachine { pw.print(" mIsBatteryLevelLow="); pw.println(mIsBatteryLevelLow); pw.print(" mSettingAutomaticBatterySaver="); pw.println(mSettingAutomaticBatterySaver); pw.print(" mSettingBatterySaverEnabled="); pw.println(mSettingBatterySaverEnabled); pw.print(" mSettingBatterySaverEnabledSticky="); Loading @@ -936,6 +941,13 @@ public class BatterySaverStateMachine { pw.print(" mBatterySaverStickyBehaviourDisabled="); pw.println(mBatterySaverStickyBehaviourDisabled); pw.print(" mDynamicPowerSavingsDefaultDisableThreshold="); pw.println(mDynamicPowerSavingsDefaultDisableThreshold); pw.print(" mDynamicPowerSavingsDisableThreshold="); pw.println(mDynamicPowerSavingsDisableThreshold); pw.print(" mDynamicPowerSavingsEnableBatterySaver="); pw.println(mDynamicPowerSavingsEnableBatterySaver); pw.print(" mLastAdaptiveBatterySaverChangedExternallyElapsed="); pw.println(mLastAdaptiveBatterySaverChangedExternallyElapsed); } Loading Loading @@ -964,6 +976,8 @@ public class BatterySaverStateMachine { proto.write(BatterySaverStateMachineProto.BATTERY_LEVEL, mBatteryLevel); proto.write(BatterySaverStateMachineProto.IS_BATTERY_LEVEL_LOW, mIsBatteryLevelLow); proto.write(BatterySaverStateMachineProto.SETTING_AUTOMATIC_TRIGGER, mSettingAutomaticBatterySaver); proto.write(BatterySaverStateMachineProto.SETTING_BATTERY_SAVER_ENABLED, mSettingBatterySaverEnabled); proto.write(BatterySaverStateMachineProto.SETTING_BATTERY_SAVER_ENABLED_STICKY, Loading @@ -978,6 +992,16 @@ public class BatterySaverStateMachine { .SETTING_BATTERY_SAVER_STICKY_AUTO_DISABLE_THRESHOLD, mSettingBatterySaverStickyAutoDisableThreshold); proto.write( BatterySaverStateMachineProto.DEFAULT_DYNAMIC_DISABLE_THRESHOLD, mDynamicPowerSavingsDefaultDisableThreshold); proto.write( BatterySaverStateMachineProto.DYNAMIC_DISABLE_THRESHOLD, mDynamicPowerSavingsDisableThreshold); proto.write( BatterySaverStateMachineProto.DYNAMIC_BATTERY_SAVER_ENABLED, mDynamicPowerSavingsEnableBatterySaver); proto.write( BatterySaverStateMachineProto .LAST_ADAPTIVE_BATTERY_SAVER_CHANGED_EXTERNALLY_ELAPSED, Loading Loading
core/proto/android/server/powermanagerservice.proto +23 −1 Original line number Diff line number Diff line Loading @@ -366,6 +366,15 @@ message BatterySaverStateMachineProto { // Whether battery level is low or not. optional bool is_battery_level_low = 8; // Denotes which threshold should be used for automatic Battery Saver triggering. enum AutomaticTriggerEnum { TRIGGER_PERCENTAGE = 0; TRIGGER_DYNAMIC = 1; } // The value of Global.AUTOMATIC_POWER_SAVE_MODE. This is a cached value, so it could // be slightly different from what's in GlobalSettingsProto.DynamicPowerSavings. optional AutomaticTriggerEnum setting_automatic_trigger = 19; // The value of Global.LOW_POWER_MODE. This is a cached value, so it could // be slightly different from what's in GlobalSettingsProto.LowPowerMode. optional bool setting_battery_saver_enabled = 9; Loading @@ -390,5 +399,18 @@ message BatterySaverStateMachineProto { // using elapsed realtime as the timebase. optional int64 last_adaptive_battery_saver_changed_externally_elapsed = 17; // Next tag: 19 // The default disable threshold for Dynamic Power Savings enabled battery saver. optional int32 default_dynamic_disable_threshold = 20; // When to disable battery saver again if it was enabled due to an external suggestion. // Corresponds to Global.DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD. This is a cached value, // so it could be slightly different from what's in GlobalSettingsProto.DynamicPowerSavings. optional int32 dynamic_disable_threshold = 21; // Whether we've received a suggestion that battery saver should be on from an external app. // Corresponds to Global.DYNAMIC_POWER_SAVINGS_ENABLED. This is a cached value, so it could // be slightly different from what's in GlobalSettingsProto.DynamicPowerSavings. optional bool dynamic_battery_saver_enabled = 22; // Next tag: 23 }
services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java +32 −8 Original line number Diff line number Diff line Loading @@ -176,8 +176,10 @@ public class BatterySaverStateMachine { @GuardedBy("mLock") private int mSettingBatterySaverStickyAutoDisableThreshold; /** Config flag to track default disable threshold for Dynamic Power Savings enabled battery * saver. */ /** * Config flag to track default disable threshold for Dynamic Power Savings enabled battery * saver. */ @GuardedBy("mLock") private final int mDynamicPowerSavingsDefaultDisableThreshold; Loading @@ -192,7 +194,8 @@ public class BatterySaverStateMachine { @GuardedBy("mLock") private int mSettingAutomaticBatterySaver; /** When to disable battery saver again if it was enabled due to an external suggestion. /** * When to disable battery saver again if it was enabled due to an external suggestion. * Corresponds to Settings.Global.DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD. */ @GuardedBy("mLock") Loading @@ -203,7 +206,7 @@ public class BatterySaverStateMachine { * Updates when Settings.Global.DYNAMIC_POWER_SAVINGS_ENABLED changes. */ @GuardedBy("mLock") private boolean mDynamicPowerSavingsBatterySaver; private boolean mDynamicPowerSavingsEnableBatterySaver; /** * Last reason passed to {@link #enableBatterySaverLocked}. Loading Loading @@ -265,7 +268,7 @@ public class BatterySaverStateMachine { /** @return true if the dynamic mode should be used */ private boolean isDynamicModeActiveLocked() { return mSettingAutomaticBatterySaver == PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC && mDynamicPowerSavingsBatterySaver; && mDynamicPowerSavingsEnableBatterySaver; } /** Loading Loading @@ -428,7 +431,7 @@ public class BatterySaverStateMachine { final boolean dynamicPowerSavingsThresholdChanged = mDynamicPowerSavingsDisableThreshold != dynamicPowerSavingsDisableThreshold; final boolean dynamicPowerSavingsBatterySaverChanged = mDynamicPowerSavingsBatterySaver != dynamicPowerSavingsBatterySaver; mDynamicPowerSavingsEnableBatterySaver != dynamicPowerSavingsBatterySaver; if (!(enabledChanged || stickyChanged || thresholdChanged || automaticModeChanged || stickyAutoDisableEnabledChanged || stickyAutoDisableThresholdChanged Loading @@ -443,7 +446,7 @@ public class BatterySaverStateMachine { mSettingBatterySaverStickyAutoDisableThreshold = stickyAutoDisableThreshold; mSettingAutomaticBatterySaver = automaticBatterySaver; mDynamicPowerSavingsDisableThreshold = dynamicPowerSavingsDisableThreshold; mDynamicPowerSavingsBatterySaver = dynamicPowerSavingsBatterySaver; mDynamicPowerSavingsEnableBatterySaver = dynamicPowerSavingsBatterySaver; if (thresholdChanged) { // To avoid spamming the event log, we throttle logging here. Loading Loading @@ -923,6 +926,8 @@ public class BatterySaverStateMachine { pw.print(" mIsBatteryLevelLow="); pw.println(mIsBatteryLevelLow); pw.print(" mSettingAutomaticBatterySaver="); pw.println(mSettingAutomaticBatterySaver); pw.print(" mSettingBatterySaverEnabled="); pw.println(mSettingBatterySaverEnabled); pw.print(" mSettingBatterySaverEnabledSticky="); Loading @@ -936,6 +941,13 @@ public class BatterySaverStateMachine { pw.print(" mBatterySaverStickyBehaviourDisabled="); pw.println(mBatterySaverStickyBehaviourDisabled); pw.print(" mDynamicPowerSavingsDefaultDisableThreshold="); pw.println(mDynamicPowerSavingsDefaultDisableThreshold); pw.print(" mDynamicPowerSavingsDisableThreshold="); pw.println(mDynamicPowerSavingsDisableThreshold); pw.print(" mDynamicPowerSavingsEnableBatterySaver="); pw.println(mDynamicPowerSavingsEnableBatterySaver); pw.print(" mLastAdaptiveBatterySaverChangedExternallyElapsed="); pw.println(mLastAdaptiveBatterySaverChangedExternallyElapsed); } Loading Loading @@ -964,6 +976,8 @@ public class BatterySaverStateMachine { proto.write(BatterySaverStateMachineProto.BATTERY_LEVEL, mBatteryLevel); proto.write(BatterySaverStateMachineProto.IS_BATTERY_LEVEL_LOW, mIsBatteryLevelLow); proto.write(BatterySaverStateMachineProto.SETTING_AUTOMATIC_TRIGGER, mSettingAutomaticBatterySaver); proto.write(BatterySaverStateMachineProto.SETTING_BATTERY_SAVER_ENABLED, mSettingBatterySaverEnabled); proto.write(BatterySaverStateMachineProto.SETTING_BATTERY_SAVER_ENABLED_STICKY, Loading @@ -978,6 +992,16 @@ public class BatterySaverStateMachine { .SETTING_BATTERY_SAVER_STICKY_AUTO_DISABLE_THRESHOLD, mSettingBatterySaverStickyAutoDisableThreshold); proto.write( BatterySaverStateMachineProto.DEFAULT_DYNAMIC_DISABLE_THRESHOLD, mDynamicPowerSavingsDefaultDisableThreshold); proto.write( BatterySaverStateMachineProto.DYNAMIC_DISABLE_THRESHOLD, mDynamicPowerSavingsDisableThreshold); proto.write( BatterySaverStateMachineProto.DYNAMIC_BATTERY_SAVER_ENABLED, mDynamicPowerSavingsEnableBatterySaver); proto.write( BatterySaverStateMachineProto .LAST_ADAPTIVE_BATTERY_SAVER_CHANGED_EXTERNALLY_ELAPSED, Loading