onConnectivityChanged property
Stream of connectivity status changes
Implementation
@override
Stream<List<String>> get onConnectivityChanged {
_onConnectivityChanged ??= eventChannel
.receiveBroadcastStream()
.map<List<String>>((dynamic event) {
if (event == null) {
return ['none'];
}
// Handle both List and single String
if (event is List) {
return event.map((e) => e.toString()).toList();
} else if (event is String) {
return [event];
} else {
return ['none'];
}
})
.handleError((error) {
if (kDebugMode) {
print('NetworkWatcher stream error: $error');
}
return ['none'];
})
.distinct() // Prevent duplicate consecutive events
.asBroadcastStream();
return _onConnectivityChanged!;
}