return name;
}
String location = null;
- String countryCode = ZoneMeta.getSingleCountry(tzID);
+ String countryCode = ZoneMeta.getCanonicalCountry(tzID);
if (countryCode != null) {
- location = getLocaleDisplayNames().regionDisplayName(countryCode);
+ // Is this the golden zone for the region?
+ String regionalGolden = _tznames.getReferenceZoneID(mzID, countryCode);
+ if (tzID.equals(regionalGolden)) {
+ // Use country name
+ location = getLocaleDisplayNames().regionDisplayName(countryCode);
+ } else {
+ // Otherwise, use exemplar city name
+ location = _tznames.getExemplarLocationName(tzID);
+ }
} else {
location = _tznames.getExemplarLocationName(tzID);
if (location == null) {
{ "ti", "Asia/Calcutta", "2004-07-15T00:00:00Z", "zzzz", "GMT+05:30", "+5:30" },
{ "ti", "Asia/Calcutta", "2004-07-15T00:00:00Z", "v", "(IN)", "Asia/Calcutta" },
{ "ti", "Asia/Calcutta", "2004-07-15T00:00:00Z", "vvvv", "(IN)", "Asia/Calcutta" },
-
+
+ // Ticket#8589 Partial location name to use country name if the zone is the golden
+ // zone for the time zone's country.
+ { "en_MX", "America/Chicago", "1995-07-15T00:00:00Z", "vvvv", "Central Time (United States)", "America/Chicago"},
};
/**