Merge "Finish sync for relayout a drawn window" into tm-qpr-dev
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index 9db5170..63344a0 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 @@
&& 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;
}