init method
Implementation
Future<void> init() async {
try {
// Get initial connectivity status
final connectivityResult = await _connectivity.checkConnectivity();
_isConnected = !connectivityResult.contains(ConnectivityResult.none);
_connectivityController.add(_isConnected);
debugPrint(
'Initial connectivity: ${_isConnected ? 'Connected' : 'Disconnected'}');
// Listen to connectivity changes
_connectivity.onConnectivityChanged
.listen((List<ConnectivityResult> results) {
final wasConnected = _isConnected;
_isConnected = results.isNotEmpty &&
results.any((result) => result != ConnectivityResult.none);
debugPrint(
'Connectivity changed: ${_isConnected ? 'Connected' : 'Disconnected'}');
// Only emit if status actually changed
if (wasConnected != _isConnected) {
_connectivityController.add(_isConnected);
}
});
} catch (e) {
debugPrint('Failed to initialize connectivity service: $e');
// Assume connected by default
_isConnected = true;
_connectivityController.add(true);
}
}