Merge "Clear invisible undrawn activities when reporting drawn" into sc-v2-dev am: 29dd745564

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15639324

Change-Id: I8f772ed2590baeae00cec2038b7c64a0112ff8c4
This commit is contained in:
Riddle Hsu
2021-08-24 03:10:13 +00:00
committed by Automerger Merge Worker
2 changed files with 11 additions and 0 deletions

View File

@@ -703,6 +703,7 @@ class ActivityMetricsLogger {
// Always calculate the delay because the caller may need to know the individual drawn time.
info.mWindowsDrawnDelayMs = info.calculateDelay(timestampNs);
info.removePendingDrawActivity(r);
info.updatePendingDraw(false /* keepInitializing */);
final TransitionInfoSnapshot infoSnapshot = new TransitionInfoSnapshot(info);
if (info.mLoggedTransitionStarting && info.allDrawn()) {
done(false /* abort */, info, "notifyWindowsDrawn - all windows drawn", timestampNs);

View File

@@ -475,6 +475,16 @@ public class ActivityMetricsLaunchObserverTests extends WindowTestsBase {
transitToDrawnAndVerifyOnLaunchFinished(mTopActivity);
}
@Test
public void testConsecutiveLaunch() {
mTrampolineActivity.setState(ActivityRecord.State.INITIALIZING, "test");
onActivityLaunched(mTrampolineActivity);
mActivityMetricsLogger.notifyActivityLaunching(mTopActivity.intent,
mTrampolineActivity /* caller */, mTrampolineActivity.getUid());
notifyActivityLaunched(START_SUCCESS, mTopActivity);
transitToDrawnAndVerifyOnLaunchFinished(mTopActivity);
}
@Test
public void testConsecutiveLaunchNewTask() {
final IBinder launchCookie = mock(IBinder.class);