diff options
author | 2012-06-13 03:31:46 +0900 | |
---|---|---|
committer | 2012-06-26 16:42:48 +0900 | |
commit | bda7eaa63aace64f3d40eae3affaf281591ffa66 (patch) | |
tree | e911dfafc2f3d91ce58e08f480c89190e28213d9 /java/src/com/android/inputmethod/latin | |
parent | 17111afcd6315d7bfd8d9dd0f3d207d6aec1576c (diff) | |
download | latinime-bda7eaa63aace64f3d40eae3affaf281591ffa66.tar.gz latinime-bda7eaa63aace64f3d40eae3affaf281591ffa66.tar.xz latinime-bda7eaa63aace64f3d40eae3affaf281591ffa66.zip |
Remove dependency on WordCallback from BinaryDictionary (A7)
Bug: 6252660
Bug: 6166228
Bug: 2704000
Bug: 6225530
Change-Id: I8245698fbd170e0f5cbad3c0109774bcaddc0614
Diffstat (limited to 'java/src/com/android/inputmethod/latin')
-rw-r--r-- | java/src/com/android/inputmethod/latin/BinaryDictionary.java | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/java/src/com/android/inputmethod/latin/BinaryDictionary.java b/java/src/com/android/inputmethod/latin/BinaryDictionary.java index b7a510021..16a563bcb 100644 --- a/java/src/com/android/inputmethod/latin/BinaryDictionary.java +++ b/java/src/com/android/inputmethod/latin/BinaryDictionary.java @@ -20,7 +20,9 @@ import android.content.Context; import android.text.TextUtils; import com.android.inputmethod.keyboard.ProximityInfo; +import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo; +import java.util.ArrayList; import java.util.Arrays; import java.util.Locale; @@ -125,6 +127,7 @@ public class BinaryDictionary extends Dictionary { count = MAX_BIGRAMS; } + final ArrayList<SuggestedWordInfo> suggestions = new ArrayList<SuggestedWordInfo>(); for (int j = 0; j < count; ++j) { if (codesSize > 0 && mBigramScores[j] < 1) break; final int start = j * MAX_WORD_LENGTH; @@ -133,19 +136,22 @@ public class BinaryDictionary extends Dictionary { ++len; } if (len > 0) { - callback.addWord(mOutputChars_bigrams, null, start, len, mBigramScores[j], - mDicTypeId, Dictionary.BIGRAM); + suggestions.add(new SuggestedWordInfo( + new String(mOutputChars_bigrams, start, len), + mBigramScores[j], SuggestedWordInfo.KIND_CORRECTION)); } } + Utils.addAllSuggestions(mDicTypeId, Dictionary.BIGRAM, suggestions, callback); } // proximityInfo and/or prevWordForBigrams may not be null. @Override public void getWords(final WordComposer codes, final CharSequence prevWordForBigrams, final WordCallback callback, final ProximityInfo proximityInfo) { - final int count = getSuggestions(codes, prevWordForBigrams, proximityInfo, mOutputChars, mScores, mSpaceIndices); + + final ArrayList<SuggestedWordInfo> suggestions = new ArrayList<SuggestedWordInfo>(); for (int j = 0; j < count; ++j) { if (mScores[j] < 1) break; final int start = j * MAX_WORD_LENGTH; @@ -154,10 +160,13 @@ public class BinaryDictionary extends Dictionary { ++len; } if (len > 0) { - callback.addWord(mOutputChars, null, start, len, mScores[j], mDicTypeId, - Dictionary.UNIGRAM); + // TODO: actually get the kind from native code + suggestions.add(new SuggestedWordInfo( + new String(mOutputChars, start, len), + mScores[j], SuggestedWordInfo.KIND_CORRECTION)); } } + Utils.addAllSuggestions(mDicTypeId, Dictionary.UNIGRAM, suggestions, callback); } /* package for test */ boolean isValidDictionary() { |