Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0263781d authored by Neil Fuller's avatar Neil Fuller Committed by android-build-merger
Browse files

Merge "Canonicalize tz IDs when finding exemplar location" am: 5e603a4b

am: 12ee4014

Change-Id: Ic2a14f99c7aa324aa62568ddd8c1c57c314ec754
parents 84c878ec 12ee4014
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -139,7 +139,16 @@ public class ZoneGetter {
            if (preferLongName) {
                displayName = getZoneLongName(timeZoneNames, tz, now);
            } else {
                displayName = timeZoneNames.getExemplarLocationName(tz.getID());
                // Canonicalize the zone ID for ICU. It will only return valid strings for zone IDs
                // that match ICUs zone IDs (which are similar but not guaranteed the same as those
                // in timezones.xml). timezones.xml and related files uses the IANA IDs. ICU IDs are
                // stable and IANA IDs have changed over time so they have drifted.
                // See http://bugs.icu-project.org/trac/ticket/13070 / http://b/36469833.
                String canonicalZoneId = android.icu.util.TimeZone.getCanonicalID(tz.getID());
                if (canonicalZoneId == null) {
                    canonicalZoneId = tz.getID();
                }
                displayName = timeZoneNames.getExemplarLocationName(canonicalZoneId);
                if (displayName == null || displayName.isEmpty()) {
                    // getZoneExemplarLocation can return null. Fall back to the long name.
                    displayName = getZoneLongName(timeZoneNames, tz, now);