initialize method
void
initialize()
inherited
Implementation
void initialize() {
_eventChannel.receiveBroadcastStream()
.listen((event) async {
if (event is Map) {
Map<String, dynamic> ev = Map<String, dynamic>.from(event);
if (ev.containsKey("eventType")) {
if (ev["eventType"] == "receivedShare") {
_streamControllerReceivedData.sink.add(ShareData.fromJson(ev));
}
else if (ev["eventType"] == "fileContents") {
String uri = ev["uri"];
if (!_fileContentStreamControllers.containsKey(uri)) {
return;
}
List<int> intList = ev["chunk"].cast<int>().toList();
Uint8List chunkData = Uint8List.fromList(intList);
ev["chunk"] = chunkData;
ShareItemChunk chunk = ShareItemChunk.fromJson(ev);
_fileContentStreamControllers[uri]!.sink.add(chunk);
if (ev.containsKey("done") && ev["done"] == "true") {
_fileContentStreamControllers[uri]!.close();
_fileContentStreamControllers.remove(uri);
}
else {
_methodChannel.invokeMethod("continueFetch", {"uri": uri});
}
}
}
}
});
}