DataSourceListener constructor

DataSourceListener({
  1. void onPlayingStatusChanged(
    1. DataType dataType,
    2. PlayingStatus status
    )?,
  2. void onDataInterruptionEvent(
    1. DataType dataType,
    2. DataInterruptionReason reason,
    3. bool ended
    )?,
  3. void onNewData(
    1. SenseData data
    )?,
  4. void onProgressChanged(
    1. int
    )?,
})

Creates a new DataSourceListener and optionally registers the provided callbacks.

The factory returns a ready-to-use listener. Any non-null callback will be registered on the returned instance.

Parameters

  • onPlayingStatusChanged: Called when a data type's playing status changes. Arguments:
  • onDataInterruptionEvent: Called when data for a data type is interrupted. Arguments:
    • dataType: The DataType affected by the interruption.
    • reason: The DataInterruptionReason for the interruption.
    • ended: true when the interruption ended, false when it started.
  • onNewData: Called when new SenseData is available. Arguments:
  • onProgressChanged: Called when playback progress changes. Arguments:
    • progress: Integer progress value.

Implementation

factory DataSourceListener({
  final void Function(DataType dataType, PlayingStatus status)?
  onPlayingStatusChanged,
  final void Function(
    DataType dataType,
    DataInterruptionReason reason,
    bool ended,
  )?
  onDataInterruptionEvent,
  final void Function(SenseData data)? onNewData,
  final void Function(int)? onProgressChanged,
}) {
  final DataSourceListener listener = DataSourceListener._create();
  if (onPlayingStatusChanged != null) {
    listener.registerOnPlayingStatusChanged(onPlayingStatusChanged);
  }
  if (onDataInterruptionEvent != null) {
    listener.registerOnDataInterruptionEvent(onDataInterruptionEvent);
  }
  if (onNewData != null) {
    listener.registerOnNewData(onNewData);
  }
  if (onProgressChanged != null) {
    listener.registerOnProgressChanged(onProgressChanged);
  }
  return listener;
}