diff --git a/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetector.java b/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetector.java index c3f9b07eaad..21cc28a4507 100644 --- a/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetector.java +++ b/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetector.java @@ -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; diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetectorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetectorTest.java index 97645591411..657a5e326b0 100644 --- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetectorTest.java +++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetectorTest.java @@ -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);