diff --git a/services/core/java/com/android/server/wm/TaskStack.java b/services/core/java/com/android/server/wm/TaskStack.java index 308cba0a8c6bb..1852b4c9a23db 100644 --- a/services/core/java/com/android/server/wm/TaskStack.java +++ b/services/core/java/com/android/server/wm/TaskStack.java @@ -383,12 +383,6 @@ public class TaskStack implements DimLayer.DimLayerUser, } private boolean updateBoundsAfterConfigChange() { - if (mFullscreen) { - // Bounds will already be set correctly when display info is updated in the case of - // fullscreen. - return false; - } - final int newRotation = getDisplayInfo().rotation; final int newDensity = getDisplayInfo().logicalDensityDpi; @@ -397,6 +391,13 @@ public class TaskStack implements DimLayer.DimLayerUser, return false; } + if (mFullscreen) { + // Update stack bounds again since rotation changed since updateDisplayInfo(). + setBounds(null); + // Return false since we don't need the client to resize. + return false; + } + final int oldDockSide = mStackId == DOCKED_STACK_ID ? getDockSide() : DOCKED_INVALID; mTmpRect2.set(mBounds); mDisplayContent.rotateBounds(mRotation, newRotation, mTmpRect2);