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

Commit 0e1daee3 authored by Craig Mautner's avatar Craig Mautner Committed by Android Git Automerger
Browse files

am 66de7f4f: Merge "Fixes to handleAppDiedLocked." into klp-dev

* commit '66de7f4f':
  Fixes to handleAppDiedLocked.
parents fddc4bfe 66de7f4f
Loading
Loading
Loading
Loading
+11 −12
Original line number Diff line number Diff line
@@ -3438,23 +3438,22 @@ final class ActivityStack {
        // Determine if the top task is exiting and should return to home. Do this before it gets
        // removed in removeHistoryRecordsForAppsLocked.
        boolean launchHomeNext = false;
        int top = mTaskHistory.size() - 1;
        while (top >= 0) {
            final TaskRecord topTask = mTaskHistory.get(top);
            if (topTask.mActivities.isEmpty()) {
                // Not possible, but just in case.
                --top;
        TaskRecord topTask = mTaskHistory.get(mTaskHistory.size() - 1);
        ArrayList<ActivityRecord> activities = topTask.mActivities;
        int activityNdx;
        for (activityNdx = activities.size() - 1; activityNdx >= 0; --activityNdx) {
            ActivityRecord r = activities.get(activityNdx);
            if (r.finishing) {
                continue;
            }
            ActivityRecord r = topTask.topRunningActivityLocked(null);
            if (r != null) {
                // r will be launched next.
            if (r.app != app) {
                // This is the dying activity.
                break;
            }
            // There is an activity in topTask that is finishing. If topTask belongs to the app
            // return to home depending on the task flag.
        }
        if (activityNdx < 0) {
            // All activities in task belong to app. Set launchHomeNext to task's value.
            launchHomeNext = topTask.mOnTopOfHome;
            break;
        }

        removeHistoryRecordsForAppLocked(app);
+1 −1
Original line number Diff line number Diff line
@@ -1932,7 +1932,7 @@ public final class ActivityStackSupervisor {
        for (int stackNdx = 0; stackNdx < numStacks; ++stackNdx) {
            final ActivityStack stack = mStacks.get(stackNdx);
            // Only update launchHomeTaskNext for the focused stack.
            launchHomeTaskNext |= (stack == focusedStack && stack.handleAppDiedLocked(app));
            launchHomeTaskNext |= (stack.handleAppDiedLocked(app) && stack == focusedStack);
        }

        if (!restarting) {