Fix missing exit animation when app is closed during starting window

When the transistion starts and we setTokenVisibilityLocked, mark all
relevant window flags on a starting window that's running exit animation.
This makes sure the starting window is removed when animation finishes.

bug: 27747191
Change-Id: I917ca18583e31db9a3e49ea70aae932c242877b8
This commit is contained in:
Chong Zhang
2016-04-01 17:57:07 -07:00
parent 1c2db8992f
commit 57f3d4632b

View File

@@ -4134,6 +4134,14 @@ public class WindowManagerService extends IWindowManager.Stub
for (int i = 0; i < windowsCount; i++) {
WindowState win = wtoken.allAppWindows.get(i);
if (win == wtoken.startingWindow) {
// Starting window that's exiting will be removed when the animation
// finishes. Mark all relevant flags for that finishExit will proceed
// all the way to actually remove it.
if (!visible && win.isVisibleNow() && wtoken.mAppAnimator.isAnimating()) {
win.mAnimatingExit = true;
win.mRemoveOnExit = true;
win.mWindowRemovalAllowed = true;
}
continue;
}