diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 945a349a28fd0..207a627895c42 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -1528,6 +1528,13 @@ class WindowState extends WindowContainer implements WindowManagerP return changed; } + // Next up we will notify the client that it's visibility has changed. + // We need to prevent it from destroying child surfaces until + // the animation has finished. + if (!visible && isVisibleNow()) { + mWinAnimator.detachChildren(); + } + if (visible != isVisibleNow()) { if (!runningAppAnimation) { final AccessibilityController accessibilityController =