diff --git a/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java b/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java index e276ffc84c07602922d29751f17a9c4f93779877..b75a55f2b9e4dee23834a361998da8c5e92cf58b 100644 --- a/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java +++ b/java/src/com/android/inputmethod/latin/DictionaryFacilitatorForSuggest.java @@ -73,18 +73,16 @@ public class DictionaryFacilitatorForSuggest { CollectionUtils.newConcurrentHashMap(); // TODO: Remove sub dictionary members and use mSubDictMap. public final UserBinaryDictionary mUserDictionary; - public final PersonalizationDictionary mPersonalizationDictionary; public Dictionaries() { mLocale = null; mUserDictionary = null; - mPersonalizationDictionary = null; } public Dictionaries(final Locale locale, final Dictionary mainDict, final ExpandableBinaryDictionary contactsDict, final UserBinaryDictionary userDict, final ExpandableBinaryDictionary userHistoryDict, - final PersonalizationDictionary personalizationDict) { + final ExpandableBinaryDictionary personalizationDict) { mLocale = locale; // Main dictionary can be asynchronously loaded. setMainDict(mainDict); @@ -92,8 +90,7 @@ public class DictionaryFacilitatorForSuggest { mUserDictionary = userDict; setSubDict(Dictionary.TYPE_USER, mUserDictionary); setSubDict(Dictionary.TYPE_USER_HISTORY, userHistoryDict); - mPersonalizationDictionary = personalizationDict; - setSubDict(Dictionary.TYPE_PERSONALIZATION, mPersonalizationDictionary); + setSubDict(Dictionary.TYPE_PERSONALIZATION, personalizationDict); } private void setSubDict(final String dictType, final ExpandableBinaryDictionary dict) { @@ -197,10 +194,10 @@ public class DictionaryFacilitatorForSuggest { } // Open or move personalization dictionary. - final PersonalizationDictionary newPersonalizationDict; + final ExpandableBinaryDictionary newPersonalizationDict; if (!closePersonalizationDictionary && mDictionaries.hasDict(Dictionary.TYPE_PERSONALIZATION)) { - newPersonalizationDict = mDictionaries.mPersonalizationDictionary; + newPersonalizationDict = mDictionaries.getSubDict(Dictionary.TYPE_PERSONALIZATION); } else if (usePersonalizedDicts) { newPersonalizationDict = PersonalizationHelper.getPersonalizationDictionary(context, newLocale); @@ -344,8 +341,8 @@ public class DictionaryFacilitatorForSuggest { } public void flushPersonalizationDictionary() { - final PersonalizationDictionary personalizationDict = - mDictionaries.mPersonalizationDictionary; + final ExpandableBinaryDictionary personalizationDict = + mDictionaries.getSubDict(Dictionary.TYPE_PERSONALIZATION); if (personalizationDict != null) { personalizationDict.asyncFlushBinaryDictionary(); } @@ -537,15 +534,16 @@ public class DictionaryFacilitatorForSuggest { public void addMultipleDictionaryEntriesToPersonalizationDictionary( final ArrayList<LanguageModelParam> languageModelParams, final ExpandableBinaryDictionary.AddMultipleDictionaryEntriesCallback callback) { - final PersonalizationDictionary personalizationDict = - mDictionaries.mPersonalizationDictionary; - if (personalizationDict == null) { + final ExpandableBinaryDictionary personalizationDict = + mDictionaries.getSubDict(Dictionary.TYPE_PERSONALIZATION); + if (personalizationDict == null || languageModelParams == null + || languageModelParams.isEmpty()) { if (callback != null) { callback.onFinished(); } return; } - personalizationDict.addMultipleDictionaryEntriesToDictionary(languageModelParams, callback); + personalizationDict.addMultipleDictionaryEntriesDynamically(languageModelParams, callback); } public void dumpDictionaryForDebug(final String dictName) { diff --git a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java index 1adf3497f981ff02c5e833c150685a7730567361..837fe4f1a4e10d99cace34143a83bdbdaed7247d 100644 --- a/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java +++ b/java/src/com/android/inputmethod/latin/ExpandableBinaryDictionary.java @@ -368,7 +368,7 @@ abstract public class ExpandableBinaryDictionary extends Dictionary { /** * Dynamically add multiple entries to the dictionary. */ - protected void addMultipleDictionaryEntriesDynamically( + public void addMultipleDictionaryEntriesDynamically( final ArrayList<LanguageModelParam> languageModelParams, final AddMultipleDictionaryEntriesCallback callback) { reloadDictionaryIfRequired(); diff --git a/java/src/com/android/inputmethod/latin/personalization/DecayingExpandableBinaryDictionaryBase.java b/java/src/com/android/inputmethod/latin/personalization/DecayingExpandableBinaryDictionaryBase.java index 35b4ccd401cb19cd2559a604a81fe012a5639e9e..352288f8b9de896c7408646c3b2cd7e0b1342244 100644 --- a/java/src/com/android/inputmethod/latin/personalization/DecayingExpandableBinaryDictionaryBase.java +++ b/java/src/com/android/inputmethod/latin/personalization/DecayingExpandableBinaryDictionaryBase.java @@ -87,18 +87,6 @@ public abstract class DecayingExpandableBinaryDictionaryBase extends ExpandableB return false; } - public void addMultipleDictionaryEntriesToDictionary( - final ArrayList<LanguageModelParam> languageModelParams, - final ExpandableBinaryDictionary.AddMultipleDictionaryEntriesCallback callback) { - if (languageModelParams == null || languageModelParams.isEmpty()) { - if (callback != null) { - callback.onFinished(); - } - return; - } - addMultipleDictionaryEntriesDynamically(languageModelParams, callback); - } - @Override protected void loadInitialContentsLocked() { // No initial contents.