From 649c160cb4d89efa806ea8dfe89892259ced967c Mon Sep 17 00:00:00 2001 From: Wale Ogunwale Date: Mon, 24 Apr 2017 10:15:31 -0700 Subject: [PATCH] Don't specify stack bounds for unsizeable home stack in dock mode Doing so will put the stack in multi-window mode which means it can't affect the device orientation which can cause the app to to put in a configuration it doesn't support when in split-screen multi-window mode. Test: manual Change-Id: I9f08187d8880c8f2b486f477123342a9a2f7effc Fixes: 37334914 --- .../java/com/android/server/wm/TaskStack.java | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/services/core/java/com/android/server/wm/TaskStack.java b/services/core/java/com/android/server/wm/TaskStack.java index 1feb743b66dcf..da7a9f0ec58ff 100644 --- a/services/core/java/com/android/server/wm/TaskStack.java +++ b/services/core/java/com/android/server/wm/TaskStack.java @@ -733,10 +733,17 @@ public class TaskStack extends WindowContainer implements DimLayer.DimLaye outTempTaskBounds.setEmpty(); // When the home stack is resizable, should always have the same stack and task bounds - if (mStackId == HOME_STACK_ID && findHomeTask().isResizeable()) { - // Calculate the home stack bounds when in docked mode - getDisplayContent().mDividerControllerLocked - .getHomeStackBoundsInDockedMode(outStackBounds); + if (mStackId == HOME_STACK_ID) { + if (findHomeTask().isResizeable()) { + // Calculate the home stack bounds when in docked mode and the home stack is + // resizeable. + getDisplayContent().mDividerControllerLocked + .getHomeStackBoundsInDockedMode(outStackBounds); + } else { + // Home stack isn't resizeable, so don't specify stack bounds. + outStackBounds.setEmpty(); + } + outTempTaskBounds.set(outStackBounds); return; }