Ensure null elements aren't added to TaskView shortcut list

Bug: 234874147
Change-Id: I5ed84fdc64128264e5808b7d3b019c47e3740469
diff --git a/quickstep/src/com/android/quickstep/TaskShortcutFactory.java b/quickstep/src/com/android/quickstep/TaskShortcutFactory.java
index 825cf2c..2af6e0b 100644
--- a/quickstep/src/com/android/quickstep/TaskShortcutFactory.java
+++ b/quickstep/src/com/android/quickstep/TaskShortcutFactory.java
@@ -74,6 +74,15 @@
         return false;
     }
 
+    /** @return a singleton list if the provided shortcut is non-null, null otherwise */
+    @Nullable
+    default List<SystemShortcut> createSingletonShortcutList(@Nullable SystemShortcut shortcut) {
+        if (shortcut != null) {
+            return Collections.singletonList(shortcut);
+        }
+        return null;
+    }
+
     TaskShortcutFactory APP_INFO = new TaskShortcutFactory() {
         @Override
         public List<SystemShortcut> getShortcuts(BaseDraggingActivity activity,
@@ -373,9 +382,10 @@
         @Override
         public List<SystemShortcut> getShortcuts(BaseDraggingActivity activity,
                 TaskIdAttributeContainer taskContainer) {
-            return Collections.singletonList(
+            SystemShortcut<BaseDraggingActivity> wellbeingShortcut =
                     WellbeingModel.SHORTCUT_FACTORY.getShortcut(activity,
-                            taskContainer.getItemInfo(), taskContainer.getTaskView()));
+                            taskContainer.getItemInfo(), taskContainer.getTaskView());
+            return createSingletonShortcutList(wellbeingShortcut);
         }
     };
 
@@ -383,10 +393,10 @@
         @Override
         public List<SystemShortcut> getShortcuts(BaseDraggingActivity activity,
                 TaskIdAttributeContainer taskContainer) {
-            return Collections.singletonList(
-                    taskContainer.getThumbnailView().getTaskOverlay()
-                            .getScreenshotShortcut(activity, taskContainer.getItemInfo(),
-                                    taskContainer.getTaskView()));
+            SystemShortcut screenshotShortcut = taskContainer.getThumbnailView().getTaskOverlay()
+                    .getScreenshotShortcut(activity, taskContainer.getItemInfo(),
+                            taskContainer.getTaskView());
+            return createSingletonShortcutList(screenshotShortcut);
         }
     };
 
@@ -394,10 +404,12 @@
         @Override
         public List<SystemShortcut> getShortcuts(BaseDraggingActivity activity,
                 TaskIdAttributeContainer taskContainer) {
+            SystemShortcut modalStateSystemShortcut =
+                    taskContainer.getThumbnailView().getTaskOverlay()
+                            .getModalStateSystemShortcut(
+                                    taskContainer.getItemInfo(), taskContainer.getTaskView());
             if (ENABLE_OVERVIEW_SELECTIONS.get()) {
-                return Collections.singletonList(taskContainer.getThumbnailView().getTaskOverlay()
-                        .getModalStateSystemShortcut(
-                                        taskContainer.getItemInfo(), taskContainer.getTaskView()));
+                return createSingletonShortcutList(modalStateSystemShortcut);
             }
             return null;
         }