startup static method

void startup({
  1. List<String>? availabilityHosts,
})

Start network status listen (single)

If availabilityHosts is List

If availabilityHosts is null, only ConnectivityState.BLUETOOTH, ConnectivityState.WIFI, ConnectivityState.ETHERNET, ConnectivityState.MOBILE, ConnectivityState.NONE three events will be broadcast.

Implementation

static void startup({List<String>? availabilityHosts}) async {
  if (_listener == null) {
    Log.d("ConnectivityListener: startup");

    // Send notification immediately when first execution and no network
    final res = enumFromString(
        ConnectivityState.values,
        enumToString(await (Connectivity().checkConnectivity()))
            .toUpperCase());
    if (res == ConnectivityState.NONE) {
      _lastState = res;
      Log.d("ConnectivityListener: Fire ConnectivityEvent $_lastState");
      eventBus.fire(ConnectivityEvent(res));
    }

    // Start listen
    _listener = Connectivity()
        .onConnectivityChanged
        .listen((ConnectivityResult result) async {
      checkState(availabilityHosts: availabilityHosts);
    });
  } else {
    Log.d("ConnectivityListener: Fire ConnectivityEvent $_lastState");
    eventBus.fire(ConnectivityEvent(_lastState));
  }
}