Revert "Support FLAG_ACTIVITY_LAUNCH_ADJACENT for launch root with adjacent"

This reverts commit d8abe76ba18e9baf6dcef68a65a03b6651c7e5ef.

Reason for revert: Bug: 186614428

Change-Id: Id7d1f57a11f0698f9377b00008994f9a6c3038d3
(cherry picked from commit 48f90b317b9845ee241b0175cd73a7f55d5b1dd9)
diff --git a/core/java/android/window/WindowContainerTransaction.java b/core/java/android/window/WindowContainerTransaction.java
index c0af572..f93e413 100644
--- a/core/java/android/window/WindowContainerTransaction.java
+++ b/core/java/android/window/WindowContainerTransaction.java
@@ -339,33 +339,6 @@
     }
 
     /**
-     * Sets the container as launch adjacent flag root. Task starting with
-     * {@link FLAG_ACTIVITY_LAUNCH_ADJACENT} will be launching to.
-     *
-     * @hide
-     */
-    @NonNull
-    public WindowContainerTransaction setLaunchAdjacentFlagRoot(
-            @NonNull WindowContainerToken container) {
-        mHierarchyOps.add(HierarchyOp.createForSetLaunchAdjacentFlagRoot(container.asBinder(),
-                false /* clearRoot */));
-        return this;
-    }
-
-    /**
-     * Clears launch adjacent flag root for the display area of passing container.
-     *
-     * @hide
-     */
-    @NonNull
-    public WindowContainerTransaction clearLaunchAdjacentFlagRoot(
-            @NonNull WindowContainerToken container) {
-        mHierarchyOps.add(HierarchyOp.createForSetLaunchAdjacentFlagRoot(container.asBinder(),
-                true /* clearRoot */));
-        return this;
-    }
-
-    /**
      * Starts a task by id. The task is expected to already exist (eg. as a recent task).
      * @param taskId Id of task to start.
      * @param options bundle containing ActivityOptions for the task's top activity.
@@ -704,7 +677,6 @@
         public static final int HIERARCHY_OP_TYPE_SET_LAUNCH_ROOT = 3;
         public static final int HIERARCHY_OP_TYPE_SET_ADJACENT_ROOTS = 4;
         public static final int HIERARCHY_OP_TYPE_LAUNCH_TASK = 5;
-        public static final int HIERARCHY_OP_TYPE_SET_LAUNCH_ADJACENT_FLAG_ROOT = 6;
 
         // The following key(s) are for use with mLaunchOptions:
         // When launching a task (eg. from recents), this is the taskId to be launched.
@@ -762,14 +734,6 @@
                     fullOptions);
         }
 
-        /** Create a hierarchy op for setting launch adjacent flag root. */
-        public static HierarchyOp createForSetLaunchAdjacentFlagRoot(IBinder container,
-                boolean clearRoot) {
-            return new HierarchyOp(HIERARCHY_OP_TYPE_SET_LAUNCH_ADJACENT_FLAG_ROOT, container, null,
-                    null, null, clearRoot, null);
-        }
-
-
         private HierarchyOp(int type, @Nullable IBinder container, @Nullable IBinder reparent,
                 int[] windowingModes, int[] activityTypes, boolean toTop,
                 @Nullable Bundle launchOptions) {
@@ -865,9 +829,6 @@
                             + " adjacentRoot=" + mReparent + "}";
                 case HIERARCHY_OP_TYPE_LAUNCH_TASK:
                     return "{LaunchTask: " + mLaunchOptions + "}";
-                case HIERARCHY_OP_TYPE_SET_LAUNCH_ADJACENT_FLAG_ROOT:
-                    return "{SetAdjacentFlagRoot: container=" + mContainer + " clearRoot=" + mToTop
-                            + "}";
                 default:
                     return "{mType=" + mType + " container=" + mContainer + " reparent=" + mReparent
                             + " mToTop=" + mToTop + " mWindowingMode=" + mWindowingModes
diff --git a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java
index efaa269..c91a92a 100644
--- a/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java
+++ b/libs/WindowManager/Shell/src/com/android/wm/shell/splitscreen/StageCoordinator.java
@@ -337,7 +337,6 @@
             final WindowContainerTransaction wct = new WindowContainerTransaction();
             // Make the stages adjacent to each other so they occlude what's behind them.
             wct.setAdjacentRoots(mMainStage.mRootTaskInfo.token, mSideStage.mRootTaskInfo.token);
-            wct.setLaunchAdjacentFlagRoot(mSideStage.mRootTaskInfo.token);
             mTaskOrganizer.applyTransaction(wct);
         }
     }
