Merge "Clean up postWindowRemoveStartingWindowCleanUp" into udc-dev am: 050f26ee5e

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23736106

Change-Id: I4deb3d9bd92af50ea455aa401302859ba21323f1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Wale Ogunwale
2023-07-20 00:42:14 +00:00
committed by Automerger Merge Worker
2 changed files with 8 additions and 23 deletions

View File

@@ -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(
@@ -7430,27 +7430,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);
}
}

View File

@@ -2020,7 +2020,7 @@ public class WindowManagerService extends IWindowManager.Stub
}
if (win.mActivityRecord != null) {
win.mActivityRecord.postWindowRemoveStartingWindowCleanup(win);
win.mActivityRecord.postWindowRemoveStartingWindowCleanup();
}
if (win.mAttrs.type == TYPE_WALLPAPER) {