diff options
Diffstat (limited to 'java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/BinaryDictionary.java | 8 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/WordComposer.java | 20 |
2 files changed, 8 insertions, 20 deletions
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionary.java b/java/src/com/android/inputmethod/latin/BinaryDictionary.java index 7502513f7..a9df1ce12 100644 --- a/java/src/com/android/inputmethod/latin/BinaryDictionary.java +++ b/java/src/com/android/inputmethod/latin/BinaryDictionary.java @@ -205,9 +205,11 @@ public class BinaryDictionary extends Dictionary { Arrays.fill(mInputCodes, WordComposer.NOT_A_CODE); for (int i = 0; i < codesSize; i++) { - int[] alternatives = codes.getCodesAt(i); - System.arraycopy(alternatives, 0, mInputCodes, i * MAX_PROXIMITY_CHARS_SIZE, - Math.min(alternatives.length, MAX_PROXIMITY_CHARS_SIZE)); + final int[] alternatives = codes.getCodesAt(i); + if (alternatives == null || alternatives.length < 1) { + continue; + } + mInputCodes[i] = alternatives[0]; } Arrays.fill(outputChars, (char) 0); Arrays.fill(scores, 0); diff --git a/java/src/com/android/inputmethod/latin/WordComposer.java b/java/src/com/android/inputmethod/latin/WordComposer.java index 231211d31..cabf68099 100644 --- a/java/src/com/android/inputmethod/latin/WordComposer.java +++ b/java/src/com/android/inputmethod/latin/WordComposer.java @@ -20,8 +20,6 @@ import com.android.inputmethod.keyboard.Key; import com.android.inputmethod.keyboard.KeyDetector; import com.android.inputmethod.keyboard.Keyboard; import com.android.inputmethod.keyboard.KeyboardActionListener; -import com.android.inputmethod.latin.spellcheck.AndroidSpellCheckerService; -import com.android.inputmethod.latin.spellcheck.SpellCheckerProximityInfo; import java.util.ArrayList; import java.util.Arrays; @@ -172,8 +170,7 @@ public class WordComposer { /** * Internal method to retrieve reasonable proximity info for a character. */ - private void addKeyInfo(final int codePoint, final Keyboard keyboard, - final KeyDetector keyDetector) { + private void addKeyInfo(final int codePoint, final Keyboard keyboard) { for (final Key key : keyboard.mKeys) { if (key.mCode == codePoint) { final int x = key.mX + key.mWidth / 2; @@ -191,27 +188,16 @@ public class WordComposer { * Set the currently composing word to the one passed as an argument. * This will register NOT_A_COORDINATE for X and Ys, and use the passed keyboard for proximity. */ - private void setComposingWord(final CharSequence word, final Keyboard keyboard, - final KeyDetector keyDetector) { + public void setComposingWord(final CharSequence word, final Keyboard keyboard) { reset(); final int length = word.length(); for (int i = 0; i < length; i = Character.offsetByCodePoints(word, i, 1)) { int codePoint = Character.codePointAt(word, i); - addKeyInfo(codePoint, keyboard, keyDetector); + addKeyInfo(codePoint, keyboard); } } /** - * Shortcut for the above method, this will create a new KeyDetector for the passed keyboard. - */ - public void setComposingWord(final CharSequence word, final Keyboard keyboard) { - final KeyDetector keyDetector = new KeyDetector(0); - keyDetector.setKeyboard(keyboard, 0, 0); - keyDetector.setProximityCorrectionEnabled(true); - setComposingWord(word, keyboard, keyDetector); - } - - /** * Delete the last keystroke as a result of hitting backspace. */ public void deleteLast() { |