Fix: Reporting wrong main dictionary availability.
Bug: 13965806
Change-Id: Ida2234ab8cb7785ec5efd433a58949bf21c44351
diff --git a/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java b/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java
index 0b6258a..331384f 100644
--- a/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java
+++ b/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java
@@ -217,9 +217,6 @@
// Replace Dictionaries.
final Dictionaries newDictionaries = new Dictionaries(newLocale, newMainDict,
newContactsDict, newUserDictionary, newUserHistoryDict, newPersonalizationDict);
- if (listener != null) {
- listener.onUpdateMainDictionaryAvailability(newDictionaries.hasMainDict());
- }
final Dictionaries oldDictionaries;
synchronized (mLock) {
oldDictionaries = mDictionaries;
@@ -228,6 +225,9 @@
asyncReloadMainDictionary(context, newLocale, listener);
}
}
+ if (listener != null) {
+ listener.onUpdateMainDictionaryAvailability(hasInitializedMainDictionary());
+ }
// Clean up old dictionaries.
oldDictionaries.mDictMap.clear();
@@ -266,7 +266,7 @@
}
}
if (listener != null) {
- listener.onUpdateMainDictionaryAvailability(mDictionaries.hasMainDict());
+ listener.onUpdateMainDictionaryAvailability(hasInitializedMainDictionary());
}
latchForWaitingLoadingMainDictionary.countDown();
}