Merge "Fix showSoftInput crashing when no IME is enabled" into tm-dev

This commit is contained in:
TreeHugger Robot
2022-02-22 16:25:36 +00:00
committed by Android (Google) Code Review
2 changed files with 9 additions and 6 deletions

View File

@@ -54,13 +54,11 @@ public final class ImeFocusController {
@NonNull
private InputMethodManagerDelegate getImmDelegate() {
InputMethodManagerDelegate delegate = mDelegate;
if (delegate != null) {
return delegate;
if (mDelegate == null) {
mDelegate = mViewRootImpl.mContext.getSystemService(
InputMethodManager.class).getDelegate();
}
delegate = mViewRootImpl.mContext.getSystemService(InputMethodManager.class).getDelegate();
mDelegate = delegate;
return delegate;
return mDelegate;
}
/** Called when the view root is moved to a different display. */

View File

@@ -408,6 +408,11 @@ final class InputMethodBindingController {
@GuardedBy("ImfLock.class")
@NonNull
InputBindResult bindCurrentMethod() {
if (mSelectedMethodId == null) {
Slog.e(TAG, "mSelectedMethodId is null!");
return InputBindResult.NO_IME;
}
InputMethodInfo info = mMethodMap.get(mSelectedMethodId);
if (info == null) {
throw new IllegalArgumentException("Unknown id: " + mSelectedMethodId);