Loading packages/SystemUI/src/com/android/systemui/power/PowerUI.java +3 −6 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading @@ -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( Loading packages/SystemUI/tests/src/com/android/systemui/power/PowerUITest.java +3 −3 Original line number Diff line number Diff line Loading @@ -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(); Loading @@ -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(); } Loading Loading
packages/SystemUI/src/com/android/systemui/power/PowerUI.java +3 −6 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading @@ -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( Loading
packages/SystemUI/tests/src/com/android/systemui/power/PowerUITest.java +3 −3 Original line number Diff line number Diff line Loading @@ -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(); Loading @@ -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(); } Loading