Fix bugs on wallet creation again ...

This commit is contained in:
poka 2021-04-05 20:48:28 +02:00
parent 9d5f1daaa5
commit d65864225a
8 changed files with 35 additions and 19 deletions

View File

@ -54,9 +54,9 @@ Future<void> main() async {
endPointGVA = await _homeProvider.getValidEndpoint(); endPointGVA = await _homeProvider.getValidEndpoint();
if (endPointGVA == 'HS') { if (endPointGVA == 'HS') {
_homeProvider.playSound('faché'); _homeProvider.playSound('faché', 0.7);
} else { } else {
_homeProvider.playSound('start'); _homeProvider.playSound('start', 0.5);
} }
if (kReleaseMode && enableSentry) { if (kReleaseMode && enableSentry) {

View File

@ -125,9 +125,9 @@ class HomeProvider with ChangeNotifier {
notifyListeners(); notifyListeners();
} }
void playSound(String customSound) async { void playSound(String customSound, double volume) async {
await player.play('$customSound.wav', await player.play('$customSound.wav',
volume: 1, mode: PlayerMode.LOW_LATENCY, stayAwake: false); volume: volume, mode: PlayerMode.LOW_LATENCY, stayAwake: false);
} }
void handleSearchEnd() { void handleSearchEnd() {
@ -143,4 +143,8 @@ class HomeProvider with ChangeNotifier {
notifyListeners(); notifyListeners();
} }
void rebuildWidget() {
notifyListeners();
}
} }

View File

@ -129,20 +129,24 @@ class MyWalletsProvider with ChangeNotifier {
} }
Future<int> deleteAllWallet(context) async { Future<int> deleteAllWallet(context) async {
MyWalletsProvider _myWalletProvider =
Provider.of<MyWalletsProvider>(context, listen: false);
try { try {
log.w('DELETE THAT ?: $walletsDirectory'); log.w('DELETE THAT ?: $walletsDirectory');
final bool _answer = await _confirmDeletingAllWallets(context); final bool _answer = await _confirmDeletingAllWallets(context);
if (_answer) { if (_answer) {
await walletsDirectory.delete(recursive: true); await walletsDirectory.delete(recursive: true);
await defaultWalletFile.delete(); await defaultWalletFile.delete();
await walletsDirectory.create(); await walletsDirectory.create();
// await defaultWalletFile.create();
await initWalletFolder(); await initWalletFolder();
await Future.delayed(Duration(milliseconds: 500)); // await Future.delayed(Duration(milliseconds: 500));
// scheduleMicrotask(() {
notifyListeners(); notifyListeners();
rebuildWidget(); rebuildWidget();
_myWalletProvider.rebuildWidget();
// });
Navigator.pop(context); Navigator.pop(context);
} }
return 0; return 0;
@ -156,8 +160,6 @@ class MyWalletsProvider with ChangeNotifier {
context: context, context: context,
barrierDismissible: true, // user must tap button! barrierDismissible: true, // user must tap button!
builder: (BuildContext context) { builder: (BuildContext context) {
MyWalletsProvider _myWalletProvider =
Provider.of<MyWalletsProvider>(context);
return AlertDialog( return AlertDialog(
title: title:
Text('Êtes-vous sûr de vouloir supprimer tous vos trousseaux ?'), Text('Êtes-vous sûr de vouloir supprimer tous vos trousseaux ?'),
@ -172,11 +174,6 @@ class MyWalletsProvider with ChangeNotifier {
TextButton( TextButton(
child: Text("Oui"), child: Text("Oui"),
onPressed: () { onPressed: () {
WidgetsBinding.instance.addPostFrameCallback((_) {
_myWalletProvider.listWallets =
_myWalletProvider.readAllWallets(getCurrentChest());
_myWalletProvider.rebuildWidget();
});
Navigator.pop(context, true); Navigator.pop(context, true);
}, },
), ),

View File

@ -8,8 +8,10 @@ import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'dart:async'; import 'dart:async';
import 'package:gecko/globals.dart'; import 'package:gecko/globals.dart';
import 'package:gecko/models/home.dart';
import 'package:gecko/models/myWallets.dart'; import 'package:gecko/models/myWallets.dart';
import 'package:image_picker/image_picker.dart'; import 'package:image_picker/image_picker.dart';
import 'package:provider/provider.dart';
import 'package:truncate/truncate.dart'; import 'package:truncate/truncate.dart';
import 'package:qrscan/qrscan.dart' as scanner; import 'package:qrscan/qrscan.dart' as scanner;
@ -73,6 +75,8 @@ class WalletOptionsProvider with ChangeNotifier {
Future readLocalWallet( Future readLocalWallet(
context, WalletData _wallet, String _pin, int _pinLenght) async { context, WalletData _wallet, String _pin, int _pinLenght) async {
HomeProvider _homeProvider =
Provider.of<HomeProvider>(context, listen: false);
isWalletUnlock = false; isWalletUnlock = false;
try { try {
File _walletFile = File('${walletsDirectory.path}/0/wallet.dewif'); File _walletFile = File('${walletsDirectory.path}/0/wallet.dewif');
@ -85,12 +89,12 @@ class WalletOptionsProvider with ChangeNotifier {
'false') { 'false') {
this.pubkey.text = _localPubkey; this.pubkey.text = _localPubkey;
isWalletUnlock = true; isWalletUnlock = true;
return _localDewif; return _localDewif;
} else { } else {
throw 'Bad pubkey'; throw 'Bad pubkey';
} }
} catch (e) { } catch (e) {
_homeProvider.playSound('non', 0.6);
log.e('ERROR READING FILE: $e'); log.e('ERROR READING FILE: $e');
this.pubkey.clear(); this.pubkey.clear();
return 'bad'; return 'bad';

View File

@ -1,3 +1,5 @@
import 'dart:async';
import 'package:dubp/dubp.dart'; import 'package:dubp/dubp.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
@ -140,8 +142,12 @@ class ConfirmStoreWallet extends StatelessWidget with ChangeNotifier {
_myWalletProvider.listWallets = _myWalletProvider.listWallets =
_myWalletProvider _myWalletProvider
.readAllWallets(_currentChest); .readAllWallets(_currentChest);
_myWalletProvider.rebuildWidget(); scheduleMicrotask(() {
_myWalletProvider.rebuildWidget();
});
}); });
Navigator.popUntil(
context, ModalRoute.withName('/'));
} }
: null, : null,
child: Text('Confirmer', child: Text('Confirmer',

View File

@ -31,6 +31,8 @@ class WalletsHome extends StatelessWidget {
myWalletProvider.getDefaultWallet(); myWalletProvider.getDefaultWallet();
} }
log.d("${myWalletProvider.pinCode},${myWalletProvider.pinLenght}");
return WillPopScope( return WillPopScope(
onWillPop: () { onWillPop: () {
Navigator.popUntil( Navigator.popUntil(

View File

@ -111,6 +111,7 @@ class OnboardingStepFourteen extends StatelessWidget {
], ],
onCompleted: (_pin) async { onCompleted: (_pin) async {
_myWalletProvider.pinCode = _pin; _myWalletProvider.pinCode = _pin;
_myWalletProvider.pinLenght = _pinLenght;
final bool resultWallet = await _walletOptions.checkPinOK( final bool resultWallet = await _walletOptions.checkPinOK(
generatedWallet.dewif, _pin.toUpperCase(), _pinLenght); generatedWallet.dewif, _pin.toUpperCase(), _pinLenght);
if (resultWallet) { if (resultWallet) {
@ -118,9 +119,11 @@ class OnboardingStepFourteen extends StatelessWidget {
await _generateWalletProvider.storeHDWChest( await _generateWalletProvider.storeHDWChest(
generatedWallet, 'Mon portefeuille courant', context); generatedWallet, 'Mon portefeuille courant', context);
_myWalletProvider.readAllWallets(_currentChest); _myWalletProvider.readAllWallets(_currentChest);
_walletOptions.reloadBuild();
_myWalletProvider.rebuildWidget();
await _myWalletProvider.getDefaultWalletAsync(); await _myWalletProvider.getDefaultWalletAsync();
scheduleMicrotask(() {
_walletOptions.reloadBuild();
_myWalletProvider.rebuildWidget();
});
Navigator.push( Navigator.push(
context, context,
FaderTransition( FaderTransition(

View File

@ -5,7 +5,7 @@ description: Pay with G1.
# pub.dev using `pub publish`. This is preferred for private packages. # 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 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: environment:
sdk: ">=2.7.0 <3.0.0" sdk: ">=2.7.0 <3.0.0"