Loading core/res/res/values/config_battery_saver.xml +3 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,9 @@ <!-- Whether or not battery saver should be "sticky" when manually enabled. --> <bool name="config_batterySaverStickyBehaviourDisabled">false</bool> <!-- Whether to enable "Battery Saver turned off" notification. --> <bool name="config_batterySaverTurnedOffNotificationEnabled">true</bool> <!-- Config flag to track default disable threshold for Dynamic power savings enabled battery saver. --> <integer name="config_dynamicPowerSavingsDefaultDisableThreshold">80</integer> Loading core/res/res/values/symbols.xml +1 −0 Original line number Diff line number Diff line Loading @@ -4123,6 +4123,7 @@ <java-symbol type="bool" name="config_batterySaverSupported" /> <java-symbol type="string" name="config_batterySaverDeviceSpecificConfig" /> <java-symbol type="bool" name="config_batterySaverStickyBehaviourDisabled" /> <java-symbol type="bool" name="config_batterySaverTurnedOffNotificationEnabled" /> <java-symbol type="integer" name="config_dynamicPowerSavingsDefaultDisableThreshold" /> <java-symbol type="string" name="config_batterySaverScheduleProvider" /> <java-symbol type="string" name="config_powerSaveModeChangedListenerPackage" /> Loading services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java +10 −0 Original line number Diff line number Diff line Loading @@ -167,6 +167,9 @@ public class BatterySaverStateMachine { /** Config flag to track if battery saver's sticky behaviour is disabled. */ private final boolean mBatterySaverStickyBehaviourDisabled; /** Config flag to track if "Battery Saver turned off" notification is enabled. */ private final boolean mBatterySaverTurnedOffNotificationEnabled; /** * Whether or not to end sticky battery saver upon reaching a level specified by * {@link #mSettingBatterySaverStickyAutoDisableThreshold}. Loading Loading @@ -250,6 +253,8 @@ public class BatterySaverStateMachine { mBatterySaverStickyBehaviourDisabled = mContext.getResources().getBoolean( com.android.internal.R.bool.config_batterySaverStickyBehaviourDisabled); mBatterySaverTurnedOffNotificationEnabled = mContext.getResources().getBoolean( com.android.internal.R.bool.config_batterySaverTurnedOffNotificationEnabled); mDynamicPowerSavingsDefaultDisableThreshold = mContext.getResources().getInteger( com.android.internal.R.integer.config_dynamicPowerSavingsDefaultDisableThreshold); } Loading Loading @@ -858,6 +863,9 @@ public class BatterySaverStateMachine { @VisibleForTesting void triggerStickyDisabledNotification() { if (!mBatterySaverTurnedOffNotificationEnabled) { return; } // The current lock is the PowerManager lock, which sits very low in the service lock // hierarchy. We shouldn't call out to NotificationManager with the PowerManager lock. runOnBgThread(() -> { Loading Loading @@ -997,6 +1005,8 @@ public class BatterySaverStateMachine { ipw.println(mSettingBatterySaverTriggerThreshold); ipw.print("mBatterySaverStickyBehaviourDisabled="); ipw.println(mBatterySaverStickyBehaviourDisabled); ipw.print("mBatterySaverTurnedOffNotificationEnabled="); ipw.println(mBatterySaverTurnedOffNotificationEnabled); ipw.print("mDynamicPowerSavingsDefaultDisableThreshold="); ipw.println(mDynamicPowerSavingsDefaultDisableThreshold); Loading services/tests/mockingservicestests/src/com/android/server/power/batterysaver/BatterySaverStateMachineTest.java +3 −0 Original line number Diff line number Diff line Loading @@ -196,6 +196,9 @@ public class BatterySaverStateMachineTest { when(mMockResources.getBoolean( com.android.internal.R.bool.config_batterySaverStickyBehaviourDisabled)) .thenReturn(false); when(mMockResources.getBoolean( com.android.internal.R.bool.config_batterySaverTurnedOffNotificationEnabled)) .thenReturn(true); when(mMockResources.getInteger( com.android.internal.R.integer.config_dynamicPowerSavingsDefaultDisableThreshold)) .thenReturn(80); Loading Loading
core/res/res/values/config_battery_saver.xml +3 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,9 @@ <!-- Whether or not battery saver should be "sticky" when manually enabled. --> <bool name="config_batterySaverStickyBehaviourDisabled">false</bool> <!-- Whether to enable "Battery Saver turned off" notification. --> <bool name="config_batterySaverTurnedOffNotificationEnabled">true</bool> <!-- Config flag to track default disable threshold for Dynamic power savings enabled battery saver. --> <integer name="config_dynamicPowerSavingsDefaultDisableThreshold">80</integer> Loading
core/res/res/values/symbols.xml +1 −0 Original line number Diff line number Diff line Loading @@ -4123,6 +4123,7 @@ <java-symbol type="bool" name="config_batterySaverSupported" /> <java-symbol type="string" name="config_batterySaverDeviceSpecificConfig" /> <java-symbol type="bool" name="config_batterySaverStickyBehaviourDisabled" /> <java-symbol type="bool" name="config_batterySaverTurnedOffNotificationEnabled" /> <java-symbol type="integer" name="config_dynamicPowerSavingsDefaultDisableThreshold" /> <java-symbol type="string" name="config_batterySaverScheduleProvider" /> <java-symbol type="string" name="config_powerSaveModeChangedListenerPackage" /> Loading
services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java +10 −0 Original line number Diff line number Diff line Loading @@ -167,6 +167,9 @@ public class BatterySaverStateMachine { /** Config flag to track if battery saver's sticky behaviour is disabled. */ private final boolean mBatterySaverStickyBehaviourDisabled; /** Config flag to track if "Battery Saver turned off" notification is enabled. */ private final boolean mBatterySaverTurnedOffNotificationEnabled; /** * Whether or not to end sticky battery saver upon reaching a level specified by * {@link #mSettingBatterySaverStickyAutoDisableThreshold}. Loading Loading @@ -250,6 +253,8 @@ public class BatterySaverStateMachine { mBatterySaverStickyBehaviourDisabled = mContext.getResources().getBoolean( com.android.internal.R.bool.config_batterySaverStickyBehaviourDisabled); mBatterySaverTurnedOffNotificationEnabled = mContext.getResources().getBoolean( com.android.internal.R.bool.config_batterySaverTurnedOffNotificationEnabled); mDynamicPowerSavingsDefaultDisableThreshold = mContext.getResources().getInteger( com.android.internal.R.integer.config_dynamicPowerSavingsDefaultDisableThreshold); } Loading Loading @@ -858,6 +863,9 @@ public class BatterySaverStateMachine { @VisibleForTesting void triggerStickyDisabledNotification() { if (!mBatterySaverTurnedOffNotificationEnabled) { return; } // The current lock is the PowerManager lock, which sits very low in the service lock // hierarchy. We shouldn't call out to NotificationManager with the PowerManager lock. runOnBgThread(() -> { Loading Loading @@ -997,6 +1005,8 @@ public class BatterySaverStateMachine { ipw.println(mSettingBatterySaverTriggerThreshold); ipw.print("mBatterySaverStickyBehaviourDisabled="); ipw.println(mBatterySaverStickyBehaviourDisabled); ipw.print("mBatterySaverTurnedOffNotificationEnabled="); ipw.println(mBatterySaverTurnedOffNotificationEnabled); ipw.print("mDynamicPowerSavingsDefaultDisableThreshold="); ipw.println(mDynamicPowerSavingsDefaultDisableThreshold); Loading
services/tests/mockingservicestests/src/com/android/server/power/batterysaver/BatterySaverStateMachineTest.java +3 −0 Original line number Diff line number Diff line Loading @@ -196,6 +196,9 @@ public class BatterySaverStateMachineTest { when(mMockResources.getBoolean( com.android.internal.R.bool.config_batterySaverStickyBehaviourDisabled)) .thenReturn(false); when(mMockResources.getBoolean( com.android.internal.R.bool.config_batterySaverTurnedOffNotificationEnabled)) .thenReturn(true); when(mMockResources.getInteger( com.android.internal.R.integer.config_dynamicPowerSavingsDefaultDisableThreshold)) .thenReturn(80); Loading