send method

Future<void> send(
  1. MessageDestination msgDest, {
  2. bool saveChanges = true,
})

Send message

Implementation

Future<void> send(
  MessageDestination msgDest, {
  bool saveChanges = true,
}) async {
  _logs?.print(
    'Sending new message ext:${msgDest.toExt} accId:${msgDest.fromAccId}',
  );

  try {
    //When accUri present - model loaded from json, search accId as it might be changed
    String accUri = _accountsModel.getUri(msgDest.fromAccId);

    //Send and get assigned id
    int myMessageId = await PjsipConnectFlutter().sendMessage(msgDest) ?? 0;

    //Add to the list and notify UI
    _messages.add(MessageModel.outgoing(myMessageId, accUri, msgDest));
    if (_messages.length > maxItems) _messages.removeAt(0);
    notifyListeners();

    //Log and save changes
    _logs?.print('Message post successfully with id: $myMessageId');
    if (saveChanges) _raiseSaveChanges();
  } on PlatformException catch (err) {
    _logs?.print('Can\'t send message: ${err.code} ${err.message} ');
    return Future.error((err.message == null) ? err.code : err.message!);
  }
}