isSenderChanged method

bool isSenderChanged(
  1. List<ChatMessageModel> messageList,
  2. int position
)

Implementation

bool isSenderChanged(List<ChatMessageModel> messageList, int position) {
  var preposition = position + 1;
  if (!preposition.isNegative) {
    var currentMessage = messageList[position];
    var previousMessage = messageList[preposition];
    if (currentMessage.isMessageSentByMe !=
            previousMessage.isMessageSentByMe ||
        previousMessage.messageType == Constants.msgTypeNotification ||
        (currentMessage.messageChatType == Constants.typeGroupChat &&
            currentMessage.isThisAReplyMessage)) {
      return true;
    }
    var currentSenderJid = currentMessage.senderUserJid.checkNull();
    var previousSenderJid = previousMessage.senderUserJid.checkNull();
    return previousSenderJid != currentSenderJid;
  } else {
    return false;
  }
}