Fix a bug where disabled auxilialy IME is unexpectedly re-enabled

Bug: 7872918

This is a serious issue which the disabled system auxilialy IME is unexpectedly re-enabled by re-building internal IMI cache.

Change-Id: I0727cc973dfaea9823194021ce94af8665b98373
This commit is contained in:
satok
2012-12-19 21:06:57 +09:00
parent 858eb008eb
commit 32b812054c

View File

@ -782,6 +782,9 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
if (!isSystemIme(imi)) {
return false;
}
if (imi.isAuxiliaryIme()) {
return false;
}
if (imi.getIsDefaultResourceId() != 0) {
try {
Resources res = context.createPackageContext(
@ -805,6 +808,9 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
if (!isSystemIme(imi)) {
return false;
}
if (imi.isAuxiliaryIme()) {
return false;
}
return containsSubtypeOf(imi, ENGLISH_LOCALE.getLanguage());
}
@ -2856,6 +2862,9 @@ public class InputMethodManagerService extends IInputMethodManager.Stub
List<Pair<String, ArrayList<String>>> enabledInputMethodsList = mSettings
.getEnabledInputMethodsAndSubtypeListLocked();
if (DEBUG) {
Slog.d(TAG, (enabled ? "Enable " : "Disable ") + id);
}
if (enabled) {
for (Pair<String, ArrayList<String>> pair: enabledInputMethodsList) {
if (pair.first.equals(id)) {