checkState static method
Sample usage to check current state.
If availabilityHosts
is List
If availabilityHosts
is null, ConnectivityListener.availabilityHosts
will be used. if both are null, only return ConnectivityState.BLUETOOTH,
ConnectivityState.WIFI, ConnectivityState.ETHERNET,
ConnectivityState.MOBILE, ConnectivityState.NONE three states.
final state = await ConnectivityListener.checkState();
// ------ or ------
final state = await ConnectivityListener.checkState(
availabilityHosts:['google.com', 'youtube.com'],
);
// ------ or ------
ConnectivityListener.startup(
availabilityHosts: ['google.com', 'youtube.com'],
);
final state = await ConnectivityListener.checkState();
Implementation
static Future<ConnectivityState> checkState(
{List<String>? availabilityHosts}) async {
final res = enumFromString(ConnectivityState.values,
enumToString(await (Connectivity().checkConnectivity())).toUpperCase());
_lastState = res;
Log.d("ConnectivityListener: Fire ConnectivityEvent $_lastState");
eventBus.fire(ConnectivityEvent(res));
if (availabilityHosts != null && res != ConnectivityState.NONE) {
var availabilityRes = await _Availability.check(res, availabilityHosts);
if (availabilityRes != null) {
_lastState = availabilityRes;
Log.d("ConnectivityListener: Fire ConnectivityEvent $_lastState");
eventBus.fire(ConnectivityEvent(availabilityRes));
}
return availabilityRes ?? res;
}
return res;
}