From 2ac2e02befa246e761d7e91bd66e100918b33fe0 Mon Sep 17 00:00:00 2001 From: zaelgohary Date: Wed, 12 Feb 2025 14:56:33 +0200 Subject: [PATCH 1/3] Rename verifyNow method, use diff ip API --- app/lib/services/phone_service.dart | 13 +++++++------ app/lib/widgets/phone_widget.dart | 8 +++----- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/app/lib/services/phone_service.dart b/app/lib/services/phone_service.dart index 80e93e5a8..df3b6cd14 100644 --- a/app/lib/services/phone_service.dart +++ b/app/lib/services/phone_service.dart @@ -1,11 +1,12 @@ +import 'dart:convert'; + import 'package:http/http.dart' as http; -import 'package:http/http.dart'; import 'package:threebotlogin/helpers/logger.dart'; -// https://api.ipgeolocationapi.com/geolocate -Future getCountry() async { - Uri url = Uri.parse('https://ipinfo.io/country'); +Future getCountry() async { + Uri url = Uri.parse('https://freegeoip.app/json/'); logger.i('Sending call: ${url.toString()}'); - - return await http.get(url); + final res = await http.get(url); + final data = jsonDecode(res.body); + return data['country_code']; } diff --git a/app/lib/widgets/phone_widget.dart b/app/lib/widgets/phone_widget.dart index 913a6f381..d10395e0d 100644 --- a/app/lib/widgets/phone_widget.dart +++ b/app/lib/widgets/phone_widget.dart @@ -2,7 +2,6 @@ import 'dart:convert'; import 'package:flutter/material.dart'; import 'package:flutter_pkid/flutter_pkid.dart'; -import 'package:http/http.dart'; import 'package:intl_mobile_field/countries.dart'; import 'package:intl_mobile_field/intl_mobile_field.dart'; import 'package:threebotlogin/helpers/globals.dart'; @@ -15,8 +14,7 @@ import 'custom_dialog.dart'; Future addPhoneNumberDialog(context, {required bool newPhone, required String oldPhone}) async { - Response res = await getCountry(); - var countryCode = res.body.replaceAll('\n', ''); + final countryCode = await getCountry(); await showDialog( context: context, @@ -167,7 +165,7 @@ class PhoneAlertDialogState extends State { ]); } - Future wantToVerifyNow() async { + Future verifyNow() async { return await showDialog( context: context, barrierDismissible: false, @@ -204,7 +202,7 @@ class PhoneAlertDialogState extends State { FlutterPkid client = await getPkidClient(); client.setPKidDoc('phone', json.encode({'phone': verificationPhoneNumber})); - wantToVerifyNow(); + verifyNow(); } sendPhoneVerification() async { From 2a5b8abfd6dd5b9bf5a1be78637977516fa96603 Mon Sep 17 00:00:00 2001 From: zaelgohary Date: Wed, 12 Feb 2025 17:18:18 +0200 Subject: [PATCH 2/3] Change return type --- app/lib/services/phone_service.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/lib/services/phone_service.dart b/app/lib/services/phone_service.dart index df3b6cd14..7174cff0e 100644 --- a/app/lib/services/phone_service.dart +++ b/app/lib/services/phone_service.dart @@ -3,7 +3,7 @@ import 'dart:convert'; import 'package:http/http.dart' as http; import 'package:threebotlogin/helpers/logger.dart'; -Future getCountry() async { +Future getCountry() async { Uri url = Uri.parse('https://freegeoip.app/json/'); logger.i('Sending call: ${url.toString()}'); final res = await http.get(url); From 86f949300450d634f55570f83552a864c8b3b1c7 Mon Sep 17 00:00:00 2001 From: zaelgohary Date: Thu, 13 Feb 2025 11:19:29 +0200 Subject: [PATCH 3/3] Change IP API --- app/lib/services/phone_service.dart | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/lib/services/phone_service.dart b/app/lib/services/phone_service.dart index 7174cff0e..07d0f3bf9 100644 --- a/app/lib/services/phone_service.dart +++ b/app/lib/services/phone_service.dart @@ -4,7 +4,7 @@ import 'package:http/http.dart' as http; import 'package:threebotlogin/helpers/logger.dart'; Future getCountry() async { - Uri url = Uri.parse('https://freegeoip.app/json/'); + Uri url = Uri.parse('https://geoip.grid.tf/'); logger.i('Sending call: ${url.toString()}'); final res = await http.get(url); final data = jsonDecode(res.body);