diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java index 564cea7fc7630..21fc4d8c68fca 100644 --- a/services/core/java/com/android/server/am/ActivityStack.java +++ b/services/core/java/com/android/server/am/ActivityStack.java @@ -3459,8 +3459,11 @@ final class ActivityStack { // First things first: if this activity is currently visible, // and the resumed activity is not yet visible, then hold off on // finishing until the resumed one becomes visible. + + final ActivityRecord next = mStackSupervisor.topRunningActivityLocked(); + if (mode == FINISH_AFTER_VISIBLE && (r.visible || r.nowVisible) - && !mStackSupervisor.allResumedActivitiesVisible()) { + && next != null && !next.nowVisible) { if (!mStackSupervisor.mStoppingActivities.contains(r)) { addToStopping(r, false /* immediate */); }