From d7b9e8f503cd0f4616506ed891efd468dfdbef0e Mon Sep 17 00:00:00 2001 From: Jean Chalard Date: Wed, 13 Jun 2012 02:31:49 +0900 Subject: [PATCH] Remove another dependency to WordCallback (A4) Bug: 6252660 Bug: 6166228 Bug: 2704000 Bug: 6225530 Change-Id: I5b277124dc9244e78c4a1f4d542a55071eb479bd --- .../latin/ExpandableDictionary.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/java/src/com/android/inputmethod/latin/ExpandableDictionary.java b/java/src/com/android/inputmethod/latin/ExpandableDictionary.java index c989614fb..d1eec6b7c 100644 --- a/java/src/com/android/inputmethod/latin/ExpandableDictionary.java +++ b/java/src/com/android/inputmethod/latin/ExpandableDictionary.java @@ -600,13 +600,13 @@ public class ExpandableDictionary extends Dictionary { } private void runBigramReverseLookUp(final CharSequence previousWord, - final WordCallback callback) { + final ArrayList suggestions) { // Search for the lowercase version of the word only, because that's where bigrams // store their sons. Node prevWord = searchNode(mRoots, previousWord.toString().toLowerCase(), 0, previousWord.length()); if (prevWord != null && prevWord.mNGrams != null) { - reverseLookUp(prevWord.mNGrams, callback); + reverseLookUp(prevWord.mNGrams, suggestions); } } @@ -614,7 +614,9 @@ public class ExpandableDictionary extends Dictionary { public void getBigrams(final WordComposer codes, final CharSequence previousWord, final WordCallback callback) { if (!reloadDictionaryIfRequired()) { - runBigramReverseLookUp(previousWord, callback); + final ArrayList suggestions = new ArrayList(); + runBigramReverseLookUp(previousWord, suggestions); + Utils.addAllSuggestions(mDicTypeId, Dictionary.BIGRAM, suggestions, callback); } } @@ -642,11 +644,12 @@ public class ExpandableDictionary extends Dictionary { /** * reverseLookUp retrieves the full word given a list of terminal nodes and adds those words - * through callback. + * to the suggestions list passed as an argument. * @param terminalNodes list of terminal nodes we want to add + * @param suggestions the suggestion collection to add the word to */ private void reverseLookUp(LinkedList terminalNodes, - final WordCallback callback) { + final ArrayList suggestions) { Node node; int freq; for (NextWord nextWord : terminalNodes) { @@ -660,9 +663,9 @@ public class ExpandableDictionary extends Dictionary { } while (node != null); if (freq >= 0) { - callback.addWord(mLookedUpString, null, index, - BinaryDictionary.MAX_WORD_LENGTH - index, freq, mDicTypeId, - Dictionary.BIGRAM); + suggestions.add(new SuggestedWordInfo(new String(mLookedUpString, index, + BinaryDictionary.MAX_WORD_LENGTH - index), + freq, SuggestedWordInfo.KIND_CORRECTION)); } } }