diff options
| author | 2016-05-02 10:35:45 -0700 | |
|---|---|---|
| committer | 2016-05-02 10:56:57 -0700 | |
| commit | ae30f308eed52305d64658bb54bbcdfef66f7783 (patch) | |
| tree | 995bd273886067f7fcf3efd5b915731109d9ae2b | |
| parent | f4810f5506203ac03439d1ed6e33e021540568f8 (diff) | |
Allow pinned activities to finish immediately
Pinned activities are normally in the paused state so when finishing
they can finish immediately as there might not be additional transition
in the system to finish them.
Bug: 28434641
Bug: 28350881
Change-Id: I5f1eaf0969a7eb08292cb9cc123bf8c0fddc9ea8
| -rw-r--r-- | services/core/java/com/android/server/am/ActivityStack.java | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/am/ActivityStack.java b/services/core/java/com/android/server/am/ActivityStack.java index 21fc4d8c68fc..d751a32ccfa2 100644 --- a/services/core/java/com/android/server/am/ActivityStack.java +++ b/services/core/java/com/android/server/am/ActivityStack.java @@ -3488,11 +3488,10 @@ final class ActivityStack { r.state = ActivityState.FINISHING; if (mode == FINISH_IMMEDIATELY - || (mode == FINISH_AFTER_PAUSE && prevState == ActivityState.PAUSED) + || (prevState == ActivityState.PAUSED + && (mode == FINISH_AFTER_PAUSE || mStackId == PINNED_STACK_ID)) || prevState == ActivityState.STOPPED || prevState == ActivityState.INITIALIZING) { - // If this activity is already stopped, we can just finish - // it right now. r.makeFinishingLocked(); boolean activityRemoved = destroyActivityLocked(r, true, "finish-imm"); if (activityRemoved) { |