Coder Social home page Coder Social logo

imtoori / countrycodepicker Goto Github PK

View Code? Open in Web Editor NEW
221.0 5.0 422.0 9.6 MB

A flutter package for showing a country code selector.

License: MIT License

Objective-C 1.00% Dart 88.40% Java 1.01% Kotlin 0.75% Swift 2.10% HTML 6.74%
flutter flutter-plugin country-picker country-codes

countrycodepicker's Introduction

Pub

country_code_picker

A flutter package for showing a country code selector.

It supports i18n for 70 languages.

Check the example on web! https://imtoori.dev/CountryCodePicker/#/

Usage

Just put the component in your application setting the onChanged callback.

@override
 Widget build(BuildContext context) => new Scaffold(
     body: Center(
       child: CountryCodePicker(
         onChanged: print,
         // Initial selection and favorite can be one of code ('IT') OR dial_code('+39')
         initialSelection: 'IT',
         favorite: ['+39','FR'],
         // optional. Shows only country name and flag
         showCountryOnly: false,
         // optional. Shows only country name and flag when popup is closed.
         showOnlyCountryWhenClosed: false,
         // optional. aligns the flag and the Text left
         alignLeft: false,
       ),
     ),
 );

Example:

void _onCountryChange(CountryCode countryCode) {
    //TODO : manipulate the selected country code here
    print("New Country selected: " + countryCode.toString());
  }

i18n

Just add the CountryLocalizations.delegate in the list of your app delegates

 return new MaterialApp(
      supportedLocales: [
         Locale("af"),
        Locale("am"),
        Locale("ar"),
        Locale("az"),
        Locale("be"),
        Locale("bg"),
        Locale("bn"),
        Locale("bs"),
        Locale("ca"),
        Locale("cs"),
        Locale("da"),
        Locale("de"),
        Locale("el"),
        Locale("en"),
        Locale("es"),
        Locale("et"),
        Locale("fa"),
        Locale("fi"),
        Locale("fr"),
        Locale("gl"),
        Locale("ha"),
        Locale("he"),
        Locale("hi"),
        Locale("hr"),
        Locale("hu"),
        Locale("hy"),
        Locale("id"),
        Locale("is"),
        Locale("it"),
        Locale("ja"),
        Locale("ka"),
        Locale("kk"),
        Locale("km"),
        Locale("ko"),
        Locale("ku"),
        Locale("ky"),
        Locale("lt"),
        Locale("lv"),
        Locale("mk"),
        Locale("ml"),
        Locale("mn"),
        Locale("ms"),
        Locale("nb"),
        Locale("nl"),
        Locale("nn"),
        Locale("no"),
        Locale("pl"),
        Locale("ps"),
        Locale("pt"),
        Locale("ro"),
        Locale("ru"),
        Locale("sd"),
        Locale("sk"),
        Locale("sl"),
        Locale("so"),
        Locale("sq"),
        Locale("sr"),
        Locale("sv"),
        Locale("ta"),
        Locale("tg"),
        Locale("th"),
        Locale("tk"),
        Locale("tr"),
        Locale("tt"),
        Locale("uk"),
        Locale("ug"),
        Locale("ur"),
        Locale("uz"),
        Locale("vi"),
        Locale("zh")
      ],
      localizationsDelegates: [
        CountryLocalizations.delegate,
        GlobalMaterialLocalizations.delegate,
        GlobalWidgetsLocalizations.delegate,
      ],

Customization

Here is a list of properties available to customize your widget:

Name Type Description
onChanged ValueChanged callback invoked when the selection changes
onInit ValueChanged callback invoked during initialization of the widget
initialSelection String used to set the initial selected value
favorite List used to populate the favorite country list
textStyle TextStyle TextStyle applied to the widget button
padding EdgeInsetsGeometry the padding applied to the button
showCountryOnly bool true if you want to see only the countries in the selection dialog
searchDecoration InputDecoration decoration applied to the TextField search widget
searchStyle TextStyle style applied to the TextField search widget text
emptySearchBuilder WidgetBuilder use this to customize the widget used when the search returns 0 elements
builder Function(CountryCode) use this to build a custom widget instead of the default FlatButton
enabled bool set to false to disable the widget
textOverflow TextOverflow the button text overflow behaviour
dialogSize Size the size of the selection dialog
countryFilter List uses a list of strings to filter a sublist of countries
showOnlyCountryWhenClosed bool if true it'll show only the country
alignLeft bool aligns the flag and the Text to the left
showFlag bool shows the flag everywhere
showFlagMain bool shows the flag only when closed
showFlagDialog bool shows the flag only in dialog
flagWidth double the width of the flags
flagDecoration Decoration used for styling the flags
comparator Comparator use this to sort the countries in the selection dialog
hideSearch bool if true the search feature will be disabled

Contributions

Contributions of any kind are more than welcome! Feel free to fork and improve country_code_picker in any way you want, make a pull request, or open an issue.

countrycodepicker's People

Contributors

abc873693 avatar abdullah-khudher avatar afulton11 avatar alfredo-handcash avatar el-etreby avatar ewertonrp avatar gsi-yoancme avatar hazemsalah avatar illia-romanenko avatar imtoori avatar jerryokafor avatar kechankrisna avatar lbloder avatar lefebvreilyas avatar linguitang avatar lordvidex avatar lorenzobiondani avatar matteobertino avatar naiksoftware avatar raiansar avatar rudys-oshin avatar saifallak avatar sherifhasan avatar stwonary avatar themobilecoder avatar vemarav avatar victoreronmosele avatar vlfr1997 avatar yetitechnepal avatar ztoky avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

countrycodepicker's Issues

Set GestureDetecture or any other

Hi,

How can I call the CountryCodePicker on a GestureDetecture?

Basically you put the onPressed: _showSelectionDialog, on the entire container and not only on the CountryPicker. This will avoit to have multiple alert dialogs and avoid design issues.

Like here:

GestureDetector(
                                      onTap: (){
                                        
                                      },
                                      child: Container(
                                        child: Column(
                                          children: <Widget>[
                                            Text(
                                              'Country',
                                              style: TextStyle(fontWeight: FontWeight.bold),
                                            ),
                                            CountryCodePicker(
                                              initialSelection: 'EN',
                                              showCountryOnly: true,
                                              alignLeft: false,
                                            ),
                                          ],
                                        ),
                                      ),
                                    ),

Crash when using countryFilter

I'm using country_code_picker 1.3.7, a crash occurs when I add the countryFilter parametes:

CountryCodePicker(
                  countryFilter: ["de", "lt"],
                  showCountryOnly: true,
                  flagWidth: 60,
                  showOnlyCountryWhenClosed: true,
                  initialSelection: "lt",
                  textStyle: TextStyle(fontSize: 0),
                )

════════ Exception caught by widgets library ═══════════════════════════════════════════════════════
The following RangeError was thrown building DottedBorder:
RangeError (index): Invalid value: Valid value range is empty: 0

The relevant error-causing widget was: 
  DottedBorder file:///Users/gintas/Documents/AppProjects/accounting/accounting/lib/maincontent/clients/editinvoice/EditInvoiceScreen.dart:261:18
When the exception was thrown, this was the stack: 
#0      List.[] (dart:core-patch/growable_array.dart:146:60)
#1      _CountryCodePickerState.initState.<anonymous closure> (package:country_code_picker/country_code_picker.dart:189:33)
#2      ListMixin.firstWhere (dart:collection/list.dart:149:38)
#3      _CountryCodePickerState.initState (package:country_code_picker/country_code_picker.dart:185:31)
#4      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4640:58)
...
════════════════════════════════════════════════════════════════════════════════════════════════════
Reloaded 6 of 744 libraries in 1,525ms.

Without countryFilter parameter it doesn't crash. Crash occurs on widget is loaded, not when on tap is called.

gintas-mac:lifetrens gintas$ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel master, v1.16.4-pre.18, on Mac OS X 10.15.3 19D76, locale
    en-GB)
 
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 11.4)
[✓] Chrome - develop for the web
[✓] Android Studio (version 3.6)
[!] VS Code (version 1.43.2)
    ✗ Flutter extension not installed; install from
      https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter
