Merge "Clean up postWindowRemoveStartingWindowCleanUp" into udc-dev am: 050f26ee5e am: 2a5ccc71d6 am: 7c56d98058
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/23736106 Change-Id: Id092f4028b646d8b0d468c91073e8dc5c466ea69 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -4516,7 +4516,7 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
|
|||||||
mTransitionChangeFlags |= FLAG_STARTING_WINDOW_TRANSFER_RECIPIENT;
|
mTransitionChangeFlags |= FLAG_STARTING_WINDOW_TRANSFER_RECIPIENT;
|
||||||
}
|
}
|
||||||
// Post cleanup after the visibility and animation are transferred.
|
// Post cleanup after the visibility and animation are transferred.
|
||||||
fromActivity.postWindowRemoveStartingWindowCleanup(tStartingWindow);
|
fromActivity.postWindowRemoveStartingWindowCleanup();
|
||||||
fromActivity.mVisibleSetFromTransferredStartingWindow = false;
|
fromActivity.mVisibleSetFromTransferredStartingWindow = false;
|
||||||
|
|
||||||
mWmService.updateFocusedWindowLocked(
|
mWmService.updateFocusedWindowLocked(
|
||||||
@@ -7443,27 +7443,12 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void postWindowRemoveStartingWindowCleanup(WindowState win) {
|
void postWindowRemoveStartingWindowCleanup() {
|
||||||
// TODO: Something smells about the code below...Is there a better way?
|
if (mChildren.size() == 0 && mVisibleSetFromTransferredStartingWindow) {
|
||||||
if (mStartingWindow == win) {
|
// We set the visible state to true for the token from a transferred starting
|
||||||
ProtoLog.v(WM_DEBUG_STARTING_WINDOW, "Notify removed startingWindow %s", win);
|
// window. We now reset it back to false since the starting window was the last
|
||||||
removeStartingWindow();
|
// window in the token.
|
||||||
} else if (mChildren.size() == 0) {
|
setVisible(false);
|
||||||
// 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();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1996,7 +1996,7 @@ public class WindowManagerService extends IWindowManager.Stub
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (win.mActivityRecord != null) {
|
if (win.mActivityRecord != null) {
|
||||||
win.mActivityRecord.postWindowRemoveStartingWindowCleanup(win);
|
win.mActivityRecord.postWindowRemoveStartingWindowCleanup();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (win.mAttrs.type == TYPE_WALLPAPER) {
|
if (win.mAttrs.type == TYPE_WALLPAPER) {
|
||||||
|
|||||||
Reference in New Issue
Block a user