Handle IME hide internal state correctly. am: e68d6f53ce am: f6244ab6ae
Change-Id: Ica97ea1bf1589a8054d5bed38fced20a2e5ab17b
This commit is contained in:
@@ -878,8 +878,7 @@ public class InputMethodService extends AbstractInputMethodService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void notifyImeHidden() {
|
private void notifyImeHidden() {
|
||||||
setImeWindowStatus(IME_ACTIVE | IME_INVISIBLE, mBackDisposition);
|
doHideWindow();
|
||||||
onPreRenderedWindowVisibilityChanged(false /* setVisible */);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeImeSurface() {
|
private void removeImeSurface() {
|
||||||
@@ -2284,7 +2283,9 @@ public class InputMethodService extends AbstractInputMethodService {
|
|||||||
if (mDecorViewVisible) {
|
if (mDecorViewVisible) {
|
||||||
// When insets API is enabled, it is responsible for client and server side
|
// When insets API is enabled, it is responsible for client and server side
|
||||||
// visibility of IME window.
|
// visibility of IME window.
|
||||||
if (!isVisibilityAppliedUsingInsetsConsumer()) {
|
if (isVisibilityAppliedUsingInsetsConsumer()) {
|
||||||
|
mInputView.dispatchWindowVisibilityChanged(View.GONE);
|
||||||
|
} else {
|
||||||
mWindow.hide();
|
mWindow.hide();
|
||||||
}
|
}
|
||||||
mDecorViewVisible = false;
|
mDecorViewVisible = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user