Handle IME hide internal state correctly. am: e68d6f53ce

Change-Id: I37e79cbe6507411b5ab45f89a5fd5d010b09a79c
This commit is contained in:
Taran Singh
2020-03-19 23:23:15 +00:00
committed by Automerger Merge Worker

View File

@@ -878,8 +878,7 @@ public class InputMethodService extends AbstractInputMethodService {
}
private void notifyImeHidden() {
setImeWindowStatus(IME_ACTIVE | IME_INVISIBLE, mBackDisposition);
onPreRenderedWindowVisibilityChanged(false /* setVisible */);
doHideWindow();
}
private void removeImeSurface() {
@@ -2284,7 +2283,9 @@ public class InputMethodService extends AbstractInputMethodService {
if (mDecorViewVisible) {
// When insets API is enabled, it is responsible for client and server side
// visibility of IME window.
if (!isVisibilityAppliedUsingInsetsConsumer()) {
if (isVisibilityAppliedUsingInsetsConsumer()) {
mInputView.dispatchWindowVisibilityChanged(View.GONE);
} else {
mWindow.hide();
}
mDecorViewVisible = false;