diff --git a/lib/main.dart b/lib/main.dart index 5cc481d..bb6931e 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -54,9 +54,9 @@ Future main() async { endPointGVA = await _homeProvider.getValidEndpoint(); if (endPointGVA == 'HS') { - _homeProvider.playSound('faché'); + _homeProvider.playSound('faché', 0.7); } else { - _homeProvider.playSound('start'); + _homeProvider.playSound('start', 0.5); } if (kReleaseMode && enableSentry) { diff --git a/lib/models/home.dart b/lib/models/home.dart index 42ec662..0338ded 100644 --- a/lib/models/home.dart +++ b/lib/models/home.dart @@ -125,9 +125,9 @@ class HomeProvider with ChangeNotifier { notifyListeners(); } - void playSound(String customSound) async { + void playSound(String customSound, double volume) async { await player.play('$customSound.wav', - volume: 1, mode: PlayerMode.LOW_LATENCY, stayAwake: false); + volume: volume, mode: PlayerMode.LOW_LATENCY, stayAwake: false); } void handleSearchEnd() { @@ -143,4 +143,8 @@ class HomeProvider with ChangeNotifier { notifyListeners(); } + + void rebuildWidget() { + notifyListeners(); + } } diff --git a/lib/models/myWallets.dart b/lib/models/myWallets.dart index 5f43a1b..7bc4e5f 100644 --- a/lib/models/myWallets.dart +++ b/lib/models/myWallets.dart @@ -129,20 +129,24 @@ class MyWalletsProvider with ChangeNotifier { } Future deleteAllWallet(context) async { + MyWalletsProvider _myWalletProvider = + Provider.of(context, listen: false); try { log.w('DELETE THAT ?: $walletsDirectory'); final bool _answer = await _confirmDeletingAllWallets(context); - if (_answer) { await walletsDirectory.delete(recursive: true); await defaultWalletFile.delete(); await walletsDirectory.create(); - // await defaultWalletFile.create(); await initWalletFolder(); - await Future.delayed(Duration(milliseconds: 500)); + // await Future.delayed(Duration(milliseconds: 500)); + // scheduleMicrotask(() { notifyListeners(); rebuildWidget(); + _myWalletProvider.rebuildWidget(); + // }); + Navigator.pop(context); } return 0; @@ -156,8 +160,6 @@ class MyWalletsProvider with ChangeNotifier { context: context, barrierDismissible: true, // user must tap button! builder: (BuildContext context) { - MyWalletsProvider _myWalletProvider = - Provider.of(context); return AlertDialog( title: Text('Êtes-vous sûr de vouloir supprimer tous vos trousseaux ?'), @@ -172,11 +174,6 @@ class MyWalletsProvider with ChangeNotifier { TextButton( child: Text("Oui"), onPressed: () { - WidgetsBinding.instance.addPostFrameCallback((_) { - _myWalletProvider.listWallets = - _myWalletProvider.readAllWallets(getCurrentChest()); - _myWalletProvider.rebuildWidget(); - }); Navigator.pop(context, true); }, ), diff --git a/lib/models/walletOptions.dart b/lib/models/walletOptions.dart index 55974fa..5b43384 100644 --- a/lib/models/walletOptions.dart +++ b/lib/models/walletOptions.dart @@ -8,8 +8,10 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'dart:async'; import 'package:gecko/globals.dart'; +import 'package:gecko/models/home.dart'; import 'package:gecko/models/myWallets.dart'; import 'package:image_picker/image_picker.dart'; +import 'package:provider/provider.dart'; import 'package:truncate/truncate.dart'; import 'package:qrscan/qrscan.dart' as scanner; @@ -73,6 +75,8 @@ class WalletOptionsProvider with ChangeNotifier { Future readLocalWallet( context, WalletData _wallet, String _pin, int _pinLenght) async { + HomeProvider _homeProvider = + Provider.of(context, listen: false); isWalletUnlock = false; try { File _walletFile = File('${walletsDirectory.path}/0/wallet.dewif'); @@ -85,12 +89,12 @@ class WalletOptionsProvider with ChangeNotifier { 'false') { this.pubkey.text = _localPubkey; isWalletUnlock = true; - return _localDewif; } else { throw 'Bad pubkey'; } } catch (e) { + _homeProvider.playSound('non', 0.6); log.e('ERROR READING FILE: $e'); this.pubkey.clear(); return 'bad'; diff --git a/lib/screens/myWallets/confirmWalletStorage.dart b/lib/screens/myWallets/confirmWalletStorage.dart index f8e817e..3669fae 100644 --- a/lib/screens/myWallets/confirmWalletStorage.dart +++ b/lib/screens/myWallets/confirmWalletStorage.dart @@ -1,3 +1,5 @@ +import 'dart:async'; + import 'package:dubp/dubp.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -140,8 +142,12 @@ class ConfirmStoreWallet extends StatelessWidget with ChangeNotifier { _myWalletProvider.listWallets = _myWalletProvider .readAllWallets(_currentChest); - _myWalletProvider.rebuildWidget(); + scheduleMicrotask(() { + _myWalletProvider.rebuildWidget(); + }); }); + Navigator.popUntil( + context, ModalRoute.withName('/')); } : null, child: Text('Confirmer', diff --git a/lib/screens/myWallets/walletsHome.dart b/lib/screens/myWallets/walletsHome.dart index db25c18..5105743 100644 --- a/lib/screens/myWallets/walletsHome.dart +++ b/lib/screens/myWallets/walletsHome.dart @@ -31,6 +31,8 @@ class WalletsHome extends StatelessWidget { myWalletProvider.getDefaultWallet(); } + log.d("${myWalletProvider.pinCode},${myWalletProvider.pinLenght}"); + return WillPopScope( onWillPop: () { Navigator.popUntil( diff --git a/lib/screens/onBoarding/12.dart b/lib/screens/onBoarding/12.dart index 1999b09..7d10415 100644 --- a/lib/screens/onBoarding/12.dart +++ b/lib/screens/onBoarding/12.dart @@ -111,6 +111,7 @@ class OnboardingStepFourteen extends StatelessWidget { ], onCompleted: (_pin) async { _myWalletProvider.pinCode = _pin; + _myWalletProvider.pinLenght = _pinLenght; final bool resultWallet = await _walletOptions.checkPinOK( generatedWallet.dewif, _pin.toUpperCase(), _pinLenght); if (resultWallet) { @@ -118,9 +119,11 @@ class OnboardingStepFourteen extends StatelessWidget { await _generateWalletProvider.storeHDWChest( generatedWallet, 'Mon portefeuille courant', context); _myWalletProvider.readAllWallets(_currentChest); - _walletOptions.reloadBuild(); - _myWalletProvider.rebuildWidget(); await _myWalletProvider.getDefaultWalletAsync(); + scheduleMicrotask(() { + _walletOptions.reloadBuild(); + _myWalletProvider.rebuildWidget(); + }); Navigator.push( context, FaderTransition( diff --git a/pubspec.yaml b/pubspec.yaml index 8d692e1..268bca8 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -5,7 +5,7 @@ description: Pay with G1. # pub.dev using `pub publish`. This is preferred for private packages. publish_to: 'none' # Remove this line if you wish to publish to pub.dev -version: 0.0.2+2 +version: 0.0.2+4 environment: sdk: ">=2.7.0 <3.0.0"