diff options
| -rw-r--r-- | core/java/android/view/ImeFocusController.java | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/core/java/android/view/ImeFocusController.java b/core/java/android/view/ImeFocusController.java index fc8885ba00ca..4f2b62155c48 100644 --- a/core/java/android/view/ImeFocusController.java +++ b/core/java/android/view/ImeFocusController.java @@ -74,9 +74,10 @@ public final class ImeFocusController { } mHasImeFocus = hasImeFocus; if (mHasImeFocus) { - onPreWindowFocus(true /* hasWindowFocus */, windowAttribute); - onPostWindowFocus(mViewRootImpl.mView.findFocus(), true /* hasWindowFocus */, - windowAttribute); + getImmDelegate().onPreWindowGainedFocus(mViewRootImpl); + final View focusedView = mViewRootImpl.mView.findFocus(); + View viewForWindowFocus = focusedView != null ? focusedView : mViewRootImpl.mView; + getImmDelegate().onPostWindowGainedFocus(viewForWindowFocus, windowAttribute); } } |