handleEvent method

  1. @override
void handleEvent(
  1. Map arguments
)

Method called when event is called from the native side.

Should not be called by the user.

Implementation

@override
void handleEvent(final Map<dynamic, dynamic> arguments) {
  final String eventSubtype = arguments['event_subtype'];

  switch (eventSubtype) {
    case 'onPlayingStatusChanged':
      if (_onPlayingStatusChanged != null) {
        _onPlayingStatusChanged!(
          DataTypeExtension.fromId(arguments['type']),
          PlayingStatus.values[arguments['status']],
        );
      }
      break;
    case 'onDataInterruptionEvent':
      if (_onDataInterruptionEvent != null) {
        _onDataInterruptionEvent!(
          DataTypeExtension.fromId(arguments['type']),
          DataInterruptionReasonExtension.fromId(arguments['reason']),
          arguments['ended'],
        );
      }
      break;
    case 'onNewData':
      if (_onNewData != null) {
        _onNewData!(senseFromJson(arguments['data']));
      }
      break;
    case 'onProgressChanged':
      if (_onProgressChanged != null) {
        _onProgressChanged!(arguments['progress']);
      }
      break;
    default:
      gemSdkLogger.log(
        Level.WARNING,
        'Unknown event subtype: ${arguments['eventType']} in DataSourceListener',
      );
  }
}