diff options
| -rw-r--r-- | libs/WindowManager/Shell/src/com/android/wm/shell/taskview/TaskViewTaskController.java | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/taskview/TaskViewTaskController.java b/libs/WindowManager/Shell/src/com/android/wm/shell/taskview/TaskViewTaskController.java index 8dd14983e122..5c7dd078ee45 100644 --- a/libs/WindowManager/Shell/src/com/android/wm/shell/taskview/TaskViewTaskController.java +++ b/libs/WindowManager/Shell/src/com/android/wm/shell/taskview/TaskViewTaskController.java @@ -536,9 +536,12 @@ public class TaskViewTaskController implements ShellTaskOrganizer.TaskListener { } return; } + // Cache it to avoid NPE and make sure to remove it from recents history. + // mTaskToken can be cleared in onTaskVanished() when the task is removed. + final WindowContainerToken taskToken = mTaskToken; mShellExecutor.execute(() -> { WindowContainerTransaction wct = new WindowContainerTransaction(); - wct.removeTask(mTaskToken); + wct.removeTask(taskToken); mTaskViewTransitions.closeTaskView(wct, this); }); } |