aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2011-08-08 13:37:11 +0900
committerJean Chalard <jchalard@google.com>2011-08-09 17:24:28 +0900
commitf098fbbef324df034cc04de04d9b5fe6657238c7 (patch)
tree6e183cff6a2e23cd915cfb8b71a4f9b500aaf97d /java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
parent3a22708e653193ee42d197c8fddbde87ea85d2d5 (diff)
downloadlatinime-f098fbbef324df034cc04de04d9b5fe6657238c7.tar.gz
latinime-f098fbbef324df034cc04de04d9b5fe6657238c7.tar.xz
latinime-f098fbbef324df034cc04de04d9b5fe6657238c7.zip
Add proximity info for the spell checker.
Bug: 5119987 Change-Id: I35700fd8b0ffa6bced428cc6d46b3f64eb251281
Diffstat (limited to 'java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java')
-rw-r--r--java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java16
1 files changed, 12 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 7c92bc82a..44e999572 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
@@ -19,7 +19,6 @@ package com.android.inputmethod.latin.spellcheck;
import android.content.res.Resources;
import android.service.textservice.SpellCheckerService;
import android.service.textservice.SpellCheckerService.Session;
-import android.util.Log;
import android.view.textservice.SuggestionsInfo;
import android.view.textservice.TextInfo;
@@ -33,6 +32,7 @@ import com.android.inputmethod.latin.DictionaryFactory;
import com.android.inputmethod.latin.Utils;
import com.android.inputmethod.latin.WordComposer;
+import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.LinkedList;
@@ -48,7 +48,7 @@ public class AndroidSpellCheckerService extends SpellCheckerService {
private static final boolean DBG = true;
private final static String[] emptyArray = new String[0];
- private final ProximityInfo mProximityInfo = ProximityInfo.getDummyProximityInfo();
+ private final ProximityInfo mProximityInfo = ProximityInfo.getSpellCheckerProximityInfo();
private final Map<String, Dictionary> mDictionaries =
Collections.synchronizedMap(new TreeMap<String, Dictionary>());
@@ -141,8 +141,16 @@ public class AndroidSpellCheckerService extends SpellCheckerService {
final WordComposer composer = new WordComposer();
final int length = text.length();
for (int i = 0; i < length; ++i) {
- int character = text.codePointAt(i);
- composer.add(character, new int[] { character },
+ final int character = text.codePointAt(i);
+ final int proximityIndex = SpellCheckerProximityInfo.getIndexOf(character);
+ final int[] proximities;
+ if (-1 == proximityIndex) {
+ proximities = new int[] { character };
+ } else {
+ proximities = Arrays.copyOfRange(SpellCheckerProximityInfo.PROXIMITY,
+ proximityIndex, proximityIndex + SpellCheckerProximityInfo.ROW_SIZE);
+ }
+ composer.add(character, proximities,
WordComposer.NOT_A_COORDINATE, WordComposer.NOT_A_COORDINATE);
}
dictionary.getWords(composer, suggestionsGatherer, mProximityInfo);