summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJustin Koh <justinkoh@google.com>2014-09-26 01:29:17 +0000
committerJustin Koh <justinkoh@google.com>2014-09-26 01:29:17 +0000
commit04c6d73fd0e4472505275688ef8497bc6697647c (patch)
tree304222acda82d4bac43ac1c7e84600bc8d596d84
parent8828d86e79424fc1c7b7d1f908e3450879d5cea0 (diff)
downloadframeworks_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
-rw-r--r--services/core/java/com/android/server/wm/AppWindowToken.java9
-rw-r--r--services/core/java/com/android/server/wm/TaskStack.java2
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerService.java4
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)) {