|
|
|
|
@ -2,7 +2,9 @@ import 'dart:collection';
|
|
|
|
|
import 'dart:ffi';
|
|
|
|
|
|
|
|
|
|
import 'package:doctor_app_flutter/config/config.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/routes.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart';
|
|
|
|
|
import 'package:doctor_app_flutter/widgets/shared/dr_app_circular_progress_Indeicator.dart';
|
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
import 'package:flutter/services.dart';
|
|
|
|
|
@ -10,7 +12,8 @@ import 'package:hexcolor/hexcolor.dart';
|
|
|
|
|
import 'package:local_auth/local_auth.dart';
|
|
|
|
|
import 'package:shared_preferences/shared_preferences.dart';
|
|
|
|
|
|
|
|
|
|
DrAppSharedPreferances SharedPref = new DrAppSharedPreferances();
|
|
|
|
|
DrAppSharedPreferances sharedPref = new DrAppSharedPreferances();
|
|
|
|
|
DrAppToastMsg toastMsg = DrAppToastMsg();
|
|
|
|
|
|
|
|
|
|
class KnownUserLogin extends StatefulWidget {
|
|
|
|
|
@override
|
|
|
|
|
@ -25,7 +28,7 @@ class _KnownUserLoginState extends State<KnownUserLogin> {
|
|
|
|
|
Future<String> loggedUserFuture;
|
|
|
|
|
var loggedUser;
|
|
|
|
|
Future<void> getSharedPref() async {
|
|
|
|
|
SharedPref.getObj('loggedUser').then((userInfo) {
|
|
|
|
|
sharedPref.getObj('loggedUser').then((userInfo) {
|
|
|
|
|
// if(loggedUser == null){}
|
|
|
|
|
loggedUser = userInfo;
|
|
|
|
|
// print('dddddddddddddddd${loggedUser}');
|
|
|
|
|
@ -156,14 +159,14 @@ class _KnownUserLoginState extends State<KnownUserLogin> {
|
|
|
|
|
child: Column(
|
|
|
|
|
children: <Widget>[
|
|
|
|
|
RaisedButton(
|
|
|
|
|
onPressed:_authenticate,
|
|
|
|
|
onPressed: _silentLogin,
|
|
|
|
|
elevation: 0.0,
|
|
|
|
|
child: Container(
|
|
|
|
|
width: double.infinity,
|
|
|
|
|
height: 50,
|
|
|
|
|
child: Center(
|
|
|
|
|
child: Text(
|
|
|
|
|
"Verify using FingerPRint ${_authorized}".toUpperCase(),
|
|
|
|
|
"Verify using FingerPRint".toUpperCase(),
|
|
|
|
|
// textAlign: TextAlign.center,
|
|
|
|
|
style: TextStyle(
|
|
|
|
|
color: Colors.white,
|
|
|
|
|
@ -210,13 +213,15 @@ class _KnownUserLoginState extends State<KnownUserLogin> {
|
|
|
|
|
Navigator.of(context).pushNamed('routeName');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
silentLogin() {
|
|
|
|
|
_authenticate();
|
|
|
|
|
_silentLogin() {
|
|
|
|
|
_authenticate().then((_) {
|
|
|
|
|
// print('$val');
|
|
|
|
|
print(_authorized);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Future<void> _authenticate() async {
|
|
|
|
|
_getAvailableBiometrics();
|
|
|
|
|
|
|
|
|
|
Future<void> _authenticate() async {
|
|
|
|
|
_getAvailableBiometrics();
|
|
|
|
|
bool authenticated = false;
|
|
|
|
|
try {
|
|
|
|
|
setState(() {
|
|
|
|
|
@ -226,7 +231,7 @@ class _KnownUserLoginState extends State<KnownUserLogin> {
|
|
|
|
|
authenticated = await auth.authenticateWithBiometrics(
|
|
|
|
|
localizedReason: 'Scan your fingerprint to authenticate',
|
|
|
|
|
useErrorDialogs: true,
|
|
|
|
|
stickyAuth: true);
|
|
|
|
|
stickyAuth: false);
|
|
|
|
|
setState(() {
|
|
|
|
|
_isAuthenticating = false;
|
|
|
|
|
_authorized = 'Authenticating';
|
|
|
|
|
@ -237,13 +242,17 @@ class _KnownUserLoginState extends State<KnownUserLogin> {
|
|
|
|
|
if (!mounted) return;
|
|
|
|
|
|
|
|
|
|
final String message = authenticated ? 'Authorized' : 'Not Authorized';
|
|
|
|
|
if (message == 'Authorized') {
|
|
|
|
|
navigateToHome();
|
|
|
|
|
}
|
|
|
|
|
setState(() {
|
|
|
|
|
print('_authorized'+_authorized);
|
|
|
|
|
print('_authorized' + _authorized);
|
|
|
|
|
_authorized = message;
|
|
|
|
|
print('_authorized' + _authorized);
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Future<void> _getAvailableBiometrics() async {
|
|
|
|
|
Future<void> _getAvailableBiometrics() async {
|
|
|
|
|
List<BiometricType> availableBiometrics;
|
|
|
|
|
try {
|
|
|
|
|
availableBiometrics = await auth.getAvailableBiometrics();
|
|
|
|
|
@ -256,4 +265,12 @@ class _KnownUserLoginState extends State<KnownUserLogin> {
|
|
|
|
|
print('availableBiometrics $availableBiometrics');
|
|
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
navigateToHome() {
|
|
|
|
|
Navigator.of(context).pushNamed(HOME);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
showErorrMsg(localMsg) {
|
|
|
|
|
toastMsg.showErrorToast(localMsg);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|