Instantly refresh server connection state
This commit is contained in:
@@ -62,6 +62,7 @@ class ServerProvider extends BusyProvider {
|
|||||||
final singleData = await _getData(_servers[idx].info, idx);
|
final singleData = await _getData(_servers[idx].info, idx);
|
||||||
if (singleData != null) {
|
if (singleData != null) {
|
||||||
_servers[idx].status = singleData;
|
_servers[idx].status = singleData;
|
||||||
|
notifyListeners();
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -116,6 +117,7 @@ class ServerProvider extends BusyProvider {
|
|||||||
final state = _servers[idx].connectionState;
|
final state = _servers[idx].connectionState;
|
||||||
if (!connected || state != ServerConnectionState.connected) {
|
if (!connected || state != ServerConnectionState.connected) {
|
||||||
_servers[idx].connectionState = ServerConnectionState.connecting;
|
_servers[idx].connectionState = ServerConnectionState.connecting;
|
||||||
|
notifyListeners();
|
||||||
final time1 = DateTime.now();
|
final time1 = DateTime.now();
|
||||||
try {
|
try {
|
||||||
await client.connect();
|
await client.connect();
|
||||||
@@ -123,8 +125,10 @@ class ServerProvider extends BusyProvider {
|
|||||||
logger.info(
|
logger.info(
|
||||||
'Connected to [${info.name}] in [${time2.difference(time1).toString()}].');
|
'Connected to [${info.name}] in [${time2.difference(time1).toString()}].');
|
||||||
_servers[idx].connectionState = ServerConnectionState.connected;
|
_servers[idx].connectionState = ServerConnectionState.connected;
|
||||||
|
notifyListeners();
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
_servers[idx].connectionState = ServerConnectionState.failed;
|
_servers[idx].connectionState = ServerConnectionState.failed;
|
||||||
|
notifyListeners();
|
||||||
logger.warning(e);
|
logger.warning(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -146,10 +150,9 @@ class ServerProvider extends BusyProvider {
|
|||||||
tcp: _getTcp(tcp));
|
tcp: _getTcp(tcp));
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
_servers[idx].connectionState = ServerConnectionState.failed;
|
_servers[idx].connectionState = ServerConnectionState.failed;
|
||||||
|
notifyListeners();
|
||||||
logger.warning(e);
|
logger.warning(e);
|
||||||
return null;
|
return null;
|
||||||
} finally {
|
|
||||||
notifyListeners();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ class _ServerPageState extends State<ServerPage>
|
|||||||
case ServerConnectionState.disconnected:
|
case ServerConnectionState.disconnected:
|
||||||
return 'Disconnected';
|
return 'Disconnected';
|
||||||
case ServerConnectionState.connected:
|
case ServerConnectionState.connected:
|
||||||
return upTime;
|
return upTime == '' ? 'Loading...' : upTime;
|
||||||
case ServerConnectionState.connecting:
|
case ServerConnectionState.connecting:
|
||||||
return 'Connecting...';
|
return 'Connecting...';
|
||||||
case ServerConnectionState.failed:
|
case ServerConnectionState.failed:
|
||||||
|
|||||||
Reference in New Issue
Block a user