diff options
| -rw-r--r-- | services/core/java/com/android/server/inputmethod/InputMethodManagerService.java | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java index faa219e89aa9..cbbee5dc5755 100644 --- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java @@ -4831,6 +4831,13 @@ public final class InputMethodManagerService extends IInputMethodManager.Stub Slog.w(TAG, "Ignoring setInputMethod of uid " + Binder.getCallingUid() + " token: " + token); return; + } else { + // Called with current IME's token. + if (mMethodMap.get(id) != null + && mSettings.getEnabledInputMethodListWithFilterLocked( + (info) -> info.getId().equals(id)).isEmpty()) { + throw new IllegalStateException("Requested IME is not enabled: " + id); + } } final long ident = Binder.clearCallingIdentity(); |