[✓] Connected device (4 available)

! Doctor found issues in 1 category.
gintas-mac:lifetrens gintas$ 

[Not Issue] Special Thanks.

This is not an issue but I just want to thank you for providing this plugin.
This worked great in my project in almost every case.
Thanks for your work and sharing.

It'd be best if this plugin provide localized strings for country name, but I know it is too much to provide them internally.

Thanks again.

No country code

Hi,

How can I show a drop down with the flag and country name without the phone indicative?

This is very important please

Country filter is not working properly

After adding CountryLocalizations.delegate it change the name.
But after that search not work as per new name.
Ex. Before translation "India" show as "भारत"
so for select that i have to type in hindi. But after adding CountryLocalizations.delegate It show as "India" but still i have to type "भारत" in hindi to select it.

IMG_20200330_151413
IMG_20200330_151441

Design issues and Overflow

Hi,

Can you please adapt your code?

  1. Can we have the option to remove the bold text when we show Flag+Country Name or whatever?

  2. Flags size are different;

  3. Can we have the option to change the padding? The actual option don't work;

  4. When I have Flag+Country Name and something else on the left size (like icon or whatever), the countries with big name get overflow/error. Can they please go Flexible/Multiple lines?

All the above should be easy. THANK YOU for this awesome lib.

How can I access the initialSelection or selectedItem?

Hey I'm fairly new to flutter so please excuse if this is a simple resolve. I use Localizations.localeOf(context).countryCode; to get the initial country code that I pass to your package. Your package builds the elements and converts this country code to a dialCode, but I need to access the initialSelection dialCode. How can I do this?

Country List

Hi, is there a reason for the country list to be shortened as per this commit 080a5ed?
It makes this library unusable for most of the users.
Thanks

SelectionDialog has a long wait time

Using an iPhone 6 (real device), The SelectionDialog takes a very long time to show up (sometimes 10 seconds). I thought this might have to do with the way you are building the dialog and it does.

I replaced the current building to use a ListView instead of columns.

Here's what the SelectionDialog build function looks like now:

  @override
  Widget build(BuildContext context) {
    return SimpleDialog(
      title: Column(
        children: <Widget>[
          TextField(
            decoration: const InputDecoration(prefixIcon: Icon(Icons.search)),
            onChanged: _filterElements,
          ),
        ],
      ),
      children: [
        Container(
          width: MediaQuery.of(context).size.width,
          height: MediaQuery.of(context).size.height,
          child: ListView(
            children: [
          widget.favoriteElements.isEmpty
              ? const BoxDecoration()
              : Column(
                  crossAxisAlignment: CrossAxisAlignment.start,
                  children: <Widget>[]
                    ..addAll(widget.favoriteElements
                        .map(
                          (f) => SimpleDialogOption(
                                child: _buildOption(f),
                                onPressed: () {
                                  _selectItem(f);
                                },
                              ),
                        )
                        .toList())
                    ..add(const Divider())),
          
        ]..addAll(filteredElements.isEmpty
            ? [Center(child: Text('No Country Found.'))]
            : filteredElements.map(
                  (e) => SimpleDialogOption(
                    key: Key(e.toLongString()),
                    child: _buildOption(e),
                    onPressed: () {
                      _selectItem(e);
                    },
                  ),
                ).toList()
            ),
          ),
        ),
      ]
    );
  }

