summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Mautner <cmautner@google.com>2014-03-25 17:22:55 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-03-25 17:22:55 +0000
commit2b2395f39a7a3b271f7d1072acec64db1554694e (patch)
treec2f775cc56699a39988f33c4ac12fc4c68ffa81d
parent81e094d76b9220e335edc24599919f8cd0f5d317 (diff)
parent9bc5f2f457844bd75747be40bd4593a2378d7c3d (diff)
downloadbase-2b2395f39a7a3b271f7d1072acec64db1554694e.tar.gz
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.java9
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 64bbe49342d9..737f38488f78 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);