Revert "version bump to 3.13.9, auth working on mac (#1367)" (#1397)

This reverts commit e6b4b08c24c1c2fb6987dcca233a3fee67c50d25.

Omar Hatem committed Apr 18, 2024 at 20:10 UTC 4ed4659f9edfe60cbf063b6c10d0a1dc304d81e8
21 files changed +406 -567
.github/workflows/pr_test_build.yml
+1 -1
@@ -42,7 +42,7 @@ jobs:
42 - name: Flutter action
43 uses: subosito/flutter-action@v1
44 with:
45 - flutter-version: "3.13.9"
45 + flutter-version: "3.10.x"
46 channel: stable
47
48 - name: Install package dependencies
android/build.gradle
+1 -1
@@ -1,5 +1,5 @@
1 buildscript {
2 - ext.kotlin_version = '1.8.10'
2 + ext.kotlin_version = '1.7.10'
3 repositories {
4 google()
5 jcenter()
cw_bitcoin/pubspec.yaml
+1 -4
@@ -39,14 +39,11 @@ dependencies:
39 dev_dependencies:
40 flutter_test:
41 sdk: flutter
42 - build_runner: ^2.4.7
42 + build_runner: ^2.1.11
43 build_resolvers: ^2.0.9
44 mobx_codegen: ^2.0.7
45 hive_generator: ^1.1.3
46
47 -dependency_overrides:
48 - watcher: ^1.1.0
49 -
47 # For information on the generic Dart part of this file, see the
48 # following page: https://dart.dev/tools/pub/pubspec
49
cw_bitcoin_cash/pubspec.yaml
+1 -4
@@ -39,13 +39,10 @@ dependencies:
39 dev_dependencies:
40 flutter_test:
41 sdk: flutter
42 - build_runner: ^2.4.7
42 + build_runner: ^2.1.11
43 mobx_codegen: ^2.0.7
44 hive_generator: ^1.1.3
45
46 -dependency_overrides:
47 - watcher: ^1.1.0
48 -
46 # For information on the generic Dart part of this file, see the
47 # following page: https://dart.dev/tools/pub/pubspec
48
cw_core/pubspec.yaml
+1 -4
@@ -28,14 +28,11 @@ dependencies:
28 dev_dependencies:
29 flutter_test:
30 sdk: flutter
31 - build_runner: ^2.4.7
31 + build_runner: ^2.1.11
32 build_resolvers: ^2.0.9
33 mobx_codegen: ^2.0.7
34 hive_generator: ^2.0.1
35
36 -dependency_overrides:
37 - watcher: ^1.1.0
38 -
36 # For information on the generic Dart part of this file, see the
37 # following page: https://dart.dev/tools/pub/pubspec
38
cw_ethereum/pubspec.yaml
+1 -5
@@ -22,11 +22,7 @@ dependencies:
22 dev_dependencies:
23 flutter_test:
24 sdk: flutter
25 - build_runner: ^2.4.7
26 -
27 -dependency_overrides:
28 - watcher: ^1.1.0
29 -
25 + build_runner: ^2.1.11
26 flutter:
27 # assets:
28 # - images/a_dot_burr.jpeg
cw_evm/pubspec.yaml
+1 -4
@@ -27,14 +27,11 @@ dependencies:
27 dev_dependencies:
28 flutter_test:
29 sdk: flutter
30 - build_runner: ^2.4.7
30 + build_runner: ^2.1.11
31 mobx_codegen: ^2.0.7
32 hive_generator: ^1.1.3
33 flutter_lints: ^2.0.0
34
35 -dependency_overrides:
36 - watcher: ^1.1.0
37 -
35 flutter:
36 # assets:
37 # - images/a_dot_burr.jpeg
cw_haven/pubspec.yaml
+1 -4
@@ -24,14 +24,11 @@ dependencies:
24 dev_dependencies:
25 flutter_test:
26 sdk: flutter
27 - build_runner: ^2.4.7
27 + build_runner: ^2.1.11
28 mobx_codegen: ^2.0.7
29 build_resolvers: ^2.0.9
30 hive_generator: ^1.1.3
31
32 -dependency_overrides:
33 - watcher: ^1.1.0
34 -
32 # For information on the generic Dart part of this file, see the
33 # following page: https://dart.dev/tools/pub/pubspec
34
cw_monero/pubspec.yaml
+1 -4
@@ -26,14 +26,11 @@ dependencies:
26 dev_dependencies:
27 flutter_test:
28 sdk: flutter
29 - build_runner: ^2.4.7
29 + build_runner: ^2.1.11
30 build_resolvers: ^2.0.9
31 mobx_codegen: ^2.0.7
32 hive_generator: ^1.1.3
33
34 -dependency_overrides:
35 - watcher: ^1.1.0
36 -
34 # For information on the generic Dart part of this file, see the
35 # following page: https://dart.dev/tools/pub/pubspec
36
cw_nano/pubspec.yaml
+1 -4
@@ -32,13 +32,10 @@ dependencies:
32 dev_dependencies:
33 flutter_test:
34 sdk: flutter
35 - build_runner: ^2.4.7
35 + build_runner: ^2.1.11
36 mobx_codegen: ^2.0.7
37 hive_generator: ^1.1.3
38
39 -dependency_overrides:
40 - watcher: ^1.1.0
41 -
39 # For information on the generic Dart part of this file, see the
40 # following page: https://dart.dev/tools/pub/pubspec
41
cw_polygon/pubspec.yaml
+1 -4
@@ -28,10 +28,7 @@ dev_dependencies:
28 flutter_test:
29 sdk: flutter
30 flutter_lints: ^2.0.0
31 - build_runner: ^2.4.7
32 -
33 -dependency_overrides:
34 - watcher: ^1.1.0
31 + build_runner: ^2.1.11
32
33 # For information on the generic Dart part of this file, see the
34 # following page: https://dart.dev/tools/pub/pubspec
cw_solana/pubspec.yaml
+1 -4
@@ -26,13 +26,10 @@ dev_dependencies:
26 flutter_test:
27 sdk: flutter
28 flutter_lints: ^2.0.0
29 - build_runner: ^2.4.7
29 + build_runner: ^2.1.11
30 mobx_codegen: ^2.0.7
31 hive_generator: ^1.1.3
32
33 -dependency_overrides:
34 - watcher: ^1.1.0
35 -
33 flutter:
34 # assets:
35 # - images/a_dot_burr.jpeg
lib/entities/biometric_auth.dart
+15 -11
@@ -1,28 +1,32 @@
1 +import 'package:local_auth/local_auth.dart';
2 import 'package:flutter/services.dart';
2 -import 'package:flutter_local_authentication/flutter_local_authentication.dart';
3 +import 'package:cake_wallet/generated/i18n.dart';
4
5 class BiometricAuth {
5 - final _flutterLocalAuthenticationPlugin = FlutterLocalAuthentication();
6 + final _localAuth = LocalAuthentication();
7
8 Future<bool> isAuthenticated() async {
9 try {
9 - final authenticated = await _flutterLocalAuthenticationPlugin.authenticate();
10 - return authenticated;
11 - } catch (e) {
10 + return await _localAuth.authenticate(
11 + localizedReason: S.current.biometric_auth_reason,
12 + options: AuthenticationOptions(
13 + biometricOnly: true,
14 + useErrorDialogs: true,
15 + stickyAuth: false));
16 + } on PlatformException catch (e) {
17 print(e);
18 }
19 +
20 return false;
21 }
22
23 Future<bool> canCheckBiometrics() async {
18 - bool canAuthenticate;
24 try {
20 - canAuthenticate = await _flutterLocalAuthenticationPlugin.canAuthenticate();
21 - } catch (error) {
22 - print("Exception checking support. $error");
23 - canAuthenticate = false;
25 + return await _localAuth.canCheckBiometrics;
26 + } on PlatformException catch (e) {
27 + print(e);
28 }
29
26 - return canAuthenticate;
30 + return false;
31 }
32 }
lib/locales/hausa_intl.dart
-64
@@ -751,50 +751,6 @@ class HaMaterialLocalizations extends GlobalMaterialLocalizations {
751
752 @override
753 String get scrimOnTapHintRaw => "Scrip on Tap";
754 -
755 - @override
756 - // TODO: implement collapsedHint
757 - String get collapsedHint => "collapsedHint";
758 -
759 - @override
760 - // TODO: implement expandedHint
761 - String get expandedHint => "expandedHint";
762 -
763 - @override
764 - // TODO: implement expansionTileCollapsedHint
765 - String get expansionTileCollapsedHint => "expansionTileCollapsedHint";
766 -
767 - @override
768 - // TODO: implement expansionTileCollapsedTapHint
769 - String get expansionTileCollapsedTapHint => "expansionTileCollapsedTapHint";
770 -
771 - @override
772 - // TODO: implement expansionTileExpandedHint
773 - String get expansionTileExpandedHint => "expansionTileExpandedHint";
774 -
775 - @override
776 - // TODO: implement expansionTileExpandedTapHint
777 - String get expansionTileExpandedTapHint => "expansionTileExpandedTapHint";
778 -
779 - @override
780 - // TODO: implement scanTextButtonLabel
781 - String get scanTextButtonLabel => "scanTextButtonLabel";
782 -
783 - @override
784 - // TODO: implement lookUpButtonLabel
785 - String get lookUpButtonLabel => "lookUpButtonLabel";
786 -
787 - @override
788 - // TODO: implement menuDismissLabel
789 - String get menuDismissLabel => "menuDismissLabel";
790 -
791 - @override
792 - // TODO: implement searchWebButtonLabel
793 - String get searchWebButtonLabel => "searchWebButtonLabel";
794 -
795 - @override
796 - // TODO: implement shareButtonLabel
797 - String get shareButtonLabel => "shareButtonLabel";
754 }
755
756 /// Cupertino Support
@@ -999,24 +955,4 @@ class HaCupertinoLocalizations extends GlobalCupertinoLocalizations {
955
956 @override
957 String get noSpellCheckReplacementsLabel => "";
1002 -
1003 - @override
1004 - // TODO: implement clearButtonLabel
1005 - String get clearButtonLabel => "clearButtonLabel";
1006 -
1007 - @override
1008 - // TODO: implement lookUpButtonLabel
1009 - String get lookUpButtonLabel => "lookUpButtonLabel";
1010 -
1011 - @override
1012 - // TODO: implement menuDismissLabel
1013 - String get menuDismissLabel => "menuDismissLabel";
1014 -
1015 - @override
1016 - // TODO: implement searchWebButtonLabel
1017 - String get searchWebButtonLabel => "searchWebButtonLabel";
1018 -
1019 - @override
1020 - // TODO: implement shareButtonLabel
1021 - String get shareButtonLabel => "shareButtonLabel";
958 }
lib/locales/yoruba_intl.dart
+362 -425
@@ -1,3 +1,4 @@
1 +
2 import 'dart:async';
3
4 import 'package:flutter/cupertino.dart';
@@ -163,62 +164,62 @@ const yoDateSymbols = {
164 'ọjọ́ Àbámẹ́ta',
165 ],
166 'STANDALONEWEEKDAYS': <dynamic>[
166 - 'Ọjọ́ Ajé',
167 - 'Ọjọ́ Ìsẹ́gun',
168 - 'Ọjọ́ Ìsẹ́gun-Ẹtì',
169 - 'Ọjọ́ Ìsẹ́gun-Ọ̀rú',
170 - 'Ọjọ́ Àìkú',
171 - 'Ọjọ́ Jímọ̀',
172 - 'Ọjọ́ Àbámẹ́ta',
173 - ],
174 - 'SHORTWEEKDAYS': <dynamic>[
175 - 'Ajé',
176 - 'Ìsẹ́gun',
177 - 'Ìsẹ́gun-Ẹtì',
178 - 'Ìsẹ́gun-Ọ̀rú',
179 - 'Àìkú',
180 - 'Jímọ̀',
181 - 'Àbámẹ́ta',
182 - ],
183 - 'STANDALONESHORTWEEKDAYS': <dynamic>[
184 - 'Ajé',
185 - 'Ìsẹ́gun',
186 - 'Ìsẹ́gun-Ẹtì',
187 - 'Ìsẹ́gun-Ọ̀rú',
188 - 'Àìkú',
189 - 'Jímọ̀',
190 - 'Àbámẹ́ta',
191 - ],
192 - 'NARROWWEEKDAYS': <dynamic>[
193 - 'A',
194 - 'A',
195 - 'Ì',
196 - 'A',
197 - 'À',
198 - 'J',
199 - 'À',
200 - ],
201 - 'STANDALONENARROWWEEKDAYS': <dynamic>[
202 - 'A',
203 - 'A',
204 - 'Ì',
205 - 'A',
206 - 'À',
207 - 'J',
208 - 'À',
209 - ],
210 - 'SHORTQUARTERS': <dynamic>[
211 - 'K1',
212 - 'K2',
213 - 'K3',
214 - 'K4',
215 - ],
216 - 'QUARTERS': <dynamic>[
217 - '1. kwata',
218 - '2. kwata',
219 - '3. kwata',
220 - '4. kwata',
221 - ],
167 +'Ọjọ́ Ajé',
168 +'Ọjọ́ Ìsẹ́gun',
169 +'Ọjọ́ Ìsẹ́gun-Ẹtì',
170 +'Ọjọ́ Ìsẹ́gun-Ọ̀rú',
171 +'Ọjọ́ Àìkú',
172 +'Ọjọ́ Jímọ̀',
173 +'Ọjọ́ Àbámẹ́ta',
174 +],
175 +'SHORTWEEKDAYS': <dynamic>[
176 +'Ajé',
177 +'Ìsẹ́gun',
178 +'Ìsẹ́gun-Ẹtì',
179 +'Ìsẹ́gun-Ọ̀rú',
180 +'Àìkú',
181 +'Jímọ̀',
182 +'Àbámẹ́ta',
183 +],
184 +'STANDALONESHORTWEEKDAYS': <dynamic>[
185 +'Ajé',
186 +'Ìsẹ́gun',
187 +'Ìsẹ́gun-Ẹtì',
188 +'Ìsẹ́gun-Ọ̀rú',
189 +'Àìkú',
190 +'Jímọ̀',
191 +'Àbámẹ́ta',
192 +],
193 +'NARROWWEEKDAYS': <dynamic>[
194 +'A',
195 +'A',
196 +'Ì',
197 +'A',
198 +'À',
199 +'J',
200 +'À',
201 +],
202 +'STANDALONENARROWWEEKDAYS': <dynamic>[
203 +'A',
204 +'A',
205 +'Ì',
206 +'A',
207 +'À',
208 +'J',
209 +'À',
210 +],
211 +'SHORTQUARTERS': <dynamic>[
212 +'K1',
213 +'K2',
214 +'K3',
215 +'K4',
216 +],
217 +'QUARTERS': <dynamic>[
218 +'1. kwata',
219 +'2. kwata',
220 +'3. kwata',
221 +'4. kwata',
222 +],
223 'AMPMS': <dynamic>[
224 'a.m.',
225 'p.m.',
@@ -315,339 +316,339 @@ class YoMaterialLocalizations extends GlobalMaterialLocalizations {
316 });
317
318 // #docregion Getters
318 - @override
319 - String get moreButtonTooltip => r'Kò sí ìròhùn tí ó múni';
319 +@override
320 +String get moreButtonTooltip => r'Kò sí ìròhùn tí ó múni';
321
321 - @override
322 - String get aboutListTileTitleRaw => r'Fun Àpótí àwọn $applicationname';
322 +@override
323 +String get aboutListTileTitleRaw => r'Fun Àpótí àwọn $applicationname';
324
324 - @override
325 - String get alertDialogLabel => r'Ìròhùn Àlàyé';
325 +@override
326 +String get alertDialogLabel => r'Ìròhùn Àlàyé';
327
328 // #enddocregion Getters
329
329 - @override
330 - String get anteMeridiemAbbreviation => r'AM';
330 +@override
331 +String get anteMeridiemAbbreviation => r'AM';
332
332 - @override
333 - String get backButtonTooltip => r'Fíran';
333 +@override
334 +String get backButtonTooltip => r'Fíran';
335
335 - @override
336 - String get cancelButtonLabel => r'FAGILE';
336 +@override
337 +String get cancelButtonLabel => r'FAGILE';
338
338 - @override
339 - String get closeButtonLabel => r'KÚ';
339 +@override
340 +String get closeButtonLabel => r'KÚ';
341
341 - @override
342 - String get closeButtonTooltip => r'Kú';
342 +@override
343 +String get closeButtonTooltip => r'Kú';
344
344 - @override
345 - String get collapsedIconTapHint => r'Tá';
345 +@override
346 +String get collapsedIconTapHint => r'Tá';
347
347 - @override
348 - String get continueButtonLabel => r'TÓ WÁ';
348 +@override
349 +String get continueButtonLabel => r'TÓ WÁ';
350
350 - @override
351 - String get copyButtonLabel => r'DÚPLÍKÉTÍ';
351 +@override
352 +String get copyButtonLabel => r'DÚPLÍKÉTÍ';
353
353 - @override
354 - String get cutButtonLabel => r'TÒ';
354 +@override
355 +String get cutButtonLabel => r'TÒ';
356
356 - @override
357 - String get deleteButtonTooltip => r'Máa kú';
357 +@override
358 +String get deleteButtonTooltip => r'Máa kú';
359
359 - @override
360 - String get dialogLabel => r'Ìròhùn';
360 +@override
361 +String get dialogLabel => r'Ìròhùn';
362
362 - @override
363 - String get drawerLabel => r'Àgbèjọ àwọn àpọ̀tí';
363 +@override
364 +String get drawerLabel => r'Àgbèjọ àwọn àpọ̀tí';
365
365 - @override
366 - String get expandedIconTapHint => r'Tá';
366 +@override
367 +String get expandedIconTapHint => r'Tá';
368
368 - @override
369 - String get firstPageTooltip => r'Ojú ewe';
369 +@override
370 +String get firstPageTooltip => r'Ojú ewe';
371
371 - @override
372 - String get hideAccountsLabel => r'Fí èrò àpótí wáyé sílẹ̀';
372 +@override
373 +String get hideAccountsLabel => r'Fí èrò àpótí wáyé sílẹ̀';
374
374 - @override
375 - String get lastPageTooltip => r'Ojú ayé';
375 +@override
376 +String get lastPageTooltip => r'Ojú ayé';
377
377 - @override
378 - String get licensesPageTitle => r'Ìròhùn Ọdún';
378 +@override
379 +String get licensesPageTitle => r'Ìròhùn Ọdún';
380
380 - @override
381 - String get modalBarrierDismissLabel => r'Sọ';
381 +@override
382 +String get modalBarrierDismissLabel => r'Sọ';
383
383 - @override
384 - String get nextMonthTooltip => r'Oṣù kọja';
384 +@override
385 +String get nextMonthTooltip => r'Oṣù kọja';
386
386 - @override
387 - String get nextPageTooltip => r'Ojú ọjọ́ kẹta';
387 +@override
388 +String get nextPageTooltip => r'Ojú ọjọ́ kẹta';
389
389 - @override
390 - String get okButtonLabel => r'Ò daájú';
391 - @override
390 +@override
391 +String get okButtonLabel => r'Ò daájú';
392 +@override
393 // A custom drawer tooltip message.
393 - String get openAppDrawerTooltip => r'Aya ntọju Iwe Awọn Aka';
394 +String get openAppDrawerTooltip => r'Aya ntọju Iwe Awọn Aka';
395
396 // #docregion Raw
396 - @override
397 - String get pageRowsInfoTitleRaw => r'$firstRow–$lastRow lati $rowCount';
397 +@override
398 +String get pageRowsInfoTitleRaw => r'$firstRow–$lastRow lati $rowCount';
399
399 - @override
400 - String get pageRowsInfoTitleApproximateRaw => r'$firstRow–$lastRow lati kiakia $rowCount';
400 +@override
401 +String get pageRowsInfoTitleApproximateRaw => r'$firstRow–$lastRow lati kiakia $rowCount';
402 // #enddocregion Raw
403
403 - @override
404 - String get pasteButtonLabel => r'TÌ';
404 +@override
405 +String get pasteButtonLabel => r'TÌ';
406
406 - @override
407 - String get popupMenuLabel => r'Meniu Pop-up';
407 +@override
408 +String get popupMenuLabel => r'Meniu Pop-up';
409
409 - @override
410 - String get menuBarMenuLabel => r'Meniu Akọkọ';
410 +@override
411 +String get menuBarMenuLabel => r'Meniu Akọkọ';
412
412 - @override
413 - String get postMeridiemAbbreviation => r'PM';
413 +@override
414 +String get postMeridiemAbbreviation => r'PM';
415
415 - @override
416 - String get previousMonthTooltip => r'Oṣu Kanakana';
416 +@override
417 +String get previousMonthTooltip => r'Oṣu Kanakana';
418
418 - @override
419 - String get previousPageTooltip => r'Ojú ewé akọkọ kan';
419 +@override
420 +String get previousPageTooltip => r'Ojú ewé akọkọ kan';
421
421 - @override
422 - String get refreshIndicatorSemanticLabel => r'Gbiyanju';
422 +@override
423 +String get refreshIndicatorSemanticLabel => r'Gbiyanju';
424
424 - @override
425 - String? get remainingTextFieldCharacterCountFew => null;
425 +@override
426 +String? get remainingTextFieldCharacterCountFew => null;
427
427 - @override
428 - String? get remainingTextFieldCharacterCountMany => null;
428 +@override
429 +String? get remainingTextFieldCharacterCountMany => null;
430
430 - @override
431 - String get remainingTextFieldCharacterCountOne => r'1 àmì báálẹ̀';
431 +@override
432 +String get remainingTextFieldCharacterCountOne => r'1 àmì báálẹ̀';
433
433 - @override
434 - String get remainingTextFieldCharacterCountOther => r'$remainingCount àmì báálẹ̀';
434 +@override
435 +String get remainingTextFieldCharacterCountOther => r'$remainingCount àmì báálẹ̀';
436
436 - @override
437 - String? get remainingTextFieldCharacterCountTwo => null;
437 +@override
438 +String? get remainingTextFieldCharacterCountTwo => null;
439
439 - @override
440 - String get remainingTextFieldCharacterCountZero => r'Kò sí ìwọlé létà láti ń ṣe';
440 +@override
441 +String get remainingTextFieldCharacterCountZero => r'Kò sí ìwọlé létà láti ń ṣe';
442
442 - @override
443 - String get reorderItemDown => r'Jù sí ilẹ';
443 +@override
444 +String get reorderItemDown => r'Jù sí ilẹ';
445
445 - @override
446 - String get reorderItemLeft => r'Jù sí àrà';
446 +@override
447 +String get reorderItemLeft => r'Jù sí àrà';
448
448 - @override
449 - String get reorderItemRight => r'Jù sí òtútù';
449 +@override
450 +String get reorderItemRight => r'Jù sí òtútù';
451
451 - @override
452 - String get reorderItemToEnd => r'Jù sí ìbẹ̀jì';
452 +@override
453 +String get reorderItemToEnd => r'Jù sí ìbẹ̀jì';
454
454 - @override
455 - String get reorderItemToStart => r'Jù sí àkọ́kọ́';
455 +@override
456 +String get reorderItemToStart => r'Jù sí àkọ́kọ́';
457
457 - @override
458 - String get reorderItemUp => r'Jù sí ọ̀rùn';
458 +@override
459 +String get reorderItemUp => r'Jù sí ọ̀rùn';
460
460 - @override
461 - String get rowsPerPageTitle => r'Ìlò Fún àwọn Ìtọ́kasíwájú:';
461 +@override
462 +String get rowsPerPageTitle => r'Ìlò Fún àwọn Ìtọ́kasíwájú:';
463
463 - @override
464 - ScriptCategory get scriptCategory => ScriptCategory.englishLike;
464 +@override
465 +ScriptCategory get scriptCategory => ScriptCategory.englishLike;
466
466 - @override
467 - String get searchFieldLabel => 'Ṣẹda';
467 +@override
468 +String get searchFieldLabel => 'Ṣẹda';
469
469 - @override
470 - String get selectAllButtonLabel => 'FADỌHỌN DỌFÚN GBÁJÚMỌ̀';
470 +@override
471 +String get selectAllButtonLabel => 'FADỌHỌN DỌFÚN GBÁJÚMỌ̀';
472
472 - @override
473 - String? get selectedRowCountTitleFew => null;
473 +@override
474 +String? get selectedRowCountTitleFew => null;
475
475 - @override
476 - String? get selectedRowCountTitleMany => null;
476 +@override
477 +String? get selectedRowCountTitleMany => null;
478
478 - @override
479 - String get selectedRowCountTitleOne => '1 káyé';
479 +@override
480 +String get selectedRowCountTitleOne => '1 káyé';
481
481 - @override
482 - String get selectedRowCountTitleOther => r'$selectedRowCount káyé';
482 +@override
483 +String get selectedRowCountTitleOther => r'$selectedRowCount káyé';
484
484 - @override
485 - String? get selectedRowCountTitleTwo => null;
485 +@override
486 +String? get selectedRowCountTitleTwo => null;
487
487 - @override
488 - String get selectedRowCountTitleZero => 'Kò sí káyé ti o wọlé';
488 +@override
489 +String get selectedRowCountTitleZero => 'Kò sí káyé ti o wọlé';
490
490 - @override
491 - String get showAccountsLabel => 'Fi iyipada mu kọ';
491 +@override
492 +String get showAccountsLabel => 'Fi iyipada mu kọ';
493
493 - @override
494 - String get showMenuTooltip => 'Fi Meniu mu kọ';
494 +@override
495 +String get showMenuTooltip => 'Fi Meniu mu kọ';
496
496 - @override
497 - String get signedInLabel => 'Ọ̀nà';
497 +@override
498 +String get signedInLabel => 'Ọ̀nà';
499
500 +@override
501 +String get tabLabelRaw => r'Àwọn tabin $tabIndex lati $tabCount';
502 +
503 @override
500 - String get tabLabelRaw => r'Àwọn tabin $tabIndex lati $tabCount';
504 +TimeOfDayFormat get timeOfDayFormatRaw => TimeOfDayFormat.h_colon_mm_space_a;
505
502 - @override
503 - TimeOfDayFormat get timeOfDayFormatRaw => TimeOfDayFormat.h_colon_mm_space_a;
506 +@override
507 +String get timePickerHourModeAnnouncement => 'Tuntun waqtu lọ';
508
505 - @override
506 - String get timePickerHourModeAnnouncement => 'Tuntun waqtu lọ';
509 +@override
510 +String get timePickerMinuteModeAnnouncement => 'Tuntun daɗi minti';
511
508 - @override
509 - String get timePickerMinuteModeAnnouncement => 'Tuntun daɗi minti';
512 +@override
513 +String get viewLicensesButtonLabel => 'WO NIKI';
514
511 - @override
512 - String get viewLicensesButtonLabel => 'WO NIKI';
515 +@override
516 +List<String> get narrowWeekdays => const <String>['L', 'L', 'A', 'O', 'Ọ', 'Ẹ', 'Ẹ'];
517
514 - @override
515 - List<String> get narrowWeekdays => const <String>['L', 'L', 'A', 'O', 'Ọ', 'Ẹ', 'Ẹ'];
518 +@override
519 +int get firstDayOfWeekIndex => 0;
520
517 - @override
518 - int get firstDayOfWeekIndex => 0;
521 +static const LocalizationsDelegate<MaterialLocalizations> delegate =
522 +_YoMaterialLocalizationsDelegate();
523
520 - static const LocalizationsDelegate<MaterialLocalizations> delegate =
521 - _YoMaterialLocalizationsDelegate();
524 +@override
525 +String get calendarModeButtonLabel => 'Tọ́rọ̀ kálẹ̀ndà';
526
523 - @override
524 - String get calendarModeButtonLabel => 'Tọ́rọ̀ kálẹ̀ndà';
527 +@override
528 +String get dateHelpText => 'mm/dd/yyyy';
529
526 - @override
527 - String get dateHelpText => 'mm/dd/yyyy';
530 +@override
531 +String get dateInputLabel => 'Firanṣẹ̀ Ọjọ́';
532
529 - @override
530 - String get dateInputLabel => 'Firanṣẹ̀ Ọjọ́';
533 +@override
534 +String get dateOutOfRangeLabel => 'Nínú iwọ̀ lọ́wọ́';
535
532 - @override
533 - String get dateOutOfRangeLabel => 'Nínú iwọ̀ lọ́wọ́';
536 +@override
537 +String get datePickerHelpText => 'WÁSÍ';
538
535 - @override
536 - String get datePickerHelpText => 'WÁSÍ';
539 +@override
540 +String get dateRangeEndDateSemanticLabelRaw => r'Ọjọ́ tuntun to ṣà';
541
538 - @override
539 - String get dateRangeEndDateSemanticLabelRaw => r'Ọjọ́ tuntun to ṣà';
542 +@override
543 +String get dateRangeEndLabel => 'Ọjọ́ tuntun to ṣà';
544
541 - @override
542 - String get dateRangeEndLabel => 'Ọjọ́ tuntun to ṣà';
545 +@override
546 +String get dateRangePickerHelpText => 'WÁSÍ ÌGBÀ';
547
544 - @override
545 - String get dateRangePickerHelpText => 'WÁSÍ ÌGBÀ';
548 +@override
549 +String get dateRangeStartDateSemanticLabelRaw => 'Ọjọ́ tuntun ti dá';
550
547 - @override
548 - String get dateRangeStartDateSemanticLabelRaw => 'Ọjọ́ tuntun ti dá';
551 +@override
552 +String get dateRangeStartLabel => 'Ọjọ́ tuntun ti dá';
553
550 - @override
551 - String get dateRangeStartLabel => 'Ọjọ́ tuntun ti dá';
554 +@override
555 +String get dateSeparator => '/';
556
553 - @override
554 - String get dateSeparator => '/';
557 +@override
558 +String get dialModeButtonLabel => 'Tọ́rọ̀ wakati';
559
556 - @override
557 - String get dialModeButtonLabel => 'Tọ́rọ̀ wakati';
560 +@override
561 +String get inputDateModeButtonLabel => 'Tọ́rọ̀ firanṣẹ̀ ọjọ́';
562
559 - @override
560 - String get inputDateModeButtonLabel => 'Tọ́rọ̀ firanṣẹ̀ ọjọ́';
563 +@override
564 +String get inputTimeModeButtonLabel => 'Tọ́rọ̀ wakati bayi lọ́wọ́';
565
562 - @override
563 - String get inputTimeModeButtonLabel => 'Tọ́rọ̀ wakati bayi lọ́wọ́';
566 +@override
567 +String get invalidDateFormatLabel => 'Akọ́kọ́tọ́ tó jẹ́kúnrin';
568
565 - @override
566 - String get invalidDateFormatLabel => 'Akọ́kọ́tọ́ tó jẹ́kúnrin';
569 +@override
570 +String get invalidDateRangeLabel => 'Àmì jẹ́ káàkiri lẹ́yìn ilé';
571
568 - @override
569 - String get invalidDateRangeLabel => 'Àmì jẹ́ káàkiri lẹ́yìn ilé';
572 +@override
573 +String get invalidTimeLabel => 'Akọ́kọ́tọ́ àkójọ ìwádìí';
574
571 - @override
572 - String get invalidTimeLabel => 'Akọ́kọ́tọ́ àkójọ ìwádìí';
575 +@override
576 +String get licensesPackageDetailTextOther => r'$licenseCount àwọn níkí';
577
574 - @override
575 - String get licensesPackageDetailTextOther => r'$licenseCount àwọn níkí';
578 +@override
579 +String get saveButtonLabel => 'TÙN DÁRA';
580
577 - @override
578 - String get saveButtonLabel => 'TÙN DÁRA';
581 +@override
582 +String get selectYearSemanticsLabel => 'Fọ́ọ̀ shẹ́kàrà';
583
580 - @override
581 - String get selectYearSemanticsLabel => 'Fọ́ọ̀ shẹ́kàrà';
584 +@override
585 +String get timePickerDialHelpText => 'WÁSÍ WÁKÀTÌ';
586
583 - @override
584 - String get timePickerDialHelpText => 'WÁSÍ WÁKÀTÌ';
587 +@override
588 +String get timePickerHourLabel => 'Wákàtì àṣà';
589
586 - @override
587 - String get timePickerHourLabel => 'Wákàtì àṣà';
590 +@override
591 +String get timePickerInputHelpText => 'Shìgárà wákàtì';
592
589 - @override
590 - String get timePickerInputHelpText => 'Shìgárà wákàtì';
593 +@override
594 +String get timePickerMinuteLabel => 'Mìntì';
595
592 - @override
593 - String get timePickerMinuteLabel => 'Mìntì';
596 +@override
597 +String get unspecifiedDate => 'Ọjọ̀kúnrin';
598
595 - @override
596 - String get unspecifiedDate => 'Ọjọ̀kúnrin';
599 +@override
600 +String get unspecifiedDateRange => 'Ọjọ̀kúnrin àdáyọ̀';
601
598 - @override
599 - String get unspecifiedDateRange => 'Ọjọ̀kúnrin àdáyọ̀';
602 +@override
603 +String get keyboardKeyAlt => 'Alt';
604
601 - @override
602 - String get keyboardKeyAlt => 'Alt';
605 +@override
606 +String get keyboardKeyAltGraph => 'AltGraph';
607
604 - @override
605 - String get keyboardKeyAltGraph => 'AltGraph';
608 +@override
609 +String get keyboardKeyBackspace => 'Báckspàcè';
610
607 - @override
608 - String get keyboardKeyBackspace => 'Báckspàcè';
611 +@override
612 +String get keyboardKeyCapsLock => 'Caps Lock';
613
610 - @override
611 - String get keyboardKeyCapsLock => 'Caps Lock';
614 +@override
615 +String get keyboardKeyChannelDown => 'Báyàkàmmàlàsàké';
616
613 - @override
614 - String get keyboardKeyChannelDown => 'Báyàkàmmàlàsàké';
617 +@override
618 +String get keyboardKeyChannelUp => 'Yíkàmmàlàsàké';
619
616 - @override
617 - String get keyboardKeyChannelUp => 'Yíkàmmàlàsàké';
620 +@override
621 +String get keyboardKeyControl => 'Kọ́ntírọ̀l';
622
619 - @override
620 - String get keyboardKeyControl => 'Kọ́ntírọ̀l';
621 -
622 - @override
623 - String get keyboardKeyDelete => 'Shápè';
623 +@override
624 +String get keyboardKeyDelete => 'Shápè';
625
625 - @override
626 - String get keyboardKeyEject => 'Èjẹ̀tì';
626 +@override
627 +String get keyboardKeyEject => 'Èjẹ̀tì';
628
628 - @override
629 - String get keyboardKeyEnd => 'Tàbí';
629 +@override
630 +String get keyboardKeyEnd => 'Tàbí';
631
631 - @override
632 - String get keyboardKeyEscape => 'Tòkè';
632 +@override
633 +String get keyboardKeyEscape => 'Tòkè';
634
635 @override
635 - String get keyboardKeyFn => 'Fn';
636 +String get keyboardKeyFn => 'Fn';
637
637 - @override
638 - String get keyboardKeyHome => 'Ile';
638 +@override
639 +String get keyboardKeyHome => 'Ile';
640
640 - @override
641 - String get keyboardKeyInsert => 'Fi sori';
641 +@override
642 +String get keyboardKeyInsert => 'Fi sori';
643
643 - @override
644 - String get keyboardKeyMeta => 'Meta';
644 +@override
645 +String get keyboardKeyMeta => 'Meta';
646
646 - @override
647 - String get keyboardKeyMetaMacOs => 'Amfani pẹlu Command';
647 +@override
648 +String get keyboardKeyMetaMacOs => 'Amfani pẹlu Command';
649
649 - @override
650 - String get keyboardKeyMetaWindows => 'Windows';
650 +@override
651 +String get keyboardKeyMetaWindows => 'Windows';
652
653 @override
654 String get keyboardKeyNumLock => 'Num Lock';
@@ -750,50 +751,6 @@ class YoMaterialLocalizations extends GlobalMaterialLocalizations {
751
752 @override
753 String get scrimOnTapHintRaw => "Scrip on Tap";
753 -
754 - @override
755 - // TODO: implement collapsedHint
756 - String get collapsedHint => "collapsedHint";
757 -
758 - @override
759 - // TODO: implement expandedHint
760 - String get expandedHint => "expandedHint";
761 -
762 - @override
763 - // TODO: implement expansionTileCollapsedHint
764 - String get expansionTileCollapsedHint => "expansionTileCollapsedHint";
765 -
766 - @override
767 - // TODO: implement expansionTileCollapsedTapHint
768 - String get expansionTileCollapsedTapHint => "expansionTileCollapsedTapHint";
769 -
770 - @override
771 - // TODO: implement expansionTileExpandedHint
772 - String get expansionTileExpandedHint => "expansionTileExpandedHint";
773 -
774 - @override
775 - // TODO: implement expansionTileExpandedTapHint
776 - String get expansionTileExpandedTapHint => "expansionTileExpandedTapHint";
777 -
778 - @override
779 - // TODO: implement scanTextButtonLabel
780 - String get scanTextButtonLabel => "scanTextButtonLabel";
781 -
782 - @override
783 - // TODO: implement lookUpButtonLabel
784 - String get lookUpButtonLabel => "lookUpButtonLabel";
785 -
786 - @override
787 - // TODO: implement menuDismissLabel
788 - String get menuDismissLabel => "menuDismissLabel";
789 -
790 - @override
791 - // TODO: implement searchWebButtonLabel
792 - String get searchWebButtonLabel => "searchWebButtonLabel";
793 -
794 - @override
795 - // TODO: implement shareButtonLabel
796 - String get shareButtonLabel => "shareButtonLabel";
754 }
755
756 /// Cupertino Support
@@ -864,158 +821,138 @@ class YoCupertinoLocalizations extends GlobalCupertinoLocalizations {
821 required super.singleDigitSecondFormat,
822 });
823
867 - @override
868 - String get alertDialogLabel => 'Àdàkárò';
824 +@override
825 +String get alertDialogLabel => 'Àdàkárò';
826
870 - @override
871 - String get anteMeridiemAbbreviation => 'AM';
827 +@override
828 +String get anteMeridiemAbbreviation => 'AM';
829
873 - @override
874 - String get copyButtonLabel => 'Kòpy';
830 +@override
831 +String get copyButtonLabel => 'Kòpy';
832
876 - @override
877 - String get cutButtonLabel => 'Kọ́t';
833 +@override
834 +String get cutButtonLabel => 'Kọ́t';
835
879 - @override
880 - String get datePickerDateOrderString => 'mdy';
836 +@override
837 +String get datePickerDateOrderString => 'mdy';
838
882 - @override
883 - String get datePickerDateTimeOrderString => 'date_time_dayPeriod';
839 +@override
840 +String get datePickerDateTimeOrderString => 'date_time_dayPeriod';
841
885 - @override
886 - String? get datePickerHourSemanticsLabelFew => null;
842 +@override
843 +String? get datePickerHourSemanticsLabelFew => null;
844
888 - @override
889 - String? get datePickerHourSemanticsLabelMany => null;
845 +@override
846 +String? get datePickerHourSemanticsLabelMany => null;
847
891 - @override
892 - String? get datePickerHourSemanticsLabelOne => r"$hour o'clock";
848 +@override
849 +String? get datePickerHourSemanticsLabelOne => r"$hour o'clock";
850
894 - @override
895 - String get datePickerHourSemanticsLabelOther => r"$hour o'clock";
851 +@override
852 +String get datePickerHourSemanticsLabelOther => r"$hour o'clock";
853
897 - @override
898 - String? get datePickerHourSemanticsLabelTwo => null;
854 +@override
855 +String? get datePickerHourSemanticsLabelTwo => null;
856
900 - @override
901 - String? get datePickerHourSemanticsLabelZero => null;
857 +@override
858 +String? get datePickerHourSemanticsLabelZero => null;
859
903 - @override
904 - String? get datePickerMinuteSemanticsLabelFew => null;
860 +@override
861 +String? get datePickerMinuteSemanticsLabelFew => null;
862
906 - @override
907 - String? get datePickerMinuteSemanticsLabelMany => null;
863 +@override
864 +String? get datePickerMinuteSemanticsLabelMany => null;
865
909 - @override
910 - String? get datePickerMinuteSemanticsLabelOne => '1 wakati';
866 +@override
867 +String? get datePickerMinuteSemanticsLabelOne => '1 wakati';
868
912 - @override
913 - String get datePickerMinuteSemanticsLabelOther => r'$minute wakati';
869 +@override
870 +String get datePickerMinuteSemanticsLabelOther => r'$minute wakati';
871
915 - @override
916 - String? get datePickerMinuteSemanticsLabelTwo => null;
872 +@override
873 +String? get datePickerMinuteSemanticsLabelTwo => null;
874
918 - @override
919 - String? get datePickerMinuteSemanticsLabelZero => null;
875 +@override
876 +String? get datePickerMinuteSemanticsLabelZero => null;
877
921 - @override
922 - String get modalBarrierDismissLabel => 'Búta';
878 +@override
879 +String get modalBarrierDismissLabel => 'Búta';
880
924 - @override
925 - String get pasteButtonLabel => 'Tẹ́ẹ́';
881 +@override
882 +String get pasteButtonLabel => 'Tẹ́ẹ́';
883
927 - @override
928 - String get postMeridiemAbbreviation => 'PM';
884 +@override
885 +String get postMeridiemAbbreviation => 'PM';
886
930 - @override
931 - String get searchTextFieldPlaceholderLabel => 'Wúró àtúntà';
887 +@override
888 +String get searchTextFieldPlaceholderLabel => 'Wúró àtúntà';
889
933 - @override
934 - String get selectAllButtonLabel => 'Fírànsé gbógbo';
890 +@override
891 +String get selectAllButtonLabel => 'Fírànsé gbógbo';
892
936 - @override
937 - String get tabSemanticsLabelRaw => r'Tab $tabIndex nínú $tabCount';
893 +@override
894 +String get tabSemanticsLabelRaw => r'Tab $tabIndex nínú $tabCount';
895
939 - @override
940 - String? get timerPickerHourLabelFew => null;
896 +@override
897 +String? get timerPickerHourLabelFew => null;
898
942 - @override
943 - String? get timerPickerHourLabelMany => null;
899 +@override
900 +String? get timerPickerHourLabelMany => null;
901
945 - @override
946 - String? get timerPickerHourLabelOne => 'òǹdì';
902 +@override
903 +String? get timerPickerHourLabelOne => 'òǹdì';
904
948 - @override
949 - String get timerPickerHourLabelOther => 'òǹdì';
905 +@override
906 +String get timerPickerHourLabelOther => 'òǹdì';
907
951 - @override
952 - String? get timerPickerHourLabelTwo => null;
908 +@override
909 +String? get timerPickerHourLabelTwo => null;
910
954 - @override
955 - String? get timerPickerHourLabelZero => null;
911 +@override
912 +String? get timerPickerHourLabelZero => null;
913
957 - @override
958 - String? get timerPickerMinuteLabelFew => null;
914 +@override
915 +String? get timerPickerMinuteLabelFew => null;
916
960 - @override
961 - String? get timerPickerMinuteLabelMany => null;
917 +@override
918 +String? get timerPickerMinuteLabelMany => null;
919
963 - @override
964 - String? get timerPickerMinuteLabelOne => 'wakati.';
920 +@override
921 +String? get timerPickerMinuteLabelOne => 'wakati.';
922
966 - @override
967 - String get timerPickerMinuteLabelOther => 'wakati.';
923 +@override
924 +String get timerPickerMinuteLabelOther => 'wakati.';
925
969 - @override
970 - String? get timerPickerMinuteLabelTwo => null;
926 +@override
927 +String? get timerPickerMinuteLabelTwo => null;
928
972 - @override
973 - String? get timerPickerMinuteLabelZero => null;
929 +@override
930 +String? get timerPickerMinuteLabelZero => null;
931
975 - @override
976 - String? get timerPickerSecondLabelFew => null;
932 +@override
933 +String? get timerPickerSecondLabelFew => null;
934
978 - @override
979 - String? get timerPickerSecondLabelMany => null;
935 +@override
936 +String? get timerPickerSecondLabelMany => null;
937
981 - @override
982 - String? get timerPickerSecondLabelOne => 'dákìkà.';
938 +@override
939 +String? get timerPickerSecondLabelOne => 'dákìkà.';
940
984 - @override
985 - String get timerPickerSecondLabelOther => 'dákìkà.';
941 +@override
942 +String get timerPickerSecondLabelOther => 'dákìkà.';
943
987 - @override
988 - String? get timerPickerSecondLabelTwo => null;
944 +@override
945 +String? get timerPickerSecondLabelTwo => null;
946
990 - @override
991 - String? get timerPickerSecondLabelZero => null;
947 +@override
948 +String? get timerPickerSecondLabelZero => null;
949
993 - @override
994 - String get todayLabel => 'Oyọ';
950 +@override
951 +String get todayLabel => 'Oyọ';
952
953 static const LocalizationsDelegate<CupertinoLocalizations> delegate =
954 _YoCupertinoLocalizationsDelegate();
955
956 @override
957 String get noSpellCheckReplacementsLabel => "";
1001 -
1002 - @override
1003 - // TODO: implement clearButtonLabel
1004 - String get clearButtonLabel => "clearButtonLabel";
1005 -
1006 - @override
1007 - // TODO: implement lookUpButtonLabel
1008 - String get lookUpButtonLabel => "lookUpButtonLabel";
1009 -
1010 - @override
1011 - // TODO: implement menuDismissLabel
1012 - String get menuDismissLabel => "menuDismissLabel";
1013 -
1014 - @override
1015 - // TODO: implement searchWebButtonLabel
1016 - String get searchWebButtonLabel => "searchWebButtonLabel";
1017 -
1018 - @override
1019 - // TODO: implement shareButtonLabel
1020 - String get shareButtonLabel => "shareButtonLabel";
958 }
lib/src/screens/settings/security_backup_page.dart
+1 -3
@@ -1,5 +1,3 @@
1 -import 'dart:io';
2 -
1 import 'package:cake_wallet/core/auth_service.dart';
2 import 'package:cake_wallet/entities/pin_code_required_duration.dart';
3 import 'package:cake_wallet/routes.dart';
@@ -60,7 +58,7 @@ class SecurityBackupPage extends BasePage {
58 .shouldRequireTOTP2FAForAllSecurityAndBackupSettings,
59 ),
60 ),
63 - if (DeviceInfo.instance.isMobile || Platform.isMacOS || Platform.isLinux)
61 + if (DeviceInfo.instance.isMobile)
62 Observer(builder: (_) {
63 return SettingsSwitcherCell(
64 title: S.current.settings_allow_biometrical_authentication,
lib/src/screens/settings/tor_page.dart
+2 -2
@@ -146,7 +146,7 @@ class ConnectScreen extends StatelessWidget {
146 ElevatedButton(
147 onPressed: connect,
148 style: ElevatedButton.styleFrom(
149 - // primary: Colors.blue,
149 + primary: Colors.blue,
150 padding: EdgeInsets.symmetric(horizontal: 40, vertical: 15),
151 shape: RoundedRectangleBorder(
152 borderRadius: BorderRadius.circular(30),
@@ -211,7 +211,7 @@ class DisconnectScreen extends StatelessWidget {
211 ElevatedButton(
212 onPressed: disconnect,
213 style: ElevatedButton.styleFrom(
214 - // primary: Colors.red,
214 + primary: Colors.red,
215 padding: EdgeInsets.symmetric(horizontal: 40, vertical: 15),
216 shape: RoundedRectangleBorder(
217 borderRadius: BorderRadius.circular(30),
lib/src/widgets/validable_annotated_editable_text.dart
+4 -10
@@ -1,14 +1,8 @@
1 +import 'package:cake_wallet/core/seed_validator.dart';
2 +import 'package:cw_core/wallet_type.dart';
3 import 'package:flutter/material.dart';
4
3 -
4 -extension Compare<T> on Comparable<T> {
5 - bool operator <=(T other) => compareTo(other) <= 0;
6 - bool operator >=(T other) => compareTo(other) >= 0;
7 - bool operator <(T other) => compareTo(other) < 0;
8 - bool operator >(T other) => compareTo(other) > 0;
9 -}
10 -
11 -class Annotation implements Comparable<Annotation> {
5 +class Annotation extends Comparable<Annotation> {
6 Annotation({required this.range, required this.style});
7
8 final TextRange range;
@@ -18,7 +12,7 @@ class Annotation implements Comparable<Annotation> {
12 int compareTo(Annotation other) => range.start.compareTo(other.range.start);
13 }
14
21 -class TextAnnotation implements Comparable<TextAnnotation> {
15 +class TextAnnotation extends Comparable<TextAnnotation> {
16 TextAnnotation({required this.text, required this.style});
17
18 final TextStyle style;
lib/view_model/auth_view_model.dart
+8 -7
@@ -1,6 +1,5 @@
1 import 'dart:async';
2 import 'package:flutter/material.dart';
3 -import 'package:flutter_local_authentication/flutter_local_authentication.dart';
3 import 'package:shared_preferences/shared_preferences.dart';
4 import 'package:mobx/mobx.dart';
5 import 'package:cake_wallet/view_model/auth_state.dart';
@@ -106,14 +105,16 @@ abstract class AuthViewModelBase with Store {
105
106 @action
107 Future<void> biometricAuth() async {
109 - final _flutterLocalAuthenticationPlugin = FlutterLocalAuthentication();
110 -
108 try {
112 - final authenticated = await _flutterLocalAuthenticationPlugin.authenticate();
113 - if (!authenticated) {
114 - throw Exception('Biometric authentication failed');
109 + final canBiometricAuth = await _biometricAuth.canCheckBiometrics();
110 +
111 + if (canBiometricAuth) {
112 + final isAuthenticated = await _biometricAuth.isAuthenticated();
113 +
114 + if (isAuthenticated) {
115 + state = ExecutedSuccessfullyState();
116 + }
117 }
116 - state = ExecutedSuccessfullyState();
118 } catch (e) {
119 state = FailureState(e.toString());
120 }
pubspec_base.yaml
+1 -1
@@ -33,8 +33,8 @@ dependencies:
33 dio: ^4.0.6
34 hive: ^2.2.3
35 hive_flutter: ^1.1.0
36 + local_auth: ^2.1.0
37 local_auth_android: 1.0.21
37 - flutter_local_authentication: ^1.2.0
38 package_info: ^2.0.0
39 #package_info_plus: ^1.4.2
40 devicelocale:
pubspec_description.yaml
+1 -1
@@ -4,4 +4,4 @@ version: 0.0.0
4 publish_to: none
5
6 environment:
7 - sdk: ">=3.1.0 <4.0.0"
\ No newline at end of file
7 + sdk: ">=2.17.5 <3.0.0"
\ No newline at end of file