initialize static method

Future initialize(
  1. BooleanObservable? connected
)

Implementation

static Future initialize(BooleanObservable? connected) async {

  // initialize should only run once
  if (_initialized.isCompleted || _initializing.isCompleted) return;

  // signal initializing in progress
  _initializing.complete(true);

  try {
    // set connected observable
    _connected = connected;

    // create connectivity
    _connection = Connectivity();

    // check connectivity
    List<ConnectivityResult> connections = await _connection.checkConnectivity();

    // check internet access
    var isConnected = false;
    if (connections.isNotEmpty) isConnected = await Internet.isConnected();
    _connected?.set(isConnected);

    // notify user
    if (!isConnected) System.toast(Phrases().checkConnection, duration: 3);

    // add connection listener to determine connection
    _connection.onConnectivityChanged.listen(_connectionListener);

  } catch (e) {
    _connected?.set(true);
    Log().debug('Error initializing connectivity');
  }

  // set initialized
  _initialized.complete(true);
}