diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 84a9c750d2d36..6dcd903253547 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -5872,6 +5872,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;