diff options
| author | 2016-05-26 16:05:35 -0700 | |
|---|---|---|
| committer | 2016-05-26 16:05:35 -0700 | |
| commit | 8ce3694181f853701d31ee4eb1dc46dbfab044d7 (patch) | |
| tree | d8952e1e6eb017a12703edc06ba82c09e5a90688 | |
| parent | 28bdf2907aa5448f455475fde399870c22c4180a (diff) | |
Fix issue where max idle time > total idle time
If the batterystats were reset while the device was
idling (via command line most likely), then also reset the
last time the device started idling so that the max idle time
calculation is correct.
Bug:28452600
Change-Id: I8a3d5dc3081deda76356c03d891e098baa85f88a
| -rw-r--r-- | core/java/com/android/internal/os/BatteryStatsImpl.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/core/java/com/android/internal/os/BatteryStatsImpl.java b/core/java/com/android/internal/os/BatteryStatsImpl.java index 93dc625f8846..8b0235249436 100644 --- a/core/java/com/android/internal/os/BatteryStatsImpl.java +++ b/core/java/com/android/internal/os/BatteryStatsImpl.java @@ -8153,14 +8153,17 @@ public class BatteryStatsImpl extends BatteryStats { } private void resetAllStatsLocked() { + final long uptimeMillis = mClocks.uptimeMillis(); + final long elapsedRealtimeMillis = mClocks.elapsedRealtime(); mStartCount = 0; - initTimes(mClocks.uptimeMillis() * 1000, mClocks.elapsedRealtime() * 1000); + initTimes(uptimeMillis * 1000, elapsedRealtimeMillis * 1000); mScreenOnTimer.reset(false); for (int i=0; i<NUM_SCREEN_BRIGHTNESS_BINS; i++) { mScreenBrightnessTimer[i].reset(false); } mInteractiveTimer.reset(false); mPowerSaveModeEnabledTimer.reset(false); + mLastIdleTimeStart = elapsedRealtimeMillis; mLongestLightIdleTime = 0; mLongestFullIdleTime = 0; mDeviceIdleModeLightTimer.reset(false); |