diff --git a/services/core/java/com/android/server/wm/NonAppWindowAnimationAdapter.java b/services/core/java/com/android/server/wm/NonAppWindowAnimationAdapter.java index b1e12b685fb4e..d230936b5d51b 100644 --- a/services/core/java/com/android/server/wm/NonAppWindowAnimationAdapter.java +++ b/services/core/java/com/android/server/wm/NonAppWindowAnimationAdapter.java @@ -99,8 +99,10 @@ class NonAppWindowAnimationAdapter implements AnimationAdapter { final WindowManagerPolicy policy = service.mPolicy; service.mRoot.forAllWindows(nonAppWindow -> { + // Animation on the IME window is controlled via Insets. if (nonAppWindow.mActivityRecord == null && policy.canBeHiddenByKeyguardLw(nonAppWindow) - && nonAppWindow.wouldBeVisibleIfPolicyIgnored() && !nonAppWindow.isVisible()) { + && nonAppWindow.wouldBeVisibleIfPolicyIgnored() && !nonAppWindow.isVisible() + && nonAppWindow != service.mRoot.getCurrentInputMethodWindow()) { final NonAppWindowAnimationAdapter nonAppAdapter = new NonAppWindowAnimationAdapter( nonAppWindow, durationHint, statusBarTransitionDelay); adaptersOut.add(nonAppAdapter);