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

Commit b95f4540 authored by Jean Chalard's avatar Jean Chalard Committed by Android (Google) Code Review
Browse files

Merge "Fix a possible deadlock."

parents 049e49fb a9876980
Loading
Loading
Loading
Loading
+32 −17
Original line number Diff line number Diff line
@@ -334,10 +334,19 @@ public class AndroidSpellCheckerService extends SpellCheckerService {
                final String text = textInfo.getText();

                if (shouldFilterOut(text)) {
                    final DictAndProximity dictInfo = mDictionaryPool.takeOrGetNull();
                    DictAndProximity dictInfo = null;
                    try {
                        dictInfo = mDictionaryPool.takeOrGetNull();
                        if (null == dictInfo) return NOT_IN_DICT_EMPTY_SUGGESTIONS;
                        return dictInfo.mDictionary.isValidWord(text) ? IN_DICT_EMPTY_SUGGESTIONS
                                : NOT_IN_DICT_EMPTY_SUGGESTIONS;
                    } finally {
                        if (null != dictInfo) {
                            if (!mDictionaryPool.offer(dictInfo)) {
                                Log.e(TAG, "Can't re-insert a dictionary into its pool");
                            }
                        }
                    }
                }

                final SuggestionsGatherer suggestionsGatherer =
@@ -361,7 +370,9 @@ public class AndroidSpellCheckerService extends SpellCheckerService {

                final int capitalizeType = getCapitalizationType(text);
                boolean isInDict = true;
                final DictAndProximity dictInfo = mDictionaryPool.takeOrGetNull();
                DictAndProximity dictInfo = null;
                try {
                    dictInfo = mDictionaryPool.takeOrGetNull();
                    if (null == dictInfo) return NOT_IN_DICT_EMPTY_SUGGESTIONS;
                    dictInfo.mDictionary.getWords(composer, suggestionsGatherer,
                            dictInfo.mProximityInfo);
@@ -372,9 +383,13 @@ public class AndroidSpellCheckerService extends SpellCheckerService {
                        // want to test a lowercase version of it.
                        isInDict = dictInfo.mDictionary.isValidWord(text.toLowerCase(mLocale));
                    }
                } finally {
                    if (null != dictInfo) {
                        if (!mDictionaryPool.offer(dictInfo)) {
                            Log.e(TAG, "Can't re-insert a dictionary into its pool");
                        }
                    }
                }

                final SuggestionsGatherer.Result result = suggestionsGatherer.getResults(text,
                        mService.mTypoThreshold, capitalizeType, mLocale);