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

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

Merge "Simplify APIs exposed for time zone lookups"

am: 19de7081

Change-Id: I011145107f9b228272814bbdc73aa8fe35a0d984
parents ca19446d 19de7081
Loading
Loading
Loading
Loading
+18 −1
Original line number Diff line number Diff line
@@ -34,11 +34,14 @@ import androidx.core.text.TextDirectionHeuristicsCompat;

import com.android.settingslib.R;

import libcore.timezone.CountryTimeZones;
import libcore.timezone.CountryTimeZones.TimeZoneMapping;
import libcore.timezone.TimeZoneFinder;

import org.xmlpull.v1.XmlPullParserException;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
@@ -387,7 +390,21 @@ public class ZoneGetter {

        @VisibleForTesting
        public List<String> lookupTimeZoneIdsByCountry(String country) {
            return TimeZoneFinder.getInstance().lookupTimeZoneIdsByCountry(country);
            final CountryTimeZones countryTimeZones =
                    TimeZoneFinder.getInstance().lookupCountryTimeZones(country);
            if (countryTimeZones == null) {
                return null;
            }
            final List<TimeZoneMapping> mappings = countryTimeZones.getTimeZoneMappings();
            return extractTimeZoneIds(mappings);
        }

        private static List<String> extractTimeZoneIds(List<TimeZoneMapping> timeZoneMappings) {
            final List<String> zoneIds = new ArrayList<>(timeZoneMappings.size());
            for (TimeZoneMapping timeZoneMapping : timeZoneMappings) {
                zoneIds.add(timeZoneMapping.timeZoneId);
            }
            return Collections.unmodifiableList(zoneIds);
        }
    }
}