diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java index 124b8a654a785..85be10820044a 100644 --- a/services/core/java/com/android/server/wm/DisplayContent.java +++ b/services/core/java/com/android/server/wm/DisplayContent.java @@ -5689,7 +5689,16 @@ class DisplayContent extends RootDisplayArea implements WindowManagerPolicy.Disp void getKeepClearAreas(Set outRestricted, Set outUnrestricted) { final Matrix tmpMatrix = new Matrix(); final float[] tmpFloat9 = new float[9]; + final RecentsAnimationController recentsAnimationController = + mWmService.getRecentsAnimationController(); forAllWindows(w -> { + // Skip the window if it is part of Recents animation + final boolean ignoreRecentsAnimationTarget = recentsAnimationController != null + && recentsAnimationController.shouldApplyInputConsumer(w.getActivityRecord()); + if (ignoreRecentsAnimationTarget) { + return false; // continue traversal + } + if (w.isVisible() && !w.inPinnedWindowingMode()) { w.getKeepClearAreas(outRestricted, outUnrestricted, tmpMatrix, tmpFloat9); }