Search in sources :

Example 21 with LocaleList

use of android.os.LocaleList in project android_frameworks_base by AOSPA.

the class ResourcesLocaleTest method testEnglishIsAlwaysConsideredSupported.

@SmallTest
public void testEnglishIsAlwaysConsideredSupported() throws Exception {
    final Resources resources = createResourcesWithApk(R.raw.locales);
    ensureNoLanguage(resources, "en");
    final LocaleList preferredLocales = LocaleList.forLanguageTags("en-US,pl-PL");
    final Configuration config = new Configuration();
    config.setLocales(preferredLocales);
    resources.updateConfiguration(config, null);
    // The APK we loaded has default and Polish languages. If English is first in the list,
    // always take it the default (assumed to be English).
    assertEquals(Locale.forLanguageTag("en-US"), resources.getConfiguration().getLocales().get(0));
}
Also used : LocaleList(android.os.LocaleList) SmallTest(android.support.test.filters.SmallTest)

Example 22 with LocaleList

use of android.os.LocaleList in project android_frameworks_base by AOSPA.

the class InputMethodManagerService method resetAllInternalStateLocked.

private void resetAllInternalStateLocked(final boolean updateOnlyWhenLocaleChanged, final boolean resetDefaultEnabledIme) {
    if (!mSystemReady) {
        // not system ready
        return;
    }
    final LocaleList newLocales = mRes.getConfiguration().getLocales();
    if (!updateOnlyWhenLocaleChanged || (newLocales != null && !newLocales.equals(mLastSystemLocales))) {
        if (!updateOnlyWhenLocaleChanged) {
            hideCurrentInputLocked(0, null);
            resetCurrentMethodAndClient(InputMethodClient.UNBIND_REASON_RESET_IME);
        }
        if (DEBUG) {
            Slog.i(TAG, "LocaleList has been changed to " + newLocales);
        }
        buildInputMethodListLocked(resetDefaultEnabledIme);
        if (!updateOnlyWhenLocaleChanged) {
            final String selectedImiId = mSettings.getSelectedInputMethod();
            if (TextUtils.isEmpty(selectedImiId)) {
                // This is the first time of the user switch and
                // set the current ime to the proper one.
                resetDefaultImeLocked(mContext);
            }
        } else {
            // If the locale is changed, needs to reset the default ime
            resetDefaultImeLocked(mContext);
        }
        updateFromSettingsLocked(true);
        mLastSystemLocales = newLocales;
        if (!updateOnlyWhenLocaleChanged) {
            try {
                startInputInnerLocked();
            } catch (RuntimeException e) {
                Slog.w(TAG, "Unexpected exception", e);
            }
        }
    }
}
Also used : LocaleList(android.os.LocaleList)

Example 23 with LocaleList

use of android.os.LocaleList in project android_frameworks_base by AOSPA.

the class InputMethodUtilsTest method assertDefaultEnabledImes.

private void assertDefaultEnabledImes(final ArrayList<InputMethodInfo> preinstalledImes, final Locale systemLocale, final boolean isSystemReady, String... expectedImeNames) {
    final Context context = createTargetContextWithLocales(new LocaleList(systemLocale));
    final String[] actualImeNames = getPackageNames(InputMethodUtils.getDefaultEnabledImes(context, isSystemReady, preinstalledImes));
    assertEquals(expectedImeNames.length, actualImeNames.length);
    for (int i = 0; i < expectedImeNames.length; ++i) {
        assertEquals(expectedImeNames[i], actualImeNames[i]);
    }
}
Also used : Context(android.content.Context) LocaleList(android.os.LocaleList)

Example 24 with LocaleList

use of android.os.LocaleList in project android_frameworks_base by AOSPA.

the class LocaleUtilsTest method testFilterByLanguageEmptyLanguageList.

@SmallTest
public void testFilterByLanguageEmptyLanguageList() throws Exception {
    final ArrayList<Locale> availableLocales = new ArrayList<>();
    availableLocales.add(Locale.forLanguageTag("en-US"));
    availableLocales.add(Locale.forLanguageTag("fr-CA"));
    availableLocales.add(Locale.forLanguageTag("in"));
    availableLocales.add(Locale.forLanguageTag("ja"));
    availableLocales.add(Locale.forLanguageTag("fil"));
    final LocaleList preferredLocales = LocaleList.getEmptyLocaleList();
    final ArrayList<Locale> dest = new ArrayList<>();
    LocaleUtils.filterByLanguage(availableLocales, sIdentityMapper, preferredLocales, dest);
    assertEquals(0, dest.size());
}
Also used : Locale(java.util.Locale) LocaleList(android.os.LocaleList) ArrayList(java.util.ArrayList) SmallTest(android.test.suitebuilder.annotation.SmallTest)

Example 25 with LocaleList

use of android.os.LocaleList in project android_frameworks_base by AOSPA.

the class LocaleUtilsTest method testFilterDoesNotMatchAnything.

@SmallTest
public void testFilterDoesNotMatchAnything() throws Exception {
    final ArrayList<Locale> availableLocales = new ArrayList<>();
    availableLocales.add(Locale.forLanguageTag("en-US"));
    availableLocales.add(Locale.forLanguageTag("fr-CA"));
    availableLocales.add(Locale.forLanguageTag("in"));
    availableLocales.add(Locale.forLanguageTag("ja"));
    availableLocales.add(Locale.forLanguageTag("fil"));
    final LocaleList preferredLocales = LocaleList.forLanguageTags("zh-Hans-TW");
    final ArrayList<Locale> dest = new ArrayList<>();
    LocaleUtils.filterByLanguage(availableLocales, sIdentityMapper, preferredLocales, dest);
    assertEquals(0, dest.size());
}
Also used : Locale(java.util.Locale) LocaleList(android.os.LocaleList) ArrayList(java.util.ArrayList) SmallTest(android.test.suitebuilder.annotation.SmallTest)

Aggregations

LocaleList (android.os.LocaleList)91 Locale (java.util.Locale)39 ArrayList (java.util.ArrayList)31 SmallTest (android.test.suitebuilder.annotation.SmallTest)15 Resources (android.content.res.Resources)10 KeyboardLayout (android.hardware.input.KeyboardLayout)10 SmallTest (android.support.test.filters.SmallTest)10 InputMethodSubtype (android.view.inputmethod.InputMethodSubtype)10 NameNotFoundException (android.content.pm.PackageManager.NameNotFoundException)7 RemoteException (android.os.RemoteException)7 FileNotFoundException (java.io.FileNotFoundException)7 IOException (java.io.IOException)7 Context (android.content.Context)5 Config (android.content.pm.ActivityInfo.Config)5 NotFoundException (android.content.res.Resources.NotFoundException)5 TypedArray (android.content.res.TypedArray)5 XmlResourceParser (android.content.res.XmlResourceParser)5 Bundle (android.os.Bundle)5 SettingNotFoundException (android.provider.Settings.SettingNotFoundException)5 VisibleForTesting (com.android.internal.annotations.VisibleForTesting)5