Loading libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentTasksController.java +4 −4 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ import com.android.wm.shell.common.annotations.ExternalThread; import com.android.wm.shell.common.annotations.ShellMainThread; import com.android.wm.shell.protolog.ShellProtoLogGroup; import com.android.wm.shell.util.GroupedRecentTaskInfo; import com.android.wm.shell.util.StagedSplitBounds; import com.android.wm.shell.util.SplitBounds; import java.io.PrintWriter; import java.util.ArrayList; Loading @@ -69,12 +69,12 @@ public class RecentTasksController implements TaskStackListenerCallback, // pair, then mSplitTasks[t1] = t2, and mSplitTasks[t2] = t1) private final SparseIntArray mSplitTasks = new SparseIntArray(); /** * Maps taskId to {@link StagedSplitBounds} for both taskIDs. * Maps taskId to {@link SplitBounds} for both taskIDs. * Meaning there will be two taskId integers mapping to the same object. * If there's any ordering to the pairing than we can probably just get away with only one * taskID mapping to it, leaving both for consistency with {@link #mSplitTasks} for now. */ private final Map<Integer, StagedSplitBounds> mTaskSplitBoundsMap = new HashMap<>(); private final Map<Integer, SplitBounds> mTaskSplitBoundsMap = new HashMap<>(); /** * Creates {@link RecentTasksController}, returns {@code null} if the feature is not Loading Loading @@ -110,7 +110,7 @@ public class RecentTasksController implements TaskStackListenerCallback, /** * Adds a split pair. This call does not validate the taskIds, only that they are not the same. */ public void addSplitPair(int taskId1, int taskId2, StagedSplitBounds splitBounds) { public void addSplitPair(int taskId1, int taskId2, SplitBounds splitBounds) { if (taskId1 == taskId2) { return; } Loading libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java +2 −2 Original line number Diff line number Diff line Loading @@ -111,7 +111,7 @@ import com.android.wm.shell.recents.RecentTasksController; import com.android.wm.shell.splitscreen.SplitScreen.StageType; import com.android.wm.shell.splitscreen.SplitScreenController.ExitReason; import com.android.wm.shell.transition.Transitions; import com.android.wm.shell.util.StagedSplitBounds; import com.android.wm.shell.util.SplitBounds; import java.io.PrintWriter; import java.util.ArrayList; Loading Loading @@ -927,7 +927,7 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, leftTopTaskId = mainStageTopTaskId; rightBottomTaskId = sideStageTopTaskId; } StagedSplitBounds splitBounds = new StagedSplitBounds(topLeftBounds, bottomRightBounds, SplitBounds splitBounds = new SplitBounds(topLeftBounds, bottomRightBounds, leftTopTaskId, rightBottomTaskId); if (mainStageTopTaskId != INVALID_TASK_ID && sideStageTopTaskId != INVALID_TASK_ID) { // Update the pair for the top tasks Loading libs/WindowManager/Shell/src/com/android/wm/shell/util/GroupedRecentTaskInfo.java +7 −7 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ import androidx.annotation.Nullable; public class GroupedRecentTaskInfo implements Parcelable { public @NonNull ActivityManager.RecentTaskInfo mTaskInfo1; public @Nullable ActivityManager.RecentTaskInfo mTaskInfo2; public @Nullable StagedSplitBounds mStagedSplitBounds; public @Nullable SplitBounds mSplitBounds; public GroupedRecentTaskInfo(@NonNull ActivityManager.RecentTaskInfo task1) { this(task1, null, null); Loading @@ -38,24 +38,24 @@ public class GroupedRecentTaskInfo implements Parcelable { public GroupedRecentTaskInfo(@NonNull ActivityManager.RecentTaskInfo task1, @Nullable ActivityManager.RecentTaskInfo task2, @Nullable StagedSplitBounds stagedSplitBounds) { @Nullable SplitBounds splitBounds) { mTaskInfo1 = task1; mTaskInfo2 = task2; mStagedSplitBounds = stagedSplitBounds; mSplitBounds = splitBounds; } GroupedRecentTaskInfo(Parcel parcel) { mTaskInfo1 = parcel.readTypedObject(ActivityManager.RecentTaskInfo.CREATOR); mTaskInfo2 = parcel.readTypedObject(ActivityManager.RecentTaskInfo.CREATOR); mStagedSplitBounds = parcel.readTypedObject(StagedSplitBounds.CREATOR); mSplitBounds = parcel.readTypedObject(SplitBounds.CREATOR); } @Override public String toString() { String taskString = "Task1: " + getTaskInfo(mTaskInfo1) + ", Task2: " + getTaskInfo(mTaskInfo2); if (mStagedSplitBounds != null) { taskString += ", SplitBounds: " + mStagedSplitBounds.toString(); if (mSplitBounds != null) { taskString += ", SplitBounds: " + mSplitBounds.toString(); } return taskString; } Loading @@ -76,7 +76,7 @@ public class GroupedRecentTaskInfo implements Parcelable { public void writeToParcel(Parcel parcel, int flags) { parcel.writeTypedObject(mTaskInfo1, flags); parcel.writeTypedObject(mTaskInfo2, flags); parcel.writeTypedObject(mStagedSplitBounds, flags); parcel.writeTypedObject(mSplitBounds, flags); } @Override Loading libs/WindowManager/Shell/src/com/android/wm/shell/util/StagedSplitBounds.java→libs/WindowManager/Shell/src/com/android/wm/shell/util/SplitBounds.java +10 −10 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import java.util.Objects; * Container of various information needed to display split screen * tasks/leashes/etc in Launcher */ public class StagedSplitBounds implements Parcelable { public class SplitBounds implements Parcelable { public final Rect leftTopBounds; public final Rect rightBottomBounds; /** This rect represents the actual gap between the two apps */ Loading @@ -43,7 +43,7 @@ public class StagedSplitBounds implements Parcelable { public final int leftTopTaskId; public final int rightBottomTaskId; public StagedSplitBounds(Rect leftTopBounds, Rect rightBottomBounds, public SplitBounds(Rect leftTopBounds, Rect rightBottomBounds, int leftTopTaskId, int rightBottomTaskId) { this.leftTopBounds = leftTopBounds; this.rightBottomBounds = rightBottomBounds; Loading @@ -66,7 +66,7 @@ public class StagedSplitBounds implements Parcelable { topTaskPercent = this.leftTopBounds.height() / (float) rightBottomBounds.bottom; } public StagedSplitBounds(Parcel parcel) { public SplitBounds(Parcel parcel) { leftTopBounds = parcel.readTypedObject(Rect.CREATOR); rightBottomBounds = parcel.readTypedObject(Rect.CREATOR); visualDividerBounds = parcel.readTypedObject(Rect.CREATOR); Loading Loading @@ -96,11 +96,11 @@ public class StagedSplitBounds implements Parcelable { @Override public boolean equals(Object obj) { if (!(obj instanceof StagedSplitBounds)) { if (!(obj instanceof SplitBounds)) { return false; } // Only need to check the base fields (the other fields are derived from these) final StagedSplitBounds other = (StagedSplitBounds) obj; final SplitBounds other = (SplitBounds) obj; return Objects.equals(leftTopBounds, other.leftTopBounds) && Objects.equals(rightBottomBounds, other.rightBottomBounds) && leftTopTaskId == other.leftTopTaskId Loading @@ -120,15 +120,15 @@ public class StagedSplitBounds implements Parcelable { + "AppsVertical? " + appsStackedVertically; } public static final Creator<StagedSplitBounds> CREATOR = new Creator<StagedSplitBounds>() { public static final Creator<SplitBounds> CREATOR = new Creator<SplitBounds>() { @Override public StagedSplitBounds createFromParcel(Parcel in) { return new StagedSplitBounds(in); public SplitBounds createFromParcel(Parcel in) { return new SplitBounds(in); } @Override public StagedSplitBounds[] newArray(int size) { return new StagedSplitBounds[size]; public SplitBounds[] newArray(int size) { return new SplitBounds[size]; } }; } libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/recents/RecentTasksControllerTest.java +11 −11 Original line number Diff line number Diff line Loading @@ -47,7 +47,7 @@ import com.android.wm.shell.TestShellExecutor; import com.android.wm.shell.common.ShellExecutor; import com.android.wm.shell.common.TaskStackListenerImpl; import com.android.wm.shell.util.GroupedRecentTaskInfo; import com.android.wm.shell.util.StagedSplitBounds; import com.android.wm.shell.util.SplitBounds; import org.junit.Before; import org.junit.Test; Loading Loading @@ -89,7 +89,7 @@ public class RecentTasksControllerTest extends ShellTestCase { ActivityManager.RecentTaskInfo t2 = makeTaskInfo(2); setRawList(t1, t2); mRecentTasksController.addSplitPair(t1.taskId, t2.taskId, mock(StagedSplitBounds.class)); mRecentTasksController.addSplitPair(t1.taskId, t2.taskId, mock(SplitBounds.class)); verify(mRecentTasksController).notifyRecentTasksChanged(); reset(mRecentTasksController); Loading @@ -104,10 +104,10 @@ public class RecentTasksControllerTest extends ShellTestCase { setRawList(t1, t2); // Verify only one update if the split info is the same StagedSplitBounds bounds1 = new StagedSplitBounds(new Rect(0, 0, 50, 50), SplitBounds bounds1 = new SplitBounds(new Rect(0, 0, 50, 50), new Rect(50, 50, 100, 100), t1.taskId, t2.taskId); mRecentTasksController.addSplitPair(t1.taskId, t2.taskId, bounds1); StagedSplitBounds bounds2 = new StagedSplitBounds(new Rect(0, 0, 50, 50), SplitBounds bounds2 = new SplitBounds(new Rect(0, 0, 50, 50), new Rect(50, 50, 100, 100), t1.taskId, t2.taskId); mRecentTasksController.addSplitPair(t1.taskId, t2.taskId, bounds2); verify(mRecentTasksController, times(1)).notifyRecentTasksChanged(); Loading Loading @@ -139,8 +139,8 @@ public class RecentTasksControllerTest extends ShellTestCase { setRawList(t1, t2, t3, t4, t5, t6); // Mark a couple pairs [t2, t4], [t3, t5] StagedSplitBounds pair1Bounds = new StagedSplitBounds(new Rect(), new Rect(), 2, 4); StagedSplitBounds pair2Bounds = new StagedSplitBounds(new Rect(), new Rect(), 3, 5); SplitBounds pair1Bounds = new SplitBounds(new Rect(), new Rect(), 2, 4); SplitBounds pair2Bounds = new SplitBounds(new Rect(), new Rect(), 3, 5); mRecentTasksController.addSplitPair(t2.taskId, t4.taskId, pair1Bounds); mRecentTasksController.addSplitPair(t3.taskId, t5.taskId, pair2Bounds); Loading @@ -162,7 +162,7 @@ public class RecentTasksControllerTest extends ShellTestCase { setRawList(t1, t2, t3); // Add a pair StagedSplitBounds pair1Bounds = new StagedSplitBounds(new Rect(), new Rect(), 2, 3); SplitBounds pair1Bounds = new SplitBounds(new Rect(), new Rect(), 2, 3); mRecentTasksController.addSplitPair(t2.taskId, t3.taskId, pair1Bounds); reset(mRecentTasksController); Loading Loading @@ -245,15 +245,15 @@ public class RecentTasksControllerTest extends ShellTestCase { : -1; if (pair.mTaskInfo2 != null) { assertNotNull(pair.mStagedSplitBounds); int leftTopTaskId = pair.mStagedSplitBounds.leftTopTaskId; int bottomRightTaskId = pair.mStagedSplitBounds.rightBottomTaskId; assertNotNull(pair.mSplitBounds); int leftTopTaskId = pair.mSplitBounds.leftTopTaskId; int bottomRightTaskId = pair.mSplitBounds.rightBottomTaskId; // Unclear if pairs are ordered by split position, most likely not. assertTrue(leftTopTaskId == taskId1 || leftTopTaskId == pair.mTaskInfo2.taskId); assertTrue(bottomRightTaskId == taskId1 || bottomRightTaskId == pair.mTaskInfo2.taskId); } else { assertNull(pair.mStagedSplitBounds); assertNull(pair.mSplitBounds); } } assertTrue("Expected: " + Arrays.toString(expectedTaskIds) Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/recents/RecentTasksController.java +4 −4 Original line number Diff line number Diff line Loading @@ -44,7 +44,7 @@ import com.android.wm.shell.common.annotations.ExternalThread; import com.android.wm.shell.common.annotations.ShellMainThread; import com.android.wm.shell.protolog.ShellProtoLogGroup; import com.android.wm.shell.util.GroupedRecentTaskInfo; import com.android.wm.shell.util.StagedSplitBounds; import com.android.wm.shell.util.SplitBounds; import java.io.PrintWriter; import java.util.ArrayList; Loading @@ -69,12 +69,12 @@ public class RecentTasksController implements TaskStackListenerCallback, // pair, then mSplitTasks[t1] = t2, and mSplitTasks[t2] = t1) private final SparseIntArray mSplitTasks = new SparseIntArray(); /** * Maps taskId to {@link StagedSplitBounds} for both taskIDs. * Maps taskId to {@link SplitBounds} for both taskIDs. * Meaning there will be two taskId integers mapping to the same object. * If there's any ordering to the pairing than we can probably just get away with only one * taskID mapping to it, leaving both for consistency with {@link #mSplitTasks} for now. */ private final Map<Integer, StagedSplitBounds> mTaskSplitBoundsMap = new HashMap<>(); private final Map<Integer, SplitBounds> mTaskSplitBoundsMap = new HashMap<>(); /** * Creates {@link RecentTasksController}, returns {@code null} if the feature is not Loading Loading @@ -110,7 +110,7 @@ public class RecentTasksController implements TaskStackListenerCallback, /** * Adds a split pair. This call does not validate the taskIds, only that they are not the same. */ public void addSplitPair(int taskId1, int taskId2, StagedSplitBounds splitBounds) { public void addSplitPair(int taskId1, int taskId2, SplitBounds splitBounds) { if (taskId1 == taskId2) { return; } Loading
libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java +2 −2 Original line number Diff line number Diff line Loading @@ -111,7 +111,7 @@ import com.android.wm.shell.recents.RecentTasksController; import com.android.wm.shell.splitscreen.SplitScreen.StageType; import com.android.wm.shell.splitscreen.SplitScreenController.ExitReason; import com.android.wm.shell.transition.Transitions; import com.android.wm.shell.util.StagedSplitBounds; import com.android.wm.shell.util.SplitBounds; import java.io.PrintWriter; import java.util.ArrayList; Loading Loading @@ -927,7 +927,7 @@ public class StageCoordinator implements SplitLayout.SplitLayoutHandler, leftTopTaskId = mainStageTopTaskId; rightBottomTaskId = sideStageTopTaskId; } StagedSplitBounds splitBounds = new StagedSplitBounds(topLeftBounds, bottomRightBounds, SplitBounds splitBounds = new SplitBounds(topLeftBounds, bottomRightBounds, leftTopTaskId, rightBottomTaskId); if (mainStageTopTaskId != INVALID_TASK_ID && sideStageTopTaskId != INVALID_TASK_ID) { // Update the pair for the top tasks Loading
libs/WindowManager/Shell/src/com/android/wm/shell/util/GroupedRecentTaskInfo.java +7 −7 Original line number Diff line number Diff line Loading @@ -30,7 +30,7 @@ import androidx.annotation.Nullable; public class GroupedRecentTaskInfo implements Parcelable { public @NonNull ActivityManager.RecentTaskInfo mTaskInfo1; public @Nullable ActivityManager.RecentTaskInfo mTaskInfo2; public @Nullable StagedSplitBounds mStagedSplitBounds; public @Nullable SplitBounds mSplitBounds; public GroupedRecentTaskInfo(@NonNull ActivityManager.RecentTaskInfo task1) { this(task1, null, null); Loading @@ -38,24 +38,24 @@ public class GroupedRecentTaskInfo implements Parcelable { public GroupedRecentTaskInfo(@NonNull ActivityManager.RecentTaskInfo task1, @Nullable ActivityManager.RecentTaskInfo task2, @Nullable StagedSplitBounds stagedSplitBounds) { @Nullable SplitBounds splitBounds) { mTaskInfo1 = task1; mTaskInfo2 = task2; mStagedSplitBounds = stagedSplitBounds; mSplitBounds = splitBounds; } GroupedRecentTaskInfo(Parcel parcel) { mTaskInfo1 = parcel.readTypedObject(ActivityManager.RecentTaskInfo.CREATOR); mTaskInfo2 = parcel.readTypedObject(ActivityManager.RecentTaskInfo.CREATOR); mStagedSplitBounds = parcel.readTypedObject(StagedSplitBounds.CREATOR); mSplitBounds = parcel.readTypedObject(SplitBounds.CREATOR); } @Override public String toString() { String taskString = "Task1: " + getTaskInfo(mTaskInfo1) + ", Task2: " + getTaskInfo(mTaskInfo2); if (mStagedSplitBounds != null) { taskString += ", SplitBounds: " + mStagedSplitBounds.toString(); if (mSplitBounds != null) { taskString += ", SplitBounds: " + mSplitBounds.toString(); } return taskString; } Loading @@ -76,7 +76,7 @@ public class GroupedRecentTaskInfo implements Parcelable { public void writeToParcel(Parcel parcel, int flags) { parcel.writeTypedObject(mTaskInfo1, flags); parcel.writeTypedObject(mTaskInfo2, flags); parcel.writeTypedObject(mStagedSplitBounds, flags); parcel.writeTypedObject(mSplitBounds, flags); } @Override Loading
libs/WindowManager/Shell/src/com/android/wm/shell/util/StagedSplitBounds.java→libs/WindowManager/Shell/src/com/android/wm/shell/util/SplitBounds.java +10 −10 Original line number Diff line number Diff line Loading @@ -25,7 +25,7 @@ import java.util.Objects; * Container of various information needed to display split screen * tasks/leashes/etc in Launcher */ public class StagedSplitBounds implements Parcelable { public class SplitBounds implements Parcelable { public final Rect leftTopBounds; public final Rect rightBottomBounds; /** This rect represents the actual gap between the two apps */ Loading @@ -43,7 +43,7 @@ public class StagedSplitBounds implements Parcelable { public final int leftTopTaskId; public final int rightBottomTaskId; public StagedSplitBounds(Rect leftTopBounds, Rect rightBottomBounds, public SplitBounds(Rect leftTopBounds, Rect rightBottomBounds, int leftTopTaskId, int rightBottomTaskId) { this.leftTopBounds = leftTopBounds; this.rightBottomBounds = rightBottomBounds; Loading @@ -66,7 +66,7 @@ public class StagedSplitBounds implements Parcelable { topTaskPercent = this.leftTopBounds.height() / (float) rightBottomBounds.bottom; } public StagedSplitBounds(Parcel parcel) { public SplitBounds(Parcel parcel) { leftTopBounds = parcel.readTypedObject(Rect.CREATOR); rightBottomBounds = parcel.readTypedObject(Rect.CREATOR); visualDividerBounds = parcel.readTypedObject(Rect.CREATOR); Loading Loading @@ -96,11 +96,11 @@ public class StagedSplitBounds implements Parcelable { @Override public boolean equals(Object obj) { if (!(obj instanceof StagedSplitBounds)) { if (!(obj instanceof SplitBounds)) { return false; } // Only need to check the base fields (the other fields are derived from these) final StagedSplitBounds other = (StagedSplitBounds) obj; final SplitBounds other = (SplitBounds) obj; return Objects.equals(leftTopBounds, other.leftTopBounds) && Objects.equals(rightBottomBounds, other.rightBottomBounds) && leftTopTaskId == other.leftTopTaskId Loading @@ -120,15 +120,15 @@ public class StagedSplitBounds implements Parcelable { + "AppsVertical? " + appsStackedVertically; } public static final Creator<StagedSplitBounds> CREATOR = new Creator<StagedSplitBounds>() { public static final Creator<SplitBounds> CREATOR = new Creator<SplitBounds>() { @Override public StagedSplitBounds createFromParcel(Parcel in) { return new StagedSplitBounds(in); public SplitBounds createFromParcel(Parcel in) { return new SplitBounds(in); } @Override public StagedSplitBounds[] newArray(int size) { return new StagedSplitBounds[size]; public SplitBounds[] newArray(int size) { return new SplitBounds[size]; } }; }
libs/WindowManager/Shell/tests/unittest/src/com/android/wm/shell/recents/RecentTasksControllerTest.java +11 −11 Original line number Diff line number Diff line Loading @@ -47,7 +47,7 @@ import com.android.wm.shell.TestShellExecutor; import com.android.wm.shell.common.ShellExecutor; import com.android.wm.shell.common.TaskStackListenerImpl; import com.android.wm.shell.util.GroupedRecentTaskInfo; import com.android.wm.shell.util.StagedSplitBounds; import com.android.wm.shell.util.SplitBounds; import org.junit.Before; import org.junit.Test; Loading Loading @@ -89,7 +89,7 @@ public class RecentTasksControllerTest extends ShellTestCase { ActivityManager.RecentTaskInfo t2 = makeTaskInfo(2); setRawList(t1, t2); mRecentTasksController.addSplitPair(t1.taskId, t2.taskId, mock(StagedSplitBounds.class)); mRecentTasksController.addSplitPair(t1.taskId, t2.taskId, mock(SplitBounds.class)); verify(mRecentTasksController).notifyRecentTasksChanged(); reset(mRecentTasksController); Loading @@ -104,10 +104,10 @@ public class RecentTasksControllerTest extends ShellTestCase { setRawList(t1, t2); // Verify only one update if the split info is the same StagedSplitBounds bounds1 = new StagedSplitBounds(new Rect(0, 0, 50, 50), SplitBounds bounds1 = new SplitBounds(new Rect(0, 0, 50, 50), new Rect(50, 50, 100, 100), t1.taskId, t2.taskId); mRecentTasksController.addSplitPair(t1.taskId, t2.taskId, bounds1); StagedSplitBounds bounds2 = new StagedSplitBounds(new Rect(0, 0, 50, 50), SplitBounds bounds2 = new SplitBounds(new Rect(0, 0, 50, 50), new Rect(50, 50, 100, 100), t1.taskId, t2.taskId); mRecentTasksController.addSplitPair(t1.taskId, t2.taskId, bounds2); verify(mRecentTasksController, times(1)).notifyRecentTasksChanged(); Loading Loading @@ -139,8 +139,8 @@ public class RecentTasksControllerTest extends ShellTestCase { setRawList(t1, t2, t3, t4, t5, t6); // Mark a couple pairs [t2, t4], [t3, t5] StagedSplitBounds pair1Bounds = new StagedSplitBounds(new Rect(), new Rect(), 2, 4); StagedSplitBounds pair2Bounds = new StagedSplitBounds(new Rect(), new Rect(), 3, 5); SplitBounds pair1Bounds = new SplitBounds(new Rect(), new Rect(), 2, 4); SplitBounds pair2Bounds = new SplitBounds(new Rect(), new Rect(), 3, 5); mRecentTasksController.addSplitPair(t2.taskId, t4.taskId, pair1Bounds); mRecentTasksController.addSplitPair(t3.taskId, t5.taskId, pair2Bounds); Loading @@ -162,7 +162,7 @@ public class RecentTasksControllerTest extends ShellTestCase { setRawList(t1, t2, t3); // Add a pair StagedSplitBounds pair1Bounds = new StagedSplitBounds(new Rect(), new Rect(), 2, 3); SplitBounds pair1Bounds = new SplitBounds(new Rect(), new Rect(), 2, 3); mRecentTasksController.addSplitPair(t2.taskId, t3.taskId, pair1Bounds); reset(mRecentTasksController); Loading Loading @@ -245,15 +245,15 @@ public class RecentTasksControllerTest extends ShellTestCase { : -1; if (pair.mTaskInfo2 != null) { assertNotNull(pair.mStagedSplitBounds); int leftTopTaskId = pair.mStagedSplitBounds.leftTopTaskId; int bottomRightTaskId = pair.mStagedSplitBounds.rightBottomTaskId; assertNotNull(pair.mSplitBounds); int leftTopTaskId = pair.mSplitBounds.leftTopTaskId; int bottomRightTaskId = pair.mSplitBounds.rightBottomTaskId; // Unclear if pairs are ordered by split position, most likely not. assertTrue(leftTopTaskId == taskId1 || leftTopTaskId == pair.mTaskInfo2.taskId); assertTrue(bottomRightTaskId == taskId1 || bottomRightTaskId == pair.mTaskInfo2.taskId); } else { assertNull(pair.mStagedSplitBounds); assertNull(pair.mSplitBounds); } } assertTrue("Expected: " + Arrays.toString(expectedTaskIds) Loading