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

Commit 1d7919a7 authored by riddle_hsu's avatar riddle_hsu
Browse files

[ActivityManager] Fix index OOB when resetting removed task

Assume task T has an activity X lives in process P.
When P is died and before death recipient being called,
start activity with flag RESET_TASK_IF_NEEDED to bring the
existed task T.

Then scheduleResumeActivity IPC will fail and trigger start
a new process that removes task T.

That results resetTaskIfNeededLocked cannot find the task
when continuing the start flow.

Detail:
https://code.google.com/p/android/issues/detail?id=159558

Change-Id: Icc400c7a6c481a3f78657e9fb83cf0c3a17dde68
parent e59b7ce2
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -2477,9 +2477,11 @@ final class ActivityStack {
        }

        int taskNdx = mTaskHistory.indexOf(task);
        if (taskNdx >= 0) {
            do {
                taskTop = mTaskHistory.get(taskNdx--).getTopActivity();
            } while (taskTop == null && taskNdx >= 0);
        }

        if (topOptions != null) {
            // If we got some ActivityOptions from an activity on top that