Loading services/core/java/com/android/server/wm/ActivityRecord.java +14 −1 Original line number Diff line number Diff line Loading @@ -2755,6 +2755,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A } final StartingSurfaceController.StartingSurface surface; final WindowState startingWindow = mStartingWindow; final boolean animate; if (mStartingData != null) { animate = prepareAnimation && mStartingData.needRevealAnimation() Loading @@ -2779,8 +2780,20 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A return; } if (animate && mTransitionController.inCollectingTransition(startingWindow) && startingWindow.cancelAndRedraw()) { // 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. startingWindow.mSyncTransaction.addTransactionCommittedListener(Runnable::run, () -> { synchronized (mAtmService.mGlobalLock) { surface.remove(true); } }); } else { surface.remove(animate); } } /** * Reparents this activity into {@param newTaskFrag} at the provided {@param position}. The Loading Loading
services/core/java/com/android/server/wm/ActivityRecord.java +14 −1 Original line number Diff line number Diff line Loading @@ -2755,6 +2755,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A } final StartingSurfaceController.StartingSurface surface; final WindowState startingWindow = mStartingWindow; final boolean animate; if (mStartingData != null) { animate = prepareAnimation && mStartingData.needRevealAnimation() Loading @@ -2779,8 +2780,20 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A return; } if (animate && mTransitionController.inCollectingTransition(startingWindow) && startingWindow.cancelAndRedraw()) { // 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. startingWindow.mSyncTransaction.addTransactionCommittedListener(Runnable::run, () -> { synchronized (mAtmService.mGlobalLock) { surface.remove(true); } }); } else { surface.remove(animate); } } /** * Reparents this activity into {@param newTaskFrag} at the provided {@param position}. The Loading