summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/wm/WindowStateAnimator.java7
1 files changed, 4 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java
index 563710b9e41b..b25383b15421 100644
--- a/services/core/java/com/android/server/wm/WindowStateAnimator.java
+++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java
@@ -1381,7 +1381,8 @@ class WindowStateAnimator {
return true;
}
- if (isEntrance && mWin.mAttrs.type == TYPE_INPUT_METHOD) {
+ final boolean isImeWindow = mWin.mAttrs.type == TYPE_INPUT_METHOD;
+ if (isEntrance && isImeWindow) {
mWin.getDisplayContent().adjustForImeIfNeeded();
mWin.setDisplayLayoutNeeded();
mService.mWindowPlacerLocked.requestTraversal();
@@ -1435,11 +1436,11 @@ class WindowStateAnimator {
Trace.traceEnd(Trace.TRACE_TAG_WINDOW_MANAGER);
mAnimationIsEntrance = isEntrance;
}
- } else {
+ } else if (!isImeWindow) {
mWin.cancelAnimation();
}
- if (!isEntrance && mWin.mAttrs.type == TYPE_INPUT_METHOD) {
+ if (!isEntrance && isImeWindow) {
mWin.getDisplayContent().adjustForImeIfNeeded();
}