From 4e5192b1b3d2ea3042ced4af51ef7bd0de3ec184 Mon Sep 17 00:00:00 2001 From: Ivan Date: Sat, 2 Dec 2023 18:40:30 +0300 Subject: [PATCH] Linux fixes --- lib/src/core/func_checker.dart | 16 ++++++++++++++++ lib/src/core/wallet_helper.dart | 7 ++++--- lib/src/views/import_seed.dart | 12 +++--------- lib/src/views/new_wallet_verify_seed.dart | 12 +++--------- lib/src/views/settings.dart | 9 ++------- 5 files changed, 28 insertions(+), 28 deletions(-) create mode 100644 lib/src/core/func_checker.dart diff --git a/lib/src/core/func_checker.dart b/lib/src/core/func_checker.dart new file mode 100644 index 0000000..528a2b9 --- /dev/null +++ b/lib/src/core/func_checker.dart @@ -0,0 +1,16 @@ +import 'dart:io'; +import 'package:local_auth/local_auth.dart'; + +var auth = LocalAuthentication(); + +Future checkBiometricsSupport() async{ + if(Platform.isLinux || Platform.isFuchsia) { + return false; + } + + final bool canAuthenticateWithBiometrics = + await auth.canCheckBiometrics; + final bool canAuthenticate = canAuthenticateWithBiometrics || + await auth.isDeviceSupported(); + return canAuthenticate; +} \ No newline at end of file diff --git a/lib/src/core/wallet_helper.dart b/lib/src/core/wallet_helper.dart index 4c54ca6..67310a5 100644 --- a/lib/src/core/wallet_helper.dart +++ b/lib/src/core/wallet_helper.dart @@ -98,12 +98,13 @@ class WalletHelper { continue; } - reconstructedWallets.add(rndWalletId.toString()); - await storageService.writeSecureData( - StorageItem(prefsWalletsStorage, reconstructedWallets.join(','))); break; } + reconstructedWallets.add(rndWalletId.toString()); + await storageService.writeSecureData( + StorageItem(prefsWalletsStorage, reconstructedWallets.join(','))); + // 2. save wallet name await storageService.writeSecureData( StorageItem(prefsWalletNames + rndWalletId.toString(), walletName)); diff --git a/lib/src/views/import_seed.dart b/lib/src/views/import_seed.dart index d53ba14..658ae3b 100644 --- a/lib/src/views/import_seed.dart +++ b/lib/src/views/import_seed.dart @@ -2,9 +2,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; -import 'package:local_auth/local_auth.dart'; import 'package:veil_light_plugin/veil_light.dart'; import 'package:veil_wallet/src/core/constants.dart'; +import 'package:veil_wallet/src/core/func_checker.dart'; import 'package:veil_wallet/src/core/screen.dart'; import 'package:veil_wallet/src/core/wallet_helper.dart'; import 'package:veil_wallet/src/helpers/responsive.dart'; @@ -48,7 +48,7 @@ class _ImportSeedState extends State { canPop: false, child: BackLayout( title: AppLocalizations.of(context)?.importSeedTitle, - back: () { + back: _importLoading ? null : () { _backAction(); }, child: Form( @@ -174,13 +174,7 @@ class _ImportSeedState extends State { .add(element.text.toLowerCase().trim()); } - var auth = LocalAuthentication(); - final bool canAuthenticateWithBiometrics = - await auth.canCheckBiometrics; - final bool canAuthenticate = - canAuthenticateWithBiometrics || - await auth.isDeviceSupported(); - + final bool canAuthenticate = await checkBiometricsSupport(); if (BaseStaticState.prevScreen == Screen.settings || !canAuthenticate) { diff --git a/lib/src/views/new_wallet_verify_seed.dart b/lib/src/views/new_wallet_verify_seed.dart index 3387cd1..dd833ef 100644 --- a/lib/src/views/new_wallet_verify_seed.dart +++ b/lib/src/views/new_wallet_verify_seed.dart @@ -2,9 +2,9 @@ import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/app_localizations.dart'; -import 'package:local_auth/local_auth.dart'; import 'package:veil_light_plugin/veil_light.dart'; import 'package:veil_wallet/src/core/constants.dart'; +import 'package:veil_wallet/src/core/func_checker.dart'; import 'package:veil_wallet/src/core/screen.dart'; import 'package:veil_wallet/src/core/wallet_helper.dart'; import 'package:veil_wallet/src/helpers/responsive.dart'; @@ -30,7 +30,7 @@ class _NewWalletVerifySeedState extends State { return PopScope( child: BackLayout( title: AppLocalizations.of(context)?.verifySeedPhraseTitle, - back: () { + back: _createLoading ? null : () { Navigator.of(context).push(_createBackRoute()); }, child: Form( @@ -120,13 +120,7 @@ class _NewWalletVerifySeedState extends State { } // move to biometrics if not opened from settings - var auth = LocalAuthentication(); - final bool canAuthenticateWithBiometrics = - await auth.canCheckBiometrics; - final bool canAuthenticate = - canAuthenticateWithBiometrics || - await auth.isDeviceSupported(); - + final bool canAuthenticate = await checkBiometricsSupport(); if (BaseStaticState.prevScreen == Screen.settings || !canAuthenticate) { diff --git a/lib/src/views/settings.dart b/lib/src/views/settings.dart index 71f5f3c..ddb0cd8 100644 --- a/lib/src/views/settings.dart +++ b/lib/src/views/settings.dart @@ -5,6 +5,7 @@ import 'package:local_auth/local_auth.dart'; import 'package:provider/provider.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:veil_wallet/src/core/constants.dart'; +import 'package:veil_wallet/src/core/func_checker.dart'; import 'package:veil_wallet/src/core/locale_entry.dart'; import 'package:veil_wallet/src/core/node_entry.dart'; import 'package:veil_wallet/src/core/screen.dart'; @@ -45,12 +46,6 @@ class _SettingsState extends State { String _localeTmp = ''; String _selectedNode = defaultNodeAddress; - Future checkBiometricsPossible() async { - var auth = LocalAuthentication(); - final bool canAuthenticateWithBiometrics = await auth.canCheckBiometrics; - return canAuthenticateWithBiometrics || await auth.isDeviceSupported(); - } - @override void initState() { super.initState(); @@ -78,7 +73,7 @@ class _SettingsState extends State { _darkMode = context.read().darkMode; - var biometricsPossibleFeature = checkBiometricsPossible(); + var biometricsPossibleFeature = checkBiometricsSupport(); List authActions = [];