Rename TaskStackContainers to TaskContainers (85/n)

All stacks are now tasks and there will be no stacks soon.
CL helps reduce the size of future CLs to remove stacks.
Also:
- Removed getSplitScreenPrimaryStackIgnoreVisiblity and have callers
use getSplitScreenPrimaryStack instead.
- Removed getRecentStack() that is only used during dump().

Bug: 80414790
Test: Existing tests pass.
Change-Id: Ic9c6ea02c14a5508771c6513f187eff6b4b61e90
This commit is contained in:
Wale Ogunwale
2020-01-21 10:04:46 -08:00
parent 2c824eac87
commit c17e5cf0ec
6 changed files with 66 additions and 93 deletions

View File

@@ -19,6 +19,7 @@ package com.android.server.wm;
import static android.app.ActivityTaskManager.INVALID_STACK_ID;
import static android.app.ActivityTaskManager.SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT;
import static android.app.WindowConfiguration.ACTIVITY_TYPE_HOME;
import static android.app.WindowConfiguration.ACTIVITY_TYPE_RECENTS;
import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD;
import static android.app.WindowConfiguration.ACTIVITY_TYPE_UNDEFINED;
import static android.app.WindowConfiguration.ROTATION_UNDEFINED;
@@ -294,7 +295,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
/** The containers below are the only child containers {@link #mWindowContainers} can have. */
// Contains all window containers that are related to apps (Activities)
private final TaskStackContainers mTaskStackContainers = new TaskStackContainers(mWmService);
private final TaskContainers mTaskContainers = new TaskContainers(mWmService);
// Contains all non-app window containers that should be displayed above the app containers
// (e.g. Status bar)
private final AboveAppWindowContainers mAboveAppWindowsContainers =
@@ -1947,38 +1948,26 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
}
ActivityStack getHomeStack() {
return mTaskStackContainers.getHomeStack();
}
ActivityStack getRecentsStack() {
return mTaskStackContainers.getRecentsStack();
return mTaskContainers.getHomeStack();
}
/**
* @return The primary split-screen stack, and {@code null} otherwise.
*/
ActivityStack getSplitScreenPrimaryStack() {
return mTaskStackContainers.getSplitScreenPrimaryStack();
return mTaskContainers.getSplitScreenPrimaryStack();
}
boolean hasSplitScreenPrimaryStack() {
return getSplitScreenPrimaryStack() != null;
}
/**
* Like {@link #getSplitScreenPrimaryStack}, but also returns the stack if it's currently
* not visible.
*/
ActivityStack getSplitScreenPrimaryStackIgnoringVisibility() {
return mTaskStackContainers.getSplitScreenPrimaryStack();
}
ActivityStack getPinnedStack() {
return mTaskStackContainers.getPinnedStack();
return mTaskContainers.getPinnedStack();
}
boolean hasPinnedStack() {
return mTaskStackContainers.getPinnedStack() != null;
return mTaskContainers.getPinnedStack() != null;
}
/**
@@ -1994,45 +1983,45 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
* activity type. Null is no compatible stack on the display.
*/
ActivityStack getStack(int windowingMode, int activityType) {
return mTaskStackContainers.getStack(windowingMode, activityType);
return mTaskContainers.getStack(windowingMode, activityType);
}
protected int getStackCount() {
return mTaskStackContainers.mChildren.size();
return mTaskContainers.mChildren.size();
}
protected ActivityStack getStackAt(int index) {
return mTaskStackContainers.mChildren.get(index);
return mTaskContainers.mChildren.get(index);
}
int getIndexOf(ActivityStack stack) {
return mTaskStackContainers.getIndexOf(stack);
return mTaskContainers.getIndexOf(stack);
}
void removeStack(ActivityStack stack) {
mTaskStackContainers.removeChild(stack);
mTaskContainers.removeChild(stack);
}
@VisibleForTesting
WindowList<ActivityStack> getStacks() {
return mTaskStackContainers.mChildren;
return mTaskContainers.mChildren;
}
@VisibleForTesting
ActivityStack getTopStack() {
return mTaskStackContainers.getTopStack();
return mTaskContainers.getTopStack();
}
ArrayList<Task> getVisibleTasks() {
return mTaskStackContainers.getVisibleTasks();
return mTaskContainers.getVisibleTasks();
}
SurfaceControl getSplitScreenDividerAnchor() {
return mTaskStackContainers.getSplitScreenDividerAnchor();
return mTaskContainers.getSplitScreenDividerAnchor();
}
void onStackWindowingModeChanged(ActivityStack stack) {
mTaskStackContainers.onStackWindowingModeChanged(stack);
mTaskContainers.onStackWindowingModeChanged(stack);
}
/**
@@ -2162,7 +2151,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
}
// Top system windows are not requesting an orientation. Start searching from apps.
return mTaskStackContainers.getOrientation();
return mTaskContainers.getOrientation();
}
void updateDisplayInfo() {
@@ -2346,11 +2335,11 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
void setStackOnDisplay(ActivityStack stack, int position) {
if (DEBUG_STACK) Slog.d(TAG_WM, "Set stack=" + stack + " on displayId=" + mDisplayId);
mTaskStackContainers.addChild(stack, position);
mTaskContainers.addChild(stack, position);
}
void moveStackToDisplay(ActivityStack stack, boolean onTop) {
stack.reparent(mTaskStackContainers, onTop ? POSITION_TOP: POSITION_BOTTOM);
stack.reparent(mTaskContainers, onTop ? POSITION_TOP: POSITION_BOTTOM);
}
@Override
@@ -2387,7 +2376,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
}
void positionStackAt(int position, ActivityStack child, boolean includingParents) {
mTaskStackContainers.positionChildAt(position, child, includingParents);
mTaskContainers.positionChildAt(position, child, includingParents);
layoutAndAssignWindowLayersIfNeeded();
}
@@ -2418,7 +2407,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
*/
Task findTaskForResizePoint(int x, int y) {
final int delta = dipToPixel(RESIZE_HANDLE_WIDTH_IN_DP, mDisplayMetrics);
return mTmpTaskForResizePointSearchResult.process(mTaskStackContainers, x, y, delta);
return mTmpTaskForResizePointSearchResult.process(mTaskContainers, x, y, delta);
}
void updateTouchExcludeRegion() {
@@ -2434,7 +2423,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
final PooledConsumer c = PooledLambda.obtainConsumer(
DisplayContent::processTaskForTouchExcludeRegion, this,
PooledLambda.__(Task.class), focusedTask, delta);
mTaskStackContainers.forAllTasks(c);
mTaskContainers.forAllTasks(c);
c.recycle();
// If we removed the focused task above, add it back and only leave its
@@ -2604,8 +2593,8 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
float dividerAnimationTarget) {
boolean updated = false;
for (int i = mTaskStackContainers.getChildCount() - 1; i >= 0; --i) {
final ActivityStack stack = mTaskStackContainers.getChildAt(i);
for (int i = mTaskContainers.getChildCount() - 1; i >= 0; --i) {
final ActivityStack stack = mTaskContainers.getChildAt(i);
if (stack == null || !stack.isAdjustedForIme()) {
continue;
}
@@ -2633,8 +2622,8 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
boolean clearImeAdjustAnimation() {
boolean changed = false;
for (int i = mTaskStackContainers.getChildCount() - 1; i >= 0; --i) {
final ActivityStack stack = mTaskStackContainers.getChildAt(i);
for (int i = mTaskContainers.getChildCount() - 1; i >= 0; --i) {
final ActivityStack stack = mTaskContainers.getChildAt(i);
if (stack != null && stack.isAdjustedForIme()) {
stack.resetAdjustedForIme(true /* adjustBoundsNow */);
changed = true;
@@ -2644,8 +2633,8 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
}
void beginImeAdjustAnimation() {
for (int i = mTaskStackContainers.getChildCount() - 1; i >= 0; --i) {
final ActivityStack stack = mTaskStackContainers.getChildAt(i);
for (int i = mTaskContainers.getChildCount() - 1; i >= 0; --i) {
final ActivityStack stack = mTaskContainers.getChildAt(i);
if (stack.isVisible() && stack.isAdjustedForIme()) {
stack.beginImeAdjustAnimation();
}
@@ -2682,8 +2671,8 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
// - If IME is not visible, divider is not moved and is normal width.
if (imeVisible && dockVisible && (imeOnTop || imeOnBottom) && !dockMinimized) {
for (int i = mTaskStackContainers.getChildCount() - 1; i >= 0; --i) {
final ActivityStack stack = mTaskStackContainers.getChildAt(i);
for (int i = mTaskContainers.getChildCount() - 1; i >= 0; --i) {
final ActivityStack stack = mTaskContainers.getChildAt(i);
final boolean isDockedOnBottom = stack.getDockSide() == DOCKED_BOTTOM;
if (stack.isVisible() && (imeOnBottom || isDockedOnBottom)
&& stack.inSplitScreenWindowingMode()) {
@@ -2695,8 +2684,8 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
mDividerControllerLocked.setAdjustedForIme(
imeOnBottom /*ime*/, true /*divider*/, true /*animate*/, imeWin, imeHeight);
} else {
for (int i = mTaskStackContainers.getChildCount() - 1; i >= 0; --i) {
final ActivityStack stack = mTaskStackContainers.getChildAt(i);
for (int i = mTaskContainers.getChildCount() - 1; i >= 0; --i) {
final ActivityStack stack = mTaskContainers.getChildAt(i);
stack.resetAdjustedForIme(!dockVisible);
}
mDividerControllerLocked.setAdjustedForIme(
@@ -2706,8 +2695,8 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
}
void prepareFreezingTaskBounds() {
for (int stackNdx = mTaskStackContainers.getChildCount() - 1; stackNdx >= 0; --stackNdx) {
final ActivityStack stack = mTaskStackContainers.getChildAt(stackNdx);
for (int stackNdx = mTaskContainers.getChildCount() - 1; stackNdx >= 0; --stackNdx) {
final ActivityStack stack = mTaskContainers.getChildAt(stackNdx);
stack.prepareFreezingTaskBounds();
}
}
@@ -2809,8 +2798,8 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
final long token = proto.start(fieldId);
super.dumpDebug(proto, WINDOW_CONTAINER, logLevel);
proto.write(ID, mDisplayId);
for (int stackNdx = mTaskStackContainers.getChildCount() - 1; stackNdx >= 0; --stackNdx) {
final ActivityStack stack = mTaskStackContainers.getChildAt(stackNdx);
for (int stackNdx = mTaskContainers.getChildCount() - 1; stackNdx >= 0; --stackNdx) {
final ActivityStack stack = mTaskContainers.getChildAt(stackNdx);
stack.dumpDebugInnerStackOnly(proto, STACKS, logLevel);
}
mDividerControllerLocked.dumpDebug(proto, DOCKED_STACK_DIVIDER_CONTROLLER);
@@ -2936,8 +2925,8 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
pw.println();
pw.println(prefix + "Application tokens in top down Z order:");
for (int stackNdx = mTaskStackContainers.getChildCount() - 1; stackNdx >= 0; --stackNdx) {
final ActivityStack stack = mTaskStackContainers.getChildAt(stackNdx);
for (int stackNdx = mTaskContainers.getChildCount() - 1; stackNdx >= 0; --stackNdx) {
final ActivityStack stack = mTaskContainers.getChildAt(stackNdx);
stack.dump(pw, prefix + " ", dumpAll);
}
@@ -2979,7 +2968,8 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
if (splitScreenPrimaryStack != null) {
pw.println(prefix + "splitScreenPrimaryStack=" + splitScreenPrimaryStack.getName());
}
final ActivityStack recentsStack = getRecentsStack();
final ActivityStack recentsStack =
getStack(WINDOWING_MODE_UNDEFINED, ACTIVITY_TYPE_RECENTS);
if (recentsStack != null) {
pw.println(prefix + "recentsStack=" + recentsStack.getName());
}
@@ -4017,7 +4007,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
}
// Initialize state of exiting applications.
mTaskStackContainers.setExitingTokensHasVisible(hasVisible);
mTaskContainers.setExitingTokensHasVisible(hasVisible);
}
void removeExistingTokensIfPossible() {
@@ -4029,7 +4019,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
}
// Time to remove any exiting applications?
mTaskStackContainers.removeExistingAppTokensIfPossible();
mTaskContainers.removeExistingAppTokensIfPossible();
}
@Override
@@ -4158,7 +4148,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
* Window container class that contains all containers on this display relating to Apps.
* I.e Activities.
*/
private final class TaskStackContainers extends DisplayChildWindowContainer<ActivityStack> {
private final class TaskContainers extends DisplayChildWindowContainer<ActivityStack> {
/**
* A control placed at the appropriate level for transitions to occur.
*/
@@ -4184,11 +4174,10 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
// Cached reference to some special stacks we tend to get a lot so we don't need to loop
// through the list to find them.
private ActivityStack mHomeStack = null;
private ActivityStack mRecentsStack = null;
private ActivityStack mPinnedStack = null;
private ActivityStack mSplitScreenPrimaryStack = null;
TaskStackContainers(WindowManagerService service) {
TaskContainers(WindowManagerService service) {
super(service);
}
@@ -4205,8 +4194,8 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
} else if (windowingMode == WINDOWING_MODE_SPLIT_SCREEN_PRIMARY) {
return mSplitScreenPrimaryStack;
}
for (int i = mTaskStackContainers.getChildCount() - 1; i >= 0; --i) {
final ActivityStack stack = mTaskStackContainers.getChildAt(i);
for (int i = mTaskContainers.getChildCount() - 1; i >= 0; --i) {
final ActivityStack stack = mTaskContainers.getChildAt(i);
if (activityType == ACTIVITY_TYPE_UNDEFINED
&& windowingMode == stack.getWindowingMode()) {
// Passing in undefined type means we want to match the topmost stack with the
@@ -4222,12 +4211,12 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
@VisibleForTesting
ActivityStack getTopStack() {
return mTaskStackContainers.getChildCount() > 0
? mTaskStackContainers.getChildAt(mTaskStackContainers.getChildCount() - 1) : null;
return mTaskContainers.getChildCount() > 0
? mTaskContainers.getChildAt(mTaskContainers.getChildCount() - 1) : null;
}
int getIndexOf(ActivityStack stack) {
return mTaskStackContainers.mChildren.indexOf(stack);
return mTaskContainers.mChildren.indexOf(stack);
}
ActivityStack getHomeStack() {
@@ -4237,10 +4226,6 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
return mHomeStack;
}
ActivityStack getRecentsStack() {
return mRecentsStack;
}
ActivityStack getPinnedStack() {
return mPinnedStack;
}
@@ -4279,16 +4264,6 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
} else {
mHomeStack = stack;
}
} else if (stack.isActivityTypeRecents()) {
if (mRecentsStack != null && mRecentsStack != stack) {
if (!stack.isDescendantOf(mRecentsStack)) {
throw new IllegalArgumentException(
"addStackReferenceIfNeeded: recents stack=" + mRecentsStack
+ " already exist on display=" + this + " stack=" + stack);
}
} else {
mRecentsStack = stack;
}
}
final int windowingMode = stack.getWindowingMode();
if (windowingMode == WINDOWING_MODE_PINNED) {
@@ -4319,8 +4294,6 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
void removeStackReferenceIfNeeded(ActivityStack stack) {
if (stack == mHomeStack) {
mHomeStack = null;
} else if (stack == mRecentsStack) {
mRecentsStack = null;
} else if (stack == mPinnedStack) {
mPinnedStack = null;
} else if (stack == mSplitScreenPrimaryStack) {
@@ -4738,7 +4711,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
void assignChildLayers(SurfaceControl.Transaction t) {
mImeWindowsContainers.setNeedsLayer();
mBelowAppWindowsContainers.assignLayer(t, 0);
mTaskStackContainers.assignLayer(t, 1);
mTaskContainers.assignLayer(t, 1);
mAboveAppWindowsContainers.assignLayer(t, 2);
final WindowState imeTarget = mInputMethodTarget;
@@ -4777,7 +4750,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
// Above we have assigned layers to our children, now we ask them to assign
// layers to their children.
mBelowAppWindowsContainers.assignChildLayers(t);
mTaskStackContainers.assignChildLayers(t);
mTaskContainers.assignChildLayers(t);
mAboveAppWindowsContainers.assignChildLayers(t);
mImeWindowsContainers.assignRelativeLayer(t, getSurfaceControl(), Integer.MAX_VALUE);
mImeWindowsContainers.assignChildLayers(t);
@@ -4790,7 +4763,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
void addChildren() {
addChild(mBelowAppWindowsContainers, null);
addChild(mTaskStackContainers, null);
addChild(mTaskContainers, null);
addChild(mAboveAppWindowsContainers, null);
addChild(mImeWindowsContainers, null);
}
@@ -5093,7 +5066,7 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo
}
void assignStackOrdering() {
mTaskStackContainers.assignStackOrdering(getPendingTransaction());
mTaskContainers.assignStackOrdering(getPendingTransaction());
}
/**

View File

@@ -371,7 +371,7 @@ public class DockedStackDividerController {
if (mWindow == null) {
return;
}
ActivityStack stack = mDisplayContent.getSplitScreenPrimaryStackIgnoringVisibility();
ActivityStack stack = mDisplayContent.getSplitScreenPrimaryStack();
// If the stack is invisible, we policy force hide it in WindowAnimator.shouldForceHide
final boolean visible = stack != null;
@@ -415,7 +415,7 @@ public class DockedStackDividerController {
}
void positionDockedStackedDivider(Rect frame) {
ActivityStack stack = mDisplayContent.getSplitScreenPrimaryStackIgnoringVisibility();
ActivityStack stack = mDisplayContent.getSplitScreenPrimaryStack();
if (stack == null) {
// Unfortunately we might end up with still having a divider, even though the underlying
// stack was already removed. This is because we are on AM thread and the removal of the
@@ -524,7 +524,7 @@ public class DockedStackDividerController {
// If a primary stack was just created, it will not have access to display content at
// this point so pass it from here to get a valid dock side.
final ActivityStack stack =
mDisplayContent.getSplitScreenPrimaryStackIgnoringVisibility();
mDisplayContent.getSplitScreenPrimaryStack();
mOriginalDockedSide = stack.getDockSideForDisplay(mDisplayContent);
return;
}
@@ -560,7 +560,7 @@ public class DockedStackDividerController {
long animDuration = 0;
if (animate) {
final ActivityStack stack =
mDisplayContent.getSplitScreenPrimaryStackIgnoringVisibility();
mDisplayContent.getSplitScreenPrimaryStack();
final long transitionDuration = isAnimationMaximizing()
? mDisplayContent.mAppTransition.getLastClipRevealTransitionDuration()
: DEFAULT_APP_TRANSITION_DURATION;
@@ -615,7 +615,7 @@ public class DockedStackDividerController {
mDockedStackListeners.register(listener);
notifyDockedDividerVisibilityChanged(wasVisible());
notifyDockedStackExistsChanged(
mDisplayContent.getSplitScreenPrimaryStackIgnoringVisibility() != null);
mDisplayContent.getSplitScreenPrimaryStack() != null);
notifyDockedStackMinimizedChanged(mMinimizedDock, false /* animate */,
isHomeStackResizable());
notifyAdjustedForImeChanged(mAdjustedForIme, 0 /* animDuration */);
@@ -701,7 +701,7 @@ public class DockedStackDividerController {
}
void checkMinimizeChanged(boolean animate) {
if (mDisplayContent.getSplitScreenPrimaryStackIgnoringVisibility() == null) {
if (mDisplayContent.getSplitScreenPrimaryStack() == null) {
return;
}
final ActivityStack homeStack = mDisplayContent.getHomeStack();
@@ -873,7 +873,7 @@ public class DockedStackDividerController {
}
private boolean setMinimizedDockedStack(boolean minimized) {
final ActivityStack stack = mDisplayContent.getSplitScreenPrimaryStackIgnoringVisibility();
final ActivityStack stack = mDisplayContent.getSplitScreenPrimaryStack();
notifyDockedStackMinimizedChanged(minimized, false /* animate */, isHomeStackResizable());
return stack != null && stack.setAdjustedForMinimizedDock(minimized ? 1f : 0f);
}
@@ -923,7 +923,7 @@ public class DockedStackDividerController {
}
private boolean animateForMinimizedDockedStack(long now) {
final ActivityStack stack = mDisplayContent.getSplitScreenPrimaryStackIgnoringVisibility();
final ActivityStack stack = mDisplayContent.getSplitScreenPrimaryStack();
if (!mAnimationStarted) {
mAnimationStarted = true;
mAnimationStartTime = now;

View File

@@ -413,7 +413,7 @@ public class RecentsAnimationController implements DeathRecipient {
// Save the minimized home height
final ActivityStack dockedStack =
mDisplayContent.getSplitScreenPrimaryStackIgnoringVisibility();
mDisplayContent.getSplitScreenPrimaryStack();
mDisplayContent.getDockedDividerController().getHomeStackBoundsInDockedMode(
mDisplayContent.getConfiguration(),
dockedStack == null ? DOCKED_INVALID : dockedStack.getDockSide(),

View File

@@ -3163,7 +3163,7 @@ public class WindowManagerService extends IWindowManager.Stub
// Notify whether the docked stack exists for the current user
final DisplayContent displayContent = getDefaultDisplayContentLocked();
final ActivityStack stack =
displayContent.getSplitScreenPrimaryStackIgnoringVisibility();
displayContent.getSplitScreenPrimaryStack();
displayContent.mDividerControllerLocked.notifyDockedStackExistsChanged(
stack != null && stack.hasTaskForUser(newUserId));
@@ -6416,7 +6416,7 @@ public class WindowManagerService extends IWindowManager.Stub
public int getDockedStackSide() {
synchronized (mGlobalLock) {
final ActivityStack dockedStack = getDefaultDisplayContentLocked()
.getSplitScreenPrimaryStackIgnoringVisibility();
.getSplitScreenPrimaryStack();
return dockedStack == null ? DOCKED_INVALID : dockedStack.getDockSide();
}
}

View File

@@ -2653,7 +2653,7 @@ class WindowState extends WindowContainer<WindowState> implements WindowManagerP
// also reset drag resizing state, because the owner can't do it
// anymore.
final ActivityStack stack =
dc.getSplitScreenPrimaryStackIgnoringVisibility();
dc.getSplitScreenPrimaryStack();
if (stack != null) {
stack.resetDockedStackToMiddle();
}

View File

@@ -46,7 +46,7 @@ import org.junit.runner.RunWith;
@SmallTest
@Presubmit
@RunWith(WindowTestRunner.class)
public class TaskStackContainersTests extends WindowTestsBase {
public class TaskContainersTests extends WindowTestsBase {
private ActivityStack mPinnedStack;