From 99f2acdb4d82e2c3e42f132a5b873254b3723092 Mon Sep 17 00:00:00 2001 From: Riddle Hsu Date: Tue, 22 Oct 2019 18:41:51 +0800 Subject: [PATCH] AML: Rollback calculation of launch time temporally If a trampoline activity becomes invisible before it reporting drawn, it should be excluded from the condition of all-drawn. Bug: 132736359 Test: atest ActivityMetricsLaunchObserverTests Change-Id: I61b76546e9b3aa977f4d1969d709c64240e7ed5d --- .../java/com/android/server/wm/ActivityMetricsLogger.java | 6 ++---- .../server/wm/ActivityMetricsLaunchObserverTests.java | 3 --- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/services/core/java/com/android/server/wm/ActivityMetricsLogger.java b/services/core/java/com/android/server/wm/ActivityMetricsLogger.java index 6636b16615011..9d41d97bc1ed7 100644 --- a/services/core/java/com/android/server/wm/ActivityMetricsLogger.java +++ b/services/core/java/com/android/server/wm/ActivityMetricsLogger.java @@ -187,7 +187,8 @@ class ActivityMetricsLogger { private int startingWindowDelayMs = INVALID_DELAY; private int bindApplicationDelayMs = INVALID_DELAY; private int reason = APP_TRANSITION_TIMEOUT; - private int numUndrawnActivities; + // TODO(b/132736359) The number may need to consider the visibility change. + private int numUndrawnActivities = 1; private boolean loggedStartingWindowDrawn; private boolean launchTraceActive; @@ -201,9 +202,6 @@ class ActivityMetricsLogger { return; } launchedActivity = r; - if (!r.noDisplay) { - numUndrawnActivities++; - } } } diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityMetricsLaunchObserverTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityMetricsLaunchObserverTests.java index 8d22f7aaaeaa1..03367db0c3e6b 100644 --- a/services/tests/wmtests/src/com/android/server/wm/ActivityMetricsLaunchObserverTests.java +++ b/services/tests/wmtests/src/com/android/server/wm/ActivityMetricsLaunchObserverTests.java @@ -208,9 +208,6 @@ public class ActivityMetricsLaunchObserverTests extends ActivityTestsBase { notifyWindowsDrawn(mTrampolineActivity); - assertWithMessage("Trampoline activity is drawn but the top activity is not yet") - .that(mActivityMetricsLogger.allWindowsDrawn()).isFalse(); - notifyWindowsDrawn(mTopActivity); verifyAsync(mLaunchObserver).onActivityLaunchFinished(eqProto(mTrampolineActivity),