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

Commit 60eed92d authored by Jean Chalard's avatar Jean Chalard
Browse files

Remove the callback argument to getWords() (A15)

Bug: 6252660
Bug: 6166228
Bug: 2704000
Bug: 6225530
Change-Id: I919bf70a1213ab5d7c7a9e5715bd72a6e257148b
parent 2225b3ba
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -147,8 +147,7 @@ public class BinaryDictionary extends Dictionary {
    // proximityInfo and/or prevWordForBigrams may not be null.
    @Override
    public ArrayList<SuggestedWordInfo> getWords(final WordComposer codes,
            final CharSequence prevWordForBigrams, final WordCallback callback,
            final ProximityInfo proximityInfo) {
            final CharSequence prevWordForBigrams, final ProximityInfo proximityInfo) {
        final int count = getSuggestions(codes, prevWordForBigrams, proximityInfo, mOutputChars,
                mScores, mSpaceIndices);

+3 −5
Original line number Diff line number Diff line
@@ -59,17 +59,15 @@ public abstract class Dictionary {

    /**
     * Searches for words in the dictionary that match the characters in the composer. Matched
     * words are added through the callback object.
     * @param composer the key sequence to match
     * words are returned as an ArrayList.
     * @param composer the key sequence to match with coordinate info, as a WordComposer
     * @param prevWordForBigrams the previous word, or null if none
     * @param callback the callback object to send matched words to as possible candidates
     * @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 WordCallback callback,
            final ProximityInfo proximityInfo);
            final CharSequence prevWordForBigrams, final ProximityInfo proximityInfo);

    /**
     * Searches for pairs in the bigram dictionary that matches the previous word and all the
+3 −4
Original line number Diff line number Diff line
@@ -53,19 +53,18 @@ public class DictionaryCollection extends Dictionary {

    @Override
    public ArrayList<SuggestedWordInfo> getWords(final WordComposer composer,
            final CharSequence prevWordForBigrams, final WordCallback callback,
            final ProximityInfo proximityInfo) {
            final CharSequence prevWordForBigrams, final ProximityInfo proximityInfo) {
        final CopyOnWriteArrayList<Dictionary> dictionaries = mDictionaries;
        if (dictionaries.isEmpty()) return null;
        // To avoid creating unnecessary objects, we get the list out of the first
        // dictionary and add the rest to it if not null, hence the get(0)
        ArrayList<SuggestedWordInfo> suggestions = dictionaries.get(0).getWords(composer,
                prevWordForBigrams, callback, proximityInfo);
                prevWordForBigrams, proximityInfo);
        if (null == suggestions) suggestions = new ArrayList<SuggestedWordInfo>();
        final int length = dictionaries.size();
        for (int i = 0; i < length; ++ i) {
            final ArrayList<SuggestedWordInfo> sugg = dictionaries.get(i).getWords(composer,
                    prevWordForBigrams, callback, proximityInfo);
                    prevWordForBigrams, proximityInfo);
            if (null != sugg) suggestions.addAll(sugg);
        }
        return suggestions;
+4 −7
Original line number Diff line number Diff line
@@ -196,22 +196,19 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {

    @Override
    public ArrayList<SuggestedWordInfo> getWords(final WordComposer codes,
            final CharSequence prevWordForBigrams, final WordCallback callback,
            final ProximityInfo proximityInfo) {
            final CharSequence prevWordForBigrams, final ProximityInfo proximityInfo) {
        asyncReloadDictionaryIfRequired();
        return getWordsInner(codes, prevWordForBigrams, callback, proximityInfo);
        return getWordsInner(codes, prevWordForBigrams, proximityInfo);
    }

    protected final ArrayList<SuggestedWordInfo> getWordsInner(final WordComposer codes,
            final CharSequence prevWordForBigrams, final WordCallback callback,
            final ProximityInfo proximityInfo) {
            final CharSequence prevWordForBigrams, final ProximityInfo proximityInfo) {
        // Ensure that there are no concurrent calls to getWords. If there are, do nothing and
        // return.
        if (mLocalDictionaryController.tryLock()) {
            try {
                if (mBinaryDictionary != null) {
                    return mBinaryDictionary.getWords(codes, prevWordForBigrams, callback,
                            proximityInfo);
                    return mBinaryDictionary.getWords(codes, prevWordForBigrams, proximityInfo);
                }
            } finally {
                mLocalDictionaryController.unlock();
+1 −2
Original line number Diff line number Diff line
@@ -249,8 +249,7 @@ public class ExpandableDictionary extends Dictionary {

    @Override
    public ArrayList<SuggestedWordInfo> getWords(final WordComposer codes,
            final CharSequence prevWordForBigrams, final WordCallback callback,
            final ProximityInfo proximityInfo) {
            final CharSequence prevWordForBigrams, final ProximityInfo proximityInfo) {
        synchronized (mUpdatingLock) {
            // If we need to update, start off a background task
            if (mRequiresReload) startDictionaryLoadingTaskLocked();
Loading