diff --git a/lib/data/provider/server.dart b/lib/data/provider/server.dart index 33b2acb1..1355c818 100644 --- a/lib/data/provider/server.dart +++ b/lib/data/provider/server.dart @@ -62,6 +62,7 @@ class ServerProvider extends BusyProvider { final singleData = await _getData(_servers[idx].info, idx); if (singleData != null) { _servers[idx].status = singleData; + notifyListeners(); } return; } @@ -116,6 +117,7 @@ class ServerProvider extends BusyProvider { final state = _servers[idx].connectionState; if (!connected || state != ServerConnectionState.connected) { _servers[idx].connectionState = ServerConnectionState.connecting; + notifyListeners(); final time1 = DateTime.now(); try { await client.connect(); @@ -123,8 +125,10 @@ class ServerProvider extends BusyProvider { logger.info( 'Connected to [${info.name}] in [${time2.difference(time1).toString()}].'); _servers[idx].connectionState = ServerConnectionState.connected; + notifyListeners(); } catch (e) { _servers[idx].connectionState = ServerConnectionState.failed; + notifyListeners(); logger.warning(e); } } @@ -146,10 +150,9 @@ class ServerProvider extends BusyProvider { tcp: _getTcp(tcp)); } catch (e) { _servers[idx].connectionState = ServerConnectionState.failed; + notifyListeners(); logger.warning(e); return null; - } finally { - notifyListeners(); } } diff --git a/lib/view/page/server/tab.dart b/lib/view/page/server/tab.dart index 5ffa30eb..c25934bf 100644 --- a/lib/view/page/server/tab.dart +++ b/lib/view/page/server/tab.dart @@ -154,7 +154,7 @@ class _ServerPageState extends State case ServerConnectionState.disconnected: return 'Disconnected'; case ServerConnectionState.connected: - return upTime; + return upTime == '' ? 'Loading...' : upTime; case ServerConnectionState.connecting: return 'Connecting...'; case ServerConnectionState.failed: