|
1 | 1 | import 'dart:async'; |
2 | 2 |
|
3 | | -import 'package:flutter/foundation.dart'; |
| 3 | +import 'package:flutter/widgets.dart'; |
| 4 | +import 'package:flutter_localizations/flutter_localizations.dart'; |
4 | 5 | import 'package:intl/intl.dart' as intl; |
5 | | -import 'package:material_ui/material_ui.dart'; |
6 | | - |
7 | | -import 'country_selector_localization_ar.dart'; |
8 | | -import 'country_selector_localization_ca.dart'; |
9 | | -import 'country_selector_localization_ckb.dart'; |
10 | | -import 'country_selector_localization_de.dart'; |
11 | | -import 'country_selector_localization_el.dart'; |
12 | | -import 'country_selector_localization_en.dart'; |
13 | | -import 'country_selector_localization_es.dart'; |
14 | | -import 'country_selector_localization_fa.dart'; |
15 | | -import 'country_selector_localization_fr.dart'; |
16 | | -import 'country_selector_localization_he.dart'; |
17 | | -import 'country_selector_localization_hi.dart'; |
18 | | -import 'country_selector_localization_hu.dart'; |
19 | | -import 'country_selector_localization_it.dart'; |
20 | | -import 'country_selector_localization_ku.dart'; |
21 | | -import 'country_selector_localization_nb.dart'; |
22 | | -import 'country_selector_localization_nl.dart'; |
23 | | -import 'country_selector_localization_pl.dart'; |
24 | | -import 'country_selector_localization_pt.dart'; |
25 | | -import 'country_selector_localization_ru.dart'; |
26 | | -import 'country_selector_localization_sv.dart'; |
27 | | -import 'country_selector_localization_tr.dart'; |
28 | | -import 'country_selector_localization_uk.dart'; |
29 | | -import 'country_selector_localization_ur.dart'; |
30 | | -import 'country_selector_localization_uz.dart'; |
31 | | -import 'country_selector_localization_vi.dart'; |
32 | | -import 'country_selector_localization_zh.dart'; |
| 6 | + |
| 7 | +import 'country_selector_localization_ar.dart' |
| 8 | + deferred as country_selector_localization_ar; |
| 9 | +import 'country_selector_localization_ca.dart' |
| 10 | + deferred as country_selector_localization_ca; |
| 11 | +import 'country_selector_localization_ckb.dart' |
| 12 | + deferred as country_selector_localization_ckb; |
| 13 | +import 'country_selector_localization_de.dart' |
| 14 | + deferred as country_selector_localization_de; |
| 15 | +import 'country_selector_localization_el.dart' |
| 16 | + deferred as country_selector_localization_el; |
| 17 | +import 'country_selector_localization_en.dart' |
| 18 | + deferred as country_selector_localization_en; |
| 19 | +import 'country_selector_localization_es.dart' |
| 20 | + deferred as country_selector_localization_es; |
| 21 | +import 'country_selector_localization_fa.dart' |
| 22 | + deferred as country_selector_localization_fa; |
| 23 | +import 'country_selector_localization_fr.dart' |
| 24 | + deferred as country_selector_localization_fr; |
| 25 | +import 'country_selector_localization_he.dart' |
| 26 | + deferred as country_selector_localization_he; |
| 27 | +import 'country_selector_localization_hi.dart' |
| 28 | + deferred as country_selector_localization_hi; |
| 29 | +import 'country_selector_localization_hu.dart' |
| 30 | + deferred as country_selector_localization_hu; |
| 31 | +import 'country_selector_localization_it.dart' |
| 32 | + deferred as country_selector_localization_it; |
| 33 | +import 'country_selector_localization_ku.dart' |
| 34 | + deferred as country_selector_localization_ku; |
| 35 | +import 'country_selector_localization_nb.dart' |
| 36 | + deferred as country_selector_localization_nb; |
| 37 | +import 'country_selector_localization_nl.dart' |
| 38 | + deferred as country_selector_localization_nl; |
| 39 | +import 'country_selector_localization_pl.dart' |
| 40 | + deferred as country_selector_localization_pl; |
| 41 | +import 'country_selector_localization_pt.dart' |
| 42 | + deferred as country_selector_localization_pt; |
| 43 | +import 'country_selector_localization_ru.dart' |
| 44 | + deferred as country_selector_localization_ru; |
| 45 | +import 'country_selector_localization_sv.dart' |
| 46 | + deferred as country_selector_localization_sv; |
| 47 | +import 'country_selector_localization_tr.dart' |
| 48 | + deferred as country_selector_localization_tr; |
| 49 | +import 'country_selector_localization_uk.dart' |
| 50 | + deferred as country_selector_localization_uk; |
| 51 | +import 'country_selector_localization_ur.dart' |
| 52 | + deferred as country_selector_localization_ur; |
| 53 | +import 'country_selector_localization_uz.dart' |
| 54 | + deferred as country_selector_localization_uz; |
| 55 | +import 'country_selector_localization_vi.dart' |
| 56 | + deferred as country_selector_localization_vi; |
| 57 | +import 'country_selector_localization_zh.dart' |
| 58 | + deferred as country_selector_localization_zh; |
33 | 59 |
|
34 | 60 | // ignore_for_file: type=lint |
35 | 61 |
|
@@ -109,7 +135,12 @@ abstract class CountrySelectorLocalization { |
109 | 135 | /// MaterialApp. This list does not have to be used at all if a custom list |
110 | 136 | /// of delegates is preferred or required. |
111 | 137 | static const List<LocalizationsDelegate<dynamic>> localizationsDelegates = |
112 | | - GlobalMaterialLocalizations.delegates; |
| 138 | + <LocalizationsDelegate<dynamic>>[ |
| 139 | + delegate, |
| 140 | + GlobalMaterialLocalizations.delegate, |
| 141 | + GlobalCupertinoLocalizations.delegate, |
| 142 | + GlobalWidgetsLocalizations.delegate, |
| 143 | + ]; |
113 | 144 |
|
114 | 145 | /// A list of this localizations delegate's supported locales. |
115 | 146 | static const List<Locale> supportedLocales = <Locale>[ |
@@ -1666,8 +1697,7 @@ class _CountrySelectorLocalizationDelegate |
1666 | 1697 |
|
1667 | 1698 | @override |
1668 | 1699 | Future<CountrySelectorLocalization> load(Locale locale) { |
1669 | | - return SynchronousFuture<CountrySelectorLocalization>( |
1670 | | - lookupCountrySelectorLocalization(locale)); |
| 1700 | + return lookupCountrySelectorLocalization(locale); |
1671 | 1701 | } |
1672 | 1702 |
|
1673 | 1703 | @override |
@@ -1704,61 +1734,88 @@ class _CountrySelectorLocalizationDelegate |
1704 | 1734 | bool shouldReload(_CountrySelectorLocalizationDelegate old) => false; |
1705 | 1735 | } |
1706 | 1736 |
|
1707 | | -CountrySelectorLocalization lookupCountrySelectorLocalization(Locale locale) { |
| 1737 | +Future<CountrySelectorLocalization> lookupCountrySelectorLocalization( |
| 1738 | + Locale locale) { |
1708 | 1739 | // Lookup logic when only language code is specified. |
1709 | 1740 | switch (locale.languageCode) { |
1710 | 1741 | case 'ar': |
1711 | | - return CountrySelectorLocalizationAr(); |
| 1742 | + return country_selector_localization_ar.loadLibrary().then((dynamic _) => |
| 1743 | + country_selector_localization_ar.CountrySelectorLocalizationAr()); |
1712 | 1744 | case 'ca': |
1713 | | - return CountrySelectorLocalizationCa(); |
| 1745 | + return country_selector_localization_ca.loadLibrary().then((dynamic _) => |
| 1746 | + country_selector_localization_ca.CountrySelectorLocalizationCa()); |
1714 | 1747 | case 'ckb': |
1715 | | - return CountrySelectorLocalizationCkb(); |
| 1748 | + return country_selector_localization_ckb.loadLibrary().then((dynamic _) => |
| 1749 | + country_selector_localization_ckb.CountrySelectorLocalizationCkb()); |
1716 | 1750 | case 'de': |
1717 | | - return CountrySelectorLocalizationDe(); |
| 1751 | + return country_selector_localization_de.loadLibrary().then((dynamic _) => |
| 1752 | + country_selector_localization_de.CountrySelectorLocalizationDe()); |
1718 | 1753 | case 'el': |
1719 | | - return CountrySelectorLocalizationEl(); |
| 1754 | + return country_selector_localization_el.loadLibrary().then((dynamic _) => |
| 1755 | + country_selector_localization_el.CountrySelectorLocalizationEl()); |
1720 | 1756 | case 'en': |
1721 | | - return CountrySelectorLocalizationEn(); |
| 1757 | + return country_selector_localization_en.loadLibrary().then((dynamic _) => |
| 1758 | + country_selector_localization_en.CountrySelectorLocalizationEn()); |
1722 | 1759 | case 'es': |
1723 | | - return CountrySelectorLocalizationEs(); |
| 1760 | + return country_selector_localization_es.loadLibrary().then((dynamic _) => |
| 1761 | + country_selector_localization_es.CountrySelectorLocalizationEs()); |
1724 | 1762 | case 'fa': |
1725 | | - return CountrySelectorLocalizationFa(); |
| 1763 | + return country_selector_localization_fa.loadLibrary().then((dynamic _) => |
| 1764 | + country_selector_localization_fa.CountrySelectorLocalizationFa()); |
1726 | 1765 | case 'fr': |
1727 | | - return CountrySelectorLocalizationFr(); |
| 1766 | + return country_selector_localization_fr.loadLibrary().then((dynamic _) => |
| 1767 | + country_selector_localization_fr.CountrySelectorLocalizationFr()); |
1728 | 1768 | case 'he': |
1729 | | - return CountrySelectorLocalizationHe(); |
| 1769 | + return country_selector_localization_he.loadLibrary().then((dynamic _) => |
| 1770 | + country_selector_localization_he.CountrySelectorLocalizationHe()); |
1730 | 1771 | case 'hi': |
1731 | | - return CountrySelectorLocalizationHi(); |
| 1772 | + return country_selector_localization_hi.loadLibrary().then((dynamic _) => |
| 1773 | + country_selector_localization_hi.CountrySelectorLocalizationHi()); |
1732 | 1774 | case 'hu': |
1733 | | - return CountrySelectorLocalizationHu(); |
| 1775 | + return country_selector_localization_hu.loadLibrary().then((dynamic _) => |
| 1776 | + country_selector_localization_hu.CountrySelectorLocalizationHu()); |
1734 | 1777 | case 'it': |
1735 | | - return CountrySelectorLocalizationIt(); |
| 1778 | + return country_selector_localization_it.loadLibrary().then((dynamic _) => |
| 1779 | + country_selector_localization_it.CountrySelectorLocalizationIt()); |
1736 | 1780 | case 'ku': |
1737 | | - return CountrySelectorLocalizationKu(); |
| 1781 | + return country_selector_localization_ku.loadLibrary().then((dynamic _) => |
| 1782 | + country_selector_localization_ku.CountrySelectorLocalizationKu()); |
1738 | 1783 | case 'nb': |
1739 | | - return CountrySelectorLocalizationNb(); |
| 1784 | + return country_selector_localization_nb.loadLibrary().then((dynamic _) => |
| 1785 | + country_selector_localization_nb.CountrySelectorLocalizationNb()); |
1740 | 1786 | case 'nl': |
1741 | | - return CountrySelectorLocalizationNl(); |
| 1787 | + return country_selector_localization_nl.loadLibrary().then((dynamic _) => |
| 1788 | + country_selector_localization_nl.CountrySelectorLocalizationNl()); |
1742 | 1789 | case 'pl': |
1743 | | - return CountrySelectorLocalizationPl(); |
| 1790 | + return country_selector_localization_pl.loadLibrary().then((dynamic _) => |
| 1791 | + country_selector_localization_pl.CountrySelectorLocalizationPl()); |
1744 | 1792 | case 'pt': |
1745 | | - return CountrySelectorLocalizationPt(); |
| 1793 | + return country_selector_localization_pt.loadLibrary().then((dynamic _) => |
| 1794 | + country_selector_localization_pt.CountrySelectorLocalizationPt()); |
1746 | 1795 | case 'ru': |
1747 | | - return CountrySelectorLocalizationRu(); |
| 1796 | + return country_selector_localization_ru.loadLibrary().then((dynamic _) => |
| 1797 | + country_selector_localization_ru.CountrySelectorLocalizationRu()); |
1748 | 1798 | case 'sv': |
1749 | | - return CountrySelectorLocalizationSv(); |
| 1799 | + return country_selector_localization_sv.loadLibrary().then((dynamic _) => |
| 1800 | + country_selector_localization_sv.CountrySelectorLocalizationSv()); |
1750 | 1801 | case 'tr': |
1751 | | - return CountrySelectorLocalizationTr(); |
| 1802 | + return country_selector_localization_tr.loadLibrary().then((dynamic _) => |
| 1803 | + country_selector_localization_tr.CountrySelectorLocalizationTr()); |
1752 | 1804 | case 'uk': |
1753 | | - return CountrySelectorLocalizationUk(); |
| 1805 | + return country_selector_localization_uk.loadLibrary().then((dynamic _) => |
| 1806 | + country_selector_localization_uk.CountrySelectorLocalizationUk()); |
1754 | 1807 | case 'ur': |
1755 | | - return CountrySelectorLocalizationUr(); |
| 1808 | + return country_selector_localization_ur.loadLibrary().then((dynamic _) => |
| 1809 | + country_selector_localization_ur.CountrySelectorLocalizationUr()); |
1756 | 1810 | case 'uz': |
1757 | | - return CountrySelectorLocalizationUz(); |
| 1811 | + return country_selector_localization_uz.loadLibrary().then((dynamic _) => |
| 1812 | + country_selector_localization_uz.CountrySelectorLocalizationUz()); |
1758 | 1813 | case 'vi': |
1759 | | - return CountrySelectorLocalizationVi(); |
| 1814 | + return country_selector_localization_vi.loadLibrary().then((dynamic _) => |
| 1815 | + country_selector_localization_vi.CountrySelectorLocalizationVi()); |
1760 | 1816 | case 'zh': |
1761 | | - return CountrySelectorLocalizationZh(); |
| 1817 | + return country_selector_localization_zh.loadLibrary().then((dynamic _) => |
| 1818 | + country_selector_localization_zh.CountrySelectorLocalizationZh()); |
1762 | 1819 | } |
1763 | 1820 |
|
1764 | 1821 | throw FlutterError( |
|
0 commit comments