summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--services/java/com/android/server/InputMethodManagerService.java11
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() : "");
}