aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/PersonalizationDictionaryFacilitator.java
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2014-09-10 10:00:10 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-09-10 10:00:11 +0000
commit41ee1f089face03ef951a66fafca5a4462297a0c (patch)
tree44eb11b204fa67dc68c296c71c32cddafa63bfe9 /java/src/com/android/inputmethod/latin/PersonalizationDictionaryFacilitator.java
parent53da06b8056a5c5cfe7b9a1d75ffa4e9399b47d5 (diff)
parentaf1a06d7e1e57d420da1cbbe89ea8e221a528496 (diff)
downloadlatinime-41ee1f089face03ef951a66fafca5a4462297a0c.tar.gz
latinime-41ee1f089face03ef951a66fafca5a4462297a0c.tar.xz
latinime-41ee1f089face03ef951a66fafca5a4462297a0c.zip
Merge "Enable personalization for multilingual users."
Diffstat (limited to 'java/src/com/android/inputmethod/latin/PersonalizationDictionaryFacilitator.java')
-rw-r--r--java/src/com/android/inputmethod/latin/PersonalizationDictionaryFacilitator.java17
1 files changed, 14 insertions, 3 deletions
diff --git a/java/src/com/android/inputmethod/latin/PersonalizationDictionaryFacilitator.java b/java/src/com/android/inputmethod/latin/PersonalizationDictionaryFacilitator.java
index 03c108f0e..aa8e312a4 100644
--- a/java/src/com/android/inputmethod/latin/PersonalizationDictionaryFacilitator.java
+++ b/java/src/com/android/inputmethod/latin/PersonalizationDictionaryFacilitator.java
@@ -44,6 +44,7 @@ public class PersonalizationDictionaryFacilitator {
private final HashMap<String, HashSet<Locale>> mLangToLocalesMap = new HashMap<>();
private final HashMap<Locale, ExpandableBinaryDictionary> mPersonalizationDictsToUpdate =
new HashMap<>();
+ private boolean mIsMonolingualUser = false;;
PersonalizationDictionaryFacilitator(final Context context,
final DistracterFilter distracterFilter) {
@@ -81,6 +82,10 @@ public class PersonalizationDictionaryFacilitator {
}
}
+ public void setIsMonolingualUser(final boolean isMonolingualUser) {
+ mIsMonolingualUser = isMonolingualUser;
+ }
+
/**
* Flush personalization dictionaries to dictionary files. Close dictionaries after writing
* files except the dictionary that is used for generating suggestions.
@@ -141,12 +146,18 @@ public class PersonalizationDictionaryFacilitator {
personalizationDict.addMultipleDictionaryEntriesDynamically(languageModelParams, callback);
}
- public void addEntriesToPersonalizationDictionariesToUpdate(
+ public void addEntriesToPersonalizationDictionariesToUpdate(final Locale defaultLocale,
final PersonalizationDataChunk personalizationDataChunk,
final SpacingAndPunctuations spacingAndPunctuations,
final AddMultipleDictionaryEntriesCallback callback) {
- final HashSet<Locale> locales =
- mLangToLocalesMap.get(personalizationDataChunk.mDetectedLanguage);
+ final String language = personalizationDataChunk.mDetectedLanguage;
+ final HashSet<Locale> locales;
+ if (mIsMonolingualUser && PersonalizationDataChunk.LANGUAGE_UNKNOWN.equals(language)
+ && mLangToLocalesMap.size() == 1) {
+ locales = mLangToLocalesMap.get(defaultLocale.getLanguage());
+ } else {
+ locales = mLangToLocalesMap.get(language);
+ }
if (locales == null || locales.isEmpty()) {
if (callback != null) {
callback.onFinished();