diff options
Diffstat (limited to 'tests/src/com/android/inputmethod/latin/SuggestHelper.java')
-rw-r--r-- | tests/src/com/android/inputmethod/latin/SuggestHelper.java | 41 |
1 files changed, 23 insertions, 18 deletions
diff --git a/tests/src/com/android/inputmethod/latin/SuggestHelper.java b/tests/src/com/android/inputmethod/latin/SuggestHelper.java index 07d0e5d75..48fe81715 100644 --- a/tests/src/com/android/inputmethod/latin/SuggestHelper.java +++ b/tests/src/com/android/inputmethod/latin/SuggestHelper.java @@ -16,27 +16,26 @@ package com.android.inputmethod.latin; +import android.content.Context; +import android.text.TextUtils; + import com.android.inputmethod.keyboard.Key; import com.android.inputmethod.keyboard.KeyDetector; import com.android.inputmethod.keyboard.KeyboardId; import com.android.inputmethod.keyboard.LatinKeyboard; -import android.content.Context; -import android.text.TextUtils; - import java.io.File; -import java.util.List; public class SuggestHelper { protected final Suggest mSuggest; - private final LatinKeyboard mKeyboard; + protected final LatinKeyboard mKeyboard; private final KeyDetector mKeyDetector; public SuggestHelper(Context context, int dictionaryId, KeyboardId keyboardId) { // Use null as the locale for Suggest so as to force it to use the internal dictionary // (and not try to find a dictionary provider for a specified locale) mSuggest = new Suggest(context, dictionaryId, null); - mKeyboard = new LatinKeyboard(context, keyboardId, keyboardId.mWidth); + mKeyboard = new LatinKeyboard.Builder(context).load(keyboardId).build(); mKeyDetector = new KeyDetector(0); init(); } @@ -44,7 +43,7 @@ public class SuggestHelper { protected SuggestHelper(Context context, File dictionaryPath, long startOffset, long length, KeyboardId keyboardId) { mSuggest = new Suggest(context, dictionaryPath, startOffset, length, null); - mKeyboard = new LatinKeyboard(context, keyboardId, keyboardId.mWidth); + mKeyboard = new LatinKeyboard.Builder(context).load(keyboardId).build(); mKeyDetector = new KeyDetector(0); init(); } @@ -54,7 +53,7 @@ public class SuggestHelper { mSuggest.setCorrectionMode(Suggest.CORRECTION_FULL); mKeyDetector.setKeyboard(mKeyboard, 0, 0); mKeyDetector.setProximityCorrectionEnabled(true); - mKeyDetector.setProximityThreshold(mKeyboard.getMostCommonKeyWidth()); + mKeyDetector.setProximityThreshold(mKeyboard.mMostCommonKeyWidth); } public void setCorrectionMode(int correctionMode) { @@ -66,8 +65,7 @@ public class SuggestHelper { } private void addKeyInfo(WordComposer word, char c) { - final List<Key> keys = mKeyboard.getKeys(); - for (final Key key : keys) { + for (final Key key : mKeyboard.mKeys) { if (key.mCode == c) { final int x = key.mX + key.mWidth / 2; final int y = key.mY + key.mHeight / 2; @@ -96,19 +94,22 @@ public class SuggestHelper { // TODO: This may be slow, but is OK for test so far. public SuggestedWords getSuggestions(CharSequence typed) { - return mSuggest.getSuggestions(null, createWordComposer(typed), null); + return mSuggest.getSuggestions(null, createWordComposer(typed), null, + mKeyboard.getProximityInfo()); } public CharSequence getFirstSuggestion(CharSequence typed) { WordComposer word = createWordComposer(typed); - SuggestedWords suggestions = mSuggest.getSuggestions(null, word, null); + SuggestedWords suggestions = mSuggest.getSuggestions(null, word, null, + mKeyboard.getProximityInfo()); // Note that suggestions.getWord(0) is the word user typed. return suggestions.size() > 1 ? suggestions.getWord(1) : null; } public CharSequence getAutoCorrection(CharSequence typed) { WordComposer word = createWordComposer(typed); - SuggestedWords suggestions = mSuggest.getSuggestions(null, word, null); + SuggestedWords suggestions = mSuggest.getSuggestions(null, word, null, + mKeyboard.getProximityInfo()); // Note that suggestions.getWord(0) is the word user typed. return (suggestions.size() > 1 && mSuggest.hasAutoCorrection()) ? suggestions.getWord(1) : null; @@ -116,7 +117,8 @@ public class SuggestHelper { public int getSuggestIndex(CharSequence typed, CharSequence expected) { WordComposer word = createWordComposer(typed); - SuggestedWords suggestions = mSuggest.getSuggestions(null, word, null); + SuggestedWords suggestions = mSuggest.getSuggestions(null, word, null, + mKeyboard.getProximityInfo()); // Note that suggestions.getWord(0) is the word user typed. for (int i = 1; i < suggestions.size(); i++) { if (TextUtils.equals(suggestions.getWord(i), expected)) @@ -128,21 +130,23 @@ public class SuggestHelper { private void getBigramSuggestions(CharSequence previous, CharSequence typed) { if (!TextUtils.isEmpty(previous) && (typed.length() > 1)) { WordComposer firstChar = createWordComposer(Character.toString(typed.charAt(0))); - mSuggest.getSuggestions(null, firstChar, previous); + mSuggest.getSuggestions(null, firstChar, previous, mKeyboard.getProximityInfo()); } } public CharSequence getBigramFirstSuggestion(CharSequence previous, CharSequence typed) { WordComposer word = createWordComposer(typed); getBigramSuggestions(previous, typed); - SuggestedWords suggestions = mSuggest.getSuggestions(null, word, previous); + SuggestedWords suggestions = mSuggest.getSuggestions(null, word, previous, + mKeyboard.getProximityInfo()); return suggestions.size() > 1 ? suggestions.getWord(1) : null; } public CharSequence getBigramAutoCorrection(CharSequence previous, CharSequence typed) { WordComposer word = createWordComposer(typed); getBigramSuggestions(previous, typed); - SuggestedWords suggestions = mSuggest.getSuggestions(null, word, previous); + SuggestedWords suggestions = mSuggest.getSuggestions(null, word, previous, + mKeyboard.getProximityInfo()); return (suggestions.size() > 1 && mSuggest.hasAutoCorrection()) ? suggestions.getWord(1) : null; } @@ -151,7 +155,8 @@ public class SuggestHelper { CharSequence expected) { WordComposer word = createWordComposer(typed); getBigramSuggestions(previous, typed); - SuggestedWords suggestions = mSuggest.getSuggestions(null, word, previous); + SuggestedWords suggestions = mSuggest.getSuggestions(null, word, previous, + mKeyboard.getProximityInfo()); for (int i = 1; i < suggestions.size(); i++) { if (TextUtils.equals(suggestions.getWord(i), expected)) return i; |