aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorKeisuke Kuroyanagi <ksk@google.com>2014-01-07 09:19:29 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-01-07 09:19:29 +0000
commit8a2537e0ae324466c201573845b681bbab2e625e (patch)
tree584057a15e8f010cb023e272424b7e3ad7d82795 /java
parent42e83c7f06a1683b27a11564aeb9f3999b10382f (diff)
parent55713e3695fb8143f38d8f7a7bff299293efdb14 (diff)
downloadlatinime-8a2537e0ae324466c201573845b681bbab2e625e.tar.gz
latinime-8a2537e0ae324466c201573845b681bbab2e625e.tar.xz
latinime-8a2537e0ae324466c201573845b681bbab2e625e.zip
Merge "Update personalized dict only when single subtype is used."
Diffstat (limited to 'java')
-rw-r--r--java/src/com/android/inputmethod/latin/LatinIME.java8
-rw-r--r--java/src/com/android/inputmethod/latin/SubtypeSwitcher.java12
-rw-r--r--java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionarySessionRegistrar.java2
3 files changed, 19 insertions, 3 deletions
diff --git a/java/src/com/android/inputmethod/latin/LatinIME.java b/java/src/com/android/inputmethod/latin/LatinIME.java
index 5a5674f8f..8ea868d51 100644
--- a/java/src/com/android/inputmethod/latin/LatinIME.java
+++ b/java/src/com/android/inputmethod/latin/LatinIME.java
@@ -523,7 +523,11 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
suggest.close();
}
if (currentSettingsValues.mUsePersonalizedDicts) {
- PersonalizationDictionarySessionRegistrar.init(this);
+ if (mSubtypeSwitcher.isSystemLocaleSameAsLocaleOfAllEnabledSubtypes()) {
+ PersonalizationDictionarySessionRegistrar.init(this);
+ } else {
+ PersonalizationDictionarySessionRegistrar.close(this);
+ }
} else {
PersonalizationHelper.removeAllPersonalizedDictionaries(this);
PersonalizationDictionarySessionRegistrar.resetAll(this);
@@ -595,7 +599,7 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
ResearchLogger.getInstance().onDestroy();
}
unregisterReceiver(mDictionaryPackInstallReceiver);
- PersonalizationDictionarySessionRegistrar.onDestroy(this);
+ PersonalizationDictionarySessionRegistrar.close(this);
LatinImeLogger.commit();
LatinImeLogger.onDestroy();
super.onDestroy();
diff --git a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
index b0ab60357..860575a1f 100644
--- a/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
+++ b/java/src/com/android/inputmethod/latin/SubtypeSwitcher.java
@@ -273,6 +273,18 @@ public final class SubtypeSwitcher {
return mNeedsToDisplayLanguage.getValue();
}
+ public boolean isSystemLocaleSameAsLocaleOfAllEnabledSubtypes() {
+ final Locale systemLocale = mResources.getConfiguration().locale;
+ final List<InputMethodSubtype> enabledSubtypesOfThisIme =
+ mRichImm.getMyEnabledInputMethodSubtypeList(true);
+ for (final InputMethodSubtype subtype : enabledSubtypesOfThisIme) {
+ if (!systemLocale.equals(SubtypeLocaleUtils.getSubtypeLocale(subtype))) {
+ return false;
+ }
+ }
+ return true;
+ }
+
private static InputMethodSubtype sForcedSubtypeForTesting = null;
@UsedForTesting
void forceSubtype(final InputMethodSubtype subtype) {
diff --git a/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionarySessionRegistrar.java b/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionarySessionRegistrar.java
index 76965112f..9a897a582 100644
--- a/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionarySessionRegistrar.java
+++ b/java/src/com/android/inputmethod/latin/personalization/PersonalizationDictionarySessionRegistrar.java
@@ -35,6 +35,6 @@ public class PersonalizationDictionarySessionRegistrar {
public static void resetAll(final Context context) {
}
- public static void onDestroy(final Context context) {
+ public static void close(final Context context) {
}
}