pull/41/head
Sultan khan 1 month ago
parent b78c78ed8b
commit fe36c2a1c1

@ -1,5 +1,6 @@
import 'dart:convert'; import 'dart:convert';
import 'dart:developer'; import 'dart:developer';
import 'dart:io';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/services.dart' show rootBundle; import 'package:flutter/services.dart' show rootBundle;
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
@ -36,6 +37,7 @@ import 'package:hmg_patient_app_new/services/localauth_service.dart';
import 'package:hmg_patient_app_new/services/navigation_service.dart'; import 'package:hmg_patient_app_new/services/navigation_service.dart';
import 'package:hmg_patient_app_new/widgets/loader/bottomsheet_loader.dart'; import 'package:hmg_patient_app_new/widgets/loader/bottomsheet_loader.dart';
import 'package:hmg_patient_app_new/widgets/bottomsheet/exception_bottom_sheet.dart'; import 'package:hmg_patient_app_new/widgets/bottomsheet/exception_bottom_sheet.dart';
import 'package:sms_otp_auto_verify/sms_otp_auto_verify.dart';
import 'models/request_models/get_user_mobile_device_data.dart'; import 'models/request_models/get_user_mobile_device_data.dart';
import 'models/request_models/insert_patient_mobile_deviceinfo.dart'; import 'models/request_models/insert_patient_mobile_deviceinfo.dart';
@ -355,7 +357,7 @@ class AuthenticationViewModel extends ChangeNotifier {
); );
// TODO: GET APP SMS SIGNATURE HERE // TODO: GET APP SMS SIGNATURE HERE
request.sMSSignature = "enKTDcqbOVd"; request.sMSSignature =await getSignature();
if (checkIsUserComingForRegister(request: payload)) { if (checkIsUserComingForRegister(request: payload)) {
_appState.setUserRegistrationPayload = RegistrationDataModelPayload.fromJson(payload); _appState.setUserRegistrationPayload = RegistrationDataModelPayload.fromJson(payload);
@ -921,4 +923,12 @@ class AuthenticationViewModel extends ChangeNotifier {
}, },
); );
} }
Future<String?> getSignature() async {
if (Platform.isAndroid) {
return await SmsVerification.getAppSignature();
} else {
return null;
}
}
} }

@ -9,6 +9,7 @@ import 'package:hmg_patient_app_new/core/utils/size_utils.dart';
import 'package:hmg_patient_app_new/extensions/widget_extensions.dart'; import 'package:hmg_patient_app_new/extensions/widget_extensions.dart';
import 'package:hmg_patient_app_new/theme/colors.dart'; import 'package:hmg_patient_app_new/theme/colors.dart';
import 'package:hmg_patient_app_new/widgets/appbar/app_bar_widget.dart'; import 'package:hmg_patient_app_new/widgets/appbar/app_bar_widget.dart';
import 'package:sms_otp_auto_verify/sms_otp_auto_verify.dart';
typedef OnDone = void Function(String text); typedef OnDone = void Function(String text);
@ -132,6 +133,7 @@ class OTPWidgetState extends State<OTPWidget> with SingleTickerProviderStateMixi
widget.controller!.addListener(_controllerListener); widget.controller!.addListener(_controllerListener);
} }
focusNode.addListener(_focusListener); focusNode.addListener(_focusListener);
checkSignature();
} }
void _controllerListener() { void _controllerListener() {
@ -209,7 +211,15 @@ class OTPWidgetState extends State<OTPWidget> with SingleTickerProviderStateMixi
], ],
); );
} }
void checkSignature() async {
SmsVerification.startListeningSms().then((message) {
final intRegex = RegExp(r'\d+', multiLine: true);
var otp = SmsVerification.getCode(message, intRegex);
widget.controller!.text = otp;
_onTextChanged(text);
SmsVerification.stopListening();
});
}
Widget _touchPinBoxRow() { Widget _touchPinBoxRow() {
return widget.hideDefaultKeyboard return widget.hideDefaultKeyboard
? _pinBoxRow(context) ? _pinBoxRow(context)
@ -462,6 +472,7 @@ class _OTPVerificationScreenState extends State<OTPVerificationScreen> {
super.initState(); super.initState();
_otpController = TextEditingController(); _otpController = TextEditingController();
_startResendTimer(); _startResendTimer();
} }
@override @override
@ -506,6 +517,7 @@ class _OTPVerificationScreenState extends State<OTPVerificationScreen> {
_startResendTimer(); _startResendTimer();
// autoFillOtp("1234"); // autoFillOtp("1234");
widget.onResendOTPPressed(widget.phoneNumber); widget.onResendOTPPressed(widget.phoneNumber);
} }
} }
@ -618,5 +630,11 @@ class _OTPVerificationScreenState extends State<OTPVerificationScreen> {
if (otp.length != _otpLength) return; if (otp.length != _otpLength) return;
_isVerifying = false; _isVerifying = false;
_otpController.text = otp; _otpController.text = otp;
setState(() {
});
} }
} }

@ -66,6 +66,7 @@ dependencies:
firebase_analytics: ^11.5.1 firebase_analytics: ^11.5.1
jiffy: ^6.4.3 jiffy: ^6.4.3
hijri_gregorian_calendar: ^0.1.1 hijri_gregorian_calendar: ^0.1.1
sms_otp_auto_verify: ^2.2.0
web: any web: any
flutter_staggered_animations: ^1.1.1 flutter_staggered_animations: ^1.1.1

Loading…
Cancel
Save