From be77616aff1a140d0a171d0f1e1c3c5693554c3e Mon Sep 17 00:00:00 2001 From: Soonil Nagarkar Date: Mon, 30 Nov 2020 08:58:52 -0800 Subject: Fix bug incrementing log time Log start time was being incremented by the latest log event (being added) instead of the first log event (being removed). Test: manual Change-Id: I4e15ba775d65d766ef0030d9cdfabe1f020185e6 --- .../core/java/com/android/server/utils/eventlog/LocalEventLog.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/services/core/java/com/android/server/utils/eventlog/LocalEventLog.java b/services/core/java/com/android/server/utils/eventlog/LocalEventLog.java index 12c6a7a397e3..fe51d7408153 100644 --- a/services/core/java/com/android/server/utils/eventlog/LocalEventLog.java +++ b/services/core/java/com/android/server/utils/eventlog/LocalEventLog.java @@ -99,6 +99,7 @@ public abstract class LocalEventLog { private long mLastLogRealtimeMs; public LocalEventLog(int size) { + Preconditions.checkArgument(size > 0); mLog = new Log[size]; mLogSize = 0; mLogEndIndex = 0; @@ -163,7 +164,7 @@ public abstract class LocalEventLog { if (mLogSize == mLog.length) { // if log is full, size will remain the same, but update the start time - mStartRealtimeMs += event.getTimeDeltaMs(); + mStartRealtimeMs += mLog[startIndex()].getTimeDeltaMs(); } else { // otherwise add an item mLogSize++; -- cgit v1.2.3-59-g8ed1b