diff options
5 files changed, 10 insertions, 11 deletions
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index 817a01c5c8d7..98a1bd359b55 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -1722,21 +1722,22 @@ class DisplayContent extends WindowContainer<DisplayContent.DisplayChildWindowCo out.set(mContentRect); } - TaskStack addStackToDisplay(int stackId, boolean onTop) { + TaskStack addStackToDisplay(int stackId, boolean onTop, StackWindowController controller) { if (DEBUG_STACK) Slog.d(TAG_WM, "Create new stackId=" + stackId + " on displayId=" + mDisplayId); TaskStack stack = getStackById(stackId); if (stack != null) { - // It's already attached to the display...clear mDeferRemoval and move stack to - // appropriate z-order on display as needed. + // It's already attached to the display...clear mDeferRemoval, set controller, and move + // stack to appropriate z-order on display as needed. stack.mDeferRemoval = false; + stack.setController(controller); // We're not moving the display to front when we're adding stacks, only when // requested to change the position of stack explicitly. mTaskStackContainers.positionChildAt(onTop ? POSITION_TOP : POSITION_BOTTOM, stack, false /* includingParents */); } else { - stack = new TaskStack(mService, stackId); + stack = new TaskStack(mService, stackId, controller); mTaskStackContainers.addStackToDisplay(stack, onTop); } diff --git a/services/core/java/com/android/server/wm/StackWindowController.java b/services/core/java/com/android/server/wm/StackWindowController.java index a50ed71afdb1..c0a4cb72a348 100644 --- a/services/core/java/com/android/server/wm/StackWindowController.java +++ b/services/core/java/com/android/server/wm/StackWindowController.java @@ -18,8 +18,6 @@ package com.android.server.wm; import static android.app.ActivityManager.StackId.PINNED_STACK_ID; -import android.app.ActivityManager.StackId; -import android.app.WindowConfiguration; import android.content.res.Configuration; import android.graphics.Rect; import android.os.Handler; @@ -76,8 +74,7 @@ public class StackWindowController + " to unknown displayId=" + displayId); } - final TaskStack stack = dc.addStackToDisplay(stackId, onTop); - stack.setController(this); + dc.addStackToDisplay(stackId, onTop, this); getRawBounds(outBounds); } } diff --git a/services/core/java/com/android/server/wm/TaskStack.java b/services/core/java/com/android/server/wm/TaskStack.java index 126d820e69b6..7cb90de49b1a 100644 --- a/services/core/java/com/android/server/wm/TaskStack.java +++ b/services/core/java/com/android/server/wm/TaskStack.java @@ -149,9 +149,10 @@ public class TaskStack extends WindowContainer<Task> implements DimLayer.DimLaye Rect mPreAnimationBounds = new Rect(); - TaskStack(WindowManagerService service, int stackId) { + TaskStack(WindowManagerService service, int stackId, StackWindowController controller) { mService = service; mStackId = stackId; + setController(controller); mDockedStackMinimizeThickness = service.mContext.getResources().getDimensionPixelSize( com.android.internal.R.dimen.docked_stack_minimize_thickness); EventLog.writeEvent(EventLogTags.WM_STACK_CREATED, stackId); diff --git a/services/tests/servicestests/src/com/android/server/wm/WindowFrameTests.java b/services/tests/servicestests/src/com/android/server/wm/WindowFrameTests.java index e39cccab7bad..5d2bb4d92620 100644 --- a/services/tests/servicestests/src/com/android/server/wm/WindowFrameTests.java +++ b/services/tests/servicestests/src/com/android/server/wm/WindowFrameTests.java @@ -102,7 +102,7 @@ public class WindowFrameTests extends WindowTestsBase { sWm.mSystemDecorLayer = 10000; mWindowToken = new WindowTestUtils.TestAppWindowToken(sWm.getDefaultDisplayContentLocked()); - mStubStack = new TaskStack(sWm, 0); + mStubStack = new TaskStack(sWm, 0, null); } public void assertRect(Rect rect, int left, int top, int right, int bottom) { diff --git a/services/tests/servicestests/src/com/android/server/wm/WindowTestUtils.java b/services/tests/servicestests/src/com/android/server/wm/WindowTestUtils.java index 2ae10aadb10c..0315c8d6f9ba 100644 --- a/services/tests/servicestests/src/com/android/server/wm/WindowTestUtils.java +++ b/services/tests/servicestests/src/com/android/server/wm/WindowTestUtils.java @@ -78,7 +78,7 @@ public class WindowTestUtils { */ public static class TestTaskStack extends TaskStack { TestTaskStack(WindowManagerService service, int stackId) { - super(service, stackId); + super(service, stackId, null); } @Override |