diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index cf73def6c6ecc..f2f3cefae8a5e 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -5863,6 +5863,10 @@ class WindowState extends WindowContainer implements WindowManagerP @Override boolean prepareForSync(BLASTSyncEngine.TransactionReadyListener waitingListener, int waitingId) { + // If the window is goneForLayout, relayout won't be called so we'd just wait forever. + if (isGoneForLayout()) { + return false; + } boolean willSync = setPendingListener(waitingListener, waitingId); if (!willSync) { return false;