diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index 756e449b8c4ee..4e7fe0e714200 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -5150,7 +5150,16 @@ class Task extends TaskFragment { final Task task = taskTop.getTask(); // If ActivityOptions are moved out and need to be aborted or moved to taskTop. - final ActivityOptions topOptions = sResetTargetTaskHelper.process(task, forceReset); + final ActivityOptions topOptions; + + // Set the task to be reused, so the TaskFragment#mClearedTaskForReuse can be set if the + // embedded activities are finished while reset task. + mReuseTask = true; + try { + topOptions = sResetTargetTaskHelper.process(task, forceReset); + } finally { + mReuseTask = false; + } if (mChildren.contains(task)) { final ActivityRecord newTop = task.getTopNonFinishingActivity();