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
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;
}