From 32b812054cce27d1c70b53ba8ac729c7186b105e Mon Sep 17 00:00:00 2001 From: satok Date: Wed, 19 Dec 2012 21:06:57 +0900 Subject: 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 --- services/java/com/android/server/InputMethodManagerService.java | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'services') 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>> enabledInputMethodsList = mSettings .getEnabledInputMethodsAndSubtypeListLocked(); + if (DEBUG) { + Slog.d(TAG, (enabled ? "Enable " : "Disable ") + id); + } if (enabled) { for (Pair> pair: enabledInputMethodsList) { if (pair.first.equals(id)) { -- cgit v1.1