24 lines
606 B
Dart
24 lines
606 B
Dart
import 'package:flutter_riverpod/flutter_riverpod.dart';
|
|||
|
|
|
||
|
|
import '../biometrics/biometric_service.dart';
|
||
|
|
|
||
|
|
final biometricAvailableProvider = FutureProvider<bool>(
|
||
|
|
(_) => BiometricService.isAvailable(),
|
||
|
|
);
|
||
|
|
|
||
|
|
class BiometricLockNotifier extends Notifier<bool> {
|
||
|
|
@override
|
||
|
|
bool build() => false;
|
||
|
|
|
||
|
|
Future<void> tryUnlock() async {
|
||
|
|
final success = await BiometricService.authenticate();
|
||
|
|
if (!ref.mounted) return;
|
||
|
|
if (success) state = true;
|
||
|
|
}
|
||
|
|
|
||
|
|
void lock() => state = false;
|
||
|
|
}
|
||
|
|
|
||
|
|
final biometricUnlockedProvider =
|
||
|
|
NotifierProvider<BiometricLockNotifier, bool>(BiometricLockNotifier.new);
|