commit | efb1bbd59dbe04d6e558f1d36239146041147ced | [log] [tgz] |
---|---|---|
author | jackqdyulei <jackqdyulei@google.com> | Thu Jun 14 14:53:59 2018 -0700 |
committer | jackqdyulei <jackqdyulei@google.com> | Thu Jun 14 14:53:59 2018 -0700 |
tree | d6d61ccde6e16695f73a240a51dbd6f928407a89 | |
parent | ad2d1b91b69f102cd366d0cbba505e06da89c52b [diff] |
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
diff --git a/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetector.java b/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetector.java index c3f9b07..21cc28a 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 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 9764559..657a5e3 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
@@ -106,6 +106,13 @@ } @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); mBatteryInfo.batteryLevel = 100;