diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index 8346e7c83190d..8a55db3c6c41c 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -2865,11 +2865,9 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A return; } - if (animate && mTransitionController.inCollectingTransition(startingWindow) - && startingWindow.cancelAndRedraw()) { + if (animate && mTransitionController.inCollectingTransition(startingWindow)) { // Defer remove starting window after transition start. - // If splash screen window was in collecting, the client side is unable to draw because - // of Session#cancelDraw, which will blocking the remove animation. + // The surface of app window could really show after the transition finish. startingWindow.mSyncTransaction.addTransactionCommittedListener(Runnable::run, () -> { synchronized (mAtmService.mGlobalLock) { surface.remove(true);