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

Commit e66546c2 authored by Mihai Nita's avatar Mihai Nita Committed by android-build-merger
Browse files

Merge "Use DisplayNameWithDialect only for some locales" into nyc-dev

am: e544d408

* commit 'e544d408':
  Use DisplayNameWithDialect only for some locales

Change-Id: I0611e41a010c6b5c4a937c8c5de501d3749cd438
parents dfadee87 e544d408
Loading
Loading
Loading
Loading
+14 −5
Original line number Diff line number Diff line
@@ -90,6 +90,15 @@ public class LocaleHelper {
        return str.toUpperCase();
    }

    // For some locales we want to use a "dialect" form, for instance
    // "Dari" instead of "Persian (Afghanistan)", or "Moldavian" instead of "Romanian (Moldova)"
    private static boolean shouldUseDialectName(Locale locale) {
        final String lang = locale.getLanguage();
        return "fa".equals(lang) // Persian
                || "ro".equals(lang) // Romanian
                || "zh".equals(lang); // Chinese
    }

    /**
     * Returns the locale localized for display in the provided locale.
     *
@@ -99,8 +108,10 @@ public class LocaleHelper {
     * @return the localized name of the locale.
     */
    public static String getDisplayName(Locale locale, Locale displayLocale, boolean sentenceCase) {
        String result = ULocale.getDisplayNameWithDialect(locale.toLanguageTag(),
                ULocale.forLocale(displayLocale));
        final ULocale displayULocale = ULocale.forLocale(displayLocale);
        String result = shouldUseDialectName(locale)
                ? ULocale.getDisplayNameWithDialect(locale.toLanguageTag(), displayULocale)
                : ULocale.getDisplayName(locale.toLanguageTag(), displayULocale);
        return sentenceCase ? toSentenceCase(result, displayLocale) : result;
    }

@@ -112,9 +123,7 @@ public class LocaleHelper {
     * @return the localized name of the locale.
     */
    public static String getDisplayName(Locale locale, boolean sentenceCase) {
        String result = ULocale.getDisplayNameWithDialect(locale.toLanguageTag(),
                ULocale.getDefault());
        return sentenceCase ? toSentenceCase(result, Locale.getDefault()) : result;
        return getDisplayName(locale, Locale.getDefault(), sentenceCase);
    }

    /**