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

Commit efb1bbd5 authored by jackqdyulei's avatar jackqdyulei
Browse files

Don't show low battery tip when estimation is zero

It means invalid when estimation is zero. We should catch this case
int LowBatteryDetector and don't show it.

Change-Id: I01dd50616f54162a6688257f4bdb329dfa351bc5
Fixes: 110226028
Test: RunSettingsRoboTests
parent ad2d1b91
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -47,7 +47,7 @@ public class LowBatteryDetector implements BatteryTipDetector {
    public BatteryTip detect() {
        final boolean powerSaveModeOn = mPowerManager.isPowerSaveMode();
        final boolean lowBattery = mBatteryInfo.batteryLevel <= mWarningLevel
                || (mBatteryInfo.discharging
                || (mBatteryInfo.discharging && mBatteryInfo.remainingTimeUs != 0
                && mBatteryInfo.remainingTimeUs < TimeUnit.HOURS.toMicros(mPolicy.lowBatteryHour));

        int state = BatteryTip.StateType.INVISIBLE;
+7 −0
Original line number Diff line number Diff line
@@ -105,6 +105,13 @@ public class LowBatteryDetectorTest {
        assertThat(mLowBatteryDetector.detect().isVisible()).isFalse();
    }

    @Test
    public void testDetect_timeEstimationZero_tipInvisible() {
        mBatteryInfo.batteryLevel = 50;
        mBatteryInfo.remainingTimeUs = 0;
        assertThat(mLowBatteryDetector.detect().isVisible()).isFalse();
    }

    @Test
    public void testDetect_noEarlyWarning_tipInvisible() {
        mBatteryInfo.remainingTimeUs = TimeUnit.DAYS.toMicros(1);