diff --git a/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java b/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java index c03aa3f446..a991bf19ff 100644 --- a/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java +++ b/quickstep/src/com/android/quickstep/util/TaskViewSimulator.java @@ -191,6 +191,7 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy { mStagePosition = mThumbnailPosition.equals(splitInfo.leftTopBounds) ? STAGE_POSITION_TOP_OR_LEFT : STAGE_POSITION_BOTTOM_OR_RIGHT; + mPositionHelper.setSplitBounds(convertSplitBounds(mSplitBounds), mStagePosition); } /** @@ -418,4 +419,15 @@ public class TaskViewSimulator implements TransformParams.BuilderProxy { return Math.max(Math.abs(mTempPoint[0]), Math.abs(mTempPoint[1])); } + /** + * TODO(b/254378592): Remove this after consolidation of classes + */ + public static com.android.wm.shell.util.SplitBounds convertSplitBounds(SplitBounds bounds) { + return new com.android.wm.shell.util.SplitBounds( + bounds.leftTopBounds, + bounds.rightBottomBounds, + bounds.leftTopTaskId, + bounds.rightBottomTaskId + ); + } } diff --git a/quickstep/src/com/android/quickstep/views/GroupedTaskView.java b/quickstep/src/com/android/quickstep/views/GroupedTaskView.java index 71b0c60971..7b9d9cdcac 100644 --- a/quickstep/src/com/android/quickstep/views/GroupedTaskView.java +++ b/quickstep/src/com/android/quickstep/views/GroupedTaskView.java @@ -19,6 +19,7 @@ import com.android.launcher3.DeviceProfile; import com.android.launcher3.R; import com.android.launcher3.Utilities; import com.android.launcher3.util.RunnableList; +import com.android.launcher3.util.SplitConfigurationOptions; import com.android.launcher3.util.SplitConfigurationOptions.SplitBounds; import com.android.launcher3.util.TransformingTouchDelegate; import com.android.quickstep.RecentsModel; @@ -26,8 +27,10 @@ import com.android.quickstep.TaskIconCache; import com.android.quickstep.TaskThumbnailCache; import com.android.quickstep.util.CancellableTask; import com.android.quickstep.util.RecentsOrientedState; +import com.android.quickstep.util.TaskViewSimulator; import com.android.systemui.shared.recents.model.Task; import com.android.systemui.shared.recents.model.ThumbnailData; +import com.android.systemui.shared.recents.utilities.PreviewPositionHelper; import com.android.systemui.shared.system.InteractionJankMonitorWrapper; import java.util.HashMap; @@ -86,9 +89,19 @@ public class GroupedTaskView extends TaskView { mTaskIdContainer[1] = secondary.key.id; mTaskIdAttributeContainer[1] = new TaskIdAttributeContainer(secondary, mSnapshotView2, mIconView2, STAGE_POSITION_BOTTOM_OR_RIGHT); - mTaskIdAttributeContainer[0].setStagePosition(STAGE_POSITION_TOP_OR_LEFT); + mTaskIdAttributeContainer[0].setStagePosition( + SplitConfigurationOptions.STAGE_POSITION_TOP_OR_LEFT); mSnapshotView2.bind(secondary); mSplitBoundsConfig = splitBoundsConfig; + if (mSplitBoundsConfig == null) { + return; + } + mSnapshotView.getPreviewPositionHelper().setSplitBounds(TaskViewSimulator + .convertSplitBounds(splitBoundsConfig), + PreviewPositionHelper.STAGE_POSITION_TOP_OR_LEFT); + mSnapshotView2.getPreviewPositionHelper().setSplitBounds(TaskViewSimulator + .convertSplitBounds(splitBoundsConfig), + PreviewPositionHelper.STAGE_POSITION_BOTTOM_OR_RIGHT); } @Override @@ -207,7 +220,8 @@ public class GroupedTaskView extends TaskView { @Override public void launchTask(@NonNull Consumer callback, boolean freezeTaskList) { getRecentsView().getSplitSelectController().launchTasks(mTask.key.id, mSecondaryTask.key.id, - STAGE_POSITION_TOP_OR_LEFT, callback, freezeTaskList, getSplitRatio()); + SplitConfigurationOptions.STAGE_POSITION_TOP_OR_LEFT, callback, freezeTaskList, + getSplitRatio()); } @Override diff --git a/src/com/android/launcher3/util/SplitConfigurationOptions.java b/src/com/android/launcher3/util/SplitConfigurationOptions.java index 88e1b22bab..3eff783586 100644 --- a/src/com/android/launcher3/util/SplitConfigurationOptions.java +++ b/src/com/android/launcher3/util/SplitConfigurationOptions.java @@ -100,6 +100,7 @@ public final class SplitConfigurationOptions { * with the same name/functionality in wm.shell.util (which launcher3 cannot be built against) * * If you make changes here, consider making the same changes there + * TODO(b/254378592): We really need to consolidate this */ public static class SplitBounds { public final Rect leftTopBounds;