diff options
| author | 2024-05-02 11:32:34 +0000 | |
|---|---|---|
| committer | 2024-05-02 11:32:34 +0000 | |
| commit | c67cb4541abb53b5a6e269837f99d92f7cc8160f (patch) | |
| tree | ff89fd7cf2686a38d6c9e4d60143b1c1be1fa118 | |
| parent | 43f507749c8e0e3b862050c40db219627a7326ea (diff) | |
| parent | 79077a65fb961c4864bbd11705fbd5dd5659d0d0 (diff) | |
Merge "Allow no item selected in IME Switcher Menu" into main
| -rw-r--r-- | services/core/java/com/android/server/inputmethod/InputMethodMenuController.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodMenuController.java b/services/core/java/com/android/server/inputmethod/InputMethodMenuController.java index 3bd0a9fa1f4b..326ef7e055fa 100644 --- a/services/core/java/com/android/server/inputmethod/InputMethodMenuController.java +++ b/services/core/java/com/android/server/inputmethod/InputMethodMenuController.java @@ -98,7 +98,10 @@ final class InputMethodMenuController { final int size = imList.size(); mIms = new InputMethodInfo[size]; mSubtypeIds = new int[size]; - int checkedItem = 0; + // No items are checked by default. When we have a list of explicitly enabled subtypes, + // the implicit subtype is no longer listed, but if it is still the selected one, + // no items will be shown as checked. + int checkedItem = -1; for (int i = 0; i < size; ++i) { final ImeSubtypeListItem item = imList.get(i); mIms[i] = item.mImi; @@ -113,6 +116,12 @@ final class InputMethodMenuController { } } + if (checkedItem == -1) { + Slog.w(TAG, "Switching menu shown with no item selected" + + ", IME id: " + preferredInputMethodId + + ", subtype index: " + preferredInputMethodSubtypeId); + } + if (mDialogWindowContext == null) { mDialogWindowContext = new InputMethodDialogWindowContext(); } |