@@ -347,7 +346,6 @@
             final WindowContainerTransaction wct = new WindowContainerTransaction();
             // Deactivate the main stage if it no longer has a root task.
             mMainStage.deactivate(wct);
-            wct.clearLaunchAdjacentFlagRoot(mSideStage.mRootTaskInfo.token);
             mTaskOrganizer.applyTransaction(wct);
         }
     }
@@ -451,7 +449,6 @@
             final WindowContainerTransaction wct = new WindowContainerTransaction();
             // Make sure the main stage is active.
             mMainStage.activate(getMainStageBounds(), wct);
-            mSideStage.setBounds(getSideStageBounds(), wct);
             mTaskOrganizer.applyTransaction(wct);
         }
     }
diff --git a/services/core/java/com/android/server/wm/ActivityStarter.java b/services/core/java/com/android/server/wm/ActivityStarter.java
index 08a9f09..9be973b 100644
--- a/services/core/java/com/android/server/wm/ActivityStarter.java
+++ b/services/core/java/com/android/server/wm/ActivityStarter.java
@@ -2761,8 +2761,8 @@
 
         final boolean onTop =
                 (aOptions == null || !aOptions.getAvoidMoveToFront()) && !mLaunchTaskBehind;
-        return mRootWindowContainer.getLaunchRootTask(r, aOptions, task, mSourceRootTask, onTop,
-                mLaunchParams, launchFlags, mRequest.realCallingPid, mRequest.realCallingUid);
+        return mRootWindowContainer.getLaunchRootTask(r, aOptions, task, onTop, mLaunchParams,
+                mRequest.realCallingPid, mRequest.realCallingUid);
     }
 
     private boolean isLaunchModeOneOf(int mode1, int mode2) {
diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java
index d9c5fa4..c81f31e 100644
--- a/services/core/java/com/android/server/wm/RootWindowContainer.java
+++ b/services/core/java/com/android/server/wm/RootWindowContainer.java
@@ -2810,11 +2810,10 @@
         return false;
     }
 
-    Task getLaunchRootTask(@Nullable ActivityRecord r, @Nullable ActivityOptions options,
-            @Nullable Task candidateTask, boolean onTop) {
-        return getLaunchRootTask(r, options, candidateTask, null /* sourceTask */, onTop,
-                null /* launchParams */, 0 /* launchFlags */, -1 /* no realCallingPid */,
-                -1 /* no realCallingUid */);
+    Task getLaunchRootTask(@Nullable ActivityRecord r,
+            @Nullable ActivityOptions options, @Nullable Task candidateTask, boolean onTop) {
+        return getLaunchRootTask(r, options, candidateTask, onTop, null /* launchParams */,
+                -1 /* no realCallingPid */, -1 /* no realCallingUid */);
     }
 
     /**
@@ -2823,18 +2822,15 @@
      * @param r              The activity we are trying to launch. Can be null.
      * @param options        The activity options used to the launch. Can be null.
      * @param candidateTask  The possible task the activity might be launched in. Can be null.
-     * @param sourceTask     The task requesting to start activity. Can be null.
      * @param launchParams   The resolved launch params to use.
-     * @param launchFlags    The launch flags for this launch.
      * @param realCallingPid The pid from {@link ActivityStarter#setRealCallingPid}
      * @param realCallingUid The uid from {@link ActivityStarter#setRealCallingUid}
      * @return The root task to use for the launch or INVALID_TASK_ID.
      */
     Task getLaunchRootTask(@Nullable ActivityRecord r,
-            @Nullable ActivityOptions options, @Nullable Task candidateTask,
-            @Nullable Task sourceTask, boolean onTop,
-            @Nullable LaunchParamsController.LaunchParams launchParams, int launchFlags,
-            int realCallingPid, int realCallingUid) {
+            @Nullable ActivityOptions options, @Nullable Task candidateTask, boolean onTop,
+            @Nullable LaunchParamsController.LaunchParams launchParams, int realCallingPid,
+            int realCallingUid) {
         int taskId = INVALID_TASK_ID;
         int displayId = INVALID_DISPLAY;
         TaskDisplayArea taskDisplayArea = null;
@@ -2898,7 +2894,7 @@
                 // Falling back to default task container
                 taskDisplayArea = taskDisplayArea.mDisplayContent.getDefaultTaskDisplayArea();
                 rootTask = taskDisplayArea.getOrCreateRootTask(r, options, candidateTask,
-                        sourceTask, launchParams, launchFlags, activityType, onTop);
+                        launchParams, activityType, onTop);
                 if (rootTask != null) {
                     return rootTask;
                 }
@@ -2953,8 +2949,8 @@
             }
         }
 
