am 2cacc619: Merge "Don\'t wait for finishing animation when second display is disconnected"
* commit '2cacc619d62f58ee8a9d0fcfac942c6d5faf7031': Don't wait for finishing animation when second display is disconnected
This commit is contained in:
@@ -2373,6 +2373,11 @@ public class WindowManagerService extends IWindowManager.Stub
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void removeWindowLocked(Session session, WindowState win) {
|
public void removeWindowLocked(Session session, WindowState win) {
|
||||||
|
removeWindowLocked(session, win, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void removeWindowLocked(Session session, WindowState win,
|
||||||
|
boolean forceRemove) {
|
||||||
if (win.mAttrs.type == TYPE_APPLICATION_STARTING) {
|
if (win.mAttrs.type == TYPE_APPLICATION_STARTING) {
|
||||||
if (DEBUG_STARTING_WINDOW) Slog.d(TAG, "Starting window removed " + win);
|
if (DEBUG_STARTING_WINDOW) Slog.d(TAG, "Starting window removed " + win);
|
||||||
removeStartingWindowTimeout(win.mAppToken);
|
removeStartingWindowTimeout(win.mAppToken);
|
||||||
@@ -2423,7 +2428,7 @@ public class WindowManagerService extends IWindowManager.Stub
|
|||||||
mDisplayMagnifier.onWindowTransitionLocked(win, transit);
|
mDisplayMagnifier.onWindowTransitionLocked(win, transit);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (win.mExiting || win.mWinAnimator.isAnimating()) {
|
if (!forceRemove && (win.mExiting || win.mWinAnimator.isAnimating())) {
|
||||||
// The exit animation is running... wait for it!
|
// The exit animation is running... wait for it!
|
||||||
//Slog.i(TAG, "*** Running exit animation...");
|
//Slog.i(TAG, "*** Running exit animation...");
|
||||||
win.mExiting = true;
|
win.mExiting = true;
|
||||||
@@ -10852,7 +10857,7 @@ public class WindowManagerService extends IWindowManager.Stub
|
|||||||
WindowList windows = displayContent.getWindowList();
|
WindowList windows = displayContent.getWindowList();
|
||||||
while (!windows.isEmpty()) {
|
while (!windows.isEmpty()) {
|
||||||
final WindowState win = windows.get(windows.size() - 1);
|
final WindowState win = windows.get(windows.size() - 1);
|
||||||
removeWindowLocked(win.mSession, win);
|
removeWindowLocked(win.mSession, win, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
mAnimator.removeDisplayLocked(displayId);
|
mAnimator.removeDisplayLocked(displayId);
|
||||||
|
|||||||
Reference in New Issue
Block a user