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

Commit 68ca59e9 authored by Dianne Hackborn's avatar Dianne Hackborn Committed by Android Git Automerger
Browse files

am b0ef1442: Merge "Fix issue #258640: Automatic propagation of...

am b0ef1442: Merge "Fix issue #258640: Automatic propagation of FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET" into froyo

Merge commit 'b0ef1442' into froyo-plus-aosp

* commit 'b0ef1442':
  Fix issue #258640: Automatic propagation of FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET
parents 13932d85 b0ef1442
Loading
Loading
Loading
Loading
+11 −2
Original line number Original line Diff line number Diff line
@@ -4078,11 +4078,20 @@ public final class ActivityManagerService extends ActivityManagerNative implemen
                System.identityHashCode(r),
                System.identityHashCode(r),
                r.task.taskId, r.shortComponentName, reason);
                r.task.taskId, r.shortComponentName, reason);
        r.task.numActivities--;
        r.task.numActivities--;
        if (r.frontOfTask && index < (mHistory.size()-1)) {
        if (index < (mHistory.size()-1)) {
            HistoryRecord next = (HistoryRecord)mHistory.get(index+1);
            HistoryRecord next = (HistoryRecord)mHistory.get(index+1);
            if (next.task == r.task) {
            if (next.task == r.task) {
                if (r.frontOfTask) {
                    // The next activity is now the front of the task.
                    next.frontOfTask = true;
                    next.frontOfTask = true;
                }
                }
                if ((r.intent.getFlags()&Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET) != 0) {
                    // If the caller asked that this activity (and all above it)
                    // be cleared when the task is reset, don't lose that information,
                    // but propagate it up to the next activity.
                    next.intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
                }
            }
        }
        }
        r.pauseKeyDispatchingLocked();
        r.pauseKeyDispatchingLocked();