Support for translating local_auth strings

This commit is contained in:
Neeraj Gupta 2023-05-18 22:31:54 +05:30
parent 936ac9ece8
commit ad96656472
No known key found for this signature in database
GPG key ID: 3C5A1684DC1729E1
3 changed files with 32 additions and 2 deletions

View file

@ -17,7 +17,7 @@ class LocalAuthenticationService {
) async {
if (await _isLocalAuthSupportedOnDevice()) {
AppLock.of(context)!.setEnabled(false);
final result = await requestAuthentication(infoMessage);
final result = await requestAuthentication(context, infoMessage);
AppLock.of(context)!.setEnabled(
Configuration.instance.shouldShowLockScreen(),
);
@ -41,6 +41,7 @@ class LocalAuthenticationService {
if (await _isLocalAuthSupportedOnDevice()) {
AppLock.of(context)!.disable();
final result = await requestAuthentication(
context,
infoMessage,
);
if (result) {

View file

@ -95,6 +95,7 @@ class _LockScreenState extends State<LockScreen> with WidgetsBindingObserver {
try {
_isShowingLockScreen = true;
final result = await requestAuthentication(
context,
S.of(context).authToViewYourMemories,
);
_isShowingLockScreen = false;

View file

@ -1,10 +1,38 @@
import "package:flutter/widgets.dart";
import 'package:local_auth/local_auth.dart';
import 'package:local_auth_android/local_auth_android.dart';
import 'package:local_auth_ios/local_auth_ios.dart';
import 'package:logging/logging.dart';
import "package:photos/generated/l10n.dart";
Future<bool> requestAuthentication(String reason) async {
Future<bool> requestAuthentication(BuildContext context, String reason) async {
Logger("AuthUtil").info("Requesting authentication");
await LocalAuthentication().stopAuthentication();
return await LocalAuthentication().authenticate(
localizedReason: reason,
authMessages: [
AndroidAuthMessages(
biometricHint: S.of(context).androidBiometricHint,
biometricNotRecognized: S.of(context).androidBiometricNotRecognized,
biometricRequiredTitle: S.of(context).androidBiometricRequiredTitle,
biometricSuccess: S.of(context).androidBiometricSuccess,
cancelButton: S.of(context).androidCancelButton,
deviceCredentialsRequiredTitle:
S.of(context).androidDeviceCredentialsRequiredTitle,
deviceCredentialsSetupDescription:
S.of(context).androidDeviceCredentialsSetupDescription,
goToSettingsButton: S.of(context).goToSettings,
goToSettingsDescription: S.of(context).androidGoToSettingsDescription,
signInTitle: S.of(context).androidSignInTitle,
),
IOSAuthMessages(
goToSettingsButton: S.of(context).goToSettings,
goToSettingsDescription: S.of(context).goToSettings,
lockOut: S.of(context).iOSLockOut,
// cancelButton default value is "Ok"
cancelButton: S.of(context).iOSOkButton,
),
],
);
}