From 8ce3694181f853701d31ee4eb1dc46dbfab044d7 Mon Sep 17 00:00:00 2001 From: Adam Lesinski Date: Thu, 26 May 2016 16:05:35 -0700 Subject: 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 --- core/java/com/android/internal/os/BatteryStatsImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) 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