Merge "Clear invisible undrawn activities when reporting drawn" into sc-v2-dev

This commit is contained in:
Riddle Hsu
2021-08-24 03:05:31 +00:00
committed by Android (Google) Code Review
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. // Always calculate the delay because the caller may need to know the individual drawn time.
info.mWindowsDrawnDelayMs = info.calculateDelay(timestampNs); info.mWindowsDrawnDelayMs = info.calculateDelay(timestampNs);
info.removePendingDrawActivity(r); info.removePendingDrawActivity(r);
info.updatePendingDraw(false /* keepInitializing */);
final TransitionInfoSnapshot infoSnapshot = new TransitionInfoSnapshot(info); final TransitionInfoSnapshot infoSnapshot = new TransitionInfoSnapshot(info);
if (info.mLoggedTransitionStarting && info.allDrawn()) { if (info.mLoggedTransitionStarting && info.allDrawn()) {
done(false /* abort */, info, "notifyWindowsDrawn - all windows drawn", timestampNs); done(false /* abort */, info, "notifyWindowsDrawn - all windows drawn", timestampNs);

View File

@@ -475,6 +475,16 @@ public class ActivityMetricsLaunchObserverTests extends WindowTestsBase {
transitToDrawnAndVerifyOnLaunchFinished(mTopActivity); 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 @Test
public void testConsecutiveLaunchNewTask() { public void testConsecutiveLaunchNewTask() {
final IBinder launchCookie = mock(IBinder.class); final IBinder launchCookie = mock(IBinder.class);