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

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

Merge "Add prefix to the arguments of getDictionary()."

parents 5bf7418f 18df1925
Loading
Loading
Loading
Loading
+2 −7
Original line number Diff line number Diff line
@@ -74,11 +74,6 @@ public class ContactsBinaryDictionary extends ExpandableBinaryDictionary {
     */
    private final boolean mUseFirstLastBigrams;

    private ContactsBinaryDictionary(final Context context, final Locale locale,
            final File dictFile) {
        this(context, locale, dictFile, NAME);
    }

    protected ContactsBinaryDictionary(final Context context, final Locale locale,
            final File dictFile, final String name) {
        super(context, getDictName(name, locale, dictFile), locale, Dictionary.TYPE_CONTACTS,
@@ -90,8 +85,8 @@ public class ContactsBinaryDictionary extends ExpandableBinaryDictionary {

    @UsedForTesting
    public static ContactsBinaryDictionary getDictionary(final Context context, final Locale locale,
            final File dictFile) {
        return new ContactsBinaryDictionary(context, locale, dictFile);
            final File dictFile, final String dictNamePrefix) {
        return new ContactsBinaryDictionary(context, locale, dictFile, dictNamePrefix + NAME);
    }

    private synchronized void registerObserver(final Context context) {
+16 −5
Original line number Diff line number Diff line
@@ -87,7 +87,7 @@ public class DictionaryFacilitator {

    private static final String DICT_FACTORY_METHOD_NAME = "getDictionary";
    private static final Class<?>[] DICT_FACTORY_METHOD_ARG_TYPES =
            new Class[] { Context.class, Locale.class, File.class };
            new Class[] { Context.class, Locale.class, File.class, String.class };

    private static final String[] SUB_DICT_TYPES =
            Arrays.copyOfRange(DICT_TYPES_ORDERED_TO_GET_SUGGESTIONS, 1 /* start */,
@@ -185,7 +185,8 @@ public class DictionaryFacilitator {
    }

    private static ExpandableBinaryDictionary getSubDict(final String dictType,
            final Context context, final Locale locale, final File dictFile) {
            final Context context, final Locale locale, final File dictFile,
            final String dictNamePrefix) {
        final Class<? extends ExpandableBinaryDictionary> dictClass =
                DICT_TYPE_TO_CLASS.get(dictType);
        if (dictClass == null) {
@@ -195,7 +196,7 @@ public class DictionaryFacilitator {
            final Method factoryMethod = dictClass.getMethod(DICT_FACTORY_METHOD_NAME,
                    DICT_FACTORY_METHOD_ARG_TYPES);
            final Object dict = factoryMethod.invoke(null /* obj */,
                    new Object[] { context, locale, dictFile });
                    new Object[] { context, locale, dictFile, dictNamePrefix });
            return (ExpandableBinaryDictionary) dict;
        } catch (final NoSuchMethodException | SecurityException | IllegalAccessException
                | IllegalArgumentException | InvocationTargetException e) {
@@ -208,6 +209,15 @@ public class DictionaryFacilitator {
            final boolean useContactsDict, final boolean usePersonalizedDicts,
            final boolean forceReloadMainDictionary,
            final DictionaryInitializationListener listener) {
        resetDictionariesWithDictNamePrefix(context, newLocale, useContactsDict,
                usePersonalizedDicts, forceReloadMainDictionary, listener, "" /* dictNamePrefix */);
    }

    public void resetDictionariesWithDictNamePrefix(final Context context, final Locale newLocale,
            final boolean useContactsDict, final boolean usePersonalizedDicts,
            final boolean forceReloadMainDictionary,
            final DictionaryInitializationListener listener,
            final String dictNamePrefix) {
        final boolean localeHasBeenChanged = !newLocale.equals(mDictionaries.mLocale);
        // We always try to have the main dictionary. Other dictionaries can be unused.
        final boolean reloadMainDictionary = localeHasBeenChanged || forceReloadMainDictionary;
@@ -243,7 +253,8 @@ public class DictionaryFacilitator {
                dict = mDictionaries.getSubDict(dictType);
            } else {
                // Start to use new dictionary.
                dict = getSubDict(dictType, context, newLocale, null /* dictFile */);
                dict = getSubDict(dictType, context, newLocale, null /* dictFile */,
                        dictNamePrefix);
            }
            subDicts.put(dictType, dict);
        }
@@ -312,7 +323,7 @@ public class DictionaryFacilitator {
            } else {
                final File dictFile = dictionaryFiles.get(dictType);
                final ExpandableBinaryDictionary dict = getSubDict(
                        dictType, context, locale, dictFile);
                        dictType, context, locale, dictFile, "" /* dictNamePrefix */);
                if (additionalDictAttributes.containsKey(dictType)) {
                    dict.clearAndFlushDictionaryWithAdditionalAttributes(
                            additionalDictAttributes.get(dictType));
+3 −6
Original line number Diff line number Diff line
@@ -67,10 +67,6 @@ public class UserBinaryDictionary extends ExpandableBinaryDictionary {
    final private String mLocale;
    final private boolean mAlsoUseMoreRestrictiveLocales;

    private UserBinaryDictionary(final Context context, final Locale locale, final File dictFile) {
        this(context, locale, false /* alsoUseMoreRestrictiveLocales */, dictFile, NAME);
    }

    protected UserBinaryDictionary(final Context context, final Locale locale,
            final boolean alsoUseMoreRestrictiveLocales, final File dictFile, final String name) {
        super(context, getDictName(name, locale, dictFile), locale, Dictionary.TYPE_USER, dictFile);
@@ -107,8 +103,9 @@ public class UserBinaryDictionary extends ExpandableBinaryDictionary {

    @UsedForTesting
    public static UserBinaryDictionary getDictionary(final Context context, final Locale locale,
            final File dictFile) {
        return new UserBinaryDictionary(context, locale, dictFile);
            final File dictFile, final String dictNamePrefix) {
        return new UserBinaryDictionary(context, locale, false /* alsoUseMoreRestrictiveLocales */,
                dictFile, dictNamePrefix + NAME);
    }

    @Override
+1 −1
Original line number Diff line number Diff line
@@ -37,7 +37,7 @@ public class ContextualDictionary extends ExpandableBinaryDictionary {
    }
    @UsedForTesting
    public static ContextualDictionary getDictionary(final Context context, final Locale locale,
            final File dictFile) {
            final File dictFile, final String dictNamePrefix) {
        return new ContextualDictionary(context, locale, dictFile);
    }

+1 −1
Original line number Diff line number Diff line
@@ -35,7 +35,7 @@ public class PersonalizationDictionary extends DecayingExpandableBinaryDictionar

    @UsedForTesting
    public static PersonalizationDictionary getDictionary(final Context context,
            final Locale locale, final File dictFile) {
            final Locale locale, final File dictFile, final String dictNamePrefix) {
        return PersonalizationHelper.getPersonalizationDictionary(context, locale);
    }
}
Loading