From 95922915a15939a9f015db8443a1edf7027d1aa9 Mon Sep 17 00:00:00 2001 From: minch Date: Wed, 16 Apr 2025 19:39:51 +0000 Subject: [PATCH] Fix a crash on null `getLegacyBaseTask` Bug: 410090695 Test: m Flag: EXEMPT crash fix Change-Id: I4b198764f182bf31769860619842feeb2191e583 --- .../src/com/android/quickstep/TopTaskTracker.java | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/quickstep/src/com/android/quickstep/TopTaskTracker.java b/quickstep/src/com/android/quickstep/TopTaskTracker.java index 2885533508..47200ce8ae 100644 --- a/quickstep/src/com/android/quickstep/TopTaskTracker.java +++ b/quickstep/src/com/android/quickstep/TopTaskTracker.java @@ -566,8 +566,8 @@ public class TopTaskTracker extends ISplitScreenListener.Stub implements TaskSta return result; } - private boolean isDesktopTask(TaskInfo taskInfo) { - return canEnterDesktopMode(mContext) + private boolean isDesktopTask(@Nullable TaskInfo taskInfo) { + return taskInfo != null && canEnterDesktopMode(mContext) && taskInfo.configuration.windowConfiguration.getWindowingMode() == WindowConfiguration.WINDOWING_MODE_FREEFORM; } @@ -581,7 +581,8 @@ public class TopTaskTracker extends ISplitScreenListener.Stub implements TaskSta * @param splitTaskIds provide if it is for split, which represents the task ids of the * paired tasks. Otherwise, provide null. */ - public GroupedTaskInfo getPlaceholderGroupedTaskInfo(@Nullable int[] splitTaskIds) { + public @Nullable GroupedTaskInfo getPlaceholderGroupedTaskInfo( + @Nullable int[] splitTaskIds) { if (enableShellTopTaskTracking()) { if (mVisibleTasks == null) { return null; @@ -612,7 +613,9 @@ public class TopTaskTracker extends ISplitScreenListener.Stub implements TaskSta baseTaskInfo), /* minimizedFreeformTaskIds = */ Collections.emptySet()); } - return GroupedTaskInfo.forFullscreenTasks(baseTaskInfo); + return baseTaskInfo == null + ? null + : GroupedTaskInfo.forFullscreenTasks(baseTaskInfo); } } }