geofenceEvents static method
Enter / exit events, including ones that happened while the app was not running (delivered on listen).
Implementation
static Stream<UGeofenceEvent> geofenceEvents() {
if (kIsWeb) return _softEvents.stream;
final Stream<UGeofenceEvent> native = _geofence.receiveBroadcastStream().map((dynamic e) => UGeofenceEvent.fromMap(e as Map<Object?, Object?>)).handleError((Object _) {});
final StreamController<UGeofenceEvent> merged = StreamController<UGeofenceEvent>.broadcast();
StreamSubscription<UGeofenceEvent>? a;
StreamSubscription<UGeofenceEvent>? b;
merged
..onListen = () {
a = native.listen(merged.add);
b = _softEvents.stream.listen(merged.add);
}
..onCancel = () async {
await a?.cancel();
await b?.cancel();
await merged.close();
};
return merged.stream;
}