Search in sources :

Example 51 with LocaleList

use of android.os.LocaleList in project platform_frameworks_base by android.

the class InputMethodUtils method getImplicitlyApplicableSubtypesLocked.

@VisibleForTesting
public static ArrayList<InputMethodSubtype> getImplicitlyApplicableSubtypesLocked(Resources res, InputMethodInfo imi) {
    final LocaleList systemLocales = res.getConfiguration().getLocales();
    synchronized (sCacheLock) {
        // it does not check if subtypes are also identical.
        if (systemLocales.equals(sCachedSystemLocales) && sCachedInputMethodInfo == imi) {
            return new ArrayList<>(sCachedResult);
        }
    }
    // Note: Only resource info in "res" is used in getImplicitlyApplicableSubtypesLockedImpl().
    // TODO: Refactor getImplicitlyApplicableSubtypesLockedImpl() so that it can receive
    // LocaleList rather than Resource.
    final ArrayList<InputMethodSubtype> result = getImplicitlyApplicableSubtypesLockedImpl(res, imi);
    synchronized (sCacheLock) {
        // Both LocaleList and InputMethodInfo are immutable. No need to copy them here.
        sCachedSystemLocales = systemLocales;
        sCachedInputMethodInfo = imi;
        sCachedResult = new ArrayList<>(result);
    }
    return result;
}
Also used : LocaleList(android.os.LocaleList) InputMethodSubtype(android.view.inputmethod.InputMethodSubtype) ArrayList(java.util.ArrayList) VisibleForTesting(com.android.internal.annotations.VisibleForTesting)

Example 52 with LocaleList

use of android.os.LocaleList in project platform_frameworks_base by android.

the class AutoReinflateContainer method onConfigurationChanged.

@Override
protected void onConfigurationChanged(Configuration newConfig) {
    super.onConfigurationChanged(newConfig);
    boolean shouldInflateLayout = false;
    final int density = newConfig.densityDpi;
    if (density != mDensity) {
        mDensity = density;
        shouldInflateLayout = true;
    }
    final LocaleList localeList = newConfig.getLocales();
    if (localeList != mLocaleList) {
        mLocaleList = localeList;
        shouldInflateLayout = true;
    }
    if (shouldInflateLayout) {
        inflateLayout();
    }
}
Also used : LocaleList(android.os.LocaleList)

Example 53 with LocaleList

use of android.os.LocaleList in project platform_frameworks_base by android.

the class ResourcesLocaleTest method testSelectFirstSupportedLanguage.

@SmallTest
public void testSelectFirstSupportedLanguage() throws Exception {
    final Resources resources = createResourcesWithApk(R.raw.locales);
    ensureNoLanguage(resources, "fr");
    final LocaleList preferredLocales = LocaleList.forLanguageTags("fr-FR,pl-PL");
    final Configuration config = new Configuration();
    config.setLocales(preferredLocales);
    resources.updateConfiguration(config, null);
    // The APK we loaded has default and Polish languages. We expect the Polish language to
    // therefore be chosen.
    assertEquals(Locale.forLanguageTag("pl-PL"), resources.getConfiguration().getLocales().get(0));
}
Also used : LocaleList(android.os.LocaleList) SmallTest(android.support.test.filters.SmallTest)

Example 54 with LocaleList

use of android.os.LocaleList in project platform_frameworks_base by android.

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 55 with LocaleList

use of android.os.LocaleList in project platform_frameworks_base by android.

the class LocaleUtilsTest method testFilterByLanguageEmptySource.

@SmallTest
public void testFilterByLanguageEmptySource() throws Exception {
    final ArrayList<Locale> availableLocales = new ArrayList<>();
    final LocaleList preferredLocales = LocaleList.forLanguageTags("fr,en-US,ja-JP");
    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