diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 6d572d78b9d71..48060686a1de4 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -1532,6 +1532,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 =