- Daily reminder scheduling via flutter_local_notifications (inexact, repeating at chosen time) - Biometric lock gate on app launch with auto-prompt and manual unlock button - Theme mode selector (System/Light/Dark) persisted to settings DB - PDF export of full mood history shared via share_plus - Android: POST_NOTIFICATIONS, USE_BIOMETRIC permissions; switched to FlutterFragmentActivity
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);
|