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

Commit 65e3ae6f authored by Keisuke Kuroyanagi's avatar Keisuke Kuroyanagi Committed by Android (Google) Code Review
Browse files

Merge "Remove useless method call for spell checker."

parents 3fbcf485 7987afbe
Loading
Loading
Loading
Loading
+10 −18
Original line number Diff line number Diff line
@@ -25,34 +25,26 @@ import java.util.ArrayList;
import java.util.Locale;

public final class SynchronouslyLoadedContactsBinaryDictionary extends ContactsBinaryDictionary {
    private boolean mClosed;
    private final Object mLock = new Object();

    public SynchronouslyLoadedContactsBinaryDictionary(final Context context, final Locale locale) {
        super(context, locale);
    }

    @Override
    public synchronized ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer codes,
    public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer codes,
            final String prevWordForBigrams, final ProximityInfo proximityInfo,
            final boolean blockOffensiveWords, final int[] additionalFeaturesOptions) {
        reloadDictionaryIfRequired();
        return super.getSuggestions(codes, prevWordForBigrams, proximityInfo, blockOffensiveWords,
                additionalFeaturesOptions);
        synchronized (mLock) {
            return super.getSuggestions(codes, prevWordForBigrams, proximityInfo,
                    blockOffensiveWords, additionalFeaturesOptions);
        }

    @Override
    public synchronized boolean isValidWord(final String word) {
        reloadDictionaryIfRequired();
        return isValidWordInner(word);
    }

    // Protect against multiple closing
    @Override
    public synchronized void close() {
        // Actually with the current implementation of ContactsDictionary it's safe to close
        // several times, so the following protection is really only for foolproofing
        if (mClosed) return;
        mClosed = true;
        super.close();
    public boolean isValidWord(final String word) {
        synchronized (mLock) {
            return super.isValidWord(word);
        }
    }
}
+10 −7
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import java.util.ArrayList;
import java.util.Locale;

public final class SynchronouslyLoadedUserBinaryDictionary extends UserBinaryDictionary {
    private final Object mLock = new Object();

    public SynchronouslyLoadedUserBinaryDictionary(final Context context, final Locale locale) {
        this(context, locale, false);
@@ -36,17 +37,19 @@ public final class SynchronouslyLoadedUserBinaryDictionary extends UserBinaryDic
    }

    @Override
    public synchronized ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer codes,
    public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer codes,
            final String prevWordForBigrams, final ProximityInfo proximityInfo,
            final boolean blockOffensiveWords, final int[] additionalFeaturesOptions) {
        reloadDictionaryIfRequired();
        return super.getSuggestions(codes, prevWordForBigrams, proximityInfo, blockOffensiveWords,
                additionalFeaturesOptions);
        synchronized (mLock) {
            return super.getSuggestions(codes, prevWordForBigrams, proximityInfo,
                    blockOffensiveWords, additionalFeaturesOptions);
        }
    }

    @Override
    public synchronized boolean isValidWord(final String word) {
        reloadDictionaryIfRequired();
        return isValidWordInner(word);
    public boolean isValidWord(final String word) {
        synchronized (mLock) {
            return super.isValidWord(word);
        }
    }
}
+2 −0
Original line number Diff line number Diff line
@@ -383,6 +383,8 @@ public final class AndroidSpellCheckerService extends SpellCheckerService
        new Thread("spellchecker_close_dicts") {
            @Override
            public void run() {
                // Contacts dictionary can be closed multiple times here. If the dictionary is
                // already closed, extra closings are no-ops, so it's safe.
                for (DictionaryPool pool : oldPools.values()) {
                    pool.close();
                }