start method

Future<void> start(
  1. Function _onError
)

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);
}