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

Commit 23d19626 authored by Dan Zivkovic's avatar Dan Zivkovic
Browse files

Use shared constants in old+new facilitators.

Change-Id: I18b701df6ecbcc20ff0c664c218289179c4b2b2d
parent 6e0467c2
Loading
Loading
Loading
Loading
+29 −0
Original line number Original line Diff line number Diff line
@@ -43,6 +43,35 @@ import javax.annotation.Nullable;
 * DictionaryFacilitator as a client for interacting with dictionaries.
 * DictionaryFacilitator as a client for interacting with dictionaries.
 */
 */
public interface DictionaryFacilitator {
public interface DictionaryFacilitator {

    public static final String[] ALL_DICTIONARY_TYPES = new String[] {
            Dictionary.TYPE_MAIN,
            Dictionary.TYPE_USER_HISTORY,
            Dictionary.TYPE_USER,
            Dictionary.TYPE_CONTACTS};

    public static final String[] DYNAMIC_DICTIONARY_TYPES = new String[] {
            Dictionary.TYPE_USER_HISTORY,
            Dictionary.TYPE_USER,
            Dictionary.TYPE_CONTACTS};

    /**
     * {@link Dictionary#TYPE_USER} is deprecated, except for the spelling service.
     */
    public static final String[] DICTIONARY_TYPES_FOR_SPELLING = new String[] {
            Dictionary.TYPE_MAIN,
            Dictionary.TYPE_USER_HISTORY,
            Dictionary.TYPE_USER,
            Dictionary.TYPE_CONTACTS};

    /**
     * {@link Dictionary#TYPE_USER} is deprecated, except for the spelling service.
     */
    public static final String[] DICTIONARY_TYPES_FOR_SUGGESTIONS = new String[] {
            Dictionary.TYPE_MAIN,
            Dictionary.TYPE_USER_HISTORY,
            Dictionary.TYPE_CONTACTS};

    /**
    /**
     * Returns whether this facilitator is exactly for this list of locales.
     * Returns whether this facilitator is exactly for this list of locales.
     *
     *
+2 −30
Original line number Original line Diff line number Diff line
@@ -78,34 +78,6 @@ public class DictionaryFacilitatorImpl implements DictionaryFacilitator {
    private final Object mLock = new Object();
    private final Object mLock = new Object();
    private final DistracterFilter mDistracterFilter;
    private final DistracterFilter mDistracterFilter;


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

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

    /**
     * {@link Dictionary#TYPE_USER} is deprecated, except for the spelling service.
     */
    private static final String[] DICTIONARY_TYPES_FOR_SPELLING = new String[] {
        Dictionary.TYPE_MAIN,
        Dictionary.TYPE_USER_HISTORY,
        Dictionary.TYPE_USER,
        Dictionary.TYPE_CONTACTS};

    /**
     * {@link Dictionary#TYPE_USER} is deprecated, except for the spelling service.
     */
    private static final String[] DICTIONARY_TYPES_FOR_SUGGESTIONS = new String[] {
        Dictionary.TYPE_MAIN,
        Dictionary.TYPE_USER_HISTORY,
        Dictionary.TYPE_CONTACTS};

    public static final Map<String, Class<? extends ExpandableBinaryDictionary>>
    public static final Map<String, Class<? extends ExpandableBinaryDictionary>>
            DICT_TYPE_TO_CLASS = new HashMap<>();
            DICT_TYPE_TO_CLASS = new HashMap<>();


@@ -419,7 +391,7 @@ public class DictionaryFacilitatorImpl implements DictionaryFacilitator {
            if (null == currentDictionaryGroupForLocale) {
            if (null == currentDictionaryGroupForLocale) {
                continue;
                continue;
            }
            }
            for (final String dictType : SUB_DICTIONARY_TYPES) {
            for (final String dictType : DYNAMIC_DICTIONARY_TYPES) {
                if (currentDictionaryGroupForLocale.hasDict(dictType, account)) {
                if (currentDictionaryGroupForLocale.hasDict(dictType, account)) {
                    dictTypeForLocale.add(dictType);
                    dictTypeForLocale.add(dictType);
                }
                }
@@ -840,7 +812,7 @@ public class DictionaryFacilitatorImpl implements DictionaryFacilitator {
        final ArrayList<Pair<String, DictionaryStats>> statsOfEnabledSubDicts = new ArrayList<>();
        final ArrayList<Pair<String, DictionaryStats>> statsOfEnabledSubDicts = new ArrayList<>();
        final DictionaryGroup[] dictionaryGroups = mDictionaryGroups;
        final DictionaryGroup[] dictionaryGroups = mDictionaryGroups;
        for (final DictionaryGroup dictionaryGroup : dictionaryGroups) {
        for (final DictionaryGroup dictionaryGroup : dictionaryGroups) {
            for (final String dictType : SUB_DICTIONARY_TYPES) {
            for (final String dictType : DYNAMIC_DICTIONARY_TYPES) {
                final ExpandableBinaryDictionary dictionary = dictionaryGroup.getSubDict(dictType);
                final ExpandableBinaryDictionary dictionary = dictionaryGroup.getSubDict(dictType);
                if (dictionary == null) continue;
                if (dictionary == null) continue;
                statsOfEnabledSubDicts.add(new Pair<>(dictType, dictionary.getDictionaryStats()));
                statsOfEnabledSubDicts.add(new Pair<>(dictType, dictionary.getDictionaryStats()));
+1 −1
Original line number Original line Diff line number Diff line
@@ -128,7 +128,7 @@ public class DictionaryFacilitatorLruCache {
    public DictionaryFacilitator get(final Locale locale) {
    public DictionaryFacilitator get(final Locale locale) {
        DictionaryFacilitator dictionaryFacilitator = mLruCache.get(locale);
        DictionaryFacilitator dictionaryFacilitator = mLruCache.get(locale);
        if (dictionaryFacilitator != null) {
        if (dictionaryFacilitator != null) {
            // dictionary falicitator for the locale is in the cache.
            // dictionary facilitator for the locale is in the cache.
            return dictionaryFacilitator;
            return dictionaryFacilitator;
        }
        }
        synchronized (mLock) {
        synchronized (mLock) {