summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/java/com/android/server/am/ActivityStack.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/services/java/com/android/server/am/ActivityStack.java b/services/java/com/android/server/am/ActivityStack.java
index 2e914aa3ceec..14d1d1366a7a 100644
--- a/services/java/com/android/server/am/ActivityStack.java
+++ b/services/java/com/android/server/am/ActivityStack.java
@@ -1769,6 +1769,21 @@ final class ActivityStack {
r.putInHistory();
r.frontOfTask = newTask;
+ if (!r.frontOfTask) {
+ // It is possible that the current frontOfTask activity is finishing. Check for that.
+ ArrayList<ActivityRecord> activities = task.mActivities;
+ for (int activityNdx = 0; activityNdx < activities.size(); ++activityNdx) {
+ final ActivityRecord activity = activities.get(activityNdx);
+ if (activity.finishing) {
+ continue;
+ }
+ if (activity == r) {
+ // All activities before r are finishing.
+ r.frontOfTask = true;
+ }
+ break;
+ }
+ }
if (!isHomeStack() || numActivities() > 0) {
// We want to show the starting preview window if we are
// switching to a new task, or the next activity's process is