aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin
diff options
context:
space:
mode:
authorJean Chalard <jchalard@google.com>2012-06-13 03:31:46 +0900
committerJean Chalard <jchalard@google.com>2012-06-26 16:42:48 +0900
commitbda7eaa63aace64f3d40eae3affaf281591ffa66 (patch)
treee911dfafc2f3d91ce58e08f480c89190e28213d9 /java/src/com/android/inputmethod/latin
parent17111afcd6315d7bfd8d9dd0f3d207d6aec1576c (diff)
downloadlatinime-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.java19
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() {