diff options
author | satok <satok@google.com> | 2012-12-19 21:06:57 +0900 |
---|---|---|
committer | satok <satok@google.com> | 2012-12-19 21:06:57 +0900 |
commit | 32b812054cce27d1c70b53ba8ac729c7186b105e (patch) | |
tree | ba4d717ddde02773ceb98a1c227123b025eb359c /services | |
parent | 858eb008eb3ea720d9c38346706f4d94bd43f917 (diff) | |
download | frameworks_base-32b812054cce27d1c70b53ba8ac729c7186b105e.zip frameworks_base-32b812054cce27d1c70b53ba8ac729c7186b105e.tar.gz frameworks_base-32b812054cce27d1c70b53ba8ac729c7186b105e.tar.bz2 |
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
Diffstat (limited to 'services')
-rw-r--r-- | services/java/com/android/server/InputMethodManagerService.java | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/services/java/com/android/server/InputMethodManagerService.java b/services/java/com/android/server/InputMethodManagerService.java index 94e0bd4..8eb61dd 100644 --- a/services/java/com/android/server/InputMethodManagerService.java +++ b/services/java/com/android/server/InputMethodManagerService.java @@ -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)) { |