Add GroupedTaskView for gestures in staged split.
* Currently only works for portrait 50/50 split
* Have gesture swipe animation flow use multiple
TaskViewSimulators, one for each app in split
* Added new APIs in shell to query for actively running
tasks to determine if we're in split screen
* Lots of UI polish needed during gesture
* Launching into staged split after live tile ends
not implemented yet.
Bug: 181704764
Change-Id: Ib90e99e1e10b19121e8709385e1334b9380d6502
diff --git a/src/com/android/launcher3/DeviceProfile.java b/src/com/android/launcher3/DeviceProfile.java
index eb058e8..3f6e7cd 100644
--- a/src/com/android/launcher3/DeviceProfile.java
+++ b/src/com/android/launcher3/DeviceProfile.java
@@ -221,6 +221,7 @@
// DragController
public int flingToDeleteThresholdVelocity;
+ /** TODO: Once we fully migrate to staged split, remove "isMultiWindowMode" */
DeviceProfile(Context context, InvariantDeviceProfile inv, Info info, WindowBounds windowBounds,
boolean isMultiWindowMode, boolean transposeLayoutWithOrientation,
boolean useTwoPanels) {
diff --git a/src/com/android/launcher3/util/SplitConfigurationOptions.java b/src/com/android/launcher3/util/SplitConfigurationOptions.java
index 573c8bd..1f1db9d 100644
--- a/src/com/android/launcher3/util/SplitConfigurationOptions.java
+++ b/src/com/android/launcher3/util/SplitConfigurationOptions.java
@@ -18,6 +18,8 @@
import static java.lang.annotation.RetentionPolicy.SOURCE;
+import android.graphics.Rect;
+
import androidx.annotation.IntDef;
import java.lang.annotation.Retention;
@@ -82,4 +84,25 @@
mStageType = stageType;
}
}
+
+ public static class StagedSplitBounds {
+ public final Rect mLeftTopBounds;
+ public final Rect mRightBottomBounds;
+ public final Rect mDividerBounds;
+
+
+ public StagedSplitBounds(Rect leftTopBounds, Rect rightBottomBounds, Rect dividerBounds) {
+ mLeftTopBounds = leftTopBounds;
+ mRightBottomBounds = rightBottomBounds;
+ mDividerBounds = dividerBounds;
+ }
+ }
+
+ public static class StagedSplitTaskPosition {
+ public int taskId = -1;
+ @StagePosition
+ public int stagePosition = STAGE_POSITION_UNDEFINED;
+ @StageType
+ public int stageType = STAGE_TYPE_UNDEFINED;
+ }
}