Loading services/core/java/com/android/server/wm/WindowState.java +8 −5 Original line number Original line Diff line number Diff line Loading @@ -2409,18 +2409,22 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP final boolean startingWindow = mAttrs.type == TYPE_APPLICATION_STARTING; final boolean startingWindow = mAttrs.type == TYPE_APPLICATION_STARTING; if (startingWindow) { if (startingWindow) { ProtoLog.d(WM_DEBUG_STARTING_WINDOW, "Starting window removed %s", this); ProtoLog.d(WM_DEBUG_STARTING_WINDOW, "Starting window removed %s", this); } if (startingWindow && StartingSurfaceController.DEBUG_ENABLE_SHELL_DRAWER) { // Cancel the remove starting window animation on shell. The main window might changed // Cancel the remove starting window animation on shell. The main window might changed // during animating, checking for all windows would be safer. // during animating, checking for all windows would be safer. if (mActivityRecord != null) { if (mActivityRecord != null) { mActivityRecord.forAllWindows(w -> { mActivityRecord.forAllWindowsUnchecked(w -> { if (w.isSelfAnimating(0, ANIMATION_TYPE_STARTING_REVEAL)) { if (w.isSelfAnimating(0, ANIMATION_TYPE_STARTING_REVEAL)) { w.cancelAnimation(); w.cancelAnimation(); return true; } } return false; }, true); }, true); } } } else if (mAttrs.type == TYPE_BASE_APPLICATION && isSelfAnimating(0, ANIMATION_TYPE_STARTING_REVEAL)) { // Cancel the remove starting window animation in case the binder dead before remove // splash window. cancelAnimation(); } } ProtoLog.v(WM_DEBUG_FOCUS, "Remove client=%x, surfaceController=%s Callers=%s", ProtoLog.v(WM_DEBUG_FOCUS, "Remove client=%x, surfaceController=%s Callers=%s", Loading @@ -2428,7 +2432,6 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP mWinAnimator.mSurfaceController, mWinAnimator.mSurfaceController, Debug.getCallers(5)); Debug.getCallers(5)); final long origId = Binder.clearCallingIdentity(); final long origId = Binder.clearCallingIdentity(); try { try { Loading Loading
services/core/java/com/android/server/wm/WindowState.java +8 −5 Original line number Original line Diff line number Diff line Loading @@ -2409,18 +2409,22 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP final boolean startingWindow = mAttrs.type == TYPE_APPLICATION_STARTING; final boolean startingWindow = mAttrs.type == TYPE_APPLICATION_STARTING; if (startingWindow) { if (startingWindow) { ProtoLog.d(WM_DEBUG_STARTING_WINDOW, "Starting window removed %s", this); ProtoLog.d(WM_DEBUG_STARTING_WINDOW, "Starting window removed %s", this); } if (startingWindow && StartingSurfaceController.DEBUG_ENABLE_SHELL_DRAWER) { // Cancel the remove starting window animation on shell. The main window might changed // Cancel the remove starting window animation on shell. The main window might changed // during animating, checking for all windows would be safer. // during animating, checking for all windows would be safer. if (mActivityRecord != null) { if (mActivityRecord != null) { mActivityRecord.forAllWindows(w -> { mActivityRecord.forAllWindowsUnchecked(w -> { if (w.isSelfAnimating(0, ANIMATION_TYPE_STARTING_REVEAL)) { if (w.isSelfAnimating(0, ANIMATION_TYPE_STARTING_REVEAL)) { w.cancelAnimation(); w.cancelAnimation(); return true; } } return false; }, true); }, true); } } } else if (mAttrs.type == TYPE_BASE_APPLICATION && isSelfAnimating(0, ANIMATION_TYPE_STARTING_REVEAL)) { // Cancel the remove starting window animation in case the binder dead before remove // splash window. cancelAnimation(); } } ProtoLog.v(WM_DEBUG_FOCUS, "Remove client=%x, surfaceController=%s Callers=%s", ProtoLog.v(WM_DEBUG_FOCUS, "Remove client=%x, surfaceController=%s Callers=%s", Loading @@ -2428,7 +2432,6 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP mWinAnimator.mSurfaceController, mWinAnimator.mSurfaceController, Debug.getCallers(5)); Debug.getCallers(5)); final long origId = Binder.clearCallingIdentity(); final long origId = Binder.clearCallingIdentity(); try { try { Loading