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

Commit 12ee4014 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

Change-Id: Ib4eb5ce215ec2564d220e1658f2dec4d0dc86d67
parents 4062ac81 5e603a4b
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);