diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java index e9ff2a4edc79d..e93f358029533 100644 --- a/services/core/java/com/android/server/wm/ActivityRecord.java +++ b/services/core/java/com/android/server/wm/ActivityRecord.java @@ -4516,7 +4516,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A mTransitionChangeFlags |= FLAG_STARTING_WINDOW_TRANSFER_RECIPIENT; } // Post cleanup after the visibility and animation are transferred. - fromActivity.postWindowRemoveStartingWindowCleanup(tStartingWindow); + fromActivity.postWindowRemoveStartingWindowCleanup(); fromActivity.mVisibleSetFromTransferredStartingWindow = false; mWmService.updateFocusedWindowLocked( @@ -7443,27 +7443,12 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A } } - void postWindowRemoveStartingWindowCleanup(WindowState win) { - // TODO: Something smells about the code below...Is there a better way? - if (mStartingWindow == win) { - ProtoLog.v(WM_DEBUG_STARTING_WINDOW, "Notify removed startingWindow %s", win); - removeStartingWindow(); - } else if (mChildren.size() == 0) { - // If this is the last window and we had requested a starting transition window, - // well there is no point now. - ProtoLog.v(WM_DEBUG_STARTING_WINDOW, "Nulling last startingData"); - mStartingData = null; - if (mVisibleSetFromTransferredStartingWindow) { - // We set the visible state to true for the token from a transferred starting - // window. We now reset it back to false since the starting window was the last - // window in the token. - setVisible(false); - } - } else if (mChildren.size() == 1 && mStartingSurface != null && !isRelaunching()) { - // If this is the last window except for a starting transition window, - // we need to get rid of the starting transition. - ProtoLog.v(WM_DEBUG_STARTING_WINDOW, "Last window, removing starting window %s", win); - removeStartingWindow(); + void postWindowRemoveStartingWindowCleanup() { + if (mChildren.size() == 0 && mVisibleSetFromTransferredStartingWindow) { + // We set the visible state to true for the token from a transferred starting + // window. We now reset it back to false since the starting window was the last + // window in the token. + setVisible(false); } } diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 0e19671afd82c..3a19a3b1e56a6 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -1996,7 +1996,7 @@ public class WindowManagerService extends IWindowManager.Stub } if (win.mActivityRecord != null) { - win.mActivityRecord.postWindowRemoveStartingWindowCleanup(win); + win.mActivityRecord.postWindowRemoveStartingWindowCleanup(); } if (win.mAttrs.type == TYPE_WALLPAPER) {