Generating GMT offset Strings in TimeZoneNames

The only remaining user of TimeZoneNames (DateFormatSymbols) always
generates GMT offset Strings (GMT+XX:XX) for all null values by calling
TimeZone.getDisplayName(). This is now rather inefficient, as it will
try to load the name via ICU4J and only once that fails will it generate
the string.

Instead, make sure that TimeZoneNames always returns an array where all
values are populated.

Also remove unnecessary synchronized keyword from
TimeZoneNames.internStrings(). It was left over from an earlier version
that used a shared intern table.

Mark Android-specific changes in DateFormatSymbols with the appropriate
comments.

Bug: 33259649
Test: run cts -m CtsLibcoreTestCases
Change-Id: I1d84af6361d8e02bb9111efb72008b54c2f8fd24
2 files changed