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

Commit fee44846 authored by Roozbeh Pournader's avatar Roozbeh Pournader
Browse files

Various LocaleList cleanups

- Remove the LocaleList#getPrimary() API. It had become confusing
  after locale negotiation was completely implemented. For example,
  it could create the confusion that calling getPrimary() on the
  default locale list would provide the default locale, etc.
- Use the adjusted locale list from LocaleList.getAdjustedDefault()
  in Paints created with no locale list provided.
- Change LocaleList#get() to treat out of bound indexes from both
  negative indexes and too large indexes the same way.

Bug: 26984092
Bug: 26193251
Bug: 26834387
Change-Id: I75f77aea6b75e38793ed8477e5e5a4420d5e6d85
parent b013cfec
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -40070,7 +40070,6 @@ package android.util {
    method public static android.util.LocaleList getDefault();
    method public static android.util.LocaleList getEmptyLocaleList();
    method public java.util.Locale getFirstMatch(java.lang.String[]);
    method public java.util.Locale getPrimary();
    method public int indexOf(java.util.Locale);
    method public boolean isEmpty();
    method public static void setDefault(android.util.LocaleList);
+0 −1
Original line number Diff line number Diff line
@@ -42718,7 +42718,6 @@ package android.util {
    method public static android.util.LocaleList getDefault();
    method public static android.util.LocaleList getEmptyLocaleList();
    method public java.util.Locale getFirstMatch(java.lang.String[]);
    method public java.util.Locale getPrimary();
    method public int indexOf(java.util.Locale);
    method public boolean isEmpty();
    method public static void setDefault(android.util.LocaleList);
+0 −1
Original line number Diff line number Diff line
@@ -40087,7 +40087,6 @@ package android.util {
    method public static android.util.LocaleList getDefault();
    method public static android.util.LocaleList getEmptyLocaleList();
    method public java.util.Locale getFirstMatch(java.lang.String[]);
    method public java.util.Locale getPrimary();
    method public int indexOf(java.util.Locale);
    method public boolean isEmpty();
    method public static void setDefault(android.util.LocaleList);
+4 −4
Original line number Diff line number Diff line
@@ -715,7 +715,7 @@ public final class Configuration implements Parcelable, Comparable<Configuration
     * about setLocales() has changed locale directly. */
    private void fixUpLocaleList() {
        if ((locale == null && !mLocaleList.isEmpty()) ||
                (locale != null && !locale.equals(mLocaleList.getPrimary()))) {
                (locale != null && !locale.equals(mLocaleList.get(0)))) {
            mLocaleList = new LocaleList(locale);
        }
    }
@@ -1269,7 +1269,7 @@ public final class Configuration implements Parcelable, Comparable<Configuration
            localeArray[i] = Locale.forLanguageTag(source.readString());
        }
        mLocaleList = new LocaleList(localeArray);
        locale = mLocaleList.getPrimary();
        locale = mLocaleList.get(0);

        userSetLocale = (source.readInt()==1);
        touchscreen = source.readInt();
@@ -1435,7 +1435,7 @@ public final class Configuration implements Parcelable, Comparable<Configuration
     */
    public void setLocales(@Nullable LocaleList locales) {
        mLocaleList = locales == null ? LocaleList.getEmptyLocaleList() : locales;
        locale = mLocaleList.getPrimary();
        locale = mLocaleList.get(0);
        setLayoutDirection(locale);
    }

@@ -1900,7 +1900,7 @@ public final class Configuration implements Parcelable, Comparable<Configuration

        final String localesStr = XmlUtils.readStringAttribute(parser, XML_ATTR_LOCALES);
        configOut.mLocaleList = LocaleList.forLanguageTags(localesStr);
        configOut.locale = configOut.mLocaleList.getPrimary();
        configOut.locale = configOut.mLocaleList.get(0);

        configOut.touchscreen = XmlUtils.readIntAttribute(parser, XML_ATTR_TOUCHSCREEN,
                TOUCHSCREEN_UNDEFINED);
+5 −5
Original line number Diff line number Diff line
@@ -381,7 +381,7 @@ public class Resources {
    private PluralRules getPluralRule() {
        synchronized (sSync) {
            if (mPluralRule == null) {
                mPluralRule = PluralRules.forLocale(mConfiguration.getLocales().getPrimary());
                mPluralRule = PluralRules.forLocale(mConfiguration.getLocales().get(0));
            }
            return mPluralRule;
        }
@@ -444,7 +444,7 @@ public class Resources {
    @NonNull
    public String getString(@StringRes int id, Object... formatArgs) throws NotFoundException {
        final String raw = getString(id);
        return String.format(mConfiguration.getLocales().getPrimary(), raw, formatArgs);
        return String.format(mConfiguration.getLocales().get(0), raw, formatArgs);
    }

    /**
@@ -475,7 +475,7 @@ public class Resources {
    public String getQuantityString(@PluralsRes int id, int quantity, Object... formatArgs)
            throws NotFoundException {
        String raw = getQuantityText(id, quantity).toString();
        return String.format(mConfiguration.getLocales().getPrimary(), raw, formatArgs);
        return String.format(mConfiguration.getLocales().get(0), raw, formatArgs);
    }

    /**
@@ -1971,7 +1971,7 @@ public class Resources {
            }

            mAssets.setConfiguration(mConfiguration.mcc, mConfiguration.mnc,
                    adjustLanguageTag(locales.getPrimary().toLanguageTag()),
                    adjustLanguageTag(locales.get(0).toLanguageTag()),
                    mConfiguration.orientation,
                    mConfiguration.touchscreen,
                    mConfiguration.densityDpi, mConfiguration.keyboard,
@@ -1996,7 +1996,7 @@ public class Resources {
        }
        synchronized (sSync) {
            if (mPluralRule != null) {
                mPluralRule = PluralRules.forLocale(mConfiguration.getLocales().getPrimary());
                mPluralRule = PluralRules.forLocale(mConfiguration.getLocales().get(0));
            }
        }
    }
Loading