Fix showSoftInput crashing when no IME is enabled

This CL adds a shortcut for bindCurrentMethod in
InputMethodBindingController to return NO_IME instead of
crashing in the rare case when no IME is enabled in the system.

Bug: 220125769
Test: atest InputMethodServiceTest#testShowSoftInput_whenAllImesDisabled
Change-Id: I7da6ed7f2b80331c469751b7091c340422df40a8
(cherry picked from commit 107035849e)
Merged-In:I7da6ed7f2b80331c469751b7091c340422df40a8
This commit is contained in:
Nikolas Havrikov
2022-02-18 14:33:01 +01:00
committed by Cherrypicker Worker
parent 3e4365b8ed
commit 1755df787d

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);