Merge "Merge "Use launchRootTask to determine parent of stack we getting" into rvc-dev am: 6d99b57979 am: 474b78430a" into rvc-d1-dev-plus-aosp am: 4f7002ba29
Change-Id: I075e854440c0660c9928d860bbfb557ac158a128
This commit is contained in:
@@ -732,11 +732,11 @@ final class TaskDisplayArea extends DisplayArea<ActivityStack> {
|
||||
/**
|
||||
* Returns an existing stack compatible with the windowing mode and activity type or creates one
|
||||
* if a compatible stack doesn't exist.
|
||||
* @see #getOrCreateStack(int, int, boolean, Intent, Task, boolean)
|
||||
* @see #getOrCreateStack(int, int, boolean, Intent, Task)
|
||||
*/
|
||||
ActivityStack getOrCreateStack(int windowingMode, int activityType, boolean onTop) {
|
||||
return getOrCreateStack(windowingMode, activityType, onTop, null /* intent */,
|
||||
null /* candidateTask */, false /* createdByOrganizer */);
|
||||
null /* candidateTask */);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -748,7 +748,7 @@ final class TaskDisplayArea extends DisplayArea<ActivityStack> {
|
||||
* @see #createStack(int, int, boolean)
|
||||
*/
|
||||
ActivityStack getOrCreateStack(int windowingMode, int activityType, boolean onTop,
|
||||
Intent intent, Task candidateTask, boolean createdByOrganizer) {
|
||||
Intent intent, Task candidateTask) {
|
||||
if (!alwaysCreateStack(windowingMode, activityType)) {
|
||||
ActivityStack stack = getStack(windowingMode, activityType);
|
||||
if (stack != null) {
|
||||
@@ -757,13 +757,13 @@ final class TaskDisplayArea extends DisplayArea<ActivityStack> {
|
||||
} else if (candidateTask != null) {
|
||||
final ActivityStack stack = (ActivityStack) candidateTask;
|
||||
final int position = onTop ? POSITION_TOP : POSITION_BOTTOM;
|
||||
if (isSplitScreenModeActivated()) {
|
||||
final Task splitRootSecondary = getTask(t -> t.mCreatedByOrganizer && t.isRootTask()
|
||||
&& t.inSplitScreenSecondaryWindowingMode());
|
||||
Task launchRootTask = updateLaunchRootTask(windowingMode);
|
||||
|
||||
if (launchRootTask != null) {
|
||||
if (stack.getParent() == null) {
|
||||
splitRootSecondary.addChild(stack, position);
|
||||
} else if (stack.getParent() != splitRootSecondary) {
|
||||
stack.reparent(splitRootSecondary, position);
|
||||
launchRootTask.addChild(stack, position);
|
||||
} else if (stack.getParent() != launchRootTask) {
|
||||
stack.reparent(launchRootTask, position);
|
||||
}
|
||||
} else if (stack.getDisplay() != mDisplayContent || !stack.isRootTask()) {
|
||||
if (stack.getParent() == null) {
|
||||
@@ -779,7 +779,7 @@ final class TaskDisplayArea extends DisplayArea<ActivityStack> {
|
||||
return stack;
|
||||
}
|
||||
return createStack(windowingMode, activityType, onTop, null /*info*/, intent,
|
||||
createdByOrganizer);
|
||||
false /* createdByOrganizer */);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -798,7 +798,7 @@ final class TaskDisplayArea extends DisplayArea<ActivityStack> {
|
||||
// it's display's windowing mode.
|
||||
windowingMode = validateWindowingMode(windowingMode, r, candidateTask, activityType);
|
||||
return getOrCreateStack(windowingMode, activityType, onTop, null /* intent */,
|
||||
candidateTask, false /* createdByOrganizer */);
|
||||
candidateTask);
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
|
||||
@@ -277,9 +277,9 @@ class TaskOrganizerController extends ITaskOrganizerController.Stub {
|
||||
return null;
|
||||
}
|
||||
|
||||
final Task task = display.mTaskContainers.getOrCreateStack(windowingMode,
|
||||
ACTIVITY_TYPE_UNDEFINED, false /* onTop */, new Intent(),
|
||||
null /* candidateTask */, true /* createdByOrganizer */);
|
||||
final Task task = display.mTaskContainers.createStack(windowingMode,
|
||||
ACTIVITY_TYPE_UNDEFINED, false /* onTop */, null /* info */, new Intent(),
|
||||
true /* createdByOrganizer */);
|
||||
RunningTaskInfo out = task.getTaskInfo();
|
||||
mLastSentTaskInfos.put(task, out);
|
||||
return out;
|
||||
|
||||
Reference in New Issue
Block a user