checkState static method

Future<ConnectivityState> checkState({
  1. List<String>? availabilityHosts,
})

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;
}