summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--services/core/java/com/android/server/inputmethod/InputMethodManagerService.java8
1 files changed, 7 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
index 2d7761026239..9de14f1fb9ec 100644
--- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
+++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
@@ -1274,7 +1274,13 @@ public final class InputMethodManagerService implements IInputMethodManagerImpl.
mShowOngoingImeSwitcherForPhones = false;
- // InputMethodSettingsRepository should be initialized before buildInputMethodListLocked
+ // Executing InputMethodSettingsRepository.initialize() does not mean that it
+ // immediately becomes ready to return the up-to-date InputMethodSettings for each
+ // running user, because we want to return from the constructor as early as possible so
+ // as not to delay the system boot process.
+ // Search for InputMethodSettingsRepository.put() to find where and when it's actually
+ // being updated. In general IMMS should refrain from exposing the existence of IMEs
+ // until systemReady().
InputMethodSettingsRepository.initialize(mHandler, mContext);
AdditionalSubtypeMapRepository.initialize(mHandler, mContext);