diff options
| author | 2022-11-24 16:24:48 +0000 | |
|---|---|---|
| committer | 2022-11-24 16:24:48 +0000 | |
| commit | 4d18e2d5582b6e9e33049959561e97ac0af40b51 (patch) | |
| tree | 341fd5e07646b26fbb22bb4a7c3d02ff12ff31ee | |
| parent | fb3ae6329091a62abb161b514aab3b8262e448af (diff) | |
| parent | 0078150dd5e00b09298967c2b95adf9836a2e1ab (diff) | |
Merge "Finish sync for relayout a drawn window" into tm-qpr-dev
| -rw-r--r-- | services/core/java/com/android/server/wm/WindowManagerService.java | 6 | 
1 files changed, 6 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 9db5170897a8..63344a0e8678 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -2587,6 +2587,12 @@ public class WindowManagerService extends IWindowManager.Stub                          && win.mSyncSeqId > lastSyncSeqId) {                      maybeSyncSeqId = win.shouldSyncWithBuffers() ? win.mSyncSeqId : -1;                      win.markRedrawForSyncReported(); +                    if (win.mSyncState == WindowContainer.SYNC_STATE_WAITING_FOR_DRAW +                            && winAnimator.mDrawState == WindowStateAnimator.HAS_DRAWN +                            && maybeSyncSeqId < 0) { +                        // Do not wait for a drawn window which won't report draw. +                        win.onSyncFinishedDrawing(); +                    }                  } else {                      maybeSyncSeqId = -1;                  } |