Loading core/java/android/view/ImeFocusController.java +5 −7 Original line number Diff line number Diff line Loading @@ -82,12 +82,10 @@ public final class ImeFocusController { @UiThread void onPreWindowFocus(boolean hasWindowFocus, WindowManager.LayoutParams windowAttribute) { if (!mHasImeFocus || isInLocalFocusMode(windowAttribute)) { if (!hasWindowFocus || !mHasImeFocus || isInLocalFocusMode(windowAttribute)) { return; } if (hasWindowFocus) { getImmDelegate().setCurrentRootView(mViewRootImpl); } getImmDelegate().onPreWindowGainedFocus(mViewRootImpl); } @UiThread Loading @@ -113,7 +111,7 @@ public final class ImeFocusController { windowAttribute.softInputMode)); } getImmDelegate().onPostWindowFocus(viewForWindowFocus, windowAttribute); getImmDelegate().onPostWindowGainedFocus(viewForWindowFocus, windowAttribute); } /** Loading Loading @@ -187,7 +185,8 @@ public final class ImeFocusController { * @hide */ public interface InputMethodManagerDelegate { void onPostWindowFocus(View viewForWindowFocus, void onPreWindowGainedFocus(ViewRootImpl viewRootImpl); void onPostWindowGainedFocus(View viewForWindowFocus, @NonNull WindowManager.LayoutParams windowAttribute); void onViewFocusChanged(@NonNull View view, boolean hasFocus); boolean checkFocus(boolean forceNewFocus, boolean startInput, ViewRootImpl viewRootImpl); Loading @@ -195,7 +194,6 @@ public final class ImeFocusController { void onWindowDismissed(ViewRootImpl viewRootImpl); void finishInputAndReportToIme(); void setCurrentRootView(ViewRootImpl rootView); boolean isCurrentRootView(ViewRootImpl rootView); } Loading core/java/android/view/inputmethod/InputMethodManager.java +13 −11 Original line number Diff line number Diff line Loading @@ -759,7 +759,14 @@ public final class InputMethodManager { } @Override public void onPostWindowFocus(View viewForWindowFocus, public void onPreWindowGainedFocus(ViewRootImpl viewRootImpl) { synchronized (mH) { setCurrentRootViewLocked(viewRootImpl); } } @Override public void onPostWindowGainedFocus(View viewForWindowFocus, @NonNull WindowManager.LayoutParams windowAttribute) { boolean forceFocus = false; synchronized (mH) { Loading Loading @@ -932,20 +939,15 @@ public final class InputMethodManager { if (mServedView != null) { finishInputLocked(); } setCurrentRootView(null); setCurrentRootViewLocked(null); } } /** * Used for {@link ImeFocusController} to set the current focused root view. */ @Override public void setCurrentRootView(ViewRootImpl rootView) { synchronized (mH) { @GuardedBy("mH") private void setCurrentRootViewLocked(ViewRootImpl rootView) { mImeDispatcher.switchRootView(mCurRootView, rootView); mCurRootView = rootView; } } /** * Used for {@link ImeFocusController} to return if the root view from the Loading Loading
core/java/android/view/ImeFocusController.java +5 −7 Original line number Diff line number Diff line Loading @@ -82,12 +82,10 @@ public final class ImeFocusController { @UiThread void onPreWindowFocus(boolean hasWindowFocus, WindowManager.LayoutParams windowAttribute) { if (!mHasImeFocus || isInLocalFocusMode(windowAttribute)) { if (!hasWindowFocus || !mHasImeFocus || isInLocalFocusMode(windowAttribute)) { return; } if (hasWindowFocus) { getImmDelegate().setCurrentRootView(mViewRootImpl); } getImmDelegate().onPreWindowGainedFocus(mViewRootImpl); } @UiThread Loading @@ -113,7 +111,7 @@ public final class ImeFocusController { windowAttribute.softInputMode)); } getImmDelegate().onPostWindowFocus(viewForWindowFocus, windowAttribute); getImmDelegate().onPostWindowGainedFocus(viewForWindowFocus, windowAttribute); } /** Loading Loading @@ -187,7 +185,8 @@ public final class ImeFocusController { * @hide */ public interface InputMethodManagerDelegate { void onPostWindowFocus(View viewForWindowFocus, void onPreWindowGainedFocus(ViewRootImpl viewRootImpl); void onPostWindowGainedFocus(View viewForWindowFocus, @NonNull WindowManager.LayoutParams windowAttribute); void onViewFocusChanged(@NonNull View view, boolean hasFocus); boolean checkFocus(boolean forceNewFocus, boolean startInput, ViewRootImpl viewRootImpl); Loading @@ -195,7 +194,6 @@ public final class ImeFocusController { void onWindowDismissed(ViewRootImpl viewRootImpl); void finishInputAndReportToIme(); void setCurrentRootView(ViewRootImpl rootView); boolean isCurrentRootView(ViewRootImpl rootView); } Loading
core/java/android/view/inputmethod/InputMethodManager.java +13 −11 Original line number Diff line number Diff line Loading @@ -759,7 +759,14 @@ public final class InputMethodManager { } @Override public void onPostWindowFocus(View viewForWindowFocus, public void onPreWindowGainedFocus(ViewRootImpl viewRootImpl) { synchronized (mH) { setCurrentRootViewLocked(viewRootImpl); } } @Override public void onPostWindowGainedFocus(View viewForWindowFocus, @NonNull WindowManager.LayoutParams windowAttribute) { boolean forceFocus = false; synchronized (mH) { Loading Loading @@ -932,20 +939,15 @@ public final class InputMethodManager { if (mServedView != null) { finishInputLocked(); } setCurrentRootView(null); setCurrentRootViewLocked(null); } } /** * Used for {@link ImeFocusController} to set the current focused root view. */ @Override public void setCurrentRootView(ViewRootImpl rootView) { synchronized (mH) { @GuardedBy("mH") private void setCurrentRootViewLocked(ViewRootImpl rootView) { mImeDispatcher.switchRootView(mCurRootView, rootView); mCurRootView = rootView; } } /** * Used for {@link ImeFocusController} to return if the root view from the Loading