media/library/common
ibaker c50084e7ba Replace Util.toLowerInvariant() with Ascii.toLowerCase()
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.

This change also includes some null-twiddling, because
Util.toLowerInvariant() is null tolerant, while Ascii.toLowerCase() is
not. Most of the usages were already non-null, and it was easy enough to
change the remaining ones to be so by simple reordering of statements.

I'll make an equivalent change for Util.toUpperInvariant() next.

PiperOrigin-RevId: 368419813
2021-04-15 10:51:48 +01:00
..
src Replace Util.toLowerInvariant() with Ascii.toLowerCase() 2021-04-15 10:51:48 +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.