diff options
author | 2025-03-16 19:27:54 -0700 | |
---|---|---|
committer | 2025-03-16 19:27:54 -0700 | |
commit | c4c91e49e3157510e65ea4bc032e1930a5956b5b (patch) | |
tree | 29292c814bab75ef439ed09a76eccce82d2fe771 | |
parent | a925685baa95a3bc9342837b59fe5b0a085c5da3 (diff) | |
parent | 140f7c623627de82baa5b74c25da6486e4f11645 (diff) |
Merge "Ensure that the resize can be triggered properly" into main
-rw-r--r-- | services/core/java/com/android/server/wm/WindowManagerService.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index fb8621d9113c..09ff1aae4d7b 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -2546,6 +2546,14 @@ public class WindowManagerService extends IWindowManager.Stub // in the new out values right now we need to force a layout. mWindowPlacerLocked.performSurfacePlacement(true /* force */); + if (!win.mHaveFrame && displayContent.mWaitingForConfig) { + // We just forcibly triggered the layout, but this could still be intercepted by + // mWaitingForConfig. Here, we are forcefully marking a value for mLayoutSeq to + // ensure that the resize can occur properly later. Otherwise, the window's frame + // will remain empty forever. + win.mLayoutSeq = displayContent.mLayoutSeq; + } + if (shouldRelayout) { Trace.traceBegin(TRACE_TAG_WINDOW_MANAGER, "relayoutWindow: viewVisibility_1"); |