diff --git a/lib/model/available_currency.dart b/lib/model/available_currency.dart index fdc9bb6f..2acf6b8f 100644 --- a/lib/model/available_currency.dart +++ b/lib/model/available_currency.dart @@ -271,7 +271,7 @@ class AvailableCurrency extends SettingSelectionItem { static AvailableCurrency getBestForLocale(Locale locale) { AvailableCurrencyEnum.values.forEach((value) { AvailableCurrency currency = AvailableCurrency(value); - if (locale != null && locale.countryCode == null) { + if (locale != null && locale.countryCode != null) { // Special cases if (['AT', 'BE', 'CY', 'EE', 'FI', 'FR', 'DE', 'GR', 'IE', 'IT', 'LV', 'LT', 'LU', 'MT', 'NL', 'PT', 'SK', 'SI', 'ES'].contains(locale.countryCode)) { return AvailableCurrency(AvailableCurrencyEnum.EUR); diff --git a/lib/ui/intro/intro_import_seed.dart b/lib/ui/intro/intro_import_seed.dart index 1ca2dfbe..30683dc0 100755 --- a/lib/ui/intro/intro_import_seed.dart +++ b/lib/ui/intro/intro_import_seed.dart @@ -171,7 +171,7 @@ class _IntroImportSeedState extends State { autocorrect: false, prefixButton: TextFieldButton( icon: AppIcons.scan, - onPressed: () { + onPressed: () async { if (NanoSeeds.isValidSeed( _seedInputController .text)) { @@ -179,7 +179,8 @@ class _IntroImportSeedState extends State { } // Scan QR for seed UIUtil.cancelLockEvent(); - BarcodeScanner.scan(StateContainer.of(context).curTheme.qrScanTheme).then((result) { + try { + String result = await BarcodeScanner.scan(StateContainer.of(context).curTheme.qrScanTheme); if (result != null && NanoSeeds.isValidSeed(result)) { _seedInputController.text = result; setState(() { @@ -197,7 +198,11 @@ class _IntroImportSeedState extends State { } else { UIUtil.showSnackbar(AppLocalization.of(context).qrInvalidSeed, context); } - }); + } on PlatformException catch(e){ + if (e.code == BarcodeScanner.CameraAccessDenied) { + UIUtil.showSnackbar(AppLocalization.of(context).qrInvalidPermissions, context); + } + } }, ), fadePrefixOnCondition: true, @@ -273,14 +278,17 @@ class _IntroImportSeedState extends State { autocorrect: false, prefixButton: TextFieldButton( icon: AppIcons.scan, - onPressed: () { + onPressed: () async { if (NanoMnemomics.validateMnemonic( _mnemonicController.text.split(' '))) { return; } // Scan QR for mnemonic UIUtil.cancelLockEvent(); - BarcodeScanner.scan(StateContainer.of(context).curTheme.qrScanTheme).then((result) { + try { + String result = await BarcodeScanner.scan(StateContainer.of(context).curTheme.qrScanTheme); + + // BarcodeScanner.scan(StateContainer.of(context).curTheme.qrScanTheme).then((result) { if (result != null && NanoMnemomics.validateMnemonic(result.split(' '))) { _mnemonicController.text = result; setState(() { @@ -298,7 +306,12 @@ class _IntroImportSeedState extends State { } else { UIUtil.showSnackbar(AppLocalization.of(context).qrMnemonicError, context); } - }); + // }); + } on PlatformException catch(e) { + if (e.code == BarcodeScanner.CameraAccessDenied) { + UIUtil.showSnackbar(AppLocalization.of(context).qrInvalidPermissions, context); + } + } }, ), fadePrefixOnCondition: true,