From b7f67abe3475e5397a065826157e1ef9eacb8522 Mon Sep 17 00:00:00 2001 From: Alison Cichowlas Date: Tue, 25 Apr 2017 18:04:40 -0400 Subject: Use uptimeMillis instead of currentTimeMillis for interval calculation. uptime is guaranteed monotonic; currentTime may go backwards in the event of NTP updates or other wackiness. Test: manual sanity check of logs; android.support.test.metricshelper.MetricsAssertsTest passes Bug: 37538546, 18584861 Change-Id: I222b20be9d561e1184b11155fe44c574d90872a5 --- services/core/java/com/android/server/am/ActivityMetricsLogger.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/core/java/com/android/server/am/ActivityMetricsLogger.java b/services/core/java/com/android/server/am/ActivityMetricsLogger.java index 08ff7de87c9f..2dd3b7468f43 100644 --- a/services/core/java/com/android/server/am/ActivityMetricsLogger.java +++ b/services/core/java/com/android/server/am/ActivityMetricsLogger.java @@ -133,7 +133,7 @@ class ActivityMetricsLogger { */ void notifyActivityLaunching() { if (!isAnyTransitionActive()) { - mCurrentTransitionStartTime = System.currentTimeMillis(); + mCurrentTransitionStartTime = SystemClock.uptimeMillis(); } } @@ -299,7 +299,7 @@ class ActivityMetricsLogger { private int calculateCurrentDelay() { // Shouldn't take more than 25 days to launch an app, so int is fine here. - return (int) (System.currentTimeMillis() - mCurrentTransitionStartTime); + return (int) (SystemClock.uptimeMillis() - mCurrentTransitionStartTime); } private void logAppTransitionMultiEvents() { -- cgit v1.2.3-59-g8ed1b