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

Commit 5b00d74c authored by Keisuke Kuroyanagi's avatar Keisuke Kuroyanagi
Browse files

Use fixed order of dictionaries to get suggestions.

Bug: 8187060
Change-Id: Id287776e3a82c0a6b208d677b8f2891266c5fc8d
parent 543fea98
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -36,7 +36,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
@@ -54,6 +53,15 @@ public class DictionaryFacilitatorForSuggest {
    // To synchronize assigning mDictionaries to ensure closing dictionaries.
    private Object mLock = new Object();

    private static final String[] dictTypesOrderedToGetSuggestion =
            new String[] {
                Dictionary.TYPE_MAIN,
                Dictionary.TYPE_USER_HISTORY,
                Dictionary.TYPE_PERSONALIZATION,
                Dictionary.TYPE_USER,
                Dictionary.TYPE_CONTACTS
            };

    /**
     * Class contains dictionaries for a locale.
     */
@@ -453,7 +461,8 @@ public class DictionaryFacilitatorForSuggest {
        final Map<String, Dictionary> dictMap = dictionaries.mDictMap;
        final SuggestionResults suggestionResults =
                new SuggestionResults(dictionaries.mLocale, SuggestedWords.MAX_SUGGESTIONS);
        for (final Dictionary dictionary : dictMap.values()) {
        for (final String dictType : dictTypesOrderedToGetSuggestion) {
            final Dictionary dictionary = dictMap.get(dictType);
            if (null == dictionary) continue;
            final ArrayList<SuggestedWordInfo> dictionarySuggestions =
                    dictionary.getSuggestionsWithSessionId(composer, prevWord, proximityInfo,