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

Commit 5be7cde8 authored by Vinit Nayak's avatar Vinit Nayak Committed by Android (Google) Code Review
Browse files

Merge "Fix bug with selecting a secondary task as second splitscreen app via...

Merge "Fix bug with selecting a secondary task as second splitscreen app via Taskbar" into tm-qpr-dev
parents 8baae80c 0b4b89bd
Loading
Loading
Loading
Loading
+9 −4
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import com.android.launcher3.util.DisplayController;
import com.android.launcher3.util.SplitConfigurationOptions;
import com.android.quickstep.views.RecentsView;
import com.android.quickstep.views.TaskView;
import com.android.quickstep.views.TaskView.TaskIdAttributeContainer;
import com.android.systemui.shared.recents.model.Task;

import java.io.PrintWriter;
@@ -202,12 +203,16 @@ public class TaskbarUIController {
                        // null checks as much. See comments at ag/21152798.
                        if (foundTaskView != null) {
                            // There is already a running app of this type, use that as second app.
                            // Get index of task (0 or 1), in case it's a GroupedTaskView
                            int indexOfTask = foundTaskView.getIndexOfTask(foundTask.key.id);
                            TaskIdAttributeContainer taskAttributes =
                                    foundTaskView.getTaskIdAttributeContainers()[indexOfTask];
                            recents.confirmSplitSelect(
                                    foundTaskView,
                                    foundTaskView.getTask(),
                                    foundTaskView.getIconView().getDrawable(),
                                    foundTaskView.getThumbnail(),
                                    foundTaskView.getThumbnail().getThumbnail(),
                                    taskAttributes.getTask(),
                                    taskAttributes.getIconView().getDrawable(),
                                    taskAttributes.getThumbnailView(),
                                    taskAttributes.getThumbnailView().getThumbnail(),
                                    null /* intent */);
                            return;
                        }
+13 −0
Original line number Diff line number Diff line
@@ -600,6 +600,19 @@ public class TaskView extends FrameLayout implements Reusable {
        return mTaskIdContainer[1] != -1;
    }

    /**
     * Finds the index of a given taskId within this TaskView, or -1 if the TaskView does not
     * contain it. For grouped tasks (of two), this is 0 or 1; for solo tasks, it is 0.
     */
    public int getIndexOfTask(int taskId) {
        for (int i = 0; i < mTaskIdContainer.length; i++) {
            if (mTaskIdContainer[i] == taskId) {
                return i;
            }
        }
        return -1;
    }

    public TaskThumbnailView getThumbnail() {
        return mSnapshotView;
    }