start method
Implementation
Future<void> start(Function _onError) async {
streamGetMsg = _eventChannel.receiveBroadcastStream().listen(
(dataEvent) {
MessageEvent eventModel = MessageEvent.fromJson(dataEvent);
MessageChat messageChat = MessageChat.fromJson(dataEvent);
dataChangelist.forEach((element) {
if (eventModel.msgtype == 'chat') {
element.onChatMessage(messageChat);
} else if (eventModel.msgtype == 'groupchat') {
element.onGroupMessage(messageChat);
} else if (eventModel.msgtype == 'normal') {
element.onNormalMessage(messageChat);
} else if (eventModel.type == 'presence') {
PresentModel presentModel = PresentModel.fromJson(dataEvent);
element.onPresenceChange(presentModel);
} else if (eventModel.type == 'chatstate') {
ChatState chatState = ChatState.fromJson(dataEvent);
element.onChatStateChange(chatState);
}
});
},
);
connectionEventStream = _connectionEventChannel.receiveBroadcastStream().listen((connectionData) {
ConnectionEvent connectionEvent = ConnectionEvent.fromJson(connectionData);
dataChangelist.forEach((element) {
element.onConnectionEvents(connectionEvent);
});
}, onError: _onError);
successEventStream = _successEventChannel.receiveBroadcastStream().listen((successData) {
SuccessResponseEvent eventModel = SuccessResponseEvent.fromJson(successData);
print("success event ${eventModel.toSuccessResponseData()}");
dataChangelist.forEach((element) {
element.onSuccessEvent(eventModel);
});
}, onError: _onError);
errorEventStream = _errorEventChannel.receiveBroadcastStream().listen((errorData) {
ErrorResponseEvent eventModel = ErrorResponseEvent.fromJson(errorData);
print("Error event ${eventModel.toErrorResponseData()}");
dataChangelist.forEach((element) {
element.onXmppError(eventModel);
});
}, onError: _onError);
}