From fb18a0e3b8dfdc98a92017b3bcbc92ef51324d7c Mon Sep 17 00:00:00 2001 From: Dan Ballard Date: Wed, 3 Nov 2021 21:41:58 -0700 Subject: [PATCH] fix serverliststate add to handle readds (happens on saving global settings) --- lib/models/servers.dart | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/lib/models/servers.dart b/lib/models/servers.dart index a2277e20..bf9710dd 100644 --- a/lib/models/servers.dart +++ b/lib/models/servers.dart @@ -19,8 +19,18 @@ class ServerListState extends ChangeNotifier { } void add(String onion, String serverBundle, bool running, String description, bool autoStart, bool isEncrypted) { - print("servers.add desc:$description autostart: $autoStart"); - _servers.add(ServerInfoState(onion: onion, serverBundle: serverBundle, running: running, description: description, autoStart: autoStart, isEncrypted: isEncrypted)); + var sis = ServerInfoState(onion: onion, serverBundle: serverBundle, running: running, description: description, autoStart: autoStart, isEncrypted: isEncrypted); + int idx = _servers.indexWhere((element) => element.onion == onion); + if (idx >= 0) { + _servers[idx] = sis; + } else { + _servers.add(ServerInfoState(onion: onion, + serverBundle: serverBundle, + running: running, + description: description, + autoStart: autoStart, + isEncrypted: isEncrypted)); + } notifyListeners(); }