Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d3786148 authored by Andrii Kulian's avatar Andrii Kulian Committed by Android (Google) Code Review
Browse files

Merge "Correctly finish activity in non-focused stack" into nyc-mr1-dev

parents 671bc205 7318d63b
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -3562,11 +3562,18 @@ final class ActivityStack {

        if (mode == FINISH_IMMEDIATELY
                || (prevState == ActivityState.PAUSED
                    && (mode == FINISH_AFTER_PAUSE || mStackId == PINNED_STACK_ID))
                    && (mode == FINISH_AFTER_PAUSE || mode == FINISH_AFTER_VISIBLE
                        || mStackId == PINNED_STACK_ID))
                || prevState == ActivityState.STOPPED
                || prevState == ActivityState.INITIALIZING) {
            r.makeFinishingLocked();
            boolean activityRemoved = destroyActivityLocked(r, true, "finish-imm");

            if (prevState == ActivityState.PAUSED && mode == FINISH_AFTER_VISIBLE) {
                // Finishing activity that was in paused state - this can happen if it was in
                // not currently focused stack. Need to make something visible in its place.
                mStackSupervisor.ensureActivitiesVisibleLocked(null, 0, !PRESERVE_WINDOWS);
            }
            if (activityRemoved) {
                mStackSupervisor.resumeFocusedStackTopActivityLocked();
            }
+1 −1
Original line number Diff line number Diff line
@@ -1051,7 +1051,7 @@ public final class ActivityStackSupervisor implements DisplayListener {
            return r;
        }

        // Return to the home stack.
        // Look in other non-focused and non-home stacks.
        final ArrayList<ActivityStack> stacks = mHomeStack.mStacks;
        for (int stackNdx = stacks.size() - 1; stackNdx >= 0; --stackNdx) {
            final ActivityStack stack = stacks.get(stackNdx);