Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🐛 [firebase_ui_auth] PhoneInputScreen crashes when locale has no countryCode #9811

Closed
agonhajdari opened this issue Oct 28, 2022 · 1 comment · Fixed by #9937
Closed
Assignees
Labels
plugin: ui resolution: fixed A fix has been merged or is pending merge from a PR. type: bug Something isn't working

Comments

@agonhajdari
Copy link

Bug report

Describe the bug

PhoneInputView crashes when countryCode is null

Steps to reproduce

Steps to reproduce the behavior:

  1. git clone https://github.com/agonhajdari/flutterfire-countrycodecrash.git
  2. flutter run --flavor development --target lib/main_development.dart # only for android configured
  3. See 'Null check operator used on a null value'

Expected behavior

PhoneInputView without errors.

Sample project

https://github.com/agonhajdari/flutterfire-countrycodecrash


Additional context

If countryCode is null then use WidgetsBinding.instance.platformDispatcher.locale.countryCode or if that is also null then use first country in countries.


Flutter doctor

Run flutter doctor and paste the output below:

Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.3.5, on macOS 13.0 22A380 darwin-x64, locale en-DE)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.3)
[✓] VS Code (version 1.72.2)
[✓] Connected device (3 available)
[✓] HTTP Host Availability

• No issues found!

Flutter dependencies

Run flutter pub deps -- --style=compact and paste the output below:

Click To Expand
Dart SDK 2.18.2
Flutter SDK 3.3.5
countrycodecrash 1.0.0+1

dependencies:
- bloc 8.1.0 [meta]
- firebase_auth 4.1.0 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 2.1.1 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_ui_auth 1.0.3 [desktop_webview_auth email_validator firebase_auth firebase_core firebase_dynamic_links firebase_ui_localizations firebase_ui_oauth flutter flutter_localizations flutter_svg]
- firebase_ui_localizations 1.0.1 [flutter flutter_localizations intl path]
- flutter 0.0.0 [characters collection material_color_utilities meta vector_math sky_engine]
- flutter_bloc 8.1.1 [flutter bloc provider]
- flutter_localizations 0.0.0 [flutter intl characters clock collection material_color_utilities meta path vector_math]
- intl 0.17.0 [clock path]

dev dependencies:
- bloc_test 9.1.0 [bloc diff_match_patch meta mocktail test]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]
- mocktail 0.3.0 [collection matcher test]
- very_good_analysis 3.1.0

transitive dependencies:
- _fe_analyzer_shared 41.0.0 [meta]
- _flutterfire_internals 1.0.6 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- analyzer 4.2.0 [_fe_analyzer_shared collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- args 2.3.1
- async 2.9.0 [collection meta]
- boolean_selector 2.1.0 [source_span string_scanner]
- characters 1.2.1
- clock 1.1.1
- cloud_firestore_platform_interface 5.8.3 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 3.0.3 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- collection 1.16.0
- convert 3.0.2 [typed_data]
- coverage 1.3.2 [args logging package_config path source_maps stack_trace vm_service]
- crypto 3.0.2 [typed_data]
- desktop_webview_auth 0.0.9 [crypto flutter http]
- diff_match_patch 0.4.1
- email_validator 2.1.17
- fake_async 1.3.1 [clock collection]
- file 6.1.2 [meta path]
- firebase_auth_platform_interface 6.11.0 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.1.0 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.5.2 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.0.1 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_dynamic_links 5.0.3 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
- firebase_dynamic_links_platform_interface 0.2.3+19 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_ui_oauth 1.0.3 [desktop_webview_auth firebase_auth firebase_ui_auth flutter_svg flutter]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- frontend_server_client 2.1.3 [async path]
- glob 2.1.0 [async collection file path string_scanner]
- http 0.13.5 [async http_parser meta path]
- http_multi_server 3.2.1 [async]
- http_parser 4.0.1 [collection source_span string_scanner typed_data]
- io 1.0.3 [meta path string_scanner]
- js 0.6.4
- logging 1.0.2
- matcher 0.12.12 [stack_trace]
- material_color_utilities 0.1.5
- meta 1.8.0
- mime 1.0.2
- nested 1.0.0 [flutter]
- node_preamble 2.0.1
- package_config 2.1.0 [path]
- path 1.8.2
- path_drawing 1.0.1 [vector_math meta path_parsing flutter]
- path_parsing 1.0.1 [vector_math meta]
- petitparser 5.1.0 [meta]
- plugin_platform_interface 2.1.3 [meta]
- pool 1.5.1 [async stack_trace]
- provider 6.0.3 [collection flutter nested]
- pub_semver 2.1.1 [collection meta]
- shelf 1.3.1 [async collection http_parser path stack_trace stream_channel]
- shelf_packages_handler 3.0.1 [path shelf shelf_static]
- shelf_static 1.1.1 [convert http_parser mime path shelf]
- shelf_web_socket 1.0.2 [shelf stream_channel web_socket_channel]
- sky_engine 0.0.99
- source_map_stack_trace 2.1.0 [path stack_trace source_maps]
- source_maps 0.10.10 [source_span]
- source_span 1.9.0 [collection path term_glyph]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- string_scanner 1.1.1 [source_span]
- term_glyph 1.2.1
- test 1.21.4 [analyzer async boolean_selector collection coverage http_multi_server io js node_preamble package_config path pool shelf shelf_packages_handler shelf_static shelf_web_socket source_span stack_trace stream_channel typed_data web_socket_channel webkit_inspection_protocol yaml test_api test_core]
- test_api 0.4.12 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- test_core 0.4.16 [analyzer async args boolean_selector collection coverage frontend_server_client glob io meta package_config path pool source_map_stack_trace source_maps source_span stack_trace stream_channel vm_service yaml matcher test_api]
- typed_data 1.3.1 [collection]
- vector_math 2.1.2
- vm_service 8.3.0
- watcher 1.0.1 [async path]
- web_socket_channel 2.2.0 [async crypto stream_channel]
- webkit_inspection_protocol 1.1.0 [logging]
- xml 6.1.0 [collection meta petitparser]
- yaml 3.1.1 [collection source_span string_scanner]

@agonhajdari agonhajdari added Needs Attention This issue needs maintainer attention. type: bug Something isn't working labels Oct 28, 2022
@danagbemava-nc danagbemava-nc added the triage Issue is currently being triaged. label Oct 28, 2022
@danagbemava-nc
Copy link

I can reproduce the issue using the code sample provided above.

@danagbemava-nc danagbemava-nc added plugin: ui and removed Needs Attention This issue needs maintainer attention. triage Issue is currently being triaged. labels Oct 28, 2022
@agonhajdari agonhajdari changed the title 🐛 [firebase_ui_auth] PhoneInputView crashes when locale has no countryCode 🐛 [firebase_ui_auth] PhoneInputScreen crashes when locale has no countryCode Oct 28, 2022
@lesnitsky lesnitsky self-assigned this Nov 14, 2022
@danagbemava-nc danagbemava-nc added the resolution: fixed A fix has been merged or is pending merge from a PR. label Nov 24, 2022
@firebase firebase locked and limited conversation to collaborators Dec 24, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
plugin: ui resolution: fixed A fix has been merged or is pending merge from a PR. type: bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants