Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0e5a4bb4 authored by Alex Chau's avatar Alex Chau Committed by Android (Google) Code Review
Browse files

Merge "Add stub task when matching TaskView is grouped while runningTasks is not grouped" into main

parents ee6f471f 49296532
Loading
Loading
Loading
Loading
+13 −11
Original line number Diff line number Diff line
@@ -2734,18 +2734,20 @@ public abstract class RecentsView<CONTAINER_TYPE extends Context & RecentsViewCo
     * Returns true if we should add a stub taskView for the running task id
     */
    protected boolean shouldAddStubTaskView(Task[] runningTasks) {
        TaskView taskView = getTaskViewByTaskId(runningTasks[0].key.id);
        if (taskView == null) {
            // No TaskView found, add a stub task.
            return true;
        }

        if (runningTasks.length > 1) {
            TaskView primaryTaskView = getTaskViewByTaskId(runningTasks[0].key.id);
            TaskView secondaryTaskView = getTaskViewByTaskId(runningTasks[1].key.id);
            int leftTopTaskViewId =
                    (primaryTaskView == null) ? -1 : primaryTaskView.getTaskViewId();
            int rightBottomTaskViewId =
                    (secondaryTaskView == null) ? -1 : secondaryTaskView.getTaskViewId();
            // Add a new stub view if both taskIds don't match any taskViews
            return leftTopTaskViewId != rightBottomTaskViewId || leftTopTaskViewId == -1;
        }
        Task runningTaskInfo = runningTasks[0];
        return runningTaskInfo != null && getTaskViewByTaskId(runningTaskInfo.key.id) == null;
            // Ensure all taskIds matches the TaskView, otherwise add a stub task.
            return Arrays.stream(runningTasks).anyMatch(
                    runningTask -> !taskView.containsTaskId(runningTask.key.id));
        } else {
            // Ensure the TaskView only contains a single taskId, otherwise add a stub task.
            return taskView.containsMultipleTasks();
        }
    }

    /**