summaryrefslogtreecommitdiffstats
path: root/services/core/java
diff options
context:
space:
mode:
authorCraig Mautner <cmautner@google.com>2014-02-11 02:32:27 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-02-11 02:32:27 +0000
commit33fa09b1ffe8d14d146de4b2632103d831ff8988 (patch)
tree6d69a42fc271d1dda88c8c019227023d626a682b /services/core/java
parent7f477021a1887fd5681d92b3575310125d2ffa90 (diff)
parent2d6b55aaa9dd03f7d934f7a192989513b1087357 (diff)
downloadframeworks_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-xservices/core/java/com/android/server/am/ActivityStack.java18
-rw-r--r--services/core/java/com/android/server/wm/WindowManagerService.java4
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);
}
}