diff options
| author | 2024-08-19 12:05:50 +0200 | |
|---|---|---|
| committer | 2024-08-19 12:05:50 +0200 | |
| commit | 5f1f785258fa3615ad22f7c59a9ad10f9c22f09d (patch) | |
| tree | 14ef71fb524e7997d0185cc7d4f0096e923714c8 | |
| parent | 1a16f030803e5ec4669748602782fcd60a5aa88c (diff) | |
Check IME info nullability before switching
This moves the nullability check of the input method info outside of the
InputMethodSubtypeSwitchingController, to maintain consistency with
other methods.
Flag: EXEMPT refactor
Bug: 347693610
Test: presubmit
Change-Id: I4141d1c909b8d96fd6ee7bf72cd82a0f2e0ef6d0
| -rw-r--r-- | services/core/java/com/android/server/inputmethod/InputMethodManagerService.java | 6 | ||||
| -rw-r--r-- | services/core/java/com/android/server/inputmethod/InputMethodSubtypeSwitchingController.java | 5 |
2 files changed, 7 insertions, 4 deletions
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java index 36542837e582..f34b4e9e9042 100644 --- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java +++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java @@ -4233,6 +4233,9 @@ public final class InputMethodManagerService implements IInputMethodManagerImpl. @NonNull UserData userData) { final var bindingController = userData.mBindingController; final var currentImi = bindingController.getSelectedMethod(); + if (currentImi == null) { + return false; + } final ImeSubtypeListItem nextSubtype = userData.mSwitchingController .getNextInputMethodLocked(onlyCurrentIme, currentImi, bindingController.getCurrentSubtype(), @@ -4250,6 +4253,9 @@ public final class InputMethodManagerService implements IInputMethodManagerImpl. private boolean shouldOfferSwitchingToNextInputMethodLocked(@NonNull UserData userData) { final var bindingController = userData.mBindingController; final var currentImi = bindingController.getSelectedMethod(); + if (currentImi == null) { + return false; + } final ImeSubtypeListItem nextSubtype = userData.mSwitchingController .getNextInputMethodLocked(false /* onlyCurrentIme */, currentImi, bindingController.getCurrentSubtype(), diff --git a/services/core/java/com/android/server/inputmethod/InputMethodSubtypeSwitchingController.java b/services/core/java/com/android/server/inputmethod/InputMethodSubtypeSwitchingController.java index 202543c7e7a5..96b3e084d102 100644 --- a/services/core/java/com/android/server/inputmethod/InputMethodSubtypeSwitchingController.java +++ b/services/core/java/com/android/server/inputmethod/InputMethodSubtypeSwitchingController.java @@ -686,11 +686,8 @@ final class InputMethodSubtypeSwitchingController { */ @Nullable public ImeSubtypeListItem getNextInputMethodLocked(boolean onlyCurrentIme, - @Nullable InputMethodInfo imi, @Nullable InputMethodSubtype subtype, + @NonNull InputMethodInfo imi, @Nullable InputMethodSubtype subtype, @SwitchMode int mode, boolean forward) { - if (imi == null) { - return null; - } if (Flags.imeSwitcherRevamp()) { return mRotationList.next(imi, subtype, onlyCurrentIme, isRecency(mode, forward), forward); |