This drastically improved the wait time, but it still is taking a second at most to load the view. Using the country_pickers flutter package the wait time for the dialog to show is nearly non-existent on the same iPhone 6, but I like this package's widgets a lot more.

Also, please don't over-use the new keyword and use const everywhere possible.

return code

Hi,

I notice on your code that you return the name, code and dialcode. By default you are using dialCode and we cannot change it, can you add a param please?

Why? because I'm getting the user country code (like us etc) and your lib is returning "+xxx" and I cannot match it. So if you make that return code, I can match and filter using the codes.

Thank you!

showCountryOnly still show country code

Hi,

So you have the new param showCountryOnly: true,that when you click it shows only the flag and the name of the country BUT when you select (not open) you get only the Flag+Country Code and should be Flag+Country Name.

Please fix this.

Flag Size

Hi
After changing flags to png, the apk size increased by 9mb, can you reduce the size or at least change it back to use it from fonts?

How to test new changes

Hi, well done here. I forked this project but I can not see the example project so that I can test the new changes that I am making.

Need Country Name only in English when init is called

I've followed everything mentioned in the tutorial, added Locale('en', 'US') and added CountryLocalizations.delegate, but still upon init of widget the country name is given in it's Local Language and not in English. I need it only in English. When I tap on the picker and select the country from the list, then and only then I get the name of the country in English.

icon cant display

════════ (34) Exception caught by image resource service ═══════════════════════════════════════════
Unable to load asset: packages/country_code_picker/flags/im.png
════════════════════════════════════════════════════════════════════════════════════════════════════

════════ (35) Exception caught by image resource service ═══════════════════════════════════════════
Unable to load asset: packages/country_code_picker/flags/il.png
##═══════════════════════════════════════════════════
屏幕快照 2019-09-20 下午7 13 34
═════════════════════════════════════════════════

onChanged: CElement instead of CElement.dialCode

Currently the code sets only the dialCode to the onChanged function instead of the whole CElement.

//country_code_picker.dart

if (widget.onChanged != null) {
  widget.onChanged(e.dialCode);
}

This is problematic in situations where multiple countries/areas share the same 'dialCode'. For example, Åland Islands, which is a autonomous part of Finland, has the same 'dialCode' as Finland, but it is an independent selection in the CountryCodePicker (this is the typical case). Also for example Russia and Kazakhstan share the 'dialCode' (+7).

I think it would be better to pass the whole CElement object to the onChanged-function as it allows the developer to get access to the SELECTED country as well.

Uniform special characters for search

I had an issue searching for Mexico, as I have the US keyboard layout I don't have the é. I had to search with the tilde for it to show up. Is there anyway to ignore special characters on the search function?

Dialog's max width, max height

Hey,
nice lib. It wound be great if you added a max width, max height properties for the dialog, because if it's used on desktop or web, a full screen dialog with such big empty spaces does not look nice.

Cheers

Edit font styles and colours on country dialog

Is there an option to format and style the dialog widget where the country and country code is selected?
Currently, mine displays as blank, and I could really use some tips pointing me on how to go about it.

This is an image of what I have -
MicrosoftTeams-image

Can't call setState on onChanged function

onChanged function is called during CountryCodePicker state initialization, is there a particular reason for it?

As it's called on initState I can't pass a function that calls my widget setState, as it will try to build my widget while CountryCodePicker widget is being initialized

Arabic language not showing properly

I'm using the latest version and on flutter stable channel

the arabic language is not showing on the dialog properly like showing on the picture

this is on the iOS version

don't know if it is the same for Android

like you can see it's displaying the characters separated

Screenshot 2019-03-12 21 14 08

Screenshot 2019-03-12 21 14 22

UAE -> should be "دولة اللإمارت العربية المتحدة" not " د و ل ة ا ل ا ل إ م ا ر ا ت ا ل ع ر ب ي ة ا ل م ت ح د ة"
YMEN -> should be "اليمن" not "ا ل ي م ن"
and same goes for all the arabic countries

also it is not working on typing too!

Screenshot 2019-03-12 21 24 53

one more issues that I found that it make my hole arabic langue messed up
after selecting an arabic country

Screenshot 2019-03-12 21 35 41

The method 'firstWhere' was called on null.

Was trying out the Widget. Kept getting this:

I/flutter (13885): ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
I/flutter (13885): The following NoSuchMethodError was thrown building _FormScope:
I/flutter (13885): The method 'firstWhere' was called on null.
I/flutter (13885): Receiver: null
I/flutter (13885): Tried calling: firstWhere(Closure: (String) => bool, orElse: Closure: () => Null)
I/flutter (13885):
I/flutter (13885): When the exception was thrown, this was the stack:
I/flutter (13885): #0      Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:50:5)
I/flutter (13885): #1      _CountryCodePickerState.initState.<anonymous closure> (package:country_code_picker/country_code_picker.dart:90:29)
I/flutter (13885): #2      WhereIterator.moveNext (dart:_internal/iterable.dart:439:11)
I/flutter (13885): #3      new List.from (dart:core/runtime/libarray_patch.dart:40:17)
I/flutter (13885): #4      Iterable.toList (dart:core/iterable.dart:398:16)
I/flutter (13885): #5      _CountryCodePickerState.initState (package:country_code_picker/country_code_picker.dart:94:10)
I/flutter (13885): #6      StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3808:58)
I/flutter (13885): #7      ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #8      Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #9      MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4943:32)
I/flutter (13885): #10     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #11     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #12     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #13     Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #14     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #15     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #16     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #17     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #18     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #19     Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #20     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #21     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3826:11)
I/flutter (13885): #22     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #23     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #24     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #25     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #26     Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #27     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #28     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3826:11)
I/flutter (13885): #29     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #30     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #31     MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4943:32)
I/flutter (13885): #32     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #33     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #34     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
I/flutter (13885): #35     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #36     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #37     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #38     Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #39     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #40     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #41     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #42     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #43     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
I/flutter (13885): #44     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #45     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #46     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #47     Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #48     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #49     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #50     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #51     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #52     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
I/flutter (13885): #53     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #54     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #55     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
I/flutter (13885): #56     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #57     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #58     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
I/flutter (13885): #59     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #60     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #61     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
I/flutter (13885): #62     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #63     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #64     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #65     Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #66     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #67     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3826:11)
I/flutter (13885): #68     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #69     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #70     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #71     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
I/flutter (13885): #72     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #73     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #74     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
I/flutter (13885): #75     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #76     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #77     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
I/flutter (13885): #78     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #79     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #80     SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
I/flutter (13885): #81     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #82     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #83     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #84     Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #85     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #86     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #87     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #88     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #89     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #90     Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #91     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #92     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3826:11)
I/flutter (13885): #93     ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #94     Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #95     Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #96     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #97     Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #98     ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #99     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3826:11)
I/flutter (13885): #100    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #101    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #102    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #103    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #104    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #105    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #106    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #107    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #108    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #109    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #110    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #111    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #112    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #113    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #114    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #115    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
I/flutter (13885): #116    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #117    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #118    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
I/flutter (13885): #119    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #120    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #121    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #122    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #123    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #124    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #125    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #126    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #127    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
I/flutter (13885): #128    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #129    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #130    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #131    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #132    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #133    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #134    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #135    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #136    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #137    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #138    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #139    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #140    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #141    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #142    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
I/flutter (13885): #143    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #144    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #145    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #146    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #147    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #148    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #149    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #150    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #151    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #152    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #153    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #154    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #155    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #156    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #157    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #158    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #159    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #160    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #161    ParentDataElement.mount (package:flutter/src/widgets/framework.dart:4025:11)
I/flutter (13885): #162    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #163    MultiChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4943:32)
I/flutter (13885): #164    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #165    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #166    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #167    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #168    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #169    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3826:11)
I/flutter (13885): #170    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #171    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #172    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #173    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #174    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #175    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #176    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #177    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #178    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #179    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #180    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #181    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #182    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3826:11)
I/flutter (13885): #183    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #184    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #185    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #186    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
I/flutter (13885): #187    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #188    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #189    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #190    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #191    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #192    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #193    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #194    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #195    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
I/flutter (13885): #196    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #197    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #198    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #199    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #200    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #201    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3826:11)
I/flutter (13885): #202    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #203    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #204    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #205    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #206    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #207    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #208    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3826:11)
I/flutter (13885): #209    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #210    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #211    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #212    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #213    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #214    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #215    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #216    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #217    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #218    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #219    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #220    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #221    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #222    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #223    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #224    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #225    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #226    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #227    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3826:11)
I/flutter (13885): #228    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #229    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #230    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #231    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #232    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #233    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #234    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3826:11)
I/flutter (13885): #235    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #236    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #237    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #238    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
I/flutter (13885): #239    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #240    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #241    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #242    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #243    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #244    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #245    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #246    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #247    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
I/flutter (13885): #248    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #249    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #250    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
I/flutter (13885): #251    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #252    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #253    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
I/flutter (13885): #254    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #255    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #256    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
I/flutter (13885): #257    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #258    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #259    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #260    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #261    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #262    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3826:11)
I/flutter (13885): #263    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #264    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #265    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #266    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #267    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #268    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #269    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #270    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #271    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #272    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #273    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #274    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #275    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3826:11)
I/flutter (13885): #276    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #277    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #278    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #279    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
I/flutter (13885): #280    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #281    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #282    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #283    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #284    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #285    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #286    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #287    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #288    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
D/ViewRootImpl@83a28bc[MainActivity](13885): ViewPostIme pointer 0
I/flutter (13885): #289    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #290    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #291    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #292    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #293    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #294    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3826:11)
I/flutter (13885): #295    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #296    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #297    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #298    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #299    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #300    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #301    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #302    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #303    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #304    SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:4838:14)
I/flutter (13885): #305    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #306    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #307    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #308    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #309    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #310    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #311    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #312    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #313    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #314    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #315    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #316    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3826:11)
I/flutter (13885): #317    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #318    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #319    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #320    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #321    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #322    ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:3679:5)
I/flutter (13885): #323    StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:3826:11)
I/flutter (13885): #324    ComponentElement.mount (package:flutter/src/widgets/framework.dart:3674:5)
I/flutter (13885): #325    Element.inflateWidget (package:flutter/src/widgets/framework.dart:2950:14)
I/flutter (13885): #326    Element.updateChild (package:flutter/src/widgets/framework.dart:2753:12)
I/flutter (13885): #327    RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:4621:32)
I/flutter (13885): #328    MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4953:17)
I/flutter (13885): #329    Element.updateChild (package:flutter/src/widgets/framework.dart:2742:15)
I/flutter (13885): #330    _TheatreElement.update (package:flutter/src/widgets/overlay.dart:507:16)
I/flutter (13885): #331    Element.updateChild (package:flutter/src/widgets/framework.dart:2742:15)
I/flutter (13885): #332    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #333    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #334    StatefulElement.update (package:flutter/src/widgets/framework.dart:3856:5)
I/flutter (13885): #335    Element.updateChild (package:flutter/src/widgets/framework.dart:2742:15)
I/flutter (13885): #336    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #337    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #338    ProxyElement.update (package:flutter/src/widgets/framework.dart:3968:5)
I/flutter (13885): #339    Element.updateChild (package:flutter/src/widgets/framework.dart:2742:15)
I/flutter (13885): #340    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4845:14)
I/flutter (13885): #341    Element.updateChild (package:flutter/src/widgets/framework.dart:2742:15)
I/flutter (13885): #342    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #343    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #344    StatefulElement.update (package:flutter/src/widgets/framework.dart:3856:5)
I/flutter (13885): #345    Element.updateChild (package:flutter/src/widgets/framework.dart:2742:15)
I/flutter (13885): #346    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4845:14)
I/flutter (13885): #347    Element.updateChild (package:flutter/src/widgets/framework.dart:2742:15)
I/flutter (13885): #348    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4845:14)
I/flutter (13885): #349    Element.updateChild (package:flutter/src/widgets/framework.dart:2742:15)
I/flutter (13885): #350    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3710:16)
I/flutter (13885): #351    Element.rebuild (package:flutter/src/widgets/framework.dart:3547:5)
I/flutter (13885): #352    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2286:33)
I/flutter (13885): #353    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:676:20)
I/flutter (13885): #354    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:219:5)
I/flutter (13885): #355    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990:15)
I/flutter (13885): #356    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930:9)
I/flutter (13885): #357    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:842:5)
I/flutter (13885): #358    _invoke (dart:ui/hooks.dart:154:13)
I/flutter (13885): #359    _drawFrame (dart:ui/hooks.dart:143:3)
I/flutter (13885): ════════════════════════════════════════════════════════════════════════════════════════════════════
I/flutter (13885): Another exception was thrown: NoSuchMethodError: The method 'firstWhere' was called on null.
D/ViewRootImpl@83a28bc[MainActivity](13885): ViewPostIme pointer 1

