diff options
| author | 2014-09-26 01:41:55 +0000 | |
|---|---|---|
| committer | 2014-09-26 01:41:55 +0000 | |
| commit | 1c487938c45317997389b9ad101fc6739e3fe847 (patch) | |
| tree | eb769039c56c660c35bd6d867184ba6e73742824 | |
| parent | 6ae7ea942fc89b1899da267253c5c78596ef5aa1 (diff) | |
| parent | 04c6d73fd0e4472505275688ef8497bc6697647c (diff) | |
am 04c6d73f: Revert "DO NOT MERGE Fix race condition between binder deaths"
* commit '04c6d73fd0e4472505275688ef8497bc6697647c':
Revert "DO NOT MERGE Fix race condition between binder deaths"
3 files changed, 2 insertions, 13 deletions
diff --git a/services/core/java/com/android/server/wm/AppWindowToken.java b/services/core/java/com/android/server/wm/AppWindowToken.java index 4fe37e8cbdea..ca4ad8a32e0d 100644 --- a/services/core/java/com/android/server/wm/AppWindowToken.java +++ b/services/core/java/com/android/server/wm/AppWindowToken.java @@ -245,15 +245,6 @@ class AppWindowToken extends WindowToken { return false; } - void removeAllWindows() { - for (int winNdx = allAppWindows.size() - 1; winNdx >= 0; --winNdx) { - WindowState win = allAppWindows.get(winNdx); - if (WindowManagerService.DEBUG_WINDOW_MOVEMENT) Slog.w(WindowManagerService.TAG, - "removeAllWindows: removing win=" + win); - win.mService.removeWindowLocked(win.mSession, win); - } - } - @Override void dump(PrintWriter pw, String prefix) { super.dump(pw, prefix); diff --git a/services/core/java/com/android/server/wm/TaskStack.java b/services/core/java/com/android/server/wm/TaskStack.java index 6823577607ea..72b403405bb8 100644 --- a/services/core/java/com/android/server/wm/TaskStack.java +++ b/services/core/java/com/android/server/wm/TaskStack.java @@ -155,7 +155,7 @@ public class TaskStack { final ArrayList<WindowState> windows = activities.get(activityNdx).allAppWindows; for (int winNdx = windows.size() - 1; winNdx >= 0; --winNdx) { final WindowStateAnimator winAnimator = windows.get(winNdx).mWinAnimator; - if (winAnimator.isAnimating() || winAnimator.mWin.mExiting) { + if (winAnimator.isAnimating() && !winAnimator.isDummyAnimation()) { return true; } } diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 729b97b42033..2978baa06b1e 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -3540,7 +3540,7 @@ public class WindowManagerService extends IWindowManager.Stub return; } final Task oldTask = mTaskIdToTask.get(atoken.groupId); - oldTask.removeAppToken(atoken); + removeAppFromTaskLocked(atoken); atoken.groupId = groupId; Task newTask = mTaskIdToTask.get(groupId); @@ -4563,8 +4563,6 @@ public class WindowManagerService extends IWindowManager.Stub } void removeAppFromTaskLocked(AppWindowToken wtoken) { - wtoken.removeAllWindows(); - final Task task = mTaskIdToTask.get(wtoken.groupId); if (task != null) { if (!task.removeAppToken(wtoken)) { |