commit | 0024a31d9bef55dfb96415e3056ecf905c3cf532 | [log] [tgz] |
---|---|---|
author | tanxiaoyan <tanxiaoyan@xiaomi.com> | Wed Aug 14 17:24:50 2024 +0800 |
committer | tanxiaoyan <tanxiaoyan@xiaomi.com> | Thu Aug 15 16:09:52 2024 +0800 |
tree | ab55eb7b37c8bc2c7f6d2c57f25b8088d2a4117d | |
parent | b90b46a543cac12c0025dc5639ad52410fc51d6e [diff] |
Should update surface position of the window before report resize Bug:359766320 Change-Id: I20b0440ad7195745cdf1ec2cb6164fea2b69654a Signed-off-by: tanxiaoyan <tanxiaoyan@xiaomi.com>
diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java index 07a03eb..762fa07 100644 --- a/services/core/java/com/android/server/wm/RootWindowContainer.java +++ b/services/core/java/com/android/server/wm/RootWindowContainer.java
@@ -996,6 +996,7 @@ // complete configuration. continue; } + win.updateSurfacePositionIfNeeded(); win.reportResized(); mWmService.mResizingWindows.remove(i); }
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 4bea18a..b7446d9 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -5190,6 +5190,14 @@ super.prepareSurfaces(); } + void updateSurfacePositionIfNeeded() { + if (mWindowFrames.mRelFrame.top == mWindowFrames.mLastRelFrame.top + && mWindowFrames.mRelFrame.left == mWindowFrames.mLastRelFrame.left) { + return; + } + updateSurfacePosition(getSyncTransaction()); + } + @Override @VisibleForTesting void updateSurfacePosition(Transaction t) {