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

Commit 7987afbe authored by Keisuke Kuroyanagi's avatar Keisuke Kuroyanagi
Browse files

Remove useless method call for spell checker.

Bug: 8187060
Change-Id: I2f91da12ba2a9e7ce28abd06f314e0e6125d08dc
parent 5c4bd203
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();
                }