media/library/common
ibaker fff7b8079a Replace Util.toUpperInvariant() with Ascii.toUpperCase()
Even when fixed to the US locale (and thus avoiding surprising behaviour
in e.g. Turkish locale with "i" and "I") there are unexpected behaviours
when upper and lower casing non-ASCII characters.

For example it's sometimes not symmetric, e.g.:
"ẞ".toLowerCase() -> "ß"
"ß".toUpperCase() -> "SS"

In all the ExoPlayer usages we are either dealing with known-ASCII
strings (e.g. MIME types) or comparing against ASCII constant strings
anyway, so it seems easier to just use Guava's ASCII-only class in these
cases.

Util.toUpperInvariant() is null-tolerant, while Ascii.toLowercase() is
not. Most usages in this change are clearly non-null. The BandwidthMeter
usages aren't annotated @Nullable, but the current code *would* work if
countryCode was null in both cases. These methods will now throw NPE if
they're passed null.

PiperOrigin-RevId: 368816287
2021-04-16 14:13:08 +01:00
..
src Replace Util.toUpperInvariant() with Ascii.toUpperCase() 2021-04-16 14:13:08 +01:00
build.gradle Add BundleUtil to remove androidx.core dependency 2021-03-24 18:07:15 +00:00
proguard-rules.txt Refine ProGuard config workaround for Function 2021-02-03 15:03:07 +00:00
README.md Split out extractor and common modules 2020-01-24 18:15:19 +00:00

ExoPlayer common library module

Common code used by other ExoPlayer modules.

  • Javadoc: Note that this Javadoc is combined with that of other modules.