summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Pragya Bajoria <pragyabajoria@google.com> 2025-01-13 03:23:38 -0800
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2025-01-13 03:23:38 -0800
commit12af62ac7ab9b046873108146ae4fd590724c5a4 (patch)
treefc8894db57d0caa51c01da82d8af130301fbf9ec
parent170690ab2ff2e40f86a49cc49e1604ea417f1873 (diff)
parent441f3367e4c6d9c4406567227e5535396587b17c (diff)
Merge "Crash during Task switch" into main am: 441f3367e4
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/3445099 Change-Id: Ie0897f3ef964f034a6af8a1123237f31dfdcbc48 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--libs/WindowManager/Shell/src/com/android/wm/shell/taskview/TaskViewTaskController.java5
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 e74342e1910c..1931ea969bbc 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
@@ -529,9 +529,12 @@ public class TaskViewTaskController implements ShellTaskOrganizer.TaskListener {
Slog.w(TAG, "Trying to remove a task that was never added? (no taskToken)");
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);
});
}