-        return container.getOrCreateRootTask(r, options, candidateTask, sourceTask, launchParams,
-                launchFlags, activityType, onTop);
+        return container.getOrCreateRootTask(
+                r, options, candidateTask, launchParams, activityType, onTop);
     }
 
     /** @return true if activity record is null or can be launched on provided display. */
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java
index 2a0041a..d4707d6f 100644
--- a/services/core/java/com/android/server/wm/Task.java
+++ b/services/core/java/com/android/server/wm/Task.java
@@ -7952,17 +7952,6 @@
         private boolean mHasBeenVisible;
         private boolean mRemoveWithTaskOrganizer;
 
-        /**
-         * Records the source task that requesting to build a new task, used to determine which of
-         * the adjacent roots should be launch root of the new task.
-         */
-        private Task mSourceTask;
-
-        /**
-         * Records launch flags to apply when launching new task.
-         */
-        private int mLaunchFlags;
-
         Builder(ActivityTaskManagerService atm) {
             mAtmService = atm;
         }
@@ -7972,16 +7961,6 @@
             return this;
         }
 
-        Builder setSourceTask(Task sourceTask) {
-            mSourceTask = sourceTask;
-            return this;
-        }
-
-        Builder setLaunchFlags(int launchFlags) {
-            mLaunchFlags = launchFlags;
-            return this;
-        }
-
         Builder setTaskId(int taskId) {
             mTaskId = taskId;
             return this;
@@ -8236,14 +8215,9 @@
                 tda.getRootPinnedTask().dismissPip();
             }
 
-            if (mIntent != null) {
-                mLaunchFlags |= mIntent.getFlags();
-            }
-
             // Task created by organizer are added as root.
             final Task launchRootTask = mCreatedByOrganizer
