Merge "Consolidate TaskDisplayArea#addStack and TaskDisplayArea#addChild" into rvc-dev am: 53e927f890

Change-Id: I8e870a490b563b18227e22c877ddf80dc955c7e3
This commit is contained in:
TreeHugger Robot
2020-04-20 16:10:49 +00:00
committed by Automerger Merge Worker
3 changed files with 10 additions and 16 deletions

View File

@@ -267,16 +267,14 @@ final class TaskDisplayArea extends DisplayArea<ActivityStack> {
@Override @Override
void addChild(ActivityStack stack, int position) { void addChild(ActivityStack stack, int position) {
if (DEBUG_STACK) Slog.d(TAG_WM, "Set stack=" + stack + " on taskDisplayArea=" + this);
addStackReferenceIfNeeded(stack); addStackReferenceIfNeeded(stack);
position = findPositionForStack(position, stack, true /* adding */); position = findPositionForStack(position, stack, true /* adding */);
super.addChild(stack, position); super.addChild(stack, position);
mAtmService.updateSleepIfNeededLocked(); mAtmService.updateSleepIfNeededLocked();
// The reparenting case is handled in WindowContainer. positionStackAt(stack, position);
if (!stack.mReparenting) {
mDisplayContent.setLayoutNeeded();
}
} }
@Override @Override
@@ -638,12 +636,6 @@ final class TaskDisplayArea extends DisplayArea<ActivityStack> {
} }
} }
void addStack(ActivityStack stack, int position) {
if (DEBUG_STACK) Slog.d(TAG_WM, "Set stack=" + stack + " on taskDisplayArea=" + this);
addChild(stack, position);
positionStackAt(stack, position);
}
void onStackRemoved(ActivityStack stack) { void onStackRemoved(ActivityStack stack) {
if (ActivityTaskManagerDebugConfig.DEBUG_STACK) { if (ActivityTaskManagerDebugConfig.DEBUG_STACK) {
Slog.v(TAG_STACK, "removeStack: detaching " + stack + " from displayId=" Slog.v(TAG_STACK, "removeStack: detaching " + stack + " from displayId="
@@ -787,7 +779,7 @@ final class TaskDisplayArea extends DisplayArea<ActivityStack> {
} }
} else if (stack.getDisplayArea() != this || !stack.isRootTask()) { } else if (stack.getDisplayArea() != this || !stack.isRootTask()) {
if (stack.getParent() == null) { if (stack.getParent() == null) {
addStack(stack, position); addChild(stack, position);
} else { } else {
stack.reparent(this, onTop); stack.reparent(this, onTop);
} }
@@ -943,7 +935,7 @@ final class TaskDisplayArea extends DisplayArea<ActivityStack> {
positionStackAtTop((ActivityStack) launchRootTask, false /* includingParents */); positionStackAtTop((ActivityStack) launchRootTask, false /* includingParents */);
} }
} else { } else {
addStack(stack, onTop ? POSITION_TOP : POSITION_BOTTOM); addChild(stack, onTop ? POSITION_TOP : POSITION_BOTTOM);
stack.setWindowingMode(windowingMode, true /* creating */); stack.setWindowingMode(windowingMode, true /* creating */);
} }
return stack; return stack;

View File

@@ -662,9 +662,11 @@ class WindowContainer<E extends WindowContainer> extends ConfigurationContainer<
// position that takes into account the removed child (if the index of the // position that takes into account the removed child (if the index of the
// child < position, then the position should be adjusted). We should consider // child < position, then the position should be adjusted). We should consider
// doing this adjustment here and remove any adjustments in the callers. // doing this adjustment here and remove any adjustments in the callers.
mChildren.remove(child); if (mChildren.indexOf(child) != position) {
mChildren.add(position, child); mChildren.remove(child);
onChildPositionChanged(child); mChildren.add(position, child);
onChildPositionChanged(child);
}
} }
} }

View File

@@ -1196,7 +1196,7 @@ public class ActivityStackTests extends ActivityTestsBase {
mDefaultTaskDisplayArea.registerStackOrderChangedListener(listener); mDefaultTaskDisplayArea.registerStackOrderChangedListener(listener);
try { try {
mStack.mReparenting = true; mStack.mReparenting = true;
mDefaultTaskDisplayArea.addStack(mStack, 0); mDefaultTaskDisplayArea.addChild(mStack, 0);
} finally { } finally {
mDefaultTaskDisplayArea.unregisterStackOrderChangedListener(listener); mDefaultTaskDisplayArea.unregisterStackOrderChangedListener(listener);
} }