From ae30f308eed52305d64658bb54bbcdfef66f7783 Mon Sep 17 00:00:00 2001 From: Wale Ogunwale Date: Mon, 2 May 2016 10:35:45 -0700 Subject: [PATCH] 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 --- services/core/java/com/android/server/am/ActivityStack.java | 5 ++--- 1 file 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 21fc4d8c68fca..d751a32ccfa2f 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) {