blob: ccb5a65518abc39bf3c1f926f81788fe40c55626 [file] [log] [blame]
// Copyright 2017 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'package:flutter/material.dart';
class _Timezone {
/// The ICU standard zone ID.
final String zoneId;
const _Timezone({this.zoneId});
}
// Note: these timezones were generated from a script using ICU data.
// These should ideally be loaded ad hoc or stored somewhere.
const List<_Timezone> _kTimeZones = <_Timezone>[
_Timezone(zoneId: 'US/Eastern'),
_Timezone(zoneId: 'US/Pacific'),
_Timezone(zoneId: 'Europe/Paris'),
_Timezone(zoneId: 'Africa/Abidjan'),
_Timezone(zoneId: 'Africa/Accra'),
_Timezone(zoneId: 'Africa/Addis_Ababa'),
_Timezone(zoneId: 'Africa/Algiers'),
_Timezone(zoneId: 'Africa/Asmara'),
_Timezone(zoneId: 'Africa/Asmera'),
_Timezone(zoneId: 'Africa/Bamako'),
_Timezone(zoneId: 'Africa/Bangui'),
_Timezone(zoneId: 'Africa/Banjul'),
_Timezone(zoneId: 'Africa/Bissau'),
_Timezone(zoneId: 'Africa/Blantyre'),
_Timezone(zoneId: 'Africa/Brazzaville'),
_Timezone(zoneId: 'Africa/Bujumbura'),
_Timezone(zoneId: 'Africa/Cairo'),
_Timezone(zoneId: 'Africa/Casablanca'),
_Timezone(zoneId: 'Africa/Ceuta'),
_Timezone(zoneId: 'Africa/Conakry'),
_Timezone(zoneId: 'Africa/Dakar'),
_Timezone(zoneId: 'Africa/Dar_es_Salaam'),
_Timezone(zoneId: 'Africa/Djibouti'),
_Timezone(zoneId: 'Africa/Douala'),
_Timezone(zoneId: 'Africa/El_Aaiun'),
_Timezone(zoneId: 'Africa/Freetown'),
_Timezone(zoneId: 'Africa/Gaborone'),
_Timezone(zoneId: 'Africa/Harare'),
_Timezone(zoneId: 'Africa/Johannesburg'),
_Timezone(zoneId: 'Africa/Kampala'),
_Timezone(zoneId: 'Africa/Khartoum'),
_Timezone(zoneId: 'Africa/Kigali'),
_Timezone(zoneId: 'Africa/Kinshasa'),
_Timezone(zoneId: 'Africa/Lagos'),
_Timezone(zoneId: 'Africa/Libreville'),
_Timezone(zoneId: 'Africa/Lome'),
_Timezone(zoneId: 'Africa/Luanda'),
_Timezone(zoneId: 'Africa/Lubumbashi'),
_Timezone(zoneId: 'Africa/Lusaka'),
_Timezone(zoneId: 'Africa/Malabo'),
_Timezone(zoneId: 'Africa/Maputo'),
_Timezone(zoneId: 'Africa/Maseru'),
_Timezone(zoneId: 'Africa/Mbabane'),
_Timezone(zoneId: 'Africa/Mogadishu'),
_Timezone(zoneId: 'Africa/Monrovia'),
_Timezone(zoneId: 'Africa/Nairobi'),
_Timezone(zoneId: 'Africa/Ndjamena'),
_Timezone(zoneId: 'Africa/Niamey'),
_Timezone(zoneId: 'Africa/Nouakchott'),
_Timezone(zoneId: 'Africa/Ouagadougou'),
_Timezone(zoneId: 'Africa/Porto-Novo'),
_Timezone(zoneId: 'Africa/Sao_Tome'),
_Timezone(zoneId: 'Africa/Timbuktu'),
_Timezone(zoneId: 'Africa/Tripoli'),
_Timezone(zoneId: 'Africa/Tunis'),
_Timezone(zoneId: 'Africa/Windhoek'),
_Timezone(zoneId: 'America/Adak'),
_Timezone(zoneId: 'America/Anchorage'),
_Timezone(zoneId: 'America/Anguilla'),
_Timezone(zoneId: 'America/Antigua'),
_Timezone(zoneId: 'America/Araguaina'),
_Timezone(zoneId: 'America/Argentina/Buenos_Aires'),
_Timezone(zoneId: 'America/Argentina/Catamarca'),
_Timezone(zoneId: 'America/Argentina/ComodRivadavia'),
_Timezone(zoneId: 'America/Argentina/Cordoba'),
_Timezone(zoneId: 'America/Argentina/Jujuy'),
_Timezone(zoneId: 'America/Argentina/La_Rioja'),
_Timezone(zoneId: 'America/Argentina/Mendoza'),
_Timezone(zoneId: 'America/Argentina/Rio_Gallegos'),
_Timezone(zoneId: 'America/Argentina/San_Juan'),
_Timezone(zoneId: 'America/Argentina/Tucuman'),
_Timezone(zoneId: 'America/Argentina/Ushuaia'),
_Timezone(zoneId: 'America/Aruba'),
_Timezone(zoneId: 'America/Asuncion'),
_Timezone(zoneId: 'America/Atikokan'),
_Timezone(zoneId: 'America/Atka'),
_Timezone(zoneId: 'America/Bahia'),
_Timezone(zoneId: 'America/Barbados'),
_Timezone(zoneId: 'America/Belem'),
_Timezone(zoneId: 'America/Belize'),
_Timezone(zoneId: 'America/Blanc-Sablon'),
_Timezone(zoneId: 'America/Boa_Vista'),
_Timezone(zoneId: 'America/Bogota'),
_Timezone(zoneId: 'America/Boise'),
_Timezone(zoneId: 'America/Buenos_Aires'),
_Timezone(zoneId: 'America/Cambridge_Bay'),
_Timezone(zoneId: 'America/Campo_Grande'),
_Timezone(zoneId: 'America/Cancun'),
_Timezone(zoneId: 'America/Caracas'),
_Timezone(zoneId: 'America/Catamarca'),
_Timezone(zoneId: 'America/Cayenne'),
_Timezone(zoneId: 'America/Cayman'),
_Timezone(zoneId: 'America/Chicago'),
_Timezone(zoneId: 'America/Chihuahua'),
_Timezone(zoneId: 'America/Coral_Harbour'),
_Timezone(zoneId: 'America/Cordoba'),
_Timezone(zoneId: 'America/Costa_Rica'),
_Timezone(zoneId: 'America/Cuiaba'),
_Timezone(zoneId: 'America/Curacao'),
_Timezone(zoneId: 'America/Danmarkshavn'),
_Timezone(zoneId: 'America/Dawson'),
_Timezone(zoneId: 'America/Dawson_Creek'),
_Timezone(zoneId: 'America/Denver'),
_Timezone(zoneId: 'America/Detroit'),
_Timezone(zoneId: 'America/Dominica'),
_Timezone(zoneId: 'America/Edmonton'),
_Timezone(zoneId: 'America/Eirunepe'),
_Timezone(zoneId: 'America/El_Salvador'),
_Timezone(zoneId: 'America/Ensenada'),
_Timezone(zoneId: 'America/Fort_Wayne'),
_Timezone(zoneId: 'America/Fortaleza'),
_Timezone(zoneId: 'America/Glace_Bay'),
_Timezone(zoneId: 'America/Godthab'),
_Timezone(zoneId: 'America/Goose_Bay'),
_Timezone(zoneId: 'America/Grand_Turk'),
_Timezone(zoneId: 'America/Grenada'),
_Timezone(zoneId: 'America/Guadeloupe'),
_Timezone(zoneId: 'America/Guatemala'),
_Timezone(zoneId: 'America/Guayaquil'),
_Timezone(zoneId: 'America/Guyana'),
_Timezone(zoneId: 'America/Halifax'),
_Timezone(zoneId: 'America/Havana'),
_Timezone(zoneId: 'America/Hermosillo'),
_Timezone(zoneId: 'America/Indiana/Indianapolis'),
_Timezone(zoneId: 'America/Indiana/Knox'),
_Timezone(zoneId: 'America/Indiana/Marengo'),
_Timezone(zoneId: 'America/Indiana/Petersburg'),
_Timezone(zoneId: 'America/Indiana/Tell_City'),
_Timezone(zoneId: 'America/Indiana/Vevay'),
_Timezone(zoneId: 'America/Indiana/Vincennes'),
_Timezone(zoneId: 'America/Indiana/Winamac'),
_Timezone(zoneId: 'America/Indianapolis'),
_Timezone(zoneId: 'America/Inuvik'),
_Timezone(zoneId: 'America/Iqaluit'),
_Timezone(zoneId: 'America/Jamaica'),
_Timezone(zoneId: 'America/Jujuy'),
_Timezone(zoneId: 'America/Juneau'),
_Timezone(zoneId: 'America/Kentucky/Louisville'),
_Timezone(zoneId: 'America/Kentucky/Monticello'),
_Timezone(zoneId: 'America/Knox_IN'),
_Timezone(zoneId: 'America/La_Paz'),
_Timezone(zoneId: 'America/Lima'),
_Timezone(zoneId: 'America/Los_Angeles'),
_Timezone(zoneId: 'America/Louisville'),
_Timezone(zoneId: 'America/Maceio'),
_Timezone(zoneId: 'America/Managua'),
_Timezone(zoneId: 'America/Manaus'),
_Timezone(zoneId: 'America/Marigot'),
_Timezone(zoneId: 'America/Martinique'),
_Timezone(zoneId: 'America/Mazatlan'),
_Timezone(zoneId: 'America/Mendoza'),
_Timezone(zoneId: 'America/Menominee'),
_Timezone(zoneId: 'America/Merida'),
_Timezone(zoneId: 'America/Mexico_City'),
_Timezone(zoneId: 'America/Miquelon'),
_Timezone(zoneId: 'America/Moncton'),
_Timezone(zoneId: 'America/Monterrey'),
_Timezone(zoneId: 'America/Montevideo'),
_Timezone(zoneId: 'America/Montreal'),
_Timezone(zoneId: 'America/Montserrat'),
_Timezone(zoneId: 'America/Nassau'),
_Timezone(zoneId: 'America/New_York'),
_Timezone(zoneId: 'America/Nipigon'),
_Timezone(zoneId: 'America/Nome'),
_Timezone(zoneId: 'America/Noronha'),
_Timezone(zoneId: 'America/North_Dakota/Center'),
_Timezone(zoneId: 'America/North_Dakota/New_Salem'),
_Timezone(zoneId: 'America/Panama'),
_Timezone(zoneId: 'America/Pangnirtung'),
_Timezone(zoneId: 'America/Paramaribo'),
_Timezone(zoneId: 'America/Phoenix'),
_Timezone(zoneId: 'America/Port-au-Prince'),
_Timezone(zoneId: 'America/Port_of_Spain'),
_Timezone(zoneId: 'America/Porto_Acre'),
_Timezone(zoneId: 'America/Porto_Velho'),
_Timezone(zoneId: 'America/Puerto_Rico'),
_Timezone(zoneId: 'America/Rainy_River'),
_Timezone(zoneId: 'America/Rankin_Inlet'),
_Timezone(zoneId: 'America/Recife'),
_Timezone(zoneId: 'America/Regina'),
_Timezone(zoneId: 'America/Resolute'),
_Timezone(zoneId: 'America/Rio_Branco'),
_Timezone(zoneId: 'America/Rosario'),
_Timezone(zoneId: 'America/Santiago'),
_Timezone(zoneId: 'America/Santo_Domingo'),
_Timezone(zoneId: 'America/Sao_Paulo'),
_Timezone(zoneId: 'America/Scoresbysund'),
_Timezone(zoneId: 'America/Shiprock'),
_Timezone(zoneId: 'America/St_Barthelemy'),
_Timezone(zoneId: 'America/St_Johns'),
_Timezone(zoneId: 'America/St_Kitts'),
_Timezone(zoneId: 'America/St_Lucia'),
_Timezone(zoneId: 'America/St_Thomas'),
_Timezone(zoneId: 'America/St_Vincent'),
_Timezone(zoneId: 'America/Swift_Current'),
_Timezone(zoneId: 'America/Tegucigalpa'),
_Timezone(zoneId: 'America/Thule'),
_Timezone(zoneId: 'America/Thunder_Bay'),
_Timezone(zoneId: 'America/Tijuana'),
_Timezone(zoneId: 'America/Toronto'),
_Timezone(zoneId: 'America/Tortola'),
_Timezone(zoneId: 'America/Vancouver'),
_Timezone(zoneId: 'America/Virgin'),
_Timezone(zoneId: 'America/Whitehorse'),
_Timezone(zoneId: 'America/Winnipeg'),
_Timezone(zoneId: 'America/Yakutat'),
_Timezone(zoneId: 'America/Yellowknife'),
_Timezone(zoneId: 'Antarctica/Casey'),
_Timezone(zoneId: 'Antarctica/Davis'),
_Timezone(zoneId: 'Antarctica/DumontDUrville'),
_Timezone(zoneId: 'Antarctica/Mawson'),
_Timezone(zoneId: 'Antarctica/McMurdo'),
_Timezone(zoneId: 'Antarctica/Palmer'),
_Timezone(zoneId: 'Antarctica/Rothera'),
_Timezone(zoneId: 'Antarctica/South_Pole'),
_Timezone(zoneId: 'Antarctica/Syowa'),
_Timezone(zoneId: 'Antarctica/Vostok'),
_Timezone(zoneId: 'Arctic/Longyearbyen'),
_Timezone(zoneId: 'Asia/Aden'),
_Timezone(zoneId: 'Asia/Almaty'),
_Timezone(zoneId: 'Asia/Amman'),
_Timezone(zoneId: 'Asia/Anadyr'),
_Timezone(zoneId: 'Asia/Aqtau'),
_Timezone(zoneId: 'Asia/Aqtobe'),
_Timezone(zoneId: 'Asia/Ashgabat'),
_Timezone(zoneId: 'Asia/Ashkhabad'),
_Timezone(zoneId: 'Asia/Baghdad'),
_Timezone(zoneId: 'Asia/Bahrain'),
_Timezone(zoneId: 'Asia/Baku'),
_Timezone(zoneId: 'Asia/Bangkok'),
_Timezone(zoneId: 'Asia/Beirut'),
_Timezone(zoneId: 'Asia/Bishkek'),
_Timezone(zoneId: 'Asia/Brunei'),
_Timezone(zoneId: 'Asia/Calcutta'),
_Timezone(zoneId: 'Asia/Choibalsan'),
_Timezone(zoneId: 'Asia/Chongqing'),
_Timezone(zoneId: 'Asia/Chungking'),
_Timezone(zoneId: 'Asia/Colombo'),
_Timezone(zoneId: 'Asia/Dacca'),
_Timezone(zoneId: 'Asia/Damascus'),
_Timezone(zoneId: 'Asia/Dhaka'),
_Timezone(zoneId: 'Asia/Dili'),
_Timezone(zoneId: 'Asia/Dubai'),
_Timezone(zoneId: 'Asia/Dushanbe'),
_Timezone(zoneId: 'Asia/Gaza'),
_Timezone(zoneId: 'Asia/Harbin'),
_Timezone(zoneId: 'Asia/Hong_Kong'),
_Timezone(zoneId: 'Asia/Hovd'),
_Timezone(zoneId: 'Asia/Irkutsk'),
_Timezone(zoneId: 'Asia/Istanbul'),
_Timezone(zoneId: 'Asia/Jakarta'),
_Timezone(zoneId: 'Asia/Jayapura'),
_Timezone(zoneId: 'Asia/Jerusalem'),
_Timezone(zoneId: 'Asia/Kabul'),
_Timezone(zoneId: 'Asia/Kamchatka'),
_Timezone(zoneId: 'Asia/Karachi'),
_Timezone(zoneId: 'Asia/Kashgar'),
_Timezone(zoneId: 'Asia/Katmandu'),
_Timezone(zoneId: 'Asia/Krasnoyarsk'),
_Timezone(zoneId: 'Asia/Kuala_Lumpur'),
_Timezone(zoneId: 'Asia/Kuching'),
_Timezone(zoneId: 'Asia/Kuwait'),
_Timezone(zoneId: 'Asia/Macao'),
_Timezone(zoneId: 'Asia/Macau'),
_Timezone(zoneId: 'Asia/Magadan'),
_Timezone(zoneId: 'Asia/Makassar'),
_Timezone(zoneId: 'Asia/Manila'),
_Timezone(zoneId: 'Asia/Muscat'),
_Timezone(zoneId: 'Asia/Nicosia'),
_Timezone(zoneId: 'Asia/Novosibirsk'),
_Timezone(zoneId: 'Asia/Omsk'),
_Timezone(zoneId: 'Asia/Oral'),
_Timezone(zoneId: 'Asia/Phnom_Penh'),
_Timezone(zoneId: 'Asia/Pontianak'),
_Timezone(zoneId: 'Asia/Pyongyang'),
_Timezone(zoneId: 'Asia/Qatar'),
_Timezone(zoneId: 'Asia/Qyzylorda'),
_Timezone(zoneId: 'Asia/Rangoon'),
_Timezone(zoneId: 'Asia/Riyadh'),
_Timezone(zoneId: 'Asia/Riyadh87'),
_Timezone(zoneId: 'Asia/Riyadh88'),
_Timezone(zoneId: 'Asia/Riyadh89'),
_Timezone(zoneId: 'Asia/Saigon'),
_Timezone(zoneId: 'Asia/Sakhalin'),
_Timezone(zoneId: 'Asia/Samarkand'),
_Timezone(zoneId: 'Asia/Seoul'),
_Timezone(zoneId: 'Asia/Shanghai'),
_Timezone(zoneId: 'Asia/Singapore'),
_Timezone(zoneId: 'Asia/Taipei'),
_Timezone(zoneId: 'Asia/Tashkent'),
_Timezone(zoneId: 'Asia/Tbilisi'),
_Timezone(zoneId: 'Asia/Tehran'),
_Timezone(zoneId: 'Asia/Tel_Aviv'),
_Timezone(zoneId: 'Asia/Thimbu'),
_Timezone(zoneId: 'Asia/Thimphu'),
_Timezone(zoneId: 'Asia/Tokyo'),
_Timezone(zoneId: 'Asia/Ujung_Pandang'),
_Timezone(zoneId: 'Asia/Ulaanbaatar'),
_Timezone(zoneId: 'Asia/Ulan_Bator'),
_Timezone(zoneId: 'Asia/Urumqi'),
_Timezone(zoneId: 'Asia/Vientiane'),
_Timezone(zoneId: 'Asia/Vladivostok'),
_Timezone(zoneId: 'Asia/Yakutsk'),
_Timezone(zoneId: 'Asia/Yekaterinburg'),
_Timezone(zoneId: 'Asia/Yerevan'),
_Timezone(zoneId: 'Atlantic/Azores'),
_Timezone(zoneId: 'Atlantic/Bermuda'),
_Timezone(zoneId: 'Atlantic/Canary'),
_Timezone(zoneId: 'Atlantic/Cape_Verde'),
_Timezone(zoneId: 'Atlantic/Faeroe'),
_Timezone(zoneId: 'Atlantic/Faroe'),
_Timezone(zoneId: 'Atlantic/Jan_Mayen'),
_Timezone(zoneId: 'Atlantic/Madeira'),
_Timezone(zoneId: 'Atlantic/Reykjavik'),
_Timezone(zoneId: 'Atlantic/South_Georgia'),
_Timezone(zoneId: 'Atlantic/St_Helena'),
_Timezone(zoneId: 'Atlantic/Stanley'),
_Timezone(zoneId: 'Australia/ACT'),
_Timezone(zoneId: 'Australia/Adelaide'),
_Timezone(zoneId: 'Australia/Brisbane'),
_Timezone(zoneId: 'Australia/Broken_Hill'),
_Timezone(zoneId: 'Australia/Canberra'),
_Timezone(zoneId: 'Australia/Currie'),
_Timezone(zoneId: 'Australia/Darwin'),
_Timezone(zoneId: 'Australia/Eucla'),
_Timezone(zoneId: 'Australia/Hobart'),
_Timezone(zoneId: 'Australia/LHI'),
_Timezone(zoneId: 'Australia/Lindeman'),
_Timezone(zoneId: 'Australia/Lord_Howe'),
_Timezone(zoneId: 'Australia/Melbourne'),
_Timezone(zoneId: 'Australia/NSW'),
_Timezone(zoneId: 'Australia/North'),
_Timezone(zoneId: 'Australia/Perth'),
_Timezone(zoneId: 'Australia/Queensland'),
_Timezone(zoneId: 'Australia/South'),
_Timezone(zoneId: 'Australia/Sydney'),
_Timezone(zoneId: 'Australia/Tasmania'),
_Timezone(zoneId: 'Australia/Victoria'),
_Timezone(zoneId: 'Australia/West'),
_Timezone(zoneId: 'Australia/Yancowinna'),
_Timezone(zoneId: 'Brazil/Acre'),
_Timezone(zoneId: 'Brazil/DeNoronha'),
_Timezone(zoneId: 'Brazil/East'),
_Timezone(zoneId: 'Brazil/West'),
_Timezone(zoneId: 'CET'),
_Timezone(zoneId: 'CST6CDT'),
_Timezone(zoneId: 'Canada/Atlantic'),
_Timezone(zoneId: 'Canada/Central'),
_Timezone(zoneId: 'Canada/East-Saskatchewan'),
_Timezone(zoneId: 'Canada/Eastern'),
_Timezone(zoneId: 'Canada/Mountain'),
_Timezone(zoneId: 'Canada/Newfoundland'),
_Timezone(zoneId: 'Canada/Pacific'),
_Timezone(zoneId: 'Canada/Saskatchewan'),
_Timezone(zoneId: 'Canada/Yukon'),
_Timezone(zoneId: 'Chile/Continental'),
_Timezone(zoneId: 'Chile/EasterIsland'),
_Timezone(zoneId: 'Cuba'),
_Timezone(zoneId: 'EET'),
_Timezone(zoneId: 'EST'),
_Timezone(zoneId: 'EST5EDT'),
_Timezone(zoneId: 'Egypt'),
_Timezone(zoneId: 'Eire'),
_Timezone(zoneId: 'Etc/GMT'),
_Timezone(zoneId: 'Etc/GMT+0'),
_Timezone(zoneId: 'Etc/GMT+1'),
_Timezone(zoneId: 'Etc/GMT+10'),
_Timezone(zoneId: 'Etc/GMT+11'),
_Timezone(zoneId: 'Etc/GMT+12'),
_Timezone(zoneId: 'Etc/GMT+2'),
_Timezone(zoneId: 'Etc/GMT+3'),
_Timezone(zoneId: 'Etc/GMT+4'),
_Timezone(zoneId: 'Etc/GMT+5'),
_Timezone(zoneId: 'Etc/GMT+6'),
_Timezone(zoneId: 'Etc/GMT+7'),
_Timezone(zoneId: 'Etc/GMT+8'),
_Timezone(zoneId: 'Etc/GMT+9'),
_Timezone(zoneId: 'Etc/GMT-0'),
_Timezone(zoneId: 'Etc/GMT-1'),
_Timezone(zoneId: 'Etc/GMT-10'),
_Timezone(zoneId: 'Etc/GMT-11'),
_Timezone(zoneId: 'Etc/GMT-12'),
_Timezone(zoneId: 'Etc/GMT-13'),
_Timezone(zoneId: 'Etc/GMT-14'),
_Timezone(zoneId: 'Etc/GMT-2'),
_Timezone(zoneId: 'Etc/GMT-3'),
_Timezone(zoneId: 'Etc/GMT-4'),
_Timezone(zoneId: 'Etc/GMT-5'),
_Timezone(zoneId: 'Etc/GMT-6'),
_Timezone(zoneId: 'Etc/GMT-7'),
_Timezone(zoneId: 'Etc/GMT-8'),
_Timezone(zoneId: 'Etc/GMT-9'),
_Timezone(zoneId: 'Etc/GMT0'),
_Timezone(zoneId: 'Etc/Greenwich'),
_Timezone(zoneId: 'Etc/UCT'),
_Timezone(zoneId: 'Etc/UTC'),
_Timezone(zoneId: 'Etc/Universal'),
_Timezone(zoneId: 'Etc/Zulu'),
_Timezone(zoneId: 'Europe/Amsterdam'),
_Timezone(zoneId: 'Europe/Andorra'),
_Timezone(zoneId: 'Europe/Athens'),
_Timezone(zoneId: 'Europe/Belfast'),
_Timezone(zoneId: 'Europe/Belgrade'),
_Timezone(zoneId: 'Europe/Berlin'),
_Timezone(zoneId: 'Europe/Bratislava'),
_Timezone(zoneId: 'Europe/Brussels'),
_Timezone(zoneId: 'Europe/Bucharest'),
_Timezone(zoneId: 'Europe/Budapest'),
_Timezone(zoneId: 'Europe/Chisinau'),
_Timezone(zoneId: 'Europe/Copenhagen'),
_Timezone(zoneId: 'Europe/Dublin'),
_Timezone(zoneId: 'Europe/Gibraltar'),
_Timezone(zoneId: 'Europe/Guernsey'),
_Timezone(zoneId: 'Europe/Helsinki'),
_Timezone(zoneId: 'Europe/Isle_of_Man'),
_Timezone(zoneId: 'Europe/Istanbul'),
_Timezone(zoneId: 'Europe/Jersey'),
_Timezone(zoneId: 'Europe/Kaliningrad'),
_Timezone(zoneId: 'Europe/Kiev'),
_Timezone(zoneId: 'Europe/Lisbon'),
_Timezone(zoneId: 'Europe/Ljubljana'),
_Timezone(zoneId: 'Europe/London'),
_Timezone(zoneId: 'Europe/Luxembourg'),
_Timezone(zoneId: 'Europe/Madrid'),
_Timezone(zoneId: 'Europe/Malta'),
_Timezone(zoneId: 'Europe/Mariehamn'),
_Timezone(zoneId: 'Europe/Minsk'),
_Timezone(zoneId: 'Europe/Monaco'),
_Timezone(zoneId: 'Europe/Moscow'),
_Timezone(zoneId: 'Europe/Nicosia'),
_Timezone(zoneId: 'Europe/Oslo'),
_Timezone(zoneId: 'Europe/Podgorica'),
_Timezone(zoneId: 'Europe/Prague'),
_Timezone(zoneId: 'Europe/Riga'),
_Timezone(zoneId: 'Europe/Rome'),
_Timezone(zoneId: 'Europe/Samara'),
_Timezone(zoneId: 'Europe/San_Marino'),
_Timezone(zoneId: 'Europe/Sarajevo'),
_Timezone(zoneId: 'Europe/Simferopol'),
_Timezone(zoneId: 'Europe/Skopje'),
_Timezone(zoneId: 'Europe/Sofia'),
_Timezone(zoneId: 'Europe/Stockholm'),
_Timezone(zoneId: 'Europe/Tallinn'),
_Timezone(zoneId: 'Europe/Tirane'),
_Timezone(zoneId: 'Europe/Tiraspol'),
_Timezone(zoneId: 'Europe/Uzhgorod'),
_Timezone(zoneId: 'Europe/Vaduz'),
_Timezone(zoneId: 'Europe/Vatican'),
_Timezone(zoneId: 'Europe/Vienna'),
_Timezone(zoneId: 'Europe/Vilnius'),
_Timezone(zoneId: 'Europe/Volgograd'),
_Timezone(zoneId: 'Europe/Warsaw'),
_Timezone(zoneId: 'Europe/Zagreb'),
_Timezone(zoneId: 'Europe/Zaporozhye'),
_Timezone(zoneId: 'Europe/Zurich'),
_Timezone(zoneId: 'Factory'),
_Timezone(zoneId: 'GB'),
_Timezone(zoneId: 'GB-Eire'),
_Timezone(zoneId: 'GMT'),
_Timezone(zoneId: 'GMT+0'),
_Timezone(zoneId: 'GMT-0'),
_Timezone(zoneId: 'GMT0'),
_Timezone(zoneId: 'Greenwich'),
_Timezone(zoneId: 'HST'),
_Timezone(zoneId: 'Hongkong'),
_Timezone(zoneId: 'Iceland'),
_Timezone(zoneId: 'Indian/Antananarivo'),
_Timezone(zoneId: 'Indian/Chagos'),
_Timezone(zoneId: 'Indian/Christmas'),
_Timezone(zoneId: 'Indian/Cocos'),
_Timezone(zoneId: 'Indian/Comoro'),
_Timezone(zoneId: 'Indian/Kerguelen'),
_Timezone(zoneId: 'Indian/Mahe'),
_Timezone(zoneId: 'Indian/Maldives'),
_Timezone(zoneId: 'Indian/Mauritius'),
_Timezone(zoneId: 'Indian/Mayotte'),
_Timezone(zoneId: 'Indian/Reunion'),
_Timezone(zoneId: 'Iran'),
_Timezone(zoneId: 'Israel'),
_Timezone(zoneId: 'Jamaica'),
_Timezone(zoneId: 'Japan'),
_Timezone(zoneId: 'Kwajalein'),
_Timezone(zoneId: 'Libya'),
_Timezone(zoneId: 'MET'),
_Timezone(zoneId: 'MST'),
_Timezone(zoneId: 'MST7MDT'),
_Timezone(zoneId: 'Mexico/BajaNorte'),
_Timezone(zoneId: 'Mexico/BajaSur'),
_Timezone(zoneId: 'Mexico/General'),
_Timezone(zoneId: 'Mideast/Riyadh87'),
_Timezone(zoneId: 'Mideast/Riyadh88'),
_Timezone(zoneId: 'Mideast/Riyadh89'),
_Timezone(zoneId: 'NZ'),
_Timezone(zoneId: 'NZ-CHAT'),
_Timezone(zoneId: 'Navajo'),
_Timezone(zoneId: 'PRC'),
_Timezone(zoneId: 'PST8PDT'),
_Timezone(zoneId: 'Pacific/Apia'),
_Timezone(zoneId: 'Pacific/Auckland'),
_Timezone(zoneId: 'Pacific/Chatham'),
_Timezone(zoneId: 'Pacific/Easter'),
_Timezone(zoneId: 'Pacific/Efate'),
_Timezone(zoneId: 'Pacific/Enderbury'),
_Timezone(zoneId: 'Pacific/Fakaofo'),
_Timezone(zoneId: 'Pacific/Fiji'),
_Timezone(zoneId: 'Pacific/Funafuti'),
_Timezone(zoneId: 'Pacific/Galapagos'),
_Timezone(zoneId: 'Pacific/Gambier'),
_Timezone(zoneId: 'Pacific/Guadalcanal'),
_Timezone(zoneId: 'Pacific/Guam'),
_Timezone(zoneId: 'Pacific/Honolulu'),
_Timezone(zoneId: 'Pacific/Johnston'),
_Timezone(zoneId: 'Pacific/Kiritimati'),
_Timezone(zoneId: 'Pacific/Kosrae'),
_Timezone(zoneId: 'Pacific/Kwajalein'),
_Timezone(zoneId: 'Pacific/Majuro'),
_Timezone(zoneId: 'Pacific/Marquesas'),
_Timezone(zoneId: 'Pacific/Midway'),
_Timezone(zoneId: 'Pacific/Nauru'),
_Timezone(zoneId: 'Pacific/Niue'),
_Timezone(zoneId: 'Pacific/Norfolk'),
_Timezone(zoneId: 'Pacific/Noumea'),
_Timezone(zoneId: 'Pacific/Pago_Pago'),
_Timezone(zoneId: 'Pacific/Palau'),
_Timezone(zoneId: 'Pacific/Pitcairn'),
_Timezone(zoneId: 'Pacific/Ponape'),
_Timezone(zoneId: 'Pacific/Port_Moresby'),
_Timezone(zoneId: 'Pacific/Rarotonga'),
_Timezone(zoneId: 'Pacific/Saipan'),
_Timezone(zoneId: 'Pacific/Samoa'),
_Timezone(zoneId: 'Pacific/Tahiti'),
_Timezone(zoneId: 'Pacific/Tarawa'),
_Timezone(zoneId: 'Pacific/Tongatapu'),
_Timezone(zoneId: 'Pacific/Truk'),
_Timezone(zoneId: 'Pacific/Wake'),
_Timezone(zoneId: 'Pacific/Wallis'),
_Timezone(zoneId: 'Pacific/Yap'),
_Timezone(zoneId: 'Poland'),
_Timezone(zoneId: 'Portugal'),
_Timezone(zoneId: 'ROC'),
_Timezone(zoneId: 'ROK'),
_Timezone(zoneId: 'Singapore'),
_Timezone(zoneId: 'Turkey'),
_Timezone(zoneId: 'UCT'),
_Timezone(zoneId: 'US/Alaska'),
_Timezone(zoneId: 'US/Aleutian'),
_Timezone(zoneId: 'US/Arizona'),
_Timezone(zoneId: 'US/Central'),
_Timezone(zoneId: 'US/East-Indiana'),
_Timezone(zoneId: 'US/Hawaii'),
_Timezone(zoneId: 'US/Indiana-Starke'),
_Timezone(zoneId: 'US/Michigan'),
_Timezone(zoneId: 'US/Mountain'),
_Timezone(zoneId: 'US/Pacific'),
_Timezone(zoneId: 'US/Pacific-New'),
_Timezone(zoneId: 'US/Samoa'),
_Timezone(zoneId: 'UTC'),
_Timezone(zoneId: 'Universal'),
_Timezone(zoneId: 'W-SU'),
_Timezone(zoneId: 'WET'),
_Timezone(zoneId: 'Zulu'),
];
/// Callback when user picks a timezone.
typedef OnTimezoneTap = void Function(String timeZoneId);
/// Calback when the user taps outside the timezone picker, usually dismissing
/// the picker.
typedef OnTapOutside = void Function();
/// Allows the selection of timezone.
class TimezonePicker extends StatelessWidget {
final String _currentTimezoneId;
final OnTimezoneTap _onTap;
/// Creates a new TimezonePicker widget
const TimezonePicker({String currentTimezoneId, OnTimezoneTap onTap})
: _currentTimezoneId = currentTimezoneId,
_onTap = onTap;
@override
Widget build(BuildContext context) => ListView.builder(
physics: BouncingScrollPhysics(),
itemCount: _kTimeZones.length,
itemBuilder: (BuildContext context, int index) => Material(
color: _currentTimezoneId == _kTimeZones[index].zoneId
? Colors.grey[500]
: Colors.transparent,
child: InkWell(
onTap: () {
_onTap?.call(_kTimeZones[index].zoneId);
},
child: Padding(
padding: EdgeInsets.all(8.0),
child: Text(
'${_kTimeZones[index].zoneId}',
style: TextStyle(color: Colors.black),
),
),
),
),
);
}