initialize static method
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);
}