Remove the Callback interface for simpler code. (A17)

Bug: 6252660
Bug: 6166228
Bug: 2704000
Bug: 6225530

Change-Id: I009b54fc2e73cadca6734bdca074d033e81f6a2b
main
Jean Chalard 2012-06-26 15:44:21 +09:00
parent 2f1b6c9ea4
commit 61e7ec6587
3 changed files with 3 additions and 40 deletions

View File

@ -35,27 +35,6 @@ public abstract class Dictionary {
public static final int BIGRAM = 1; public static final int BIGRAM = 1;
public static final int NOT_A_PROBABILITY = -1; public static final int NOT_A_PROBABILITY = -1;
/**
* Interface to be implemented by classes requesting words to be fetched from the dictionary.
* @see #getWords(WordComposer, CharSequence, WordCallback, ProximityInfo)
*/
public interface WordCallback {
/**
* Adds a word to a list of suggestions. The word is expected to be ordered based on
* the provided score.
* @param word the character array containing the word
* @param spaceIndices the indices of inserted spaces
* @param wordOffset starting offset of the word in the character array
* @param wordLength length of valid characters in the character array
* @param score the score of occurrence. This is normalized between 1 and 255, but
* can exceed those limits
* @param dicTypeId of the dictionary where word was from
* @param dataType tells type of this data, either UNIGRAM or BIGRAM
* @return true if the word was added, false if no more words are required
*/
boolean addWord(char[] word, int[] spaceIndices, int wordOffset, int wordLength, int score,
int dicTypeId, int dataType);
}
/** /**
* Searches for words in the dictionary that match the characters in the composer. Matched * Searches for words in the dictionary that match the characters in the composer. Matched
@ -64,7 +43,6 @@ public abstract class Dictionary {
* @param prevWordForBigrams the previous word, or null if none * @param prevWordForBigrams the previous word, or null if none
* @param proximityInfo the object for key proximity. May be ignored by some implementations. * @param proximityInfo the object for key proximity. May be ignored by some implementations.
* @return the list of suggestions * @return the list of suggestions
* @see WordCallback#addWord(char[], int, int, int, int, int)
*/ */
abstract public ArrayList<SuggestedWordInfo> getWords(final WordComposer composer, abstract public ArrayList<SuggestedWordInfo> getWords(final WordComposer composer,
final CharSequence prevWordForBigrams, final ProximityInfo proximityInfo); final CharSequence prevWordForBigrams, final ProximityInfo proximityInfo);

View File

@ -35,7 +35,7 @@ import java.util.concurrent.ConcurrentHashMap;
* This class loads a dictionary and provides a list of suggestions for a given sequence of * This class loads a dictionary and provides a list of suggestions for a given sequence of
* characters. This includes corrections and completions. * characters. This includes corrections and completions.
*/ */
public class Suggest implements Dictionary.WordCallback { public class Suggest {
public static final String TAG = Suggest.class.getSimpleName(); public static final String TAG = Suggest.class.getSimpleName();
public static final int APPROX_MAX_WORD_LENGTH = 32; public static final int APPROX_MAX_WORD_LENGTH = 32;
@ -403,13 +403,6 @@ public class Suggest implements Dictionary.WordCallback {
return suggestionsList; return suggestionsList;
} }
// TODO: Remove this method
@Override
public boolean addWord(final char[] word, int[] indices, final int offset, final int length,
int score, final int dicTypeId, final int dataType) {
return true;
}
// TODO: Use codepoint instead of char // TODO: Use codepoint instead of char
public boolean oldAddWord(final char[] word, int[] indices, final int offset, final int length, public boolean oldAddWord(final char[] word, int[] indices, final int offset, final int length,
int score, final int dicTypeId, final int dataType) { int score, final int dicTypeId, final int dataType) {

View File

@ -32,7 +32,6 @@ import com.android.inputmethod.keyboard.ProximityInfo;
import com.android.inputmethod.latin.BinaryDictionary; import com.android.inputmethod.latin.BinaryDictionary;
import com.android.inputmethod.latin.ContactsBinaryDictionary; import com.android.inputmethod.latin.ContactsBinaryDictionary;
import com.android.inputmethod.latin.Dictionary; import com.android.inputmethod.latin.Dictionary;
import com.android.inputmethod.latin.Dictionary.WordCallback;
import com.android.inputmethod.latin.DictionaryCollection; import com.android.inputmethod.latin.DictionaryCollection;
import com.android.inputmethod.latin.DictionaryFactory; import com.android.inputmethod.latin.DictionaryFactory;
import com.android.inputmethod.latin.LocaleUtils; import com.android.inputmethod.latin.LocaleUtils;
@ -204,9 +203,8 @@ public class AndroidSpellCheckerService extends SpellCheckerService
EMPTY_STRING_ARRAY); EMPTY_STRING_ARRAY);
} }
// TODO: remove this class when WordCallback is finally out of the picture and // TODO: remove this class and replace it by storage local to the session.
// replace it by storage local to the session. private static class SuggestionsGatherer {
private static class SuggestionsGatherer implements WordCallback {
public static class Result { public static class Result {
public final String[] mSuggestions; public final String[] mSuggestions;
public final boolean mHasRecommendedSuggestions; public final boolean mHasRecommendedSuggestions;
@ -240,12 +238,6 @@ public class AndroidSpellCheckerService extends SpellCheckerService
mScores = new int[mMaxLength]; mScores = new int[mMaxLength];
} }
@Override
synchronized public boolean addWord(char[] word, int[] spaceIndices, int wordOffset,
int wordLength, int score, int dicTypeId, int dataType) {
return true;
}
synchronized public boolean oldAddWord(char[] word, int[] spaceIndices, int wordOffset, synchronized public boolean oldAddWord(char[] word, int[] spaceIndices, int wordOffset,
int wordLength, int score, int dicTypeId /* unused */, int dataType) { int wordLength, int score, int dicTypeId /* unused */, int dataType) {
final int positionIndex = Arrays.binarySearch(mScores, 0, mLength, score); final int positionIndex = Arrays.binarySearch(mScores, 0, mLength, score);