From 687e14de3f0d8adb036eff8fd8b9963f0691c4ec Mon Sep 17 00:00:00 2001 From: poka Date: Sun, 28 Mar 2021 21:37:12 +0200 Subject: [PATCH 1/2] Cesium+ Pod in global variable; Fix 2 bugs in walletOptions --- lib/globals.dart | 2 ++ lib/models/cesiumPlus.dart | 2 +- lib/models/queries.dart | 1 + lib/screens/myWallets/unlockingWallet.dart | 2 +- lib/screens/myWallets/walletOptions.dart | 8 ++++++-- 5 files changed, 11 insertions(+), 4 deletions(-) diff --git a/lib/globals.dart b/lib/globals.dart index e500877..0976305 100644 --- a/lib/globals.dart +++ b/lib/globals.dart @@ -13,6 +13,8 @@ SharedPreferences prefs; String endPointGVA; int ramSys; +String cesiumPod = "https://g1.data.le-sou.org"; + // Responsive ratios bool isTall; double ratio; diff --git a/lib/models/cesiumPlus.dart b/lib/models/cesiumPlus.dart index 7cbe5e4..9084773 100644 --- a/lib/models/cesiumPlus.dart +++ b/lib/models/cesiumPlus.dart @@ -51,7 +51,7 @@ class CesiumPlusProvider with ChangeNotifier { "indices_boost": {"user": 100, "page": 1, "group": 0.01} }); - String cesiumPod = "https://g1.data.le-sou.org"; + String requestUrl = "/user,page,group/profile,record/_search"; String podRequest = cesiumPod + requestUrl; diff --git a/lib/models/queries.dart b/lib/models/queries.dart index 72ba0e9..45e15fd 100644 --- a/lib/models/queries.dart +++ b/lib/models/queries.dart @@ -62,3 +62,4 @@ const String getBalance = r''' } } '''; + diff --git a/lib/screens/myWallets/unlockingWallet.dart b/lib/screens/myWallets/unlockingWallet.dart index eb70588..c52fe45 100644 --- a/lib/screens/myWallets/unlockingWallet.dart +++ b/lib/screens/myWallets/unlockingWallet.dart @@ -144,7 +144,7 @@ class UnlockingWallet extends StatelessWidget { pinColor = Colors.green[400]; // await Future.delayed(Duration(milliseconds: 50)); Navigator.push( - context, + formKey.currentContext, SmoothTransition( page: WalletOptions( walletNbr: walletNbr, diff --git a/lib/screens/myWallets/walletOptions.dart b/lib/screens/myWallets/walletOptions.dart index 82d96f2..7ae59fa 100644 --- a/lib/screens/myWallets/walletOptions.dart +++ b/lib/screens/myWallets/walletOptions.dart @@ -12,7 +12,7 @@ import 'package:provider/provider.dart'; import 'package:flutter/services.dart'; // ignore: must_be_immutable -class WalletOptions extends StatelessWidget with ChangeNotifier { +class WalletOptions extends StatelessWidget { WalletOptions( {Key keyMyWallets, @required this.walletNbr, @@ -160,7 +160,7 @@ class WalletOptions extends StatelessWidget with ChangeNotifier { variables: { 'pubkey': _walletOptions.pubkey.text, }, - pollInterval: Duration(seconds: 1), + // pollInterval: Duration(seconds: 1), ), builder: (QueryResult result, {VoidCallback refetch, FetchMore fetchMore}) { @@ -171,6 +171,10 @@ class WalletOptions extends StatelessWidget with ChangeNotifier { if (result.isLoading) { return Text('Loading'); } + + // TODO: catch links errors + print(result); + // List repositories = result.data['viewer']['repositories']['nodes']; String wBalanceUD; if (result.data['balance'] == null) { From 71f65995f0c4bd03a890286c05b0d760556d89dc Mon Sep 17 00:00:00 2001 From: poka Date: Mon, 29 Mar 2021 00:52:25 +0200 Subject: [PATCH 2/2] Fix bad rebuild view when change default wallet --- lib/models/cesiumPlus.dart | 1 - lib/models/myWallets.dart | 10 +++---- lib/models/queries.dart | 1 - lib/models/walletOptions.dart | 12 ++++----- lib/screens/myWallets/walletOptions.dart | 34 +++++++++++------------- 5 files changed, 27 insertions(+), 31 deletions(-) diff --git a/lib/models/cesiumPlus.dart b/lib/models/cesiumPlus.dart index 9084773..d0ebf05 100644 --- a/lib/models/cesiumPlus.dart +++ b/lib/models/cesiumPlus.dart @@ -51,7 +51,6 @@ class CesiumPlusProvider with ChangeNotifier { "indices_boost": {"user": 100, "page": 1, "group": 0.01} }); - String requestUrl = "/user,page,group/profile,record/_search"; String podRequest = cesiumPod + requestUrl; diff --git a/lib/models/myWallets.dart b/lib/models/myWallets.dart index ed89498..832c917 100644 --- a/lib/models/myWallets.dart +++ b/lib/models/myWallets.dart @@ -9,7 +9,7 @@ class MyWalletsProvider with ChangeNotifier { String listWallets; Future initWalletFolder() async { - await getDefaultWallet(); + getDefaultWallet(); final bool isWalletFolderExist = await walletsDirectory.exists(); if (!isWalletFolderExist) { @@ -84,17 +84,17 @@ class MyWalletsProvider with ChangeNotifier { return listWallets; } - Future getDefaultWallet() async { + void getDefaultWallet() { defaultWalletFile = File('${appPath.path}/defaultWallet'); - bool isdefaultWalletFile = await defaultWalletFile.exists(); + bool isdefaultWalletFile = defaultWalletFile.existsSync(); if (!isdefaultWalletFile) { - await File(defaultWalletFile.path).create(); + File(defaultWalletFile.path).createSync(); } try { - defaultWallet = await defaultWalletFile.readAsString(); + defaultWallet = defaultWalletFile.readAsStringSync(); } catch (e) { defaultWallet = '0:0'; } diff --git a/lib/models/queries.dart b/lib/models/queries.dart index 45e15fd..72ba0e9 100644 --- a/lib/models/queries.dart +++ b/lib/models/queries.dart @@ -62,4 +62,3 @@ const String getBalance = r''' } } '''; - diff --git a/lib/models/walletOptions.dart b/lib/models/walletOptions.dart index 31dfb81..6c4a1b2 100644 --- a/lib/models/walletOptions.dart +++ b/lib/models/walletOptions.dart @@ -22,6 +22,7 @@ class WalletOptionsProvider with ChangeNotifier { FocusNode walletNameFocus = FocusNode(); TextEditingController nameController = TextEditingController(); String walletID; + bool isDefaultWallet; Future get badWallet => null; @@ -356,12 +357,11 @@ class WalletOptionsProvider with ChangeNotifier { return await scanner.generateBarCode(_pubkey); } - Future defAsDefaultWallet(String _id) async { - await defaultWalletFile.delete(); - await defaultWalletFile.create(); - await defaultWalletFile - .writeAsString(_id) - .then((value) => notifyListeners()); + void defAsDefaultWallet(String _id) { + defaultWalletFile.deleteSync(); + defaultWalletFile.createSync(); + defaultWalletFile.writeAsStringSync(_id); + notifyListeners(); } Future changeAvatar() async { diff --git a/lib/screens/myWallets/walletOptions.dart b/lib/screens/myWallets/walletOptions.dart index 7ae59fa..88d731d 100644 --- a/lib/screens/myWallets/walletOptions.dart +++ b/lib/screens/myWallets/walletOptions.dart @@ -24,7 +24,6 @@ class WalletOptions extends StatelessWidget { int derivation; int _nbrLinesName = 1; bool _isNewNameValid = false; - bool isDefaultWallet; @override Widget build(BuildContext context) { @@ -46,7 +45,6 @@ class WalletOptions extends StatelessWidget { } else { walletName = _walletOptions.nameController.text; } - _walletOptions.walletID = '0:$walletNbr'; _walletOptions.nameController.text.length >= 15 ? _nbrLinesName = 2 @@ -54,9 +52,13 @@ class WalletOptions extends StatelessWidget { if (_walletOptions.nameController.text.length >= 26 && isTall) _nbrLinesName = 3; + _walletOptions.walletID = '0:$walletNbr'; + + _myWalletProvider.getDefaultWallet(); + defaultWallet == _walletOptions.walletID - ? isDefaultWallet = true - : isDefaultWallet = false; + ? _walletOptions.isDefaultWallet = true + : _walletOptions.isDefaultWallet = false; // print(_walletOptions.generateQRcode(_walletOptions.pubkey.text)); @@ -172,7 +174,6 @@ class WalletOptions extends StatelessWidget { return Text('Loading'); } - // TODO: catch links errors print(result); // List repositories = result.data['viewer']['repositories']['nodes']; @@ -366,15 +367,12 @@ class WalletOptions extends StatelessWidget { ]))), SizedBox(height: 12 * ratio), InkWell( - onTap: !isDefaultWallet - ? () async { - await _walletOptions - .defAsDefaultWallet(_walletOptions.walletID) - .then((value) => { - _myWalletProvider - .getAllWalletsNames(_currentChest), - _myWalletProvider.rebuildWidget() - }); + onTap: !_walletOptions.isDefaultWallet + ? () { + defaultWallet = '0:$walletNbr'; + _walletOptions + .defAsDefaultWallet(_walletOptions.walletID); + _myWalletProvider.getAllWalletsNames(_currentChest); } : null, child: SizedBox( @@ -382,19 +380,19 @@ class WalletOptions extends StatelessWidget { child: Row(children: [ SizedBox(width: 31), CircleAvatar( - backgroundColor: - Colors.grey[isDefaultWallet ? 300 : 500], + backgroundColor: Colors.grey[ + _walletOptions.isDefaultWallet ? 300 : 500], child: Image.asset( 'assets/walletOptions/android-checkmark.png', )), SizedBox(width: 12), Text( - isDefaultWallet + _walletOptions.isDefaultWallet ? 'Ce portefeuille est celui par defaut' : 'Définir comme portefeuille par défaut', style: TextStyle( fontSize: 20, - color: isDefaultWallet + color: _walletOptions.isDefaultWallet ? Colors.grey[500] : Colors.black)), ]))),