diff options
-rw-r--r-- | services/java/com/android/server/InputMethodManagerService.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/services/java/com/android/server/InputMethodManagerService.java b/services/java/com/android/server/InputMethodManagerService.java index 2d41f43..fdb278d 100644 --- a/services/java/com/android/server/InputMethodManagerService.java +++ b/services/java/com/android/server/InputMethodManagerService.java @@ -2668,7 +2668,16 @@ public class InputMethodManagerService extends IInputMethodManager.Stub } } - if (!setSubtypeOnly) { + // Workaround. + // ASEC is not ready in the IMMS constructor. Accordingly, forward-locked + // IMEs are not recognized and considered uninstalled. + // Actually, we can't move everything after SystemReady because + // IMMS needs to run in the encryption lock screen. So, we just skip changing + // the default IME here and try cheking the default IME again in systemReady(). + // TODO: Do nothing before system ready and implement a separated logic for + // the encryption lock screen. + // TODO: ASEC should be ready before IMMS is instantiated. + if (mSystemReady && !setSubtypeOnly) { // Set InputMethod here mSettings.putSelectedInputMethod(imi != null ? imi.getId() : ""); } |