Selaa lähdekoodia

Support for translating local_auth strings

Neeraj Gupta 2 vuotta sitten
vanhempi
commit
ad96656472

+ 2 - 1
lib/services/local_authentication_service.dart

@@ -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) {

+ 1 - 0
lib/ui/tools/lock_screen.dart

@@ -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;

+ 29 - 1
lib/utils/auth_util.dart

@@ -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,
+      ),
+    ],
   );
 }