diff options
author | Craig Mautner <cmautner@google.com> | 2014-02-11 02:32:27 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2014-02-11 02:32:27 +0000 |
commit | 33fa09b1ffe8d14d146de4b2632103d831ff8988 (patch) | |
tree | 6d69a42fc271d1dda88c8c019227023d626a682b /services/core/java | |
parent | 7f477021a1887fd5681d92b3575310125d2ffa90 (diff) | |
parent | 2d6b55aaa9dd03f7d934f7a192989513b1087357 (diff) | |
download | frameworks_base-33fa09b1ffe8d14d146de4b2632103d831ff8988.zip frameworks_base-33fa09b1ffe8d14d146de4b2632103d831ff8988.tar.gz frameworks_base-33fa09b1ffe8d14d146de4b2632103d831ff8988.tar.bz2 |
am 2d6b55aa: am 312ba86b: Change task removal sequence
* commit '2d6b55aaa9dd03f7d934f7a192989513b1087357':
Change task removal sequence
Diffstat (limited to 'services/core/java')
-rwxr-xr-x | services/core/java/com/android/server/am/ActivityStack.java | 18 | ||||
-rw-r--r-- | services/core/java/com/android/server/wm/WindowManagerService.java | 4 |
2 files changed, 11 insertions, 11 deletions
diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java index 4a07256..77bb1a9 100755 --- a/services/core/java/com/android/server/am/ActivityStack.java +++ b/services/core/java/com/android/server/am/ActivityStack.java @@ -2734,15 +2734,6 @@ final class ActivityStack { here.fillInStackTrace(); Slog.i(TAG, "Removing activity " + r + " from stack"); } - final TaskRecord task = r.task; - if (task != null && task.removeActivity(r)) { - if (DEBUG_STACK) Slog.i(TAG, - "removeActivityFromHistoryLocked: last activity removed from " + this); - if (mStackSupervisor.isFrontStack(this) && task == topTask() && task.mOnTopOfHome) { - mStackSupervisor.moveHomeToTop(); - } - removeTask(task); - } r.takeFromHistory(); removeTimeoutsForActivityLocked(r); if (DEBUG_STATES) Slog.v(TAG, "Moving to DESTROYED: " + r + " (removed from history)"); @@ -2753,6 +2744,15 @@ final class ActivityStack { if (VALIDATE_TOKENS) { validateAppTokensLocked(); } + final TaskRecord task = r.task; + if (task != null && task.removeActivity(r)) { + if (DEBUG_STACK) Slog.i(TAG, + "removeActivityFromHistoryLocked: last activity removed from " + this); + if (mStackSupervisor.isFrontStack(this) && task == topTask() && task.mOnTopOfHome) { + mStackSupervisor.moveHomeToTop(); + } + removeTask(task); + } cleanUpActivityServicesLocked(r); r.removeUriPermissionsLocked(); } diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 7293d6f..8f07e27 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -4535,8 +4535,8 @@ public class WindowManagerService extends IWindowManager.Stub void removeAppFromTaskLocked(AppWindowToken wtoken) { final Task task = mTaskIdToTask.get(wtoken.groupId); - if (!wtoken.mDeferRemoval && task != null && task.removeAppToken(wtoken)) { - removeTaskLocked(task); + if (task != null) { + task.removeAppToken(wtoken); } } |