aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java')
-rw-r--r--java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java25
1 files changed, 21 insertions, 4 deletions
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
index aa60496ae..13fcaf48a 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
@@ -23,7 +23,7 @@ import android.service.textservice.SpellCheckerService;
import android.util.Log;
import android.view.textservice.SuggestionsInfo;
-import com.android.inputmethod.keyboard.ProximityInfo;
+import com.android.inputmethod.keyboard.KeyboardLayoutSet;
import com.android.inputmethod.latin.BinaryDictionary;
import com.android.inputmethod.latin.CollectionUtils;
import com.android.inputmethod.latin.ContactsBinaryDictionary;
@@ -126,6 +126,19 @@ public final class AndroidSpellCheckerService extends SpellCheckerService
return script;
}
+ private static String getKeyboardLayoutNameForScript(final int script) {
+ switch (script) {
+ case AndroidSpellCheckerService.SCRIPT_LATIN:
+ return "qwerty";
+ case AndroidSpellCheckerService.SCRIPT_CYRILLIC:
+ return "east_slavic";
+ case AndroidSpellCheckerService.SCRIPT_GREEK:
+ return "greek";
+ default:
+ throw new RuntimeException("Wrong script supplied: " + script);
+ }
+ }
+
@Override
public void onSharedPreferenceChanged(final SharedPreferences prefs, final String key) {
if (!PREF_USE_CONTACTS_KEY.equals(key)) return;
@@ -385,9 +398,13 @@ public final class AndroidSpellCheckerService extends SpellCheckerService
return pool;
}
- public DictAndProximity createDictAndProximity(final Locale locale) {
+ public DictAndKeyboard createDictAndKeyboard(final Locale locale) {
final int script = getScriptFromLocale(locale);
- final ProximityInfo proximityInfo = new SpellCheckerProximityInfo(script);
+ final String keyboardLayoutName = getKeyboardLayoutNameForScript(script);
+ final KeyboardLayoutSet keyboardLayoutSet =
+ KeyboardLayoutSet.createKeyboardSetForSpellChecker(this, locale.toString(),
+ keyboardLayoutName);
+
final DictionaryCollection dictionaryCollection =
DictionaryFactory.createMainDictionaryFromManager(this, locale,
true /* useFullEditDistance */);
@@ -412,6 +429,6 @@ public final class AndroidSpellCheckerService extends SpellCheckerService
mDictionaryCollectionsList.add(
new WeakReference<DictionaryCollection>(dictionaryCollection));
}
- return new DictAndProximity(dictionaryCollection, proximityInfo);
+ return new DictAndKeyboard(dictionaryCollection, keyboardLayoutSet);
}
}