diff options
| -rw-r--r-- | services/core/java/com/android/server/wm/DockedStackDividerController.java | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/wm/DockedStackDividerController.java b/services/core/java/com/android/server/wm/DockedStackDividerController.java index 6f0a43a20e8a..d62a861fdb57 100644 --- a/services/core/java/com/android/server/wm/DockedStackDividerController.java +++ b/services/core/java/com/android/server/wm/DockedStackDividerController.java @@ -658,6 +658,14 @@ public class DockedStackDividerController implements DimLayerUser { mDelayedImeWin = imeWin; imeWin.mWinAnimator.startDelayingAnimationStart(); } + + // If we are already waiting for something to be drawn, clear out the old one so it + // still gets executed. + // TODO: Have a real system where we can wait on different windows to be drawn with + // different callbacks. + if (mService.mWaitingForDrawnCallback != null) { + mService.mWaitingForDrawnCallback.run(); + } mService.mWaitingForDrawnCallback = () -> { mAnimationStartDelayed = false; if (mDelayedImeWin != null) { |