I followed the documentation but I just couldn't make it work. In any context I place the widget I'd get that same error.

Here's my Flutter info:

Flutter 0.11.3 • channel beta • https://github.com/flutter/flutter.git
Framework • revision 72bf075e8d (10 days ago) • 2018-11-19 11:14:05 -0500
Engine • revision 2e06da3df9
Tools • Dart 2.1.0 (build 2.1.0-dev.9.3 9c07fb64c4)

Add Utility to Convert Country Code to Country Name

I am in the process of switching my app over from another country code picker library. One feature that library has which would be useful in this one is the ability to convert a country code to the country's name.

For example, in the other library:

CountryPickerUtils.getCountryByIsoCode("GB") -> returns "United Kingdom"

Country name wrong

śrī laṃkāva(LK, +94) is the wrong spelling. It should be changed to Sri Lanka.

Allow custom settings of FlatButton or builder with no InkWell

There is no arguments to pass in the settings of FlatButton such as shape, border and elevation.

In addition, even if you use builder, the widget returned from the builder function is automatically wrapped with InkWell, preventing you from customising the handling of tap events.

I actually managed to make the ripple effect invisible by making splashColor and highlightColor transparent and wrap InkWell with another button, in an attempt to handle tap events on my own.
It achieved my desired look but with no more luck because there is no way of manually showing the picker dialog, as mentioned in #60.

Incorrect README

README still states it does not work on iOS. Also, screenshots require absolute paths to be visible in pub.dartlang.org 😀👍

Country names are not localized anymore

Hi,

I noticed that starting from this commit , the country names in the dialog as well as the picker itself is not being localized anymore.

It is displaying the original name from the country_codes in the example app included in the library.

I debugged it and for some reason, the function didUpdateWidget() is never called, even when showing the dialog and selecting a country.

I'll do further testing asap and see what I can do.

Dial code of Cayman Islands is wrong

I found a possibly unnecessary space in the dial code of Cayman Islands in country_codes.dart. There is a space between + and 345.

{
  "name": "Cayman Islands",
  "code": "KY",
  "dial_code": "+ 345",
},

I chose to file an issue rather than make a PR because the removal of the space might affect existing apps that have used the exact dial codes as they are in the list.

option to set flag size and padding around flag element

maybe I'm missing something. but is there anyway to set flag sizes and paddings on my own?

Screenshot 2020-02-25 at 11 42 56 AM

Also. In the image above. I put the CountryCodePicker inside a Flexible widget it shrink automatically which is weird. any way to avoid this?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.