summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Cosmin Băieș <cosminbaies@google.com> 2024-08-19 12:05:50 +0200
committer Cosmin Băieș <cosminbaies@google.com> 2024-08-19 12:05:50 +0200
commit5f1f785258fa3615ad22f7c59a9ad10f9c22f09d (patch)
tree14ef71fb524e7997d0185cc7d4f0096e923714c8
parent1a16f030803e5ec4669748602782fcd60a5aa88c (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.java6
-rw-r--r--services/core/java/com/android/server/inputmethod/InputMethodSubtypeSwitchingController.java5
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);