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

Commit 7be14160 authored by Wesley Wang's avatar Wesley Wang Committed by Automerger Merge Worker
Browse files

Merge "Disable battery saver notification based on predicted time left" into tm-dev am: 1d1d37ca

parents 844af86b 1d1d37ca
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -397,16 +397,12 @@ public class PowerUI extends CoreStartable implements CommandQueue.Callbacks {

        final boolean playSound = currentSnapshot.getBucket() != lastSnapshot.getBucket()
                || lastSnapshot.getPlugged();
        final long timeRemainingMillis = currentSnapshot.getTimeRemainingMillis();

        if (shouldShowHybridWarning(currentSnapshot)) {
            mWarnings.showLowBatteryWarning(playSound);
            // mark if we've already shown a warning this cycle. This will prevent the notification
            // trigger from spamming users by only showing low/critical warnings once per cycle
            if ((timeRemainingMillis != NO_ESTIMATE_AVAILABLE
                    && timeRemainingMillis <= currentSnapshot.getSevereThresholdMillis())
                    || currentSnapshot.getBatteryLevel()
                    <= currentSnapshot.getSevereLevelThreshold()) {
            if (currentSnapshot.getBatteryLevel() <= currentSnapshot.getSevereLevelThreshold()) {
                mSevereWarningShownThisChargeCycle = true;
                mLowWarningShownThisChargeCycle = true;
                if (DEBUG) {
@@ -461,7 +457,8 @@ public class PowerUI extends CoreStartable implements CommandQueue.Callbacks {
    @VisibleForTesting
    boolean shouldDismissHybridWarning(BatteryStateSnapshot snapshot) {
        return snapshot.getPlugged()
                || snapshot.getTimeRemainingMillis() > snapshot.getLowThresholdMillis();
                || snapshot.getBatteryLevel()
                > snapshot.getLowLevelThreshold();
    }

    protected void maybeShowBatteryWarning(
+3 −3
Original line number Diff line number Diff line
@@ -498,8 +498,8 @@ public class PowerUITest extends SysuiTestCase {

        // We should dismiss if the device is plugged in
        state.mPlugged = true;
        state.mTimeRemainingMillis = Duration.ofHours(1).toMillis();
        state.mLowThresholdMillis = Duration.ofHours(2).toMillis();
        state.mBatteryLevel = 19;
        state.mLowLevelThreshold = 20;
        boolean shouldDismiss = mPowerUI.shouldDismissHybridWarning(state.get());
        assertThat(shouldDismiss).isTrue();

@@ -509,7 +509,7 @@ public class PowerUITest extends SysuiTestCase {
        assertThat(shouldDismiss).isFalse();

        // If we go over the low warning threshold we should dismiss
        state.mTimeRemainingMillis = Duration.ofHours(3).toMillis();
        state.mBatteryLevel = 21;
        shouldDismiss = mPowerUI.shouldDismissHybridWarning(state.get());
        assertThat(shouldDismiss).isTrue();
    }