diff options
author | Craig Mautner <cmautner@google.com> | 2014-03-25 17:22:55 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-03-25 17:22:55 +0000 |
commit | 2b2395f39a7a3b271f7d1072acec64db1554694e (patch) | |
tree | c2f775cc56699a39988f33c4ac12fc4c68ffa81d | |
parent | 81e094d76b9220e335edc24599919f8cd0f5d317 (diff) | |
parent | 9bc5f2f457844bd75747be40bd4593a2378d7c3d (diff) | |
download | frameworks_base-2b2395f39a7a3b271f7d1072acec64db1554694e.zip frameworks_base-2b2395f39a7a3b271f7d1072acec64db1554694e.tar.gz frameworks_base-2b2395f39a7a3b271f7d1072acec64db1554694e.tar.bz2 |
Merge "Don't wait for finishing animation when second display is disconnected" into klp-dev
-rw-r--r-- | services/java/com/android/server/wm/WindowManagerService.java | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/services/java/com/android/server/wm/WindowManagerService.java b/services/java/com/android/server/wm/WindowManagerService.java index 64bbe49..737f384 100644 --- a/services/java/com/android/server/wm/WindowManagerService.java +++ b/services/java/com/android/server/wm/WindowManagerService.java @@ -2380,6 +2380,11 @@ public class WindowManagerService extends IWindowManager.Stub } 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 (DEBUG_STARTING_WINDOW) Slog.d(TAG, "Starting window removed " + win); removeStartingWindowTimeout(win.mAppToken); @@ -2430,7 +2435,7 @@ public class WindowManagerService extends IWindowManager.Stub 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! //Slog.i(TAG, "*** Running exit animation..."); win.mExiting = true; @@ -10851,7 +10856,7 @@ public class WindowManagerService extends IWindowManager.Stub WindowList windows = displayContent.getWindowList(); while (!windows.isEmpty()) { final WindowState win = windows.get(windows.size() - 1); - removeWindowLocked(win.mSession, win); + removeWindowLocked(win.mSession, win, true); } } mAnimator.removeDisplayLocked(displayId); |