summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Andrii Kulian <akulian@google.com> 2016-09-22 05:02:23 +0000
committer android-build-merger <android-build-merger@google.com> 2016-09-22 05:02:23 +0000
commita646e8d657263add86cab6c2099592065a1e0a0e (patch)
tree6593630fa73437259b022a5e417743370cbfe3f2
parent2646d543bcd817e4bd5eda69a8aa0cd4703efad1 (diff)
parent273acdcefa5854eeb655bfa83efa71fe25ce78cd (diff)
Fix stopping activity when removed from waiting visible am: ee05681139
am: 273acdcefa Change-Id: I451b830e704d39dee1089d28bde2625cd150d8dc
-rw-r--r--services/core/java/com/android/server/am/ActivityStackSupervisor.java4
1 files changed, 3 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/am/ActivityStackSupervisor.java b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
index 17670f8c5669..c6ab9186456d 100644
--- a/services/core/java/com/android/server/am/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/am/ActivityStackSupervisor.java
@@ -3139,11 +3139,14 @@ public final class ActivityStackSupervisor implements DisplayListener {
final boolean nowVisible = allResumedActivitiesVisible();
for (int activityNdx = mStoppingActivities.size() - 1; activityNdx >= 0; --activityNdx) {
ActivityRecord s = mStoppingActivities.get(activityNdx);
+ // TODO: Remove mWaitingVisibleActivities list and just remove activity from
+ // mStoppingActivities when something else comes up.
boolean waitingVisible = mWaitingVisibleActivities.contains(s);
if (DEBUG_STATES) Slog.v(TAG, "Stopping " + s + ": nowVisible=" + nowVisible
+ " waitingVisible=" + waitingVisible + " finishing=" + s.finishing);
if (waitingVisible && nowVisible) {
mWaitingVisibleActivities.remove(s);
+ waitingVisible = false;
if (s.finishing) {
// If this activity is finishing, it is sitting on top of
// everyone else but we now know it is no longer needed...
@@ -3152,7 +3155,6 @@ public final class ActivityStackSupervisor implements DisplayListener {
// hidden by the activities in front of it.
if (DEBUG_STATES) Slog.v(TAG, "Before stopping, can hide: " + s);
mWindowManager.setAppVisibility(s.appToken, false);
- waitingVisible = false;
}
}
if ((!waitingVisible || mService.isSleepingOrShuttingDownLocked()) && remove) {