From e4296bedd2a197d1678464f4dbfbe8a7ba4deb09 Mon Sep 17 00:00:00 2001 From: poka Date: Sun, 7 Nov 2021 07:25:15 +0100 Subject: [PATCH] Fix: State refresh when changing default wallet; State refresh whern deleting all wallets; Tests are OK --- lib/main.dart | 4 +++- lib/models/myWallets.dart | 3 --- lib/models/walletOptions.dart | 19 ------------------- lib/screens/myWallets/walletOptions.dart | 1 + lib/screens/settings.dart | 8 +++++++- 5 files changed, 11 insertions(+), 24 deletions(-) diff --git a/lib/main.dart b/lib/main.dart index b04164d..90bd4d4 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -43,9 +43,9 @@ Future main() async { WidgetsFlutterBinding.ensureInitialized(); HomeProvider _homeProvider = HomeProvider(); + MyWalletsProvider _walletsProvider = MyWalletsProvider(); appPath = await getApplicationDocumentsDirectory(); await _homeProvider.createDefaultAvatar(); - // _walletsProvider.getDefaultWallet(); appVersion = await _homeProvider.getAppVersion(); prefs = await SharedPreferences.getInstance(); @@ -56,6 +56,8 @@ Future main() async { chestBox = await Hive.openBox("chestBox"); configBox = await Hive.openBox("configBox"); + _walletsProvider.getDefaultWallet(); + // final HiveStore _store = // await HiveStore.open(path: '${appPath.path}/gqlCache'); diff --git a/lib/models/myWallets.dart b/lib/models/myWallets.dart index ac10889..3cd63c4 100644 --- a/lib/models/myWallets.dart +++ b/lib/models/myWallets.dart @@ -79,9 +79,6 @@ class MyWalletsProvider with ChangeNotifier { await walletBox.clear(); await chestBox.clear(); await configBox.delete('defaultWallet'); - checkIfWalletExist(); - notifyListeners(); - rebuildWidget(); Navigator.pop(context); } diff --git a/lib/models/walletOptions.dart b/lib/models/walletOptions.dart index 35c9cda..ba3da48 100644 --- a/lib/models/walletOptions.dart +++ b/lib/models/walletOptions.dart @@ -244,25 +244,6 @@ class WalletOptionsProvider with ChangeNotifier { ); } - Future 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) { final snackBar = SnackBar( content: diff --git a/lib/screens/myWallets/walletOptions.dart b/lib/screens/myWallets/walletOptions.dart index cd7eb8c..121e7c1 100644 --- a/lib/screens/myWallets/walletOptions.dart +++ b/lib/screens/myWallets/walletOptions.dart @@ -364,6 +364,7 @@ class WalletOptions extends StatelessWidget { defaultWallet = wallet; configBox.put('defaultWallet', wallet.id()); _myWalletProvider.readAllWallets(_currentChest); + _myWalletProvider.rebuildWidget(); } : null, child: SizedBox( diff --git a/lib/screens/settings.dart b/lib/screens/settings.dart index 56a2628..851a4c5 100644 --- a/lib/screens/settings.dart +++ b/lib/screens/settings.dart @@ -1,11 +1,13 @@ import 'package:flutter/material.dart'; import 'package:dubp/dubp.dart'; import 'package:flutter/services.dart'; +import 'package:gecko/models/home.dart'; import 'package:gecko/models/myWallets.dart'; import 'package:gecko/screens/myWallets/generateWallets.dart'; import 'dart:io'; import 'package:gecko/screens/myWallets/importWallet.dart'; import 'package:gecko/globals.dart'; +import 'package:provider/provider.dart'; // ignore: must_be_immutable class SettingsScreen extends StatelessWidget { @@ -25,6 +27,8 @@ class SettingsScreen extends StatelessWidget { @override Widget build(BuildContext context) { SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]); + HomeProvider _homeProvider = Provider.of(context); + // getAppDirectory(); return Scaffold( appBar: AppBar( @@ -91,7 +95,9 @@ class SettingsScreen extends StatelessWidget { ), onPressed: () async => { 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", style: TextStyle(fontSize: 20)))))),