MidiPort constructor Null safety

MidiPort(
  1. String id,
  2. {String? manufacturer,
  3. String? name,
  4. MidiPortType? type,
  5. String? version,
  6. int? number}
)

Implementation

MidiPort(
  this.id, {
  this.manufacturer,
  this.name,
  this.type,
  this.version,
  this.number,
}) {
  _connectionController.add(MidiPortConnectionState.closed);
  _stateController.add(MidiPortDeviceState.connected);

  _events = MidiPlatform.instance
      .deviceEvents()
      .where((dynamic args) => args['id'] == id)
      .listen((dynamic args) {
    if (args[state] == Constants.connected) {
      _stateController.add(MidiPortDeviceState.connected);
      _connectionController.add(MidiPortConnectionState.closed);
    } else {
      _stateController.add(MidiPortDeviceState.disconnected);
      _connectionController.add(MidiPortConnectionState.closed);
    }
  });
}