diff --git a/mobile-app/lib/features/main/screens/authentication_settings_screen.dart b/mobile-app/lib/features/main/screens/authentication_settings_screen.dart index 87fc17ae..5ff36376 100644 --- a/mobile-app/lib/features/main/screens/authentication_settings_screen.dart +++ b/mobile-app/lib/features/main/screens/authentication_settings_screen.dart @@ -38,18 +38,19 @@ class _AuthenticationSettingsScreenState extends State _loadAuthenticationSettings() async { try { final isEnabled = _localAuthService.isLocalAuthEnabled(); - final authTimeout = _localAuthService.getAuthTimeout(); + final authTimeout = _localAuthService.getAuthTimeoutMinutes(); final isAvailable = await _localAuthService.isBiometricAvailable(); final description = await _localAuthService.getBiometricDescription(); @@ -143,7 +144,7 @@ class _AuthenticationSettingsScreenState extends State authTimeout; + final isTimeout = DateTime.now().difference(lastAuthTime) > authTimeout; + return isTimeout; } catch (e) { debugPrint('Error checking if authentication is required: $e'); return true; // Err on the side of caution diff --git a/quantus_sdk/lib/src/services/settings_service.dart b/quantus_sdk/lib/src/services/settings_service.dart index c35685a4..98c5c1f4 100644 --- a/quantus_sdk/lib/src/services/settings_service.dart +++ b/quantus_sdk/lib/src/services/settings_service.dart @@ -225,6 +225,7 @@ class SettingsService { _prefs.setString(_lastSuccessfulAuthKey, time.toIso8601String()); } + /// Do not call this directly - call local auth service getAuthTimeoutMinutes() instead. int? getAuthTimeout() { final int? authTimeout = _prefs.getInt(_authTimeoutKey); if (authTimeout == null) return null; @@ -232,6 +233,7 @@ class SettingsService { return authTimeout; } + /// Do not call this directly - call local auth service setAuthTimeoutMinutes() instead. void setAuthTimeout(int timeoutDurationInMinutes) { _prefs.setInt(_authTimeoutKey, timeoutDurationInMinutes); }