diff options
author | Justin Koh <justinkoh@google.com> | 2014-09-26 01:29:17 +0000 |
---|---|---|
committer | Justin Koh <justinkoh@google.com> | 2014-09-26 01:29:17 +0000 |
commit | 04c6d73fd0e4472505275688ef8497bc6697647c (patch) | |
tree | 304222acda82d4bac43ac1c7e84600bc8d596d84 | |
parent | 8828d86e79424fc1c7b7d1f908e3450879d5cea0 (diff) | |
download | frameworks_base-04c6d73fd0e4472505275688ef8497bc6697647c.zip frameworks_base-04c6d73fd0e4472505275688ef8497bc6697647c.tar.gz frameworks_base-04c6d73fd0e4472505275688ef8497bc6697647c.tar.bz2 |
Revert "DO NOT MERGE Fix race condition between binder deaths"
This reverts commit 8828d86e79424fc1c7b7d1f908e3450879d5cea0.
Change-Id: I211f7b78a286868d8441323ff3c9cf4d7482fb61
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 4fe37e8..ca4ad8a 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 6823577..72b4034 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 2b57f50..751919b 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); @@ -4562,8 +4562,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)) { |