aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2014-10-21 15:06:54 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-10-21 15:06:55 +0000
commit46a007261fcbfbe887e22ecdf16307f95b1e4024 (patch)
treed47b90911c51c7ff6eabb6466f47a84d4574cbba /java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
parent0b8bb0c21bda18e77a52d980891d56430e113a6f (diff)
parent5f00fe09e9a611b647592188316e5999465df4d3 (diff)
downloadlatinime-46a007261fcbfbe887e22ecdf16307f95b1e4024.tar.gz
latinime-46a007261fcbfbe887e22ecdf16307f95b1e4024.tar.xz
latinime-46a007261fcbfbe887e22ecdf16307f95b1e4024.zip
Merge "Fix some compiler warnings"
Diffstat (limited to 'java/src/com/android/inputmethod/latin/DictionaryFacilitator.java')
-rw-r--r--java/src/com/android/inputmethod/latin/DictionaryFacilitator.java63
1 files changed, 34 insertions, 29 deletions
diff --git a/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java b/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
index 46ddccd09..7a17dcc56 100644
--- a/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
+++ b/java/src/com/android/inputmethod/latin/DictionaryFacilitator.java
@@ -172,9 +172,8 @@ public class DictionaryFacilitator {
public Dictionary getDict(final String dictType) {
if (Dictionary.TYPE_MAIN.equals(dictType)) {
return mMainDict;
- } else {
- return getSubDict(dictType);
}
+ return getSubDict(dictType);
}
public ExpandableBinaryDictionary getSubDict(final String dictType) {
@@ -184,9 +183,8 @@ public class DictionaryFacilitator {
public boolean hasDict(final String dictType) {
if (Dictionary.TYPE_MAIN.equals(dictType)) {
return mMainDict != null;
- } else {
- return mSubDictMap.containsKey(dictType);
}
+ return mSubDictMap.containsKey(dictType);
}
public void closeDict(final String dictType) {
@@ -305,7 +303,7 @@ public class DictionaryFacilitator {
usePersonalizedDicts, forceReloadMainDictionary, listener, "" /* dictNamePrefix */);
}
- private DictionaryGroup findDictionaryGroupWithLocale(final DictionaryGroup[] dictionaryGroups,
+ static DictionaryGroup findDictionaryGroupWithLocale(final DictionaryGroup[] dictionaryGroups,
final Locale locale) {
for (int i = 0; i < dictionaryGroups.length; ++i) {
if (locale.equals(dictionaryGroups[i].mLocale)) {
@@ -422,34 +420,41 @@ public class DictionaryFacilitator {
ExecutorUtils.getExecutor("InitializeBinaryDictionary").execute(new Runnable() {
@Override
public void run() {
- for (final Locale locale : locales) {
- final DictionaryGroup dictionaryGroup =
- findDictionaryGroupWithLocale(mDictionaryGroups, locale);
- if (null == dictionaryGroup) {
- // This should never happen, but better safe than crashy
- Log.w(TAG, "Expected a dictionary group for " + locale + " but none found");
- continue;
- }
- 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) {
- listener.onUpdateMainDictionaryAvailability(
- hasAtLeastOneInitializedMainDictionary());
- }
- latchForWaitingLoadingMainDictionary.countDown();
+ doReloadUninitializedMainDictionaries(
+ context, locales, listener, latchForWaitingLoadingMainDictionary);
}
});
}
+ void doReloadUninitializedMainDictionaries(final Context context, final Locale[] locales,
+ final DictionaryInitializationListener listener,
+ final CountDownLatch latchForWaitingLoadingMainDictionary) {
+ for (final Locale locale : locales) {
+ final DictionaryGroup dictionaryGroup =
+ findDictionaryGroupWithLocale(mDictionaryGroups, locale);
+ if (null == dictionaryGroup) {
+ // This should never happen, but better safe than crashy
+ Log.w(TAG, "Expected a dictionary group for " + locale + " but none found");
+ continue;
+ }
+ 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) {
+ listener.onUpdateMainDictionaryAvailability(
+ hasAtLeastOneInitializedMainDictionary());
+ }
+ latchForWaitingLoadingMainDictionary.countDown();
+ }
+
@UsedForTesting
public void resetDictionariesForTesting(final Context context, final Locale[] locales,
final ArrayList<String> dictionaryTypes, final HashMap<String, File> dictionaryFiles,