mirror of
https://github.com/androidx/media.git
synced 2025-04-30 06:46:50 +08:00

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