Merge "Make sure at least one IME is enabled." into nyc-dev

This commit is contained in:
Yohei Yukawa
2016-02-17 21:36:40 +00:00
committed by Android (Google) Code Review

View File

@@ -3004,6 +3004,25 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
}
}
// TODO: The following code should find better place to live.
if (!resetDefaultEnabledIme) {
boolean enabledImeFound = false;
final List<InputMethodInfo> enabledImes = mSettings.getEnabledInputMethodListLocked();
final int N = enabledImes.size();
for (int i = 0; i < N; ++i) {
final InputMethodInfo imi = enabledImes.get(i);
if (mMethodList.contains(imi)) {
enabledImeFound = true;
break;
}
}
if (!enabledImeFound) {
Slog.i(TAG, "All the enabled IMEs are gone. Reset default enabled IMEs.");
resetDefaultEnabledIme = true;
resetSelectedInputMethodAndSubtypeLocked("");
}
}
if (resetDefaultEnabledIme) {
final ArrayList<InputMethodInfo> defaultEnabledIme =
InputMethodUtils.getDefaultEnabledImes(mContext, mSystemReady, mMethodList);