aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/spellcheck
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/com/android/inputmethod/latin/spellcheck')
-rw-r--r--java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java24
1 files changed, 18 insertions, 6 deletions
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
index 0e3bf8011..8128779a4 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
@@ -99,11 +99,13 @@ public class AndroidSpellCheckerService extends SpellCheckerService
// List of the supported languages and their associated script. We won't check
// words written in another script than the selected script, because we know we
// don't have those in our dictionary so we will underline everything and we
- // will never have any suggestions, so it makes no sense checking them.
+ // will never have any suggestions, so it makes no sense checking them, and this
+ // is done in {@link #shouldFilterOut}. Also, the script is used to choose which
+ // proximity to pass to the dictionary descent algorithm.
+ // IMPORTANT: this only contains languages - do not write countries in there.
+ // Only the language is searched from the map.
mLanguageToScript = new TreeMap<String, Integer>();
mLanguageToScript.put("en", SCRIPT_LATIN);
- mLanguageToScript.put("en_US", SCRIPT_LATIN);
- mLanguageToScript.put("en_GB", SCRIPT_LATIN);
mLanguageToScript.put("fr", SCRIPT_LATIN);
mLanguageToScript.put("de", SCRIPT_LATIN);
mLanguageToScript.put("nl", SCRIPT_LATIN);
@@ -111,7 +113,7 @@ public class AndroidSpellCheckerService extends SpellCheckerService
mLanguageToScript.put("es", SCRIPT_LATIN);
mLanguageToScript.put("it", SCRIPT_LATIN);
mLanguageToScript.put("hr", SCRIPT_LATIN);
- mLanguageToScript.put("pt_BR", SCRIPT_LATIN);
+ mLanguageToScript.put("pt", SCRIPT_LATIN);
mLanguageToScript.put("ru", SCRIPT_CYRILLIC);
// TODO: Make a persian proximity, and activate the Farsi subtype.
// mLanguageToScript.put("fa", SCRIPT_PERSIAN);
@@ -152,7 +154,13 @@ public class AndroidSpellCheckerService extends SpellCheckerService
private void startUsingContactsDictionaryLocked() {
if (null == mContactsDictionary) {
- mContactsDictionary = new SynchronouslyLoadedContactsDictionary(this);
+ if (LatinIME.USE_BINARY_CONTACTS_DICTIONARY) {
+ // TODO: use the right locale for each session
+ mContactsDictionary =
+ new SynchronouslyLoadedContactsBinaryDictionary(this, Locale.getDefault());
+ } else {
+ mContactsDictionary = new SynchronouslyLoadedContactsDictionary(this);
+ }
}
final Iterator<WeakReference<DictionaryCollection>> iterator =
mDictionaryCollectionsList.iterator();
@@ -430,7 +438,11 @@ public class AndroidSpellCheckerService extends SpellCheckerService
// TODO: revert to the concrete type when USE_BINARY_CONTACTS_DICTIONARY is no
// longer needed
if (LatinIME.USE_BINARY_CONTACTS_DICTIONARY) {
- mContactsDictionary = new SynchronouslyLoadedContactsBinaryDictionary(this);
+ // TODO: use the right locale. We can't do it right now because the
+ // spell checker is reusing the contacts dictionary across sessions
+ // without regard for their locale, so we need to fix that first.
+ mContactsDictionary = new SynchronouslyLoadedContactsBinaryDictionary(this,
+ Locale.getDefault());
} else {
mContactsDictionary = new SynchronouslyLoadedContactsDictionary(this);
}