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});
          }
        }
      }
    }
  });
}