diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java index 825e9e070a3e1..d0a19b7ab5859 100644 --- a/services/core/java/com/android/server/wm/Task.java +++ b/services/core/java/com/android/server/wm/Task.java @@ -5200,7 +5200,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();