diff --git a/example/android/app/build.gradle b/example/android/app/build.gradle index 8e71da4..8f7e761 100644 --- a/example/android/app/build.gradle +++ b/example/android/app/build.gradle @@ -8,7 +8,7 @@ plugins { android { namespace = "com.example.form_builder_phone_field" compileSdk = flutter.compileSdkVersion - ndkVersion = flutter.ndkVersion + ndkVersion = "27.0.12077973" compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 diff --git a/example/android/gradle.properties b/example/android/gradle.properties index 2597170..db24e8b 100644 --- a/example/android/gradle.properties +++ b/example/android/gradle.properties @@ -1,3 +1,6 @@ org.gradle.jvmargs=-Xmx4G -XX:MaxMetaspaceSize=2G -XX:+HeapDumpOnOutOfMemoryError android.useAndroidX=true android.enableJetifier=true +android.defaults.buildfeatures.buildconfig=true +android.nonTransitiveRClass=false +android.nonFinalResIds=false diff --git a/example/android/gradle/wrapper/gradle-wrapper.properties b/example/android/gradle/wrapper/gradle-wrapper.properties index e1ca574..09523c0 100644 --- a/example/android/gradle/wrapper/gradle-wrapper.properties +++ b/example/android/gradle/wrapper/gradle-wrapper.properties @@ -1,5 +1,7 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip +networkTimeout=10000 +validateDistributionUrl=true zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip diff --git a/example/android/settings.gradle b/example/android/settings.gradle index 536165d..89239ac 100644 --- a/example/android/settings.gradle +++ b/example/android/settings.gradle @@ -18,8 +18,8 @@ pluginManagement { plugins { id "dev.flutter.flutter-plugin-loader" version "1.0.0" - id "com.android.application" version "7.3.0" apply false - id "org.jetbrains.kotlin.android" version "1.7.10" apply false + id "com.android.application" version '8.7.2' apply false + id "org.jetbrains.kotlin.android" version "2.0.0" apply false } include ":app" diff --git a/example/pubspec.lock b/example/pubspec.lock index 32e865b..8054d14 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -66,18 +66,18 @@ packages: dependency: "direct main" description: name: flutter_form_builder - sha256: "447f8808f68070f7df968e8063aada3c9d2e90e789b5b70f3b44e4b315212656" + sha256: aa3901466c70b69ae6c7f3d03fcbccaec5fde179d3fded0b10203144b546ad28 url: "https://pub.dev" source: hosted - version: "9.3.0" + version: "10.0.1" flutter_lints: dependency: "direct dev" description: name: flutter_lints - sha256: "3f41d009ba7172d5ff9be5f6e6e6abb4300e263aab8866d2a0842ed2a70f8f0c" + sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1" url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "5.0.0" flutter_localizations: dependency: "direct main" description: flutter @@ -99,10 +99,10 @@ packages: dependency: "direct main" description: name: form_builder_validators - sha256: "475853a177bfc832ec12551f752fd0001278358a6d42d2364681ff15f48f67cf" + sha256: cd617fa346250293ff3e2709961d0faf7b80e6e4f0ff7b500126b28d7422dd67 url: "https://pub.dev" source: hosted - version: "10.0.1" + version: "11.1.2" intl: dependency: transitive description: @@ -139,10 +139,10 @@ packages: dependency: transitive description: name: lints - sha256: "976c774dd944a42e83e2467f4cc670daef7eed6295b10b36ae8c85bcbf828235" + sha256: c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7 url: "https://pub.dev" source: hosted - version: "4.0.0" + version: "5.1.1" matcher: dependency: transitive description: @@ -175,14 +175,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.9.1" - phone_number: + phone_numbers_parser: dependency: transitive description: - name: phone_number - sha256: c66d3e2f2c69ce95f10bb923957049b1e5b8c6efea02d7366353fa3b80d4338a + name: phone_numbers_parser + sha256: "8aaa49708c9314d450d80767753c6512402e848138e5a91bf59ed3e0d3ac5d9b" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "9.0.3" sky_engine: dependency: transitive description: flutter @@ -253,5 +253,5 @@ packages: source: hosted version: "14.3.1" sdks: - dart: ">=3.7.0-0 <4.0.0" - flutter: ">=3.22.0" + dart: ">=3.7.0 <4.0.0" + flutter: ">=3.29.0" diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 6ca838f..f5e5efa 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -10,15 +10,15 @@ environment: dependencies: flutter: sdk: flutter - flutter_form_builder: ^9.3.0 + flutter_form_builder: ^10.0.1 flutter_localizations: sdk: flutter form_builder_phone_field: path: ../ - form_builder_validators: ^10.0.1 + form_builder_validators: ^11.1.2 dev_dependencies: - flutter_lints: ^4.0.0 + flutter_lints: ^5.0.0 flutter_test: sdk: flutter diff --git a/lib/src/form_builder_phone_field.dart b/lib/src/form_builder_phone_field.dart index 102785d..03d765d 100644 --- a/lib/src/form_builder_phone_field.dart +++ b/lib/src/form_builder_phone_field.dart @@ -5,7 +5,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_form_builder/flutter_form_builder.dart'; -import 'package:phone_number/phone_number.dart'; +import 'package:phone_numbers_parser/phone_numbers_parser.dart'; //TODO: Switch country_pickers for country_code_picker /// Field for international phone number input. @@ -243,12 +243,12 @@ class FormBuilderPhoneField extends FormBuilderFieldDecoration { style: style, focusNode: state.effectiveFocusNode, decoration: InputDecoration( - border: InputBorder.none, - enabledBorder: InputBorder.none, - errorBorder: InputBorder.none, - hintText: decoration.hintText, - hintStyle: decoration.hintStyle, - ), + border: InputBorder.none, + enabledBorder: InputBorder.none, + errorBorder: InputBorder.none, + hintText: decoration.hintText, + hintStyle: decoration.hintStyle, + filled: false), onChanged: (value) { // Use setValue instead didChange to avoid parseNumber state.setValue(value); @@ -344,12 +344,12 @@ class _FormBuilderPhoneFieldState final phone = newPhone ?? initialValue ?? ''; if (phone.isNotEmpty) { try { - final parseResult = await PhoneNumberUtil().parse(phone); + final parseResult = PhoneNumber.parse(phone); setState(() { _selectedDialogCountry = - CountryPickerUtils.getCountryByIsoCode(parseResult.regionCode); + CountryPickerUtils.getCountryByIsoCode(parseResult.countryCode); }); - _effectiveController.text = parseResult.nationalNumber; + _effectiveController.text = parseResult.nsn; } catch (error) { if (phone.contains('+')) { _effectiveController.text = phone.replaceFirst('+', ''); diff --git a/pubspec.lock b/pubspec.lock index 024c964..b6898e2 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -66,18 +66,18 @@ packages: dependency: "direct main" description: name: flutter_form_builder - sha256: "447f8808f68070f7df968e8063aada3c9d2e90e789b5b70f3b44e4b315212656" + sha256: aa3901466c70b69ae6c7f3d03fcbccaec5fde179d3fded0b10203144b546ad28 url: "https://pub.dev" source: hosted - version: "9.3.0" + version: "10.0.1" flutter_lints: dependency: "direct dev" description: name: flutter_lints - sha256: a25a15ebbdfc33ab1cd26c63a6ee519df92338a9c10f122adda92938253bef04 + sha256: "5398f14efa795ffb7a33e9b6a08798b26a180edac4ad7db3f231e40f82ce11e1" url: "https://pub.dev" source: hosted - version: "2.0.3" + version: "5.0.0" flutter_test: dependency: "direct dev" description: flutter @@ -87,10 +87,10 @@ packages: dependency: transitive description: name: intl - sha256: d6f56758b7d3014a48af9701c085700aac781a92a87a62b1333b46d8879661cf + sha256: "3df61194eb431efc39c4ceba583b95633a403f46c9fd341e550ce0bfa50e9aa5" url: "https://pub.dev" source: hosted - version: "0.19.0" + version: "0.20.2" leak_tracker: dependency: transitive description: @@ -119,10 +119,10 @@ packages: dependency: transitive description: name: lints - sha256: "0a217c6c989d21039f1498c3ed9f3ed71b354e69873f13a8dfc3c9fe76f1b452" + sha256: c35bb79562d980e9a453fc715854e1ed39e24e7d0297a880ef54e17f9874a9d7 url: "https://pub.dev" source: hosted - version: "2.1.1" + version: "5.1.1" matcher: dependency: transitive description: @@ -155,14 +155,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.9.1" - phone_number: + phone_numbers_parser: dependency: "direct main" description: - name: phone_number - sha256: c66d3e2f2c69ce95f10bb923957049b1e5b8c6efea02d7366353fa3b80d4338a + name: phone_numbers_parser + sha256: "8aaa49708c9314d450d80767753c6512402e848138e5a91bf59ed3e0d3ac5d9b" url: "https://pub.dev" source: hosted - version: "2.1.0" + version: "9.0.3" sky_engine: dependency: transitive description: flutter @@ -233,5 +233,5 @@ packages: source: hosted version: "14.3.1" sdks: - dart: ">=3.7.0-0 <4.0.0" - flutter: ">=3.22.0" + dart: ">=3.7.0 <4.0.0" + flutter: ">=3.29.0" diff --git a/pubspec.yaml b/pubspec.yaml index 4cb8ea7..2f66381 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -14,11 +14,11 @@ environment: dependencies: flutter: sdk: flutter - flutter_form_builder: ^9.3.0 - phone_number: ^2.1.0 + flutter_form_builder: ^10.0.1 country_pickers: ^3.0.1 + phone_numbers_parser: ^9.0.3 dev_dependencies: - flutter_lints: ^2.0.1 + flutter_lints: ^5.0.0 flutter_test: sdk: flutter