diff options
| -rw-r--r-- | services/core/java/com/android/server/inputmethod/ImeVisibilityStateComputer.java | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/inputmethod/ImeVisibilityStateComputer.java b/services/core/java/com/android/server/inputmethod/ImeVisibilityStateComputer.java index 795e4bf9d5cb..db61e954893e 100644 --- a/services/core/java/com/android/server/inputmethod/ImeVisibilityStateComputer.java +++ b/services/core/java/com/android/server/inputmethod/ImeVisibilityStateComputer.java @@ -380,7 +380,12 @@ public final class ImeVisibilityStateComputer { } break; case WindowManager.LayoutParams.SOFT_INPUT_STATE_UNCHANGED: - // Do nothing. + // Do nothing but preserving the last IME requested visibility state. + final ImeTargetWindowState lastState = + getWindowStateOrNull(mService.mLastImeTargetWindow); + if (lastState != null) { + state.setRequestedImeVisible(lastState.mRequestedImeVisible); + } break; case WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN: if (isForwardNavigation) { |