summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Wale Ogunwale <ogunwale@google.com> 2016-05-02 10:35:45 -0700
committer Wale Ogunwale <ogunwale@google.com> 2016-05-02 10:56:57 -0700
commitae30f308eed52305d64658bb54bbcdfef66f7783 (patch)
tree995bd273886067f7fcf3efd5b915731109d9ae2b
parentf4810f5506203ac03439d1ed6e33e021540568f8 (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.java5
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) {