diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 4266e9c45f76e..0b66959ec4bc8 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -9161,7 +9161,8 @@ public class WindowManagerService extends IWindowManager.Stub + " " + w.mOutsets.toShortString() + " surfaceResized=" + winAnimator.mSurfaceResized + " configChanged=" + configChanged - + " dragResizingChanged=" + dragResizingChanged); + + " dragResizingChanged=" + dragResizingChanged + + " resizedWhileNotDragResizing=" + w.mResizedWhileNotDragResizing); } // If it's a dead window left on screen, and the configuration changed, diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 76fdda0175f0f..2c5b035741569 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -2266,9 +2266,11 @@ final class WindowState implements WindowManagerPolicy.WindowState { private void dispatchResized(Rect frame, Rect overscanInsets, Rect contentInsets, Rect visibleInsets, Rect stableInsets, Rect outsets, boolean reportDraw, Configuration newConfig) throws RemoteException { + final boolean forceRelayout = isDragResizeChanged() || mResizedWhileNotDragResizing; + mClient.resized(frame, overscanInsets, contentInsets, visibleInsets, stableInsets, outsets, reportDraw, newConfig, getBackdropFrame(frame), - isDragResizeChanged() /* forceRelayout */, mPolicy.isNavBarForcedShownLw(this)); + forceRelayout, mPolicy.isNavBarForcedShownLw(this)); mDragResizingChangeReported = true; }