diff options
author | 2014-09-11 10:44:50 +0000 | |
---|---|---|
committer | 2014-09-11 10:44:50 +0000 | |
commit | decce7ff2758fc372a802654007c6398aa115d54 (patch) | |
tree | f52b2fab108d4a0e091c546153cea2319b907b61 /java/src/com/android | |
parent | b78c56343b4ce6958c7a66a67dbebbb86dd7e077 (diff) | |
parent | 96f0ae5e68a865d390e3623eebe0fda30c3a62a8 (diff) | |
download | latinime-decce7ff2758fc372a802654007c6398aa115d54.tar.gz latinime-decce7ff2758fc372a802654007c6398aa115d54.tar.xz latinime-decce7ff2758fc372a802654007c6398aa115d54.zip |
am 96f0ae5e: [ML6] Have asyncReloadMainDictionary support multiple locales
* commit '96f0ae5e68a865d390e3623eebe0fda30c3a62a8':
[ML6] Have asyncReloadMainDictionary support multiple locales
Diffstat (limited to 'java/src/com/android')
-rw-r--r-- | java/src/com/android/inputmethod/latin/DictionaryFacilitator.java | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java b/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java index 31ff88e3c..c20546607 100644 --- a/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java +++ b/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java @@ -309,7 +309,7 @@ public class DictionaryFacilitator { mDictionaryGroup = newDictionaryGroup; mIsUserDictEnabled = UserBinaryDictionary.isEnabled(context); if (null == newDictionaryGroup.getDict(Dictionary.TYPE_MAIN)) { - asyncReloadMainDictionary(context, newLocaleToUse, listener); + asyncReloadUninitializedMainDictionaries(context, newLocales, listener); } } if (listener != null) { @@ -327,21 +327,24 @@ public class DictionaryFacilitator { } } - private void asyncReloadMainDictionary(final Context context, final Locale locale, - final DictionaryInitializationListener listener) { + private void asyncReloadUninitializedMainDictionaries(final Context context, + final Locale[] locales, final DictionaryInitializationListener listener) { final CountDownLatch latchForWaitingLoadingMainDictionary = new CountDownLatch(1); mLatchForWaitingLoadingMainDictionary = latchForWaitingLoadingMainDictionary; ExecutorUtils.getExecutor("InitializeBinaryDictionary").execute(new Runnable() { @Override public void run() { - final Dictionary mainDict = - DictionaryFactory.createMainDictionaryFromManager(context, locale); - synchronized (mLock) { - if (locale.equals(mDictionaryGroup.mLocale)) { - mDictionaryGroup.setMainDict(mainDict); - } else { - // Dictionary facilitator has been reset for another locale. - mainDict.close(); + for (final Locale locale : locales) { + final DictionaryGroup dictionaryGroup = mDictionaryGroup; + final Dictionary mainDict = + DictionaryFactory.createMainDictionaryFromManager(context, locale); + synchronized (mLock) { + if (locale.equals(dictionaryGroup.mLocale)) { + dictionaryGroup.setMainDict(mainDict); + } else { + // Dictionary facilitator has been reset for another locale. + mainDict.close(); + } } } if (listener != null) { |