diff --git a/core/java/android/view/ImeFocusController.java b/core/java/android/view/ImeFocusController.java index 4f2b62155c488..fa647d7e9c004 100644 --- a/core/java/android/view/ImeFocusController.java +++ b/core/java/android/view/ImeFocusController.java @@ -65,7 +65,8 @@ public final class ImeFocusController { @UiThread void onTraversal(boolean hasWindowFocus, WindowManager.LayoutParams windowAttribute) { - final boolean hasImeFocus = updateImeFocusable(windowAttribute, false /* force */); + final boolean hasImeFocus = WindowManager.LayoutParams.mayUseInputMethod( + windowAttribute.flags); if (!hasWindowFocus || isInLocalFocusMode(windowAttribute)) { return; } @@ -83,22 +84,13 @@ public final class ImeFocusController { @UiThread void onPreWindowFocus(boolean hasWindowFocus, WindowManager.LayoutParams windowAttribute) { + mHasImeFocus = WindowManager.LayoutParams.mayUseInputMethod(windowAttribute.flags); if (!hasWindowFocus || !mHasImeFocus || isInLocalFocusMode(windowAttribute)) { return; } getImmDelegate().onPreWindowGainedFocus(mViewRootImpl); } - @UiThread - boolean updateImeFocusable(WindowManager.LayoutParams windowAttribute, boolean force) { - final boolean hasImeFocus = WindowManager.LayoutParams.mayUseInputMethod( - windowAttribute.flags); - if (force) { - mHasImeFocus = hasImeFocus; - } - return hasImeFocus; - } - @UiThread void onPostWindowFocus(View focusedView, boolean hasWindowFocus, WindowManager.LayoutParams windowAttribute) { diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 127d9f99fb58f..58c81260076be 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -3798,7 +3798,6 @@ public final class ViewRootImpl implements ViewParent, } mAttachInfo.mHasWindowFocus = hasWindowFocus; - mImeFocusController.updateImeFocusable(mWindowAttributes, true /* force */); mImeFocusController.onPreWindowFocus(hasWindowFocus, mWindowAttributes); if (mView != null) {