Remove the Callback interface for simpler code. (A17)

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

Change-Id: I009b54fc2e73cadca6734bdca074d033e81f6a2b
diff --git a/java/src/com/android/inputmethod/latin/Dictionary.java b/java/src/com/android/inputmethod/latin/Dictionary.java
index e6d3cfb..99a04da 100644
--- a/java/src/com/android/inputmethod/latin/Dictionary.java
+++ b/java/src/com/android/inputmethod/latin/Dictionary.java
@@ -35,27 +35,6 @@
     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 @@
      * @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);
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index 3729c99..3b420aab 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -35,7 +35,7 @@
  * 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 @@
         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) {
diff --git a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
index 129f74f..3bf18c5 100644
--- a/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
+++ b/java/src/com/android/inputmethod/latin/spellcheck/AndroidSpellCheckerService.java
@@ -32,7 +32,6 @@
 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 @@
                 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 @@
             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);