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

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

Merge "Move locale-related utility methods to LocaleUtils."

parents 1f891474 ef35cb63
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ package com.android.inputmethod.deprecated.languageswitcher;

import com.android.inputmethod.keyboard.internal.KeyboardBuilder;
import com.android.inputmethod.latin.DictionaryFactory;
import com.android.inputmethod.latin.LocaleUtils;
import com.android.inputmethod.latin.R;
import com.android.inputmethod.latin.Settings;
import com.android.inputmethod.latin.SharedPreferencesCompat;
@@ -155,7 +156,7 @@ public class InputLanguageSelection extends PreferenceActivity {
    private Pair<Long, Boolean> hasDictionaryOrLayout(Locale locale) {
        if (locale == null) return new Pair<Long, Boolean>(null, false);
        final Resources res = getResources();
        final Locale saveLocale = Utils.setSystemLocale(res, locale);
        final Locale saveLocale = LocaleUtils.setSystemLocale(res, locale);
        final Long dictionaryId = DictionaryFactory.getDictionaryId(this, locale);
        boolean hasLayout = false;

@@ -174,7 +175,7 @@ public class InputLanguageSelection extends PreferenceActivity {
        } catch (XmlPullParserException e) {
        } catch (IOException e) {
        }
        Utils.setSystemLocale(res, saveLocale);
        LocaleUtils.setSystemLocale(res, saveLocale);
        return new Pair<Long, Boolean>(dictionaryId, hasLayout);
    }

+2 −2
Original line number Diff line number Diff line
@@ -18,9 +18,9 @@ package com.android.inputmethod.deprecated.languageswitcher;

import com.android.inputmethod.latin.LatinIME;
import com.android.inputmethod.latin.LatinImeLogger;
import com.android.inputmethod.latin.LocaleUtils;
import com.android.inputmethod.latin.Settings;
import com.android.inputmethod.latin.SharedPreferencesCompat;
import com.android.inputmethod.latin.Utils;

import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
@@ -126,7 +126,7 @@ public class LanguageSwitcher {
    private void constructLocales() {
        mLocales.clear();
        for (final String lang : mSelectedLanguageArray) {
            final Locale locale = Utils.constructLocaleFromString(lang);
            final Locale locale = LocaleUtils.constructLocaleFromString(lang);
            mLocales.add(locale);
        }
    }
+3 −2
Original line number Diff line number Diff line
@@ -33,6 +33,7 @@ import com.android.inputmethod.keyboard.internal.ModifierKeyState;
import com.android.inputmethod.keyboard.internal.ShiftKeyState;
import com.android.inputmethod.latin.LatinIME;
import com.android.inputmethod.latin.LatinImeLogger;
import com.android.inputmethod.latin.LocaleUtils;
import com.android.inputmethod.latin.R;
import com.android.inputmethod.latin.Settings;
import com.android.inputmethod.latin.SubtypeSwitcher;
@@ -258,11 +259,11 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha
        final SoftReference<LatinKeyboard> ref = mKeyboardCache.get(id);
        LatinKeyboard keyboard = (ref == null) ? null : ref.get();
        if (keyboard == null) {
            final Locale savedLocale = Utils.setSystemLocale(mResources, id.mLocale);
            final Locale savedLocale = LocaleUtils.setSystemLocale(mResources, id.mLocale);
            try {
                keyboard = new LatinKeyboard.Builder(mThemeContext).load(id).build();
            } finally {
                Utils.setSystemLocale(mResources, savedLocale);
                LocaleUtils.setSystemLocale(mResources, savedLocale);
            }
            mKeyboardCache.put(id, new SoftReference<LatinKeyboard>(keyboard));

+2 −2
Original line number Diff line number Diff line
@@ -157,9 +157,9 @@ class BinaryDictionaryGetter {
    private static AssetFileAddress loadFallbackResource(final Context context,
            final int fallbackResId, final Locale locale) {
        final Resources res = context.getResources();
        final Locale savedLocale = Utils.setSystemLocale(res, locale);
        final Locale savedLocale = LocaleUtils.setSystemLocale(res, locale);
        final AssetFileDescriptor afd = res.openRawResourceFd(fallbackResId);
        Utils.setSystemLocale(res, savedLocale);
        LocaleUtils.setSystemLocale(res, savedLocale);

        if (afd == null) {
            Log.e(TAG, "Found the resource but cannot read it. Is it compressed? resId="
+7 −7
Original line number Diff line number Diff line
@@ -83,9 +83,9 @@ public class DictionaryFactory {
        try {
            final Resources res = context.getResources();
            if (null != locale) {
                final Locale savedLocale = Utils.setSystemLocale(res, locale);
                final Locale savedLocale = LocaleUtils.setSystemLocale(res, locale);
                afd = res.openRawResourceFd(resId);
                Utils.setSystemLocale(res, savedLocale);
                LocaleUtils.setSystemLocale(res, savedLocale);
            } else {
                afd = res.openRawResourceFd(resId);
            }
@@ -145,7 +145,7 @@ public class DictionaryFactory {
     */
    public static boolean isDictionaryAvailable(Context context, Locale locale) {
        final Resources res = context.getResources();
        final Locale saveLocale = Utils.setSystemLocale(res, locale);
        final Locale saveLocale = LocaleUtils.setSystemLocale(res, locale);

        final int resourceId = Utils.getMainDictionaryResourceId(res);
        final AssetFileDescriptor afd = res.openRawResourceFd(resourceId);
@@ -156,14 +156,14 @@ public class DictionaryFactory {
            /* Um, what can we do here exactly? */
        }

        Utils.setSystemLocale(res, saveLocale);
        LocaleUtils.setSystemLocale(res, saveLocale);
        return hasDictionary;
    }

    // TODO: Do not use the size of the dictionary as an unique dictionary ID.
    public static Long getDictionaryId(Context context, Locale locale) {
    public static Long getDictionaryId(final Context context, final Locale locale) {
        final Resources res = context.getResources();
        final Locale saveLocale = Utils.setSystemLocale(res, locale);
        final Locale saveLocale = LocaleUtils.setSystemLocale(res, locale);

        final int resourceId = Utils.getMainDictionaryResourceId(res);
        final AssetFileDescriptor afd = res.openRawResourceFd(resourceId);
@@ -175,7 +175,7 @@ public class DictionaryFactory {
        } catch (java.io.IOException e) {
        }

        Utils.setSystemLocale(res, saveLocale);
        LocaleUtils.setSystemLocale(res, saveLocale);
        return size;
    }

Loading