*** Original commit ***

Fix capitalization of language in track selector

Issue: #9452

***

PiperOrigin-RevId: 400706984
This commit is contained in:
olly 2021-10-04 14:42:09 +01:00 committed by kim-vde
parent ac4a7e919a
commit 912c47ff6f
3 changed files with 2 additions and 15 deletions

View File

@ -35,8 +35,6 @@
`Player.addListener`. `Player.addListener`.
* Fix initial timestamp display in `PlayerControlView` * Fix initial timestamp display in `PlayerControlView`
([#9524](https://github.com/google/ExoPlayer/issues/9254)). ([#9524](https://github.com/google/ExoPlayer/issues/9254)).
* Fix capitalization of languages in the track selector
([#9452](https://github.com/google/ExoPlayer/issues/9452)).
* Extractors: * Extractors:
* MP4: Correctly handle HEVC tracks with pixel aspect ratios other than 1. * MP4: Correctly handle HEVC tracks with pixel aspect ratios other than 1.
* TS: Correctly handle HEVC tracks with pixel aspect ratios other than 1. * TS: Correctly handle HEVC tracks with pixel aspect ratios other than 1.

View File

@ -2243,11 +2243,6 @@ public final class Util {
return systemLocales; return systemLocales;
} }
/** Returns the default {@link Locale.Category#DISPLAY DISPLAY} {@link Locale}. */
public static Locale getDefaultDisplayLocale() {
return Util.SDK_INT >= 24 ? Locale.getDefault(Locale.Category.DISPLAY) : Locale.getDefault();
}
/** /**
* Uncompresses the data in {@code input}. * Uncompresses the data in {@code input}.
* *

View File

@ -104,14 +104,8 @@ public class DefaultTrackNameProvider implements TrackNameProvider {
if (TextUtils.isEmpty(language) || C.LANGUAGE_UNDETERMINED.equals(language)) { if (TextUtils.isEmpty(language) || C.LANGUAGE_UNDETERMINED.equals(language)) {
return ""; return "";
} }
Locale languageLocale = Locale locale = Util.SDK_INT >= 21 ? Locale.forLanguageTag(language) : new Locale(language);
Util.SDK_INT >= 21 ? Locale.forLanguageTag(language) : new Locale(language); return locale.getDisplayName();
Locale displayLocale = Util.getDefaultDisplayLocale();
String languageName = languageLocale.getDisplayName(displayLocale);
// Capitalize the first letter. See: https://github.com/google/ExoPlayer/issues/9452.
int firstCodePointLength = languageName.offsetByCodePoints(0, 1);
return languageName.substring(0, firstCodePointLength).toUpperCase(displayLocale)
+ languageName.substring(firstCodePointLength);
} }
private String buildRoleString(Format format) { private String buildRoleString(Format format) {