handleEvent method
- 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',
);
}
}