Fix: State refresh when changing default wallet; State refresh whern deleting all wallets; Tests are OK

This commit is contained in:
poka 2021-11-07 07:25:15 +01:00
parent 6c1fb47799
commit e4296bedd2
5 changed files with 11 additions and 24 deletions

View File

@ -43,9 +43,9 @@ Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized(); WidgetsFlutterBinding.ensureInitialized();
HomeProvider _homeProvider = HomeProvider(); HomeProvider _homeProvider = HomeProvider();
MyWalletsProvider _walletsProvider = MyWalletsProvider();
appPath = await getApplicationDocumentsDirectory(); appPath = await getApplicationDocumentsDirectory();
await _homeProvider.createDefaultAvatar(); await _homeProvider.createDefaultAvatar();
// _walletsProvider.getDefaultWallet();
appVersion = await _homeProvider.getAppVersion(); appVersion = await _homeProvider.getAppVersion();
prefs = await SharedPreferences.getInstance(); prefs = await SharedPreferences.getInstance();
@ -56,6 +56,8 @@ Future<void> main() async {
chestBox = await Hive.openBox("chestBox"); chestBox = await Hive.openBox("chestBox");
configBox = await Hive.openBox("configBox"); configBox = await Hive.openBox("configBox");
_walletsProvider.getDefaultWallet();
// final HiveStore _store = // final HiveStore _store =
// await HiveStore.open(path: '${appPath.path}/gqlCache'); // await HiveStore.open(path: '${appPath.path}/gqlCache');

View File

@ -79,9 +79,6 @@ class MyWalletsProvider with ChangeNotifier {
await walletBox.clear(); await walletBox.clear();
await chestBox.clear(); await chestBox.clear();
await configBox.delete('defaultWallet'); await configBox.delete('defaultWallet');
checkIfWalletExist();
notifyListeners();
rebuildWidget();
Navigator.pop(context); Navigator.pop(context);
} }

View File

@ -244,25 +244,6 @@ class WalletOptionsProvider with ChangeNotifier {
); );
} }
Future<NewWallet> changePin(_name, _oldPin) async {
try {
final _dewif = chestBox.get(0);
NewWallet newWalletFile = await DubpRust.changeDewifPin(
dewif: _dewif,
oldPin: _oldPin,
);
newPin.text = newWalletFile.pin;
ischangedPin = true;
// notifyListeners();
return newWalletFile;
} catch (e) {
log.e('Impossible de changer le code PIN.');
return badWallet;
}
}
snackCopyKey(context) { snackCopyKey(context) {
final snackBar = SnackBar( final snackBar = SnackBar(
content: content:

View File

@ -364,6 +364,7 @@ class WalletOptions extends StatelessWidget {
defaultWallet = wallet; defaultWallet = wallet;
configBox.put('defaultWallet', wallet.id()); configBox.put('defaultWallet', wallet.id());
_myWalletProvider.readAllWallets(_currentChest); _myWalletProvider.readAllWallets(_currentChest);
_myWalletProvider.rebuildWidget();
} }
: null, : null,
child: SizedBox( child: SizedBox(

View File

@ -1,11 +1,13 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:dubp/dubp.dart'; import 'package:dubp/dubp.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:gecko/models/home.dart';
import 'package:gecko/models/myWallets.dart'; import 'package:gecko/models/myWallets.dart';
import 'package:gecko/screens/myWallets/generateWallets.dart'; import 'package:gecko/screens/myWallets/generateWallets.dart';
import 'dart:io'; import 'dart:io';
import 'package:gecko/screens/myWallets/importWallet.dart'; import 'package:gecko/screens/myWallets/importWallet.dart';
import 'package:gecko/globals.dart'; import 'package:gecko/globals.dart';
import 'package:provider/provider.dart';
// ignore: must_be_immutable // ignore: must_be_immutable
class SettingsScreen extends StatelessWidget { class SettingsScreen extends StatelessWidget {
@ -25,6 +27,8 @@ class SettingsScreen extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
HomeProvider _homeProvider = Provider.of<HomeProvider>(context);
// getAppDirectory(); // getAppDirectory();
return Scaffold( return Scaffold(
appBar: AppBar( appBar: AppBar(
@ -91,7 +95,9 @@ class SettingsScreen extends StatelessWidget {
), ),
onPressed: () async => { onPressed: () async => {
log.i('Suppression de tous les wallets'), log.i('Suppression de tous les wallets'),
await _myWallets.deleteAllWallet(context) await _myWallets
.deleteAllWallet(context)
.then((v) => _homeProvider.rebuildWidget())
}, },
child: Text("EFFACER TOUS MES PORTEFEUILLES", child: Text("EFFACER TOUS MES PORTEFEUILLES",
style: TextStyle(fontSize: 20)))))), style: TextStyle(fontSize: 20)))))),