diff options
| -rw-r--r-- | services/core/java/com/android/server/am/ActivityStack.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java index 9718ae86d42e..8b637e0ae44d 100644 --- a/services/core/java/com/android/server/am/ActivityStack.java +++ b/services/core/java/com/android/server/am/ActivityStack.java @@ -2258,6 +2258,20 @@ final class ActivityStack { } if (DEBUG_STACK) mStackSupervisor.validateTopActivitiesLocked(); return true; + } else if (mResumedActivity == next && next.state == ActivityState.RESUMED && + mStackSupervisor.allResumedActivitiesComplete()) { + // It is possible for the activity to be resumed when we paused back stacks above if the + // next activity doesn't have to wait for pause to complete. + // So, nothing else to-do except: + // Make sure we have executed any pending transitions, since there + // should be nothing left to do at this point. + mWindowManager.executeAppTransition(); + mNoAnimActivities.clear(); + ActivityOptions.abort(options); + if (DEBUG_STATES) Slog.d(TAG_STATES, + "resumeTopActivityLocked: Top activity resumed (dontWaitForPause) " + next); + if (DEBUG_STACK) mStackSupervisor.validateTopActivitiesLocked(); + return true; } // If the most recent activity was noHistory but was only stopped rather |