version bump to 3.13.9, auth working on mac (#1367)
* version bump to 3.13.9, auth working on mac * bump flutter version in workflow file * workflow fix * test fix * downgrade flutter version * test fix * test fix * update gradle version * fixes for updated dart version, localization file updates * remove accidental inclusion * missed some unimplemented throws
Matthew Fosse committed
Apr 18, 2024 at 10:00 UTC
e6b4b08c24c1c2fb6987dcca233a3fee67c50d25
21 files changed
+567
-406
.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.10.x"
45
+ flutter-version: "3.13.9"
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.7.10'
2
+ ext.kotlin_version = '1.8.10'
3
repositories {
4
google()
5
jcenter()
cw_bitcoin/pubspec.yaml
+4
-1
@@ -39,11 +39,14 @@ dependencies:
39
dev_dependencies:
40
flutter_test:
41
sdk: flutter
42
- build_runner: ^2.1.11
42
+ build_runner: ^2.4.7
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
+
50
# For information on the generic Dart part of this file, see the
51
# following page: https://dart.dev/tools/pub/pubspec
52
cw_bitcoin_cash/pubspec.yaml
+4
-1
@@ -39,10 +39,13 @@ dependencies:
39
dev_dependencies:
40
flutter_test:
41
sdk: flutter
42
- build_runner: ^2.1.11
42
+ build_runner: ^2.4.7
43
mobx_codegen: ^2.0.7
44
hive_generator: ^1.1.3
45
46
+dependency_overrides:
47
+ watcher: ^1.1.0
48
+
49
# For information on the generic Dart part of this file, see the
50
# following page: https://dart.dev/tools/pub/pubspec
51
cw_core/pubspec.yaml
+4
-1
@@ -28,11 +28,14 @@ dependencies:
28
dev_dependencies:
29
flutter_test:
30
sdk: flutter
31
- build_runner: ^2.1.11
31
+ build_runner: ^2.4.7
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
+
39
# For information on the generic Dart part of this file, see the
40
# following page: https://dart.dev/tools/pub/pubspec
41
cw_ethereum/pubspec.yaml
+5
-1
@@ -22,7 +22,11 @@ dependencies:
22
dev_dependencies:
23
flutter_test:
24
sdk: flutter
25
- build_runner: ^2.1.11
25
+ build_runner: ^2.4.7
26
+
27
+dependency_overrides:
28
+ watcher: ^1.1.0
29
+
30
flutter:
31
# assets:
32
# - images/a_dot_burr.jpeg
cw_evm/pubspec.yaml
+4
-1
@@ -27,11 +27,14 @@ dependencies:
27
dev_dependencies:
28
flutter_test:
29
sdk: flutter
30
- build_runner: ^2.1.11
30
+ build_runner: ^2.4.7
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
+
38
flutter:
39
# assets:
40
# - images/a_dot_burr.jpeg
cw_haven/pubspec.yaml
+4
-1
@@ -24,11 +24,14 @@ dependencies:
24
dev_dependencies:
25
flutter_test:
26
sdk: flutter
27
- build_runner: ^2.1.11
27
+ build_runner: ^2.4.7
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
+
35
# For information on the generic Dart part of this file, see the
36
# following page: https://dart.dev/tools/pub/pubspec
37
cw_monero/pubspec.yaml
+4
-1
@@ -26,11 +26,14 @@ dependencies:
26
dev_dependencies:
27
flutter_test:
28
sdk: flutter
29
- build_runner: ^2.1.11
29
+ build_runner: ^2.4.7
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
+
37
# For information on the generic Dart part of this file, see the
38
# following page: https://dart.dev/tools/pub/pubspec
39
cw_nano/pubspec.yaml
+4
-1
@@ -32,10 +32,13 @@ dependencies:
32
dev_dependencies:
33
flutter_test:
34
sdk: flutter
35
- build_runner: ^2.1.11
35
+ build_runner: ^2.4.7
36
mobx_codegen: ^2.0.7
37
hive_generator: ^1.1.3
38
39
+dependency_overrides:
40
+ watcher: ^1.1.0
41
+
42
# For information on the generic Dart part of this file, see the
43
# following page: https://dart.dev/tools/pub/pubspec
44
cw_polygon/pubspec.yaml
+4
-1
@@ -28,7 +28,10 @@ dev_dependencies:
28
flutter_test:
29
sdk: flutter
30
flutter_lints: ^2.0.0
31
- build_runner: ^2.1.11
31
+ build_runner: ^2.4.7
32
+
33
+dependency_overrides:
34
+ watcher: ^1.1.0
35
36
# For information on the generic Dart part of this file, see the
37
# following page: https://dart.dev/tools/pub/pubspec
cw_solana/pubspec.yaml
+4
-1
@@ -26,10 +26,13 @@ dev_dependencies:
26
flutter_test:
27
sdk: flutter
28
flutter_lints: ^2.0.0
29
- build_runner: ^2.1.11
29
+ build_runner: ^2.4.7
30
mobx_codegen: ^2.0.7
31
hive_generator: ^1.1.3
32
33
+dependency_overrides:
34
+ watcher: ^1.1.0
35
+
36
flutter:
37
# assets:
38
# - images/a_dot_burr.jpeg
lib/entities/biometric_auth.dart
+11
-15
@@ -1,32 +1,28 @@
1
-import 'package:local_auth/local_auth.dart';
1
import 'package:flutter/services.dart';
3
-import 'package:cake_wallet/generated/i18n.dart';
2
+import 'package:flutter_local_authentication/flutter_local_authentication.dart';
3
4
class BiometricAuth {
6
- final _localAuth = LocalAuthentication();
5
+ final _flutterLocalAuthenticationPlugin = FlutterLocalAuthentication();
6
7
Future<bool> isAuthenticated() async {
8
try {
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) {
9
+ final authenticated = await _flutterLocalAuthenticationPlugin.authenticate();
10
+ return authenticated;
11
+ } catch (e) {
12
print(e);
13
}
19
-
14
return false;
15
}
16
17
Future<bool> canCheckBiometrics() async {
18
+ bool canAuthenticate;
19
try {
25
- return await _localAuth.canCheckBiometrics;
26
- } on PlatformException catch (e) {
27
- print(e);
20
+ canAuthenticate = await _flutterLocalAuthenticationPlugin.canAuthenticate();
21
+ } catch (error) {
22
+ print("Exception checking support. $error");
23
+ canAuthenticate = false;
24
}
25
30
- return false;
26
+ return canAuthenticate;
27
}
28
}
lib/locales/hausa_intl.dart
+64
@@ -751,6 +751,50 @@ 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";
798
}
799
800
/// Cupertino Support
@@ -955,4 +999,24 @@ class HaCupertinoLocalizations extends GlobalCupertinoLocalizations {
999
1000
@override
1001
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";
1022
}
lib/locales/yoruba_intl.dart
+425
-362
@@ -1,4 +1,3 @@
1
-
1
import 'dart:async';
2
3
import 'package:flutter/cupertino.dart';
@@ -164,62 +163,62 @@ const yoDateSymbols = {
163
'ọjọ́ Àbámẹ́ta',
164
],
165
'STANDALONEWEEKDAYS': <dynamic>[
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
-],
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
+ ],
222
'AMPMS': <dynamic>[
223
'a.m.',
224
'p.m.',
@@ -316,339 +315,339 @@ class YoMaterialLocalizations extends GlobalMaterialLocalizations {
315
});
316
317
// #docregion Getters
319
-@override
320
-String get moreButtonTooltip => r'Kò sí ìròhùn tí ó múni';
318
+ @override
319
+ String get moreButtonTooltip => r'Kò sí ìròhùn tí ó múni';
320
322
-@override
323
-String get aboutListTileTitleRaw => r'Fun Àpótí àwọn $applicationname';
321
+ @override
322
+ String get aboutListTileTitleRaw => r'Fun Àpótí àwọn $applicationname';
323
325
-@override
326
-String get alertDialogLabel => r'Ìròhùn Àlàyé';
324
+ @override
325
+ String get alertDialogLabel => r'Ìròhùn Àlàyé';
326
327
// #enddocregion Getters
328
330
-@override
331
-String get anteMeridiemAbbreviation => r'AM';
329
+ @override
330
+ String get anteMeridiemAbbreviation => r'AM';
331
333
-@override
334
-String get backButtonTooltip => r'Fíran';
332
+ @override
333
+ String get backButtonTooltip => r'Fíran';
334
336
-@override
337
-String get cancelButtonLabel => r'FAGILE';
335
+ @override
336
+ String get cancelButtonLabel => r'FAGILE';
337
339
-@override
340
-String get closeButtonLabel => r'KÚ';
338
+ @override
339
+ String get closeButtonLabel => r'KÚ';
340
342
-@override
343
-String get closeButtonTooltip => r'Kú';
341
+ @override
342
+ String get closeButtonTooltip => r'Kú';
343
345
-@override
346
-String get collapsedIconTapHint => r'Tá';
344
+ @override
345
+ String get collapsedIconTapHint => r'Tá';
346
348
-@override
349
-String get continueButtonLabel => r'TÓ WÁ';
347
+ @override
348
+ String get continueButtonLabel => r'TÓ WÁ';
349
351
-@override
352
-String get copyButtonLabel => r'DÚPLÍKÉTÍ';
350
+ @override
351
+ String get copyButtonLabel => r'DÚPLÍKÉTÍ';
352
354
-@override
355
-String get cutButtonLabel => r'TÒ';
353
+ @override
354
+ String get cutButtonLabel => r'TÒ';
355
357
-@override
358
-String get deleteButtonTooltip => r'Máa kú';
356
+ @override
357
+ String get deleteButtonTooltip => r'Máa kú';
358
360
-@override
361
-String get dialogLabel => r'Ìròhùn';
359
+ @override
360
+ String get dialogLabel => r'Ìròhùn';
361
363
-@override
364
-String get drawerLabel => r'Àgbèjọ àwọn àpọ̀tí';
362
+ @override
363
+ String get drawerLabel => r'Àgbèjọ àwọn àpọ̀tí';
364
366
-@override
367
-String get expandedIconTapHint => r'Tá';
365
+ @override
366
+ String get expandedIconTapHint => r'Tá';
367
369
-@override
370
-String get firstPageTooltip => r'Ojú ewe';
368
+ @override
369
+ String get firstPageTooltip => r'Ojú ewe';
370
372
-@override
373
-String get hideAccountsLabel => r'Fí èrò àpótí wáyé sílẹ̀';
371
+ @override
372
+ String get hideAccountsLabel => r'Fí èrò àpótí wáyé sílẹ̀';
373
375
-@override
376
-String get lastPageTooltip => r'Ojú ayé';
374
+ @override
375
+ String get lastPageTooltip => r'Ojú ayé';
376
378
-@override
379
-String get licensesPageTitle => r'Ìròhùn Ọdún';
377
+ @override
378
+ String get licensesPageTitle => r'Ìròhùn Ọdún';
379
381
-@override
382
-String get modalBarrierDismissLabel => r'Sọ';
380
+ @override
381
+ String get modalBarrierDismissLabel => r'Sọ';
382
384
-@override
385
-String get nextMonthTooltip => r'Oṣù kọja';
383
+ @override
384
+ String get nextMonthTooltip => r'Oṣù kọja';
385
387
-@override
388
-String get nextPageTooltip => r'Ojú ọjọ́ kẹta';
386
+ @override
387
+ String get nextPageTooltip => r'Ojú ọjọ́ kẹta';
388
390
-@override
391
-String get okButtonLabel => r'Ò daájú';
392
-@override
389
+ @override
390
+ String get okButtonLabel => r'Ò daájú';
391
+ @override
392
// A custom drawer tooltip message.
394
-String get openAppDrawerTooltip => r'Aya ntọju Iwe Awọn Aka';
393
+ String get openAppDrawerTooltip => r'Aya ntọju Iwe Awọn Aka';
394
395
// #docregion Raw
397
-@override
398
-String get pageRowsInfoTitleRaw => r'$firstRow–$lastRow lati $rowCount';
396
+ @override
397
+ String get pageRowsInfoTitleRaw => r'$firstRow–$lastRow lati $rowCount';
398
400
-@override
401
-String get pageRowsInfoTitleApproximateRaw => r'$firstRow–$lastRow lati kiakia $rowCount';
399
+ @override
400
+ String get pageRowsInfoTitleApproximateRaw => r'$firstRow–$lastRow lati kiakia $rowCount';
401
// #enddocregion Raw
402
404
-@override
405
-String get pasteButtonLabel => r'TÌ';
403
+ @override
404
+ String get pasteButtonLabel => r'TÌ';
405
407
-@override
408
-String get popupMenuLabel => r'Meniu Pop-up';
406
+ @override
407
+ String get popupMenuLabel => r'Meniu Pop-up';
408
410
-@override
411
-String get menuBarMenuLabel => r'Meniu Akọkọ';
409
+ @override
410
+ String get menuBarMenuLabel => r'Meniu Akọkọ';
411
413
-@override
414
-String get postMeridiemAbbreviation => r'PM';
412
+ @override
413
+ String get postMeridiemAbbreviation => r'PM';
414
416
-@override
417
-String get previousMonthTooltip => r'Oṣu Kanakana';
415
+ @override
416
+ String get previousMonthTooltip => r'Oṣu Kanakana';
417
419
-@override
420
-String get previousPageTooltip => r'Ojú ewé akọkọ kan';
418
+ @override
419
+ String get previousPageTooltip => r'Ojú ewé akọkọ kan';
420
422
-@override
423
-String get refreshIndicatorSemanticLabel => r'Gbiyanju';
421
+ @override
422
+ String get refreshIndicatorSemanticLabel => r'Gbiyanju';
423
425
-@override
426
-String? get remainingTextFieldCharacterCountFew => null;
424
+ @override
425
+ String? get remainingTextFieldCharacterCountFew => null;
426
428
-@override
429
-String? get remainingTextFieldCharacterCountMany => null;
427
+ @override
428
+ String? get remainingTextFieldCharacterCountMany => null;
429
431
-@override
432
-String get remainingTextFieldCharacterCountOne => r'1 àmì báálẹ̀';
430
+ @override
431
+ String get remainingTextFieldCharacterCountOne => r'1 àmì báálẹ̀';
432
434
-@override
435
-String get remainingTextFieldCharacterCountOther => r'$remainingCount àmì báálẹ̀';
433
+ @override
434
+ String get remainingTextFieldCharacterCountOther => r'$remainingCount àmì báálẹ̀';
435
437
-@override
438
-String? get remainingTextFieldCharacterCountTwo => null;
436
+ @override
437
+ String? get remainingTextFieldCharacterCountTwo => null;
438
440
-@override
441
-String get remainingTextFieldCharacterCountZero => r'Kò sí ìwọlé létà láti ń ṣe';
439
+ @override
440
+ String get remainingTextFieldCharacterCountZero => r'Kò sí ìwọlé létà láti ń ṣe';
441
443
-@override
444
-String get reorderItemDown => r'Jù sí ilẹ';
442
+ @override
443
+ String get reorderItemDown => r'Jù sí ilẹ';
444
446
-@override
447
-String get reorderItemLeft => r'Jù sí àrà';
445
+ @override
446
+ String get reorderItemLeft => r'Jù sí àrà';
447
449
-@override
450
-String get reorderItemRight => r'Jù sí òtútù';
448
+ @override
449
+ String get reorderItemRight => r'Jù sí òtútù';
450
452
-@override
453
-String get reorderItemToEnd => r'Jù sí ìbẹ̀jì';
451
+ @override
452
+ String get reorderItemToEnd => r'Jù sí ìbẹ̀jì';
453
455
-@override
456
-String get reorderItemToStart => r'Jù sí àkọ́kọ́';
454
+ @override
455
+ String get reorderItemToStart => r'Jù sí àkọ́kọ́';
456
458
-@override
459
-String get reorderItemUp => r'Jù sí ọ̀rùn';
457
+ @override
458
+ String get reorderItemUp => r'Jù sí ọ̀rùn';
459
461
-@override
462
-String get rowsPerPageTitle => r'Ìlò Fún àwọn Ìtọ́kasíwájú:';
460
+ @override
461
+ String get rowsPerPageTitle => r'Ìlò Fún àwọn Ìtọ́kasíwájú:';
462
464
-@override
465
-ScriptCategory get scriptCategory => ScriptCategory.englishLike;
463
+ @override
464
+ ScriptCategory get scriptCategory => ScriptCategory.englishLike;
465
467
-@override
468
-String get searchFieldLabel => 'Ṣẹda';
466
+ @override
467
+ String get searchFieldLabel => 'Ṣẹda';
468
470
-@override
471
-String get selectAllButtonLabel => 'FADỌHỌN DỌFÚN GBÁJÚMỌ̀';
469
+ @override
470
+ String get selectAllButtonLabel => 'FADỌHỌN DỌFÚN GBÁJÚMỌ̀';
471
473
-@override
474
-String? get selectedRowCountTitleFew => null;
472
+ @override
473
+ String? get selectedRowCountTitleFew => null;
474
476
-@override
477
-String? get selectedRowCountTitleMany => null;
475
+ @override
476
+ String? get selectedRowCountTitleMany => null;
477
479
-@override
480
-String get selectedRowCountTitleOne => '1 káyé';
478
+ @override
479
+ String get selectedRowCountTitleOne => '1 káyé';
480
482
-@override
483
-String get selectedRowCountTitleOther => r'$selectedRowCount káyé';
481
+ @override
482
+ String get selectedRowCountTitleOther => r'$selectedRowCount káyé';
483
485
-@override
486
-String? get selectedRowCountTitleTwo => null;
484
+ @override
485
+ String? get selectedRowCountTitleTwo => null;
486
488
-@override
489
-String get selectedRowCountTitleZero => 'Kò sí káyé ti o wọlé';
487
+ @override
488
+ String get selectedRowCountTitleZero => 'Kò sí káyé ti o wọlé';
489
491
-@override
492
-String get showAccountsLabel => 'Fi iyipada mu kọ';
490
+ @override
491
+ String get showAccountsLabel => 'Fi iyipada mu kọ';
492
494
-@override
495
-String get showMenuTooltip => 'Fi Meniu mu kọ';
493
+ @override
494
+ String get showMenuTooltip => 'Fi Meniu mu kọ';
495
497
-@override
498
-String get signedInLabel => 'Ọ̀nà';
496
+ @override
497
+ String get signedInLabel => 'Ọ̀nà';
498
500
-@override
501
-String get tabLabelRaw => r'Àwọn tabin $tabIndex lati $tabCount';
502
-
499
@override
504
-TimeOfDayFormat get timeOfDayFormatRaw => TimeOfDayFormat.h_colon_mm_space_a;
500
+ String get tabLabelRaw => r'Àwọn tabin $tabIndex lati $tabCount';
501
506
-@override
507
-String get timePickerHourModeAnnouncement => 'Tuntun waqtu lọ';
502
+ @override
503
+ TimeOfDayFormat get timeOfDayFormatRaw => TimeOfDayFormat.h_colon_mm_space_a;
504
509
-@override
510
-String get timePickerMinuteModeAnnouncement => 'Tuntun daɗi minti';
505
+ @override
506
+ String get timePickerHourModeAnnouncement => 'Tuntun waqtu lọ';
507
512
-@override
513
-String get viewLicensesButtonLabel => 'WO NIKI';
508
+ @override
509
+ String get timePickerMinuteModeAnnouncement => 'Tuntun daɗi minti';
510
515
-@override
516
-List<String> get narrowWeekdays => const <String>['L', 'L', 'A', 'O', 'Ọ', 'Ẹ', 'Ẹ'];
511
+ @override
512
+ String get viewLicensesButtonLabel => 'WO NIKI';
513
518
-@override
519
-int get firstDayOfWeekIndex => 0;
514
+ @override
515
+ List<String> get narrowWeekdays => const <String>['L', 'L', 'A', 'O', 'Ọ', 'Ẹ', 'Ẹ'];
516
521
-static const LocalizationsDelegate<MaterialLocalizations> delegate =
522
-_YoMaterialLocalizationsDelegate();
517
+ @override
518
+ int get firstDayOfWeekIndex => 0;
519
524
-@override
525
-String get calendarModeButtonLabel => 'Tọ́rọ̀ kálẹ̀ndà';
520
+ static const LocalizationsDelegate<MaterialLocalizations> delegate =
521
+ _YoMaterialLocalizationsDelegate();
522
527
-@override
528
-String get dateHelpText => 'mm/dd/yyyy';
523
+ @override
524
+ String get calendarModeButtonLabel => 'Tọ́rọ̀ kálẹ̀ndà';
525
530
-@override
531
-String get dateInputLabel => 'Firanṣẹ̀ Ọjọ́';
526
+ @override
527
+ String get dateHelpText => 'mm/dd/yyyy';
528
533
-@override
534
-String get dateOutOfRangeLabel => 'Nínú iwọ̀ lọ́wọ́';
529
+ @override
530
+ String get dateInputLabel => 'Firanṣẹ̀ Ọjọ́';
531
536
-@override
537
-String get datePickerHelpText => 'WÁSÍ';
532
+ @override
533
+ String get dateOutOfRangeLabel => 'Nínú iwọ̀ lọ́wọ́';
534
539
-@override
540
-String get dateRangeEndDateSemanticLabelRaw => r'Ọjọ́ tuntun to ṣà';
535
+ @override
536
+ String get datePickerHelpText => 'WÁSÍ';
537
542
-@override
543
-String get dateRangeEndLabel => 'Ọjọ́ tuntun to ṣà';
538
+ @override
539
+ String get dateRangeEndDateSemanticLabelRaw => r'Ọjọ́ tuntun to ṣà';
540
545
-@override
546
-String get dateRangePickerHelpText => 'WÁSÍ ÌGBÀ';
541
+ @override
542
+ String get dateRangeEndLabel => 'Ọjọ́ tuntun to ṣà';
543
548
-@override
549
-String get dateRangeStartDateSemanticLabelRaw => 'Ọjọ́ tuntun ti dá';
544
+ @override
545
+ String get dateRangePickerHelpText => 'WÁSÍ ÌGBÀ';
546
551
-@override
552
-String get dateRangeStartLabel => 'Ọjọ́ tuntun ti dá';
547
+ @override
548
+ String get dateRangeStartDateSemanticLabelRaw => 'Ọjọ́ tuntun ti dá';
549
554
-@override
555
-String get dateSeparator => '/';
550
+ @override
551
+ String get dateRangeStartLabel => 'Ọjọ́ tuntun ti dá';
552
557
-@override
558
-String get dialModeButtonLabel => 'Tọ́rọ̀ wakati';
553
+ @override
554
+ String get dateSeparator => '/';
555
560
-@override
561
-String get inputDateModeButtonLabel => 'Tọ́rọ̀ firanṣẹ̀ ọjọ́';
556
+ @override
557
+ String get dialModeButtonLabel => 'Tọ́rọ̀ wakati';
558
563
-@override
564
-String get inputTimeModeButtonLabel => 'Tọ́rọ̀ wakati bayi lọ́wọ́';
559
+ @override
560
+ String get inputDateModeButtonLabel => 'Tọ́rọ̀ firanṣẹ̀ ọjọ́';
561
566
-@override
567
-String get invalidDateFormatLabel => 'Akọ́kọ́tọ́ tó jẹ́kúnrin';
562
+ @override
563
+ String get inputTimeModeButtonLabel => 'Tọ́rọ̀ wakati bayi lọ́wọ́';
564
569
-@override
570
-String get invalidDateRangeLabel => 'Àmì jẹ́ káàkiri lẹ́yìn ilé';
565
+ @override
566
+ String get invalidDateFormatLabel => 'Akọ́kọ́tọ́ tó jẹ́kúnrin';
567
572
-@override
573
-String get invalidTimeLabel => 'Akọ́kọ́tọ́ àkójọ ìwádìí';
568
+ @override
569
+ String get invalidDateRangeLabel => 'Àmì jẹ́ káàkiri lẹ́yìn ilé';
570
575
-@override
576
-String get licensesPackageDetailTextOther => r'$licenseCount àwọn níkí';
571
+ @override
572
+ String get invalidTimeLabel => 'Akọ́kọ́tọ́ àkójọ ìwádìí';
573
578
-@override
579
-String get saveButtonLabel => 'TÙN DÁRA';
574
+ @override
575
+ String get licensesPackageDetailTextOther => r'$licenseCount àwọn níkí';
576
581
-@override
582
-String get selectYearSemanticsLabel => 'Fọ́ọ̀ shẹ́kàrà';
577
+ @override
578
+ String get saveButtonLabel => 'TÙN DÁRA';
579
584
-@override
585
-String get timePickerDialHelpText => 'WÁSÍ WÁKÀTÌ';
580
+ @override
581
+ String get selectYearSemanticsLabel => 'Fọ́ọ̀ shẹ́kàrà';
582
587
-@override
588
-String get timePickerHourLabel => 'Wákàtì àṣà';
583
+ @override
584
+ String get timePickerDialHelpText => 'WÁSÍ WÁKÀTÌ';
585
590
-@override
591
-String get timePickerInputHelpText => 'Shìgárà wákàtì';
586
+ @override
587
+ String get timePickerHourLabel => 'Wákàtì àṣà';
588
593
-@override
594
-String get timePickerMinuteLabel => 'Mìntì';
589
+ @override
590
+ String get timePickerInputHelpText => 'Shìgárà wákàtì';
591
596
-@override
597
-String get unspecifiedDate => 'Ọjọ̀kúnrin';
592
+ @override
593
+ String get timePickerMinuteLabel => 'Mìntì';
594
599
-@override
600
-String get unspecifiedDateRange => 'Ọjọ̀kúnrin àdáyọ̀';
595
+ @override
596
+ String get unspecifiedDate => 'Ọjọ̀kúnrin';
597
602
-@override
603
-String get keyboardKeyAlt => 'Alt';
598
+ @override
599
+ String get unspecifiedDateRange => 'Ọjọ̀kúnrin àdáyọ̀';
600
605
-@override
606
-String get keyboardKeyAltGraph => 'AltGraph';
601
+ @override
602
+ String get keyboardKeyAlt => 'Alt';
603
608
-@override
609
-String get keyboardKeyBackspace => 'Báckspàcè';
604
+ @override
605
+ String get keyboardKeyAltGraph => 'AltGraph';
606
611
-@override
612
-String get keyboardKeyCapsLock => 'Caps Lock';
607
+ @override
608
+ String get keyboardKeyBackspace => 'Báckspàcè';
609
614
-@override
615
-String get keyboardKeyChannelDown => 'Báyàkàmmàlàsàké';
610
+ @override
611
+ String get keyboardKeyCapsLock => 'Caps Lock';
612
617
-@override
618
-String get keyboardKeyChannelUp => 'Yíkàmmàlàsàké';
613
+ @override
614
+ String get keyboardKeyChannelDown => 'Báyàkàmmàlàsàké';
615
620
-@override
621
-String get keyboardKeyControl => 'Kọ́ntírọ̀l';
616
+ @override
617
+ String get keyboardKeyChannelUp => 'Yíkàmmàlàsàké';
618
623
-@override
624
-String get keyboardKeyDelete => 'Shápè';
619
+ @override
620
+ String get keyboardKeyControl => 'Kọ́ntírọ̀l';
621
+
622
+ @override
623
+ String get keyboardKeyDelete => 'Shápè';
624
626
-@override
627
-String get keyboardKeyEject => 'Èjẹ̀tì';
625
+ @override
626
+ String get keyboardKeyEject => 'Èjẹ̀tì';
627
629
-@override
630
-String get keyboardKeyEnd => 'Tàbí';
628
+ @override
629
+ String get keyboardKeyEnd => 'Tàbí';
630
632
-@override
633
-String get keyboardKeyEscape => 'Tòkè';
631
+ @override
632
+ String get keyboardKeyEscape => 'Tòkè';
633
634
@override
636
-String get keyboardKeyFn => 'Fn';
635
+ String get keyboardKeyFn => 'Fn';
636
638
-@override
639
-String get keyboardKeyHome => 'Ile';
637
+ @override
638
+ String get keyboardKeyHome => 'Ile';
639
641
-@override
642
-String get keyboardKeyInsert => 'Fi sori';
640
+ @override
641
+ String get keyboardKeyInsert => 'Fi sori';
642
644
-@override
645
-String get keyboardKeyMeta => 'Meta';
643
+ @override
644
+ String get keyboardKeyMeta => 'Meta';
645
647
-@override
648
-String get keyboardKeyMetaMacOs => 'Amfani pẹlu Command';
646
+ @override
647
+ String get keyboardKeyMetaMacOs => 'Amfani pẹlu Command';
648
650
-@override
651
-String get keyboardKeyMetaWindows => 'Windows';
649
+ @override
650
+ String get keyboardKeyMetaWindows => 'Windows';
651
652
@override
653
String get keyboardKeyNumLock => 'Num Lock';
@@ -751,6 +750,50 @@ String get keyboardKeyMetaWindows => 'Windows';
750
751
@override
752
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";
797
}
798
799
/// Cupertino Support
@@ -821,138 +864,158 @@ class YoCupertinoLocalizations extends GlobalCupertinoLocalizations {
864
required super.singleDigitSecondFormat,
865
});
866
824
-@override
825
-String get alertDialogLabel => 'Àdàkárò';
867
+ @override
868
+ String get alertDialogLabel => 'Àdàkárò';
869
827
-@override
828
-String get anteMeridiemAbbreviation => 'AM';
870
+ @override
871
+ String get anteMeridiemAbbreviation => 'AM';
872
830
-@override
831
-String get copyButtonLabel => 'Kòpy';
873
+ @override
874
+ String get copyButtonLabel => 'Kòpy';
875
833
-@override
834
-String get cutButtonLabel => 'Kọ́t';
876
+ @override
877
+ String get cutButtonLabel => 'Kọ́t';
878
836
-@override
837
-String get datePickerDateOrderString => 'mdy';
879
+ @override
880
+ String get datePickerDateOrderString => 'mdy';
881
839
-@override
840
-String get datePickerDateTimeOrderString => 'date_time_dayPeriod';
882
+ @override
883
+ String get datePickerDateTimeOrderString => 'date_time_dayPeriod';
884
842
-@override
843
-String? get datePickerHourSemanticsLabelFew => null;
885
+ @override
886
+ String? get datePickerHourSemanticsLabelFew => null;
887
845
-@override
846
-String? get datePickerHourSemanticsLabelMany => null;
888
+ @override
889
+ String? get datePickerHourSemanticsLabelMany => null;
890
848
-@override
849
-String? get datePickerHourSemanticsLabelOne => r"$hour o'clock";
891
+ @override
892
+ String? get datePickerHourSemanticsLabelOne => r"$hour o'clock";
893
851
-@override
852
-String get datePickerHourSemanticsLabelOther => r"$hour o'clock";
894
+ @override
895
+ String get datePickerHourSemanticsLabelOther => r"$hour o'clock";
896
854
-@override
855
-String? get datePickerHourSemanticsLabelTwo => null;
897
+ @override
898
+ String? get datePickerHourSemanticsLabelTwo => null;
899
857
-@override
858
-String? get datePickerHourSemanticsLabelZero => null;
900
+ @override
901
+ String? get datePickerHourSemanticsLabelZero => null;
902
860
-@override
861
-String? get datePickerMinuteSemanticsLabelFew => null;
903
+ @override
904
+ String? get datePickerMinuteSemanticsLabelFew => null;
905
863
-@override
864
-String? get datePickerMinuteSemanticsLabelMany => null;
906
+ @override
907
+ String? get datePickerMinuteSemanticsLabelMany => null;
908
866
-@override
867
-String? get datePickerMinuteSemanticsLabelOne => '1 wakati';
909
+ @override
910
+ String? get datePickerMinuteSemanticsLabelOne => '1 wakati';
911
869
-@override
870
-String get datePickerMinuteSemanticsLabelOther => r'$minute wakati';
912
+ @override
913
+ String get datePickerMinuteSemanticsLabelOther => r'$minute wakati';
914
872
-@override
873
-String? get datePickerMinuteSemanticsLabelTwo => null;
915
+ @override
916
+ String? get datePickerMinuteSemanticsLabelTwo => null;
917
875
-@override
876
-String? get datePickerMinuteSemanticsLabelZero => null;
918
+ @override
919
+ String? get datePickerMinuteSemanticsLabelZero => null;
920
878
-@override
879
-String get modalBarrierDismissLabel => 'Búta';
921
+ @override
922
+ String get modalBarrierDismissLabel => 'Búta';
923
881
-@override
882
-String get pasteButtonLabel => 'Tẹ́ẹ́';
924
+ @override
925
+ String get pasteButtonLabel => 'Tẹ́ẹ́';
926
884
-@override
885
-String get postMeridiemAbbreviation => 'PM';
927
+ @override
928
+ String get postMeridiemAbbreviation => 'PM';
929
887
-@override
888
-String get searchTextFieldPlaceholderLabel => 'Wúró àtúntà';
930
+ @override
931
+ String get searchTextFieldPlaceholderLabel => 'Wúró àtúntà';
932
890
-@override
891
-String get selectAllButtonLabel => 'Fírànsé gbógbo';
933
+ @override
934
+ String get selectAllButtonLabel => 'Fírànsé gbógbo';
935
893
-@override
894
-String get tabSemanticsLabelRaw => r'Tab $tabIndex nínú $tabCount';
936
+ @override
937
+ String get tabSemanticsLabelRaw => r'Tab $tabIndex nínú $tabCount';
938
896
-@override
897
-String? get timerPickerHourLabelFew => null;
939
+ @override
940
+ String? get timerPickerHourLabelFew => null;
941
899
-@override
900
-String? get timerPickerHourLabelMany => null;
942
+ @override
943
+ String? get timerPickerHourLabelMany => null;
944
902
-@override
903
-String? get timerPickerHourLabelOne => 'òǹdì';
945
+ @override
946
+ String? get timerPickerHourLabelOne => 'òǹdì';
947
905
-@override
906
-String get timerPickerHourLabelOther => 'òǹdì';
948
+ @override
949
+ String get timerPickerHourLabelOther => 'òǹdì';
950
908
-@override
909
-String? get timerPickerHourLabelTwo => null;
951
+ @override
952
+ String? get timerPickerHourLabelTwo => null;
953
911
-@override
912
-String? get timerPickerHourLabelZero => null;
954
+ @override
955
+ String? get timerPickerHourLabelZero => null;
956
914
-@override
915
-String? get timerPickerMinuteLabelFew => null;
957
+ @override
958
+ String? get timerPickerMinuteLabelFew => null;
959
917
-@override
918
-String? get timerPickerMinuteLabelMany => null;
960
+ @override
961
+ String? get timerPickerMinuteLabelMany => null;
962
920
-@override
921
-String? get timerPickerMinuteLabelOne => 'wakati.';
963
+ @override
964
+ String? get timerPickerMinuteLabelOne => 'wakati.';
965
923
-@override
924
-String get timerPickerMinuteLabelOther => 'wakati.';
966
+ @override
967
+ String get timerPickerMinuteLabelOther => 'wakati.';
968
926
-@override
927
-String? get timerPickerMinuteLabelTwo => null;
969
+ @override
970
+ String? get timerPickerMinuteLabelTwo => null;
971
929
-@override
930
-String? get timerPickerMinuteLabelZero => null;
972
+ @override
973
+ String? get timerPickerMinuteLabelZero => null;
974
932
-@override
933
-String? get timerPickerSecondLabelFew => null;
975
+ @override
976
+ String? get timerPickerSecondLabelFew => null;
977
935
-@override
936
-String? get timerPickerSecondLabelMany => null;
978
+ @override
979
+ String? get timerPickerSecondLabelMany => null;
980
938
-@override
939
-String? get timerPickerSecondLabelOne => 'dákìkà.';
981
+ @override
982
+ String? get timerPickerSecondLabelOne => 'dákìkà.';
983
941
-@override
942
-String get timerPickerSecondLabelOther => 'dákìkà.';
984
+ @override
985
+ String get timerPickerSecondLabelOther => 'dákìkà.';
986
944
-@override
945
-String? get timerPickerSecondLabelTwo => null;
987
+ @override
988
+ String? get timerPickerSecondLabelTwo => null;
989
947
-@override
948
-String? get timerPickerSecondLabelZero => null;
990
+ @override
991
+ String? get timerPickerSecondLabelZero => null;
992
950
-@override
951
-String get todayLabel => 'Oyọ';
993
+ @override
994
+ String get todayLabel => 'Oyọ';
995
996
static const LocalizationsDelegate<CupertinoLocalizations> delegate =
997
_YoCupertinoLocalizationsDelegate();
998
999
@override
1000
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";
1021
}
lib/src/screens/settings/security_backup_page.dart
+3
-1
@@ -1,3 +1,5 @@
1
+import 'dart:io';
2
+
3
import 'package:cake_wallet/core/auth_service.dart';
4
import 'package:cake_wallet/entities/pin_code_required_duration.dart';
5
import 'package:cake_wallet/routes.dart';
@@ -58,7 +60,7 @@ class SecurityBackupPage extends BasePage {
60
.shouldRequireTOTP2FAForAllSecurityAndBackupSettings,
61
),
62
),
61
- if (DeviceInfo.instance.isMobile)
63
+ if (DeviceInfo.instance.isMobile || Platform.isMacOS || Platform.isLinux)
64
Observer(builder: (_) {
65
return SettingsSwitcherCell(
66
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
+10
-4
@@ -1,8 +1,14 @@
1
-import 'package:cake_wallet/core/seed_validator.dart';
2
-import 'package:cw_core/wallet_type.dart';
1
import 'package:flutter/material.dart';
2
5
-class Annotation extends Comparable<Annotation> {
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> {
12
Annotation({required this.range, required this.style});
13
14
final TextRange range;
@@ -12,7 +18,7 @@ class Annotation extends Comparable<Annotation> {
18
int compareTo(Annotation other) => range.start.compareTo(other.range.start);
19
}
20
15
-class TextAnnotation extends Comparable<TextAnnotation> {
21
+class TextAnnotation implements Comparable<TextAnnotation> {
22
TextAnnotation({required this.text, required this.style});
23
24
final TextStyle style;
lib/view_model/auth_view_model.dart
+7
-8
@@ -1,5 +1,6 @@
1
import 'dart:async';
2
import 'package:flutter/material.dart';
3
+import 'package:flutter_local_authentication/flutter_local_authentication.dart';
4
import 'package:shared_preferences/shared_preferences.dart';
5
import 'package:mobx/mobx.dart';
6
import 'package:cake_wallet/view_model/auth_state.dart';
@@ -105,16 +106,14 @@ abstract class AuthViewModelBase with Store {
106
107
@action
108
Future<void> biometricAuth() async {
108
- try {
109
- final canBiometricAuth = await _biometricAuth.canCheckBiometrics();
110
-
111
- if (canBiometricAuth) {
112
- final isAuthenticated = await _biometricAuth.isAuthenticated();
109
+ final _flutterLocalAuthenticationPlugin = FlutterLocalAuthentication();
110
114
- if (isAuthenticated) {
115
- state = ExecutedSuccessfullyState();
116
- }
111
+ try {
112
+ final authenticated = await _flutterLocalAuthenticationPlugin.authenticate();
113
+ if (!authenticated) {
114
+ throw Exception('Biometric authentication failed');
115
}
116
+ state = ExecutedSuccessfullyState();
117
} catch (e) {
118
state = FailureState(e.toString());
119
}
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
36
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: ">=2.17.5 <3.0.0"
\ No newline at end of file
7
+ sdk: ">=3.1.0 <4.0.0"
\ No newline at end of file