-                    ? null : tda.getLaunchRootTask(mWindowingMode, mActivityType, mActivityOptions,
-                    mSourceTask, mLaunchFlags);
+                    ? null : tda.getLaunchRootTask(mWindowingMode, mActivityType, mActivityOptions);
             if (launchRootTask != null) {
                 // Since this task will be put into a root task, its windowingMode will be
                 // inherited.
diff --git a/services/core/java/com/android/server/wm/TaskDisplayArea.java b/services/core/java/com/android/server/wm/TaskDisplayArea.java
index cda8c4b..4d85e7b 100644
--- a/services/core/java/com/android/server/wm/TaskDisplayArea.java
+++ b/services/core/java/com/android/server/wm/TaskDisplayArea.java
@@ -27,7 +27,6 @@
 import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
 import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_SECONDARY;
 import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
-import static android.content.Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT;
 import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_BEHIND;
 import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSET;
 import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
@@ -44,6 +43,7 @@
 import android.annotation.Nullable;
 import android.app.ActivityOptions;
 import android.app.WindowConfiguration;
+import android.content.Intent;
 import android.os.UserHandle;
 import android.util.IntArray;
 import android.util.Slog;
@@ -133,11 +133,6 @@
     private final ArrayList<LaunchRootTaskDef> mLaunchRootTasks = new ArrayList<>();
 
     /**
-     * A launch root task for activity launching with {@link FLAG_ACTIVITY_LAUNCH_ADJACENT} flag.
-     */
-    private Task mLaunchAdjacentFlagRootTask;
-
-    /**
      * A focusable root task that is purposely to be positioned at the top. Although the root
      * task may not have the topmost index, it is used as a preferred candidate to prevent being
      * unable to resume target root task properly when there are other focusable always-on-top
@@ -1018,9 +1013,6 @@
         if (mPreferredTopFocusableRootTask == rootTask) {
             mPreferredTopFocusableRootTask = null;
         }
-        if (mLaunchAdjacentFlagRootTask == rootTask) {
-            mLaunchAdjacentFlagRootTask = null;
-        }
         mDisplayContent.releaseSelfIfNeeded();
         onRootTaskOrderChanged(rootTask);
     }
@@ -1055,11 +1047,11 @@
      * Returns an existing root task compatible with the windowing mode and activity type or
      * creates one if a compatible root task doesn't exist.
      *
-     * @see #getOrCreateRootTask(int, int, boolean, Task, Task, ActivityOptions, int)
+     * @see #getOrCreateRootTask(int, int, boolean, Intent, Task, ActivityOptions)
      */
     Task getOrCreateRootTask(int windowingMode, int activityType, boolean onTop) {
-        return getOrCreateRootTask(windowingMode, activityType, onTop, null /* candidateTask */,
-                null /* sourceTask */, null /* options */, 0 /* intent */);
+        return getOrCreateRootTask(windowingMode, activityType, onTop, null /* intent */,
+                null /* candidateTask */, null /* options */);
     }
 
     /**
@@ -1068,21 +1060,11 @@
      * For one level task, the candidate task would be reused to also be the root task or create
      * a new root task if no candidate task.
      *
-     * @param windowingMode The windowing mode the root task should be created in.
-     * @param activityType  The activityType the root task should be created in.
-     * @param onTop         If true the root task will be created at the top of the display,
-     *                      else at the bottom.
-     * @param candidateTask The possible task the activity might be launched in. Can be null.
-     * @param sourceTask    The task requesting to start activity. Used to determine which of the
-     *                      adjacent roots should be launch root of the new task. Can be null.
-     * @param options       The activity options used to the launch. Can be null.
-     * @param launchFlags   The launch flags for this launch.
-     * @return The root task to use for the launch.
      * @see #getRootTask(int, int)
+     * @see #createRootTask(int, int, boolean)
      */
     Task getOrCreateRootTask(int windowingMode, int activityType, boolean onTop,
-            @Nullable Task candidateTask, @Nullable Task sourceTask,
-            @Nullable ActivityOptions options, int launchFlags) {
+            Intent intent, Task candidateTask, ActivityOptions options) {
         // Need to pass in a determined windowing mode to see if a new root task should be created,
         // so use its parent's windowing mode if it is undefined.
         if (!alwaysCreateRootTask(
@@ -1095,8 +1077,7 @@
         } else if (candidateTask != null) {
             final Task rootTask = candidateTask;
             final int position = onTop ? POSITION_TOP : POSITION_BOTTOM;
-            final Task launchRootTask = getLaunchRootTask(windowingMode, activityType, options,
-                    sourceTask, launchFlags);
+            final Task launchRootTask = getLaunchRootTask(windowingMode, activityType, options);
 
             if (launchRootTask != null) {
                 if (rootTask.getParent() == null) {
@@ -1122,9 +1103,8 @@
                 .setActivityType(activityType)
                 .setOnTop(onTop)
                 .setParent(this)
-                .setSourceTask(sourceTask)
+                .setIntent(intent)
                 .setActivityOptions(options)
-                .setLaunchFlags(launchFlags)
                 .build();
     }
 
@@ -1134,9 +1114,9 @@
      *
      * @see #getOrCreateRootTask(int, int, boolean)
      */
-    Task getOrCreateRootTask(@Nullable ActivityRecord r, @Nullable ActivityOptions options,
-            @Nullable Task candidateTask, @Nullable Task sourceTask,
-            @Nullable LaunchParams launchParams, int launchFlags, int activityType, boolean onTop) {
+    Task getOrCreateRootTask(@Nullable ActivityRecord r,
+            @Nullable ActivityOptions options, @Nullable Task candidateTask,
+            @Nullable LaunchParams launchParams, int activityType, boolean onTop) {
         int windowingMode = WINDOWING_MODE_UNDEFINED;
         if (launchParams != null) {
             // If launchParams isn't null, windowing mode is already resolved.
@@ -1150,8 +1130,8 @@
         // UNDEFINED windowing mode is a valid result and means that the new root task will inherit
         // it's display's windowing mode.
         windowingMode = validateWindowingMode(windowingMode, r, candidateTask, activityType);
-        return getOrCreateRootTask(windowingMode, activityType, onTop, candidateTask, sourceTask,
-                options, launchFlags);
+        return getOrCreateRootTask(windowingMode, activityType, onTop, null /* intent */,
+                candidateTask, options);
     }
 
     @VisibleForTesting
@@ -1219,24 +1199,6 @@
         }
     }
 
-    void setLaunchAdjacentFlagRootTask(@Nullable Task adjacentFlagRootTask) {
-        if (adjacentFlagRootTask != null) {
-            if (!adjacentFlagRootTask.mCreatedByOrganizer) {
-                throw new IllegalArgumentException(
-                        "Can't set not mCreatedByOrganizer as launch adjacent flag root tr="
-                                + adjacentFlagRootTask);
-            }
-
-            if (adjacentFlagRootTask.mAdjacentTask == null) {
-                throw new UnsupportedOperationException(
-                        "Can't set non-adjacent root as launch adjacent flag root tr="
-                                + adjacentFlagRootTask);
-            }
-        }
-
-        mLaunchAdjacentFlagRootTask = adjacentFlagRootTask;
-    }
-
     private @Nullable LaunchRootTaskDef getLaunchRootTaskDef(Task rootTask) {
         LaunchRootTaskDef def = null;
         for (int i = mLaunchRootTasks.size() - 1; i >= 0; --i) {
@@ -1247,9 +1209,7 @@
         return def;
     }
 
-    @Nullable
-    Task getLaunchRootTask(int windowingMode, int activityType, @Nullable ActivityOptions options,
-            @Nullable Task sourceTask, int launchFlags) {
+    Task getLaunchRootTask(int windowingMode, int activityType, ActivityOptions options) {
         // Try to use the launch root task in options if available.
         if (options != null) {
             final Task launchRootTask = Task.fromWindowContainerToken(options.getLaunchRootTask());
@@ -1259,19 +1219,6 @@
             }
         }
 
-        // Use launch-adjacent-flag-root if launching with launch-adjacent flag.
-        if ((launchFlags & FLAG_ACTIVITY_LAUNCH_ADJACENT) != 0
-                && mLaunchAdjacentFlagRootTask != null) {
-            // If the adjacent launch is coming from the same root, launch to adjacent root instead.
-            if (sourceTask != null
-                    && sourceTask.getRootTask().mTaskId == mLaunchAdjacentFlagRootTask.mTaskId
-                    && mLaunchAdjacentFlagRootTask.mAdjacentTask != null) {
-                return mLaunchAdjacentFlagRootTask.mAdjacentTask;
-            } else {
-                return mLaunchAdjacentFlagRootTask;
-            }
-        }
-
         for (int i = mLaunchRootTasks.size() - 1; i >= 0; --i) {
             if (mLaunchRootTasks.get(i).contains(windowingMode, activityType)) {
                 return mLaunchRootTasks.get(i).task;
@@ -2016,11 +1963,7 @@
                 // Reparent task to corresponding launch root or display area.
                 final WindowContainer launchRoot = task.supportsSplitScreenWindowingMode()
                         ? toDisplayArea.getLaunchRootTask(
-                                task.getWindowingMode(),
-                                task.getActivityType(),
-                                null /* options */,
-                                null /* sourceTask */,
-                                0 /* launchFlags */)
+                                task.getWindowingMode(), task.getActivityType(), null /* options */)
                         : null;
                 task.reparent(launchRoot == null ? toDisplayArea : launchRoot, POSITION_TOP);
 
diff --git a/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java b/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java
index 29677b2..625cff3 100644
--- a/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java
+++ b/services/core/java/com/android/server/wm/TaskLaunchParamsModifier.java
@@ -292,8 +292,7 @@
                     mSupervisor.mRootWindowContainer.resolveActivityType(root, options, task);
             display.forAllTaskDisplayAreas(displayArea -> {
                 final Task launchRoot = displayArea.getLaunchRootTask(
-                        resolvedMode, activityType, null /* ActivityOptions */,
-                        null /* sourceTask*/, 0 /* launchFlags */);
+                        resolvedMode, activityType, null /* ActivityOptions */);
                 if (launchRoot == null) {
                     return false;
                 }
diff --git a/services/core/java/com/android/server/wm/WindowOrganizerController.java b/services/core/java/com/android/server/wm/WindowOrganizerController.java
index c29211f..12a6a54 100644
--- a/services/core/java/com/android/server/wm/WindowOrganizerController.java
+++ b/services/core/java/com/android/server/wm/WindowOrganizerController.java
@@ -22,7 +22,6 @@
 import static android.window.WindowContainerTransaction.HierarchyOp.HIERARCHY_OP_TYPE_REORDER;
 import static android.window.WindowContainerTransaction.HierarchyOp.HIERARCHY_OP_TYPE_REPARENT;
 import static android.window.WindowContainerTransaction.HierarchyOp.HIERARCHY_OP_TYPE_SET_ADJACENT_ROOTS;
-import static android.window.WindowContainerTransaction.HierarchyOp.HIERARCHY_OP_TYPE_SET_LAUNCH_ADJACENT_FLAG_ROOT;
 import static android.window.WindowContainerTransaction.HierarchyOp.HIERARCHY_OP_TYPE_SET_LAUNCH_ROOT;
 
 import static com.android.internal.protolog.ProtoLogGroup.WM_DEBUG_WINDOW_ORGANIZER;
@@ -321,26 +320,6 @@
                             }
                             break;
                         }
-                        case HIERARCHY_OP_TYPE_SET_LAUNCH_ADJACENT_FLAG_ROOT: {
-                            final WindowContainer wc = WindowContainer.fromBinder(
-                                    hop.getContainer());
-                            final Task task = wc != null ? wc.asTask() : null;
-                            if (task == null) {
-                                throw new IllegalArgumentException("Cannot set "
-                                        + "non-task as launch root: " + wc);
-                            } else if (!task.mCreatedByOrganizer) {
-                                throw new UnsupportedOperationException("Cannot set "
-                                        + "non-organized task as adjacent flag root: " + wc);
-                            } else if (task.mAdjacentTask == null) {
-                                throw new UnsupportedOperationException("Cannot set "
-                                        + "non-adjacent task as adjacent flag root: " + wc);
-                            }
-
-                            final boolean clearRoot = hop.getToTop();
-                            task.getDisplayArea()
-                                    .setLaunchAdjacentFlagRootTask(clearRoot ? null : task);
-                            break;
-                        }
                         case HIERARCHY_OP_TYPE_CHILDREN_TASKS_REPARENT:
                             effects |= reparentChildrenTasksHierarchyOp(hop, transition, syncId);
                             break;
diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java
index e6ac52d..9826031 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java
@@ -339,8 +339,8 @@
             // Direct starter to use spy stack.
             doReturn(stack).when(mRootWindowContainer)
                     .getLaunchRootTask(any(), any(), any(), anyBoolean());
-            doReturn(stack).when(mRootWindowContainer).getLaunchRootTask(any(), any(), any(), any(),
-                    anyBoolean(), any(), anyInt(), anyInt(), anyInt());
+            doReturn(stack).when(mRootWindowContainer).getLaunchRootTask(any(), any(), any(),
+                    anyBoolean(), any(), anyInt(), anyInt());
         }
 
         // Set up mock package manager internal and make sure no unmocked methods are called
@@ -1119,8 +1119,8 @@
 
         stack.addChild(targetRecord);
 
-        doReturn(stack).when(mRootWindowContainer).getLaunchRootTask(any(), any(), any(), any(),
-                anyBoolean(), any(), anyInt(), anyInt(), anyInt());
+        doReturn(stack).when(mRootWindowContainer)
+                .getLaunchRootTask(any(), any(), any(), anyBoolean(), any(), anyInt(), anyInt());
 
         starter.mStartActivity = new ActivityBuilder(mAtm).build();
 
diff --git a/services/tests/wmtests/src/com/android/server/wm/RootWindowContainerTests.java b/services/tests/wmtests/src/com/android/server/wm/RootWindowContainerTests.java
index 4f5511b5..0bf237d 100644
--- a/services/tests/wmtests/src/com/android/server/wm/RootWindowContainerTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/RootWindowContainerTests.java
@@ -980,8 +980,7 @@
         doReturn(true).when(mSupervisor).canPlaceEntityOnDisplay(secondaryDisplay.mDisplayId,
                 300 /* test realCallerPid */, 300 /* test realCallerUid */, r.info);
         final Task result = mRootWindowContainer.getLaunchRootTask(r, options,
-                null /* task */, null /* sourceTask */, true /* onTop */, null /* launchParams */,
-                0 /* launchFlags */, 300 /* test realCallerPid */,
+                null /* task */, true /* onTop */, null, 300 /* test realCallerPid */,
                 300 /* test realCallerUid */);
 
         // Assert that the root task is returned as expected.
diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskDisplayAreaTests.java b/services/tests/wmtests/src/com/android/server/wm/TaskDisplayAreaTests.java
index 9289ce4..92d4ede 100644
--- a/services/tests/wmtests/src/com/android/server/wm/TaskDisplayAreaTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/TaskDisplayAreaTests.java
@@ -28,7 +28,6 @@
 import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
 import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_SECONDARY;
 import static android.app.WindowConfiguration.WINDOWING_MODE_UNDEFINED;
-import static android.content.Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT;
 import static android.content.pm.ActivityInfo.FLAG_ALWAYS_FOCUSABLE;
 import static android.content.pm.ActivityInfo.RESIZE_MODE_UNRESIZEABLE;
 import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
@@ -76,52 +75,6 @@
 public class TaskDisplayAreaTests extends WindowTestsBase {
 
     @Test
-    public void getLaunchRootTask_checksLaunchAdjacentFlagRoot() {
-        final Task rootTask = createTask(
-                mDisplayContent, WINDOWING_MODE_MULTI_WINDOW, ACTIVITY_TYPE_STANDARD);
-        rootTask.mCreatedByOrganizer = true;
-        final Task adjacentRootTask = createTask(
-                mDisplayContent, WINDOWING_MODE_MULTI_WINDOW, ACTIVITY_TYPE_STANDARD);
-        adjacentRootTask.mCreatedByOrganizer = true;
-        final TaskDisplayArea taskDisplayArea = rootTask.getDisplayArea();
-        adjacentRootTask.mAdjacentTask = rootTask;
-        rootTask.mAdjacentTask = adjacentRootTask;
-
-        taskDisplayArea.setLaunchAdjacentFlagRootTask(adjacentRootTask);
-        Task actualRootTask = taskDisplayArea.getLaunchRootTask(
-                WINDOWING_MODE_UNDEFINED, ACTIVITY_TYPE_STANDARD, null /* options */,
-                null /* sourceTask */, FLAG_ACTIVITY_LAUNCH_ADJACENT);
-        assertSame(adjacentRootTask, actualRootTask.getRootTask());
-
-        taskDisplayArea.setLaunchAdjacentFlagRootTask(null);
-        actualRootTask = taskDisplayArea.getLaunchRootTask(WINDOWING_MODE_UNDEFINED,
-                ACTIVITY_TYPE_STANDARD, null /* options */, null /* sourceTask */,
-                FLAG_ACTIVITY_LAUNCH_ADJACENT);
-        assertNull(actualRootTask);
-    }
-
-    @Test
-    public void getLaunchRootTask_fromLaunchAdjacentFlagRoot_checksAdjacentRoot() {
-        final ActivityRecord activity = createNonAttachedActivityRecord(mDisplayContent);
-        final Task rootTask = createTask(
-                mDisplayContent, WINDOWING_MODE_MULTI_WINDOW, ACTIVITY_TYPE_STANDARD);
-        rootTask.mCreatedByOrganizer = true;
-        final Task adjacentRootTask = createTask(
-                mDisplayContent, WINDOWING_MODE_MULTI_WINDOW, ACTIVITY_TYPE_STANDARD);
-        adjacentRootTask.mCreatedByOrganizer = true;
-        final TaskDisplayArea taskDisplayArea = rootTask.getDisplayArea();
-        adjacentRootTask.mAdjacentTask = rootTask;
-        rootTask.mAdjacentTask = adjacentRootTask;
-
-        taskDisplayArea.setLaunchAdjacentFlagRootTask(adjacentRootTask);
-        final Task actualRootTask = taskDisplayArea.getLaunchRootTask(
-                WINDOWING_MODE_UNDEFINED, ACTIVITY_TYPE_STANDARD, null /* options */,
-                adjacentRootTask /* sourceTask */, FLAG_ACTIVITY_LAUNCH_ADJACENT);
-
-        assertSame(rootTask, actualRootTask.getRootTask());
-    }
-
-    @Test
     public void getOrCreateLaunchRootRespectsResolvedWindowingMode() {
         final Task rootTask = createTask(
                 mDisplayContent, WINDOWING_MODE_MULTI_WINDOW, ACTIVITY_TYPE_STANDARD);
@@ -137,8 +90,8 @@
         launchParams.mWindowingMode = WINDOWING_MODE_FREEFORM;
 
         final Task actualRootTask = taskDisplayArea.getOrCreateRootTask(
-                activity, null /* options */, candidateRootTask, null /* sourceTask */,
-                launchParams, 0 /* launchFlags */, ACTIVITY_TYPE_STANDARD, true /* onTop */);
+                activity, null /* options */, candidateRootTask,
+                launchParams, ACTIVITY_TYPE_STANDARD, true /* onTop */);
         assertSame(rootTask, actualRootTask.getRootTask());
     }
 
@@ -158,9 +111,8 @@
         options.setLaunchWindowingMode(WINDOWING_MODE_FREEFORM);
 
         final Task actualRootTask = taskDisplayArea.getOrCreateRootTask(
-                activity, options, candidateRootTask, null /* sourceTask */,
-                null /* launchParams */, 0 /* launchFlags */, ACTIVITY_TYPE_STANDARD,
-                true /* onTop */);
+                activity, options, candidateRootTask,
+                null /* launchParams */, ACTIVITY_TYPE_STANDARD, true /* onTop */);
         assertSame(rootTask, actualRootTask.getRootTask());
     }
 
@@ -506,8 +458,8 @@
             boolean reuseCandidate) {
         final TaskDisplayArea taskDisplayArea = candidateTask.getDisplayArea();
         final Task rootTask = taskDisplayArea.getOrCreateRootTask(windowingMode, activityType,
-                false /* onTop */, candidateTask /* candidateTask */, null /* sourceTask */,
-                null /* activityOptions */, 0 /* launchFlags */);
+                false /* onTop */, null /* intent */, candidateTask /* candidateTask */,
+                null /* activityOptions */);
         assertEquals(reuseCandidate, rootTask == candidateTask);
     }