From 1110f5547018030c316562b217a073b16364ed51 Mon Sep 17 00:00:00 2001 From: louis_chang Date: Fri, 19 Dec 2014 17:30:45 +0800 Subject: [PATCH] [ActivityManager] Reset ActivityRecord's waitingVisible Symptom: The ActivityRecord's waitingVisible is not set to false for all cases when the ActivityRecord is removed from mStackSupervisor.mWaitingVisibleActivities. Solution: Set the waitingVisible to false when it is removed from mStackSupervisor.mWaitingVisibleActivities Change-Id: If0f0683971d70a6866b0167e91dd95feebaac178 --- services/core/java/com/android/server/am/ActivityStack.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java index 0c23e585fa380..c03dbc29eb354 100644 --- a/services/core/java/com/android/server/am/ActivityStack.java +++ b/services/core/java/com/android/server/am/ActivityStack.java @@ -1595,6 +1595,7 @@ final class ActivityStack { mStackSupervisor.mGoingToSleepActivities.remove(next); next.sleeping = false; mStackSupervisor.mWaitingVisibleActivities.remove(next); + next.waitingVisible = false; if (DEBUG_SWITCH) Slog.v(TAG, "Resuming " + next); @@ -2807,6 +2808,7 @@ final class ActivityStack { mStackSupervisor.mStoppingActivities.remove(r); mStackSupervisor.mGoingToSleepActivities.remove(r); mStackSupervisor.mWaitingVisibleActivities.remove(r); + r.waitingVisible = false; if (mResumedActivity == r) { mResumedActivity = null; } @@ -3007,6 +3009,7 @@ final class ActivityStack { // down to the max limit while they are still waiting to finish. mStackSupervisor.mFinishingActivities.remove(r); mStackSupervisor.mWaitingVisibleActivities.remove(r); + r.waitingVisible = false; // Remove any pending results. if (r.finishing && r.pendingResults != null) {