Change TimeZone.getDisplayName() to use ICU4J

TimeZone.getDisplayName() is one of the two remaining users of
libcore.icu.TimeZoneNames. We want to limit the use of that class in
favor of using ICU4J functionality directly.

This commit changes getDisplayName() to use
android.icu.text.TimeZoneNames instead.

Coincidentally this also fixes a bug where non-canonical time zone IDs
would never get a proper formatted name (they would return GMT+XX:XX
format strings instead).

Bug: 33259649
Bug: 33197219
Test: run cts -m CstLibcoreTestCases
Change-Id: I1e8b3adf3e723752515a1b5a262f9060a84ac69d
2 files changed