Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 50fd8dc4 authored by Satoshi Niwa's avatar Satoshi Niwa Committed by Android (Google) Code Review
Browse files

Merge "batterysaver: Add a config to disable "Battery Saver turned off" notification" into main

parents ab438ccc 80eb8942
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -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>

+1 −0
Original line number Diff line number Diff line
@@ -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" />
+10 −0
Original line number Diff line number Diff line
@@ -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}.
@@ -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);
    }
@@ -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(() -> {
@@ -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);
+3 −0
Original line number Diff line number Diff line
@@ -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);