handleInitEvent method

Implementation

Stream<FastConnectivityStatusBlocState> handleInitEvent(
  FastConnectivityStatusBlocEventPayload? payload,
) async* {
  if (canInitialize) {
    isInitializing = true;

    yield currentState.copyWith(
      isInitializing: isInitializing,
      isCheckingConnectivity: true,
    );

    service = FastConnectivityService(
      checkInterval: payload?.checkInterval ?? kFastConnectivityCheckInterval,
      checkTimeout: payload?.checkTimeout ?? kFastConnectivityCheckTimeout,
      checkAddresses:
          payload?.checkAddresses ?? kFastConnectivityCheckAddresses,
      checkPorts: payload?.checkPorts ?? kFastConnectivityCheckPorts,
    );

    if (connectivitySubscription != null) {
      disposeConnectivityStream();
    }

    connectivitySubscription = listenToConnectivityStatusChanges();

    subxList.addAll([
      listenToAppLifecycleChanges(),
      connectivitySubscription!,
    ]);

    final (deviceConnected, serviceAvailable) = await _checkConnectivity();

    addEvent(FastConnectivityStatusBlocEvent.initialized(
      deviceConnected,
      serviceAvailable,
    ));
  }
}