biometric / faceId auth added. cont.

main_design2.0
Sikander Saleem 1 year ago
parent f3b432d0c1
commit 11ab040f90

@ -11,6 +11,7 @@
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.NFC" />
<uses-permission android:name="android.permission.USE_BIOMETRIC"/>
<queries>
<intent>

@ -2,6 +2,7 @@ import 'dart:async';
import 'dart:convert';
import 'package:flutter/material.dart';
import 'package:local_auth/local_auth.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:test_sa/controllers/api_routes/api_manager.dart';
import 'package:test_sa/controllers/api_routes/urls.dart';
@ -108,6 +109,8 @@ class SettingProvider extends ChangeNotifier {
loadSharedPreferences();
}
LocalAuthentication auth = LocalAuthentication();
// get app setting
Future<void> loadSharedPreferences() async {
SharedPreferences prefs = await SharedPreferences.getInstance();

@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
import 'package:flutter_advanced_switch/flutter_advanced_switch.dart';
import 'package:local_auth/local_auth.dart';
import 'package:provider/provider.dart';
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
import 'package:test_sa/extensions/context_extension.dart';
@ -44,6 +45,18 @@ class _SettingsPageState extends State<SettingsPage> {
await _settingProvider.setDarkTheme(_settingProvider.theme == "light");
themeController.value = _settingProvider.theme == "light";
});
//
// _settingProvider.auth.getAvailableBiometrics().then((value) {
// value.forEach((element) => print(element.name));
// print("face:${value.contains(BiometricType.face)}");
// print("bio:${value.contains(BiometricType.fingerprint)}");
// print("iris:${value.contains(BiometricType.iris)}");
// print("weak:${value.contains(BiometricType.weak)}");
// print("strong:${value.contains(BiometricType.strong)}");
//
// _settingProvider.auth.canCheckBiometrics.then((value) => print(value));
// });
return Scaffold(
appBar: DefaultAppBar(title: context.translation.settings),
body: Column(
@ -87,6 +100,38 @@ class _SettingsPageState extends State<SettingsPage> {
),
],
),
// 16.height,
// const Divider().defaultStyle(context),
// 16.height,
// FutureBuilder(
// future: _settingProvider.auth.isDeviceSupported(),
// builder: (cxt, snapshot) {
// bool isDeviceSupported = false;
// if (snapshot.hasData) {
// isDeviceSupported = snapshot.data;
// }
//
// if (!isDeviceSupported) {
// return Text("Your device did not support Fingerprint/Face ID.", style: AppTextStyles.tinyFont.copyWith(fontSize: 11, color: Colors.red));
// }
//
// return Row(
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
// children: [
// context.translation.lightTheme.heading5(context),
// AdvancedSwitch(
// controller: themeController,
// activeColor: AppColor.green50.withOpacity(0.5),
// inactiveColor: AppColor.neutral10,
// thumb: CircleAvatar(backgroundColor: _settingProvider.theme == "light" ? AppColor.green50 : AppColor.neutral20),
// borderRadius: const BorderRadius.all(Radius.circular(30)),
// width: 42.toScreenWidth,
// height: 24.toScreenHeight,
// disabledOpacity: 1,
// ),
// ],
// );
// }),
],
).toShadowContainer(context).paddingAll(16),
);

@ -77,6 +77,7 @@ dependencies:
touchable: ^0.2.1
flutter_month_picker: ^0.0.2
syncfusion_flutter_charts: ^21.2.3
local_auth: ^2.1.6
dev_dependencies:
flutter_test:

Loading…
Cancel
Save