summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorsatok <satok@google.com>2012-12-19 21:06:57 +0900
committersatok <satok@google.com>2012-12-19 21:06:57 +0900
commit32b812054cce27d1c70b53ba8ac729c7186b105e (patch)
treeba4d717ddde02773ceb98a1c227123b025eb359c /services
parent858eb008eb3ea720d9c38346706f4d94bd43f917 (diff)
downloadframeworks_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.java9
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)) {