onCreate method Null safety
override
Implementation
@override
void onCreate() {
if (!_onCreated) {
_onCreated = true;
messages?.listen((event) {
TypedEvent<JanusEvent> typedEvent = TypedEvent<JanusEvent>(event: JanusEvent.fromJson(event.event), jsep: event.jsep);
if (typedEvent.event.plugindata?.data['videocall'] == 'event' && typedEvent.event.plugindata?.data['result'] != null && typedEvent.event.plugindata?.data['result']['event'] == 'registered') {
typedEvent.event.plugindata?.data = VideoCallRegisteredEvent.fromJson(typedEvent.event.plugindata?.data);
_typedMessagesSink?.add(typedEvent);
} else if (typedEvent.event.plugindata?.data['videocall'] == 'event' &&
typedEvent.event.plugindata?.data['result'] != null &&
typedEvent.event.plugindata?.data['result']['event'] == 'calling') {
typedEvent.event.plugindata?.data = VideoCallCallingEvent.fromJson(typedEvent.event.plugindata?.data);
_typedMessagesSink?.add(typedEvent);
} else if (typedEvent.event.plugindata?.data['videocall'] == 'event' &&
typedEvent.event.plugindata?.data['result'] != null &&
typedEvent.event.plugindata?.data['result']['event'] == 'incomingcall') {
typedEvent.event.plugindata?.data = VideoCallIncomingCallEvent.fromJson(typedEvent.event.plugindata?.data);
_typedMessagesSink?.add(typedEvent);
} else if (typedEvent.event.plugindata?.data['videocall'] == 'event' &&
typedEvent.event.plugindata?.data['result'] != null &&
typedEvent.event.plugindata?.data['result']['event'] == 'accepted') {
typedEvent.event.plugindata?.data = VideoCallAcceptedEvent.fromJson(typedEvent.event.plugindata?.data);
_typedMessagesSink?.add(typedEvent);
} else if (typedEvent.event.plugindata?.data['videocall'] == 'event' &&
typedEvent.event.plugindata?.data['result'] != null &&
typedEvent.event.plugindata?.data['result']['event'] == 'hangup') {
typedEvent.event.plugindata?.data = VideoCallHangupEvent.fromJson(typedEvent.event.plugindata?.data);
_typedMessagesSink?.add(typedEvent);
}
});
}
}