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

Commit ace5941e authored by Evan Rosky's avatar Evan Rosky Committed by Android (Google) Code Review
Browse files

Merge "Make sure an isolated removeTask becomes ready" into 24D1-dev

parents 1e646eab 60386b82
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -1689,7 +1689,16 @@ public class ActivityTaskSupervisor implements RecentTasks.Callbacks {
            // Prevent recursion.
            return;
        }
        task.mTransitionController.requestCloseTransitionIfNeeded(task);
        final Transition transit = task.mTransitionController.requestCloseTransitionIfNeeded(task);
        if (transit != null && !task.mTransitionController.useFullReadyTracking()) {
            // If a transition was created here, it means this is an isolated removeTask. It's
            // possible for there to be no consequent operations (eg. this is a multiwindow task
            // closing so nothing becomes visible in response) so we must "touch" the old ready
            // tracker so that it doesn't get stuck. However, since the old ready tracker
            // doesn't support multiple conditions, we have to touch it here at the beginning
            // before anything that may need it to wait (setReady(false)).
            transit.setReady(task, true);
        }
        // Consume the stopping activities immediately so activity manager won't skip killing
        // the process because it is still foreground state, i.e. RESUMED -> PAUSING set from
        // removeActivities -> finishIfPossible.