Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 61e7ec65 authored by Jean Chalard's avatar Jean Chalard
Browse files

Remove the Callback interface for simpler code. (A17)

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

Change-Id: I009b54fc2e73cadca6734bdca074d033e81f6a2b
parent 2f1b6c9e
Loading
Loading
Loading
Loading
+0 −22
Original line number Diff line number Diff line
@@ -35,27 +35,6 @@ public abstract class Dictionary {
    public static final int BIGRAM = 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
@@ -64,7 +43,6 @@ public abstract class Dictionary {
     * @param prevWordForBigrams the previous word, or null if none
     * @param proximityInfo the object for key proximity. May be ignored by some implementations.
     * @return the list of suggestions
     * @see WordCallback#addWord(char[], int, int, int, int, int)
     */
    abstract public ArrayList<SuggestedWordInfo> getWords(final WordComposer composer,
            final CharSequence prevWordForBigrams, final ProximityInfo proximityInfo);
+1 −8
Original line number Diff line number Diff line
@@ -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
 * 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 int APPROX_MAX_WORD_LENGTH = 32;
@@ -403,13 +403,6 @@ public class Suggest implements Dictionary.WordCallback {
        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
    public boolean oldAddWord(final char[] word, int[] indices, final int offset, final int length,
            int score, final int dicTypeId, final int dataType) {
+2 −10
Original line number Diff line number Diff line
@@ -32,7 +32,6 @@ import com.android.inputmethod.keyboard.ProximityInfo;
import com.android.inputmethod.latin.BinaryDictionary;
import com.android.inputmethod.latin.ContactsBinaryDictionary;
import com.android.inputmethod.latin.Dictionary;
import com.android.inputmethod.latin.Dictionary.WordCallback;
import com.android.inputmethod.latin.DictionaryCollection;
import com.android.inputmethod.latin.DictionaryFactory;
import com.android.inputmethod.latin.LocaleUtils;
@@ -204,9 +203,8 @@ public class AndroidSpellCheckerService extends SpellCheckerService
                EMPTY_STRING_ARRAY);
    }

    // TODO: remove this class when WordCallback is finally out of the picture and
    // replace it by storage local to the session.
    private static class SuggestionsGatherer implements WordCallback {
    // TODO: remove this class and replace it by storage local to the session.
    private static class SuggestionsGatherer {
        public static class Result {
            public final String[] mSuggestions;
            public final boolean mHasRecommendedSuggestions;
@@ -240,12 +238,6 @@ public class AndroidSpellCheckerService extends SpellCheckerService
            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,
                int wordLength, int score, int dicTypeId /* unused */, int dataType) {
            final int positionIndex = Arrays.binarySearch(mScores, 0, mLength, score);