From 8c390e511ed93c5df1e874688caf068ae5c6ea24 Mon Sep 17 00:00:00 2001
From: poka <poka@p2p.legal>
Date: Fri, 27 May 2022 11:22:43 +0200
Subject: [PATCH] fix: empty endpoint text if node not connected

---
 lib/main.dart                    | 1 +
 lib/providers/home.dart          | 7 +++++--
 lib/providers/my_wallets.dart    | 6 ------
 lib/providers/substrate_sdk.dart | 1 +
 lib/screens/settings.dart        | 3 +--
 5 files changed, 8 insertions(+), 10 deletions(-)

diff --git a/lib/main.dart b/lib/main.dart
index 2cf37c30..f534cf7b 100644
--- a/lib/main.dart
+++ b/lib/main.dart
@@ -84,6 +84,7 @@ Future<void> main() async {
   endPointGVA = 'https://g1.librelois.fr/gva';
   // endPointGVA = 'https://duniter-g1.p2p.legal/gva';
   await _homeProvider.getValidEndpoints();
+  // log.d(await configBox.get('endpoint'));
 
   // if (endPointGVA == 'HS') {
   //   _homeProvider.playSound('faché', 0.8);
diff --git a/lib/providers/home.dart b/lib/providers/home.dart
index 4df43d01..66cd4e1b 100644
--- a/lib/providers/home.dart
+++ b/lib/providers/home.dart
@@ -61,7 +61,9 @@ class HomeProvider with ChangeNotifier {
     configBox.delete('endpoint');
 
     List _listEndpoints = [];
-    if (!configBox.containsKey('endpoint') || configBox.get('endpoint') == []) {
+    if (!configBox.containsKey('endpoint') ||
+        configBox.get('endpoint') == [] ||
+        configBox.get('endpoint') == '') {
       _listEndpoints = await rootBundle
           .loadString('config/gdev_endpoints.json')
           .then((jsonStr) => jsonDecode(jsonStr));
@@ -69,6 +71,8 @@ class HomeProvider with ChangeNotifier {
       configBox.put('endpoint', _listEndpoints);
     }
 
+    log.i('ENDPOINT: ' + _listEndpoints.toString());
+
     // int i = 0;
     // String? _endpoint;
     // int _statusCode = 0;
@@ -111,7 +115,6 @@ class HomeProvider with ChangeNotifier {
     //   }
     // } while (_statusCode != 400);
 
-    log.i('ENDPOINT: ' + _listEndpoints.toString());
     return _listEndpoints;
   }
 
diff --git a/lib/providers/my_wallets.dart b/lib/providers/my_wallets.dart
index 0d2f7d89..5049c5e5 100644
--- a/lib/providers/my_wallets.dart
+++ b/lib/providers/my_wallets.dart
@@ -21,12 +21,6 @@ class MyWalletsProvider with ChangeNotifier {
   }
 
   bool checkIfWalletExist() {
-    // configBox.delete('endpoint');
-    // if (!configBox.containsKey('endpoint') || configBox.get('endpoint') == []) {
-    //   log.d('No endpoint, configure...');
-    //   configBox.put('endpoint', 'wss://gdev.librelois.fr/ws');
-    // }
-
     if (chestBox.isEmpty) {
       log.i('No wallets detected');
       return false;
diff --git a/lib/providers/substrate_sdk.dart b/lib/providers/substrate_sdk.dart
index 8567c71b..c669c1be 100644
--- a/lib/providers/substrate_sdk.dart
+++ b/lib/providers/substrate_sdk.dart
@@ -48,6 +48,7 @@ class SubstrateSdk with ChangeNotifier {
     List<NetworkParams> node = [];
 
     for (String _endpoint in configBox.get('endpoint')) {
+      log.d(_endpoint);
       final n = NetworkParams();
       n.name = currencyName;
       n.endpoint = _endpoint;
diff --git a/lib/screens/settings.dart b/lib/screens/settings.dart
index 2f85a8a4..beab345c 100644
--- a/lib/screens/settings.dart
+++ b/lib/screens/settings.dart
@@ -30,13 +30,12 @@ class SettingsScreen extends StatelessWidget {
   @override
   Widget build(BuildContext context) {
     SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp]);
-    SubstrateSdk _sub = Provider.of<SubstrateSdk>(context, listen: false);
 
     const double buttonHigh = 50;
     const double buttonWidth = 240;
     const double fontSize = 16;
     TextEditingController _endpointController =
-        TextEditingController(text: _sub.getConnectedEndpoint());
+        TextEditingController(text: configBox.get('endpoint').first);
 
     // getAppDirectory();
     return Scaffold(
-- 
GitLab