setMenuItemsValidations method

dynamic setMenuItemsValidations(
  1. ChatMessageModel message
)

Implementation

setMenuItemsValidations(ChatMessageModel message) {
  debugPrint("setMenuItemsValidations");
  if (!containsRecalled.value) {
    //Reply Validation
    if (message.isMessageSentByMe && message.messageStatus.value == "N") {
      canBeReplied(false);
    }
    //Info Validation
    if (!message.isMessageSentByMe ||
        message.messageStatus.value == "N" ||
        message.isMessageRecalled.value ||
        (message.isMediaMessage() &&
            !checkFile(
                message.mediaChatMessage!.mediaLocalStoragePath.value))) {
      canShowInfo(false);
    }
    //Report validation
    if (message.isMessageSentByMe) {
      canShowReport(false);
    } else {
      canShowReport(true);
    }
    //Edit Message Validation
    if (message.isMessageSentByMe &&
        !profile.isAdminBlocked.checkNull() &&
        isWithinLast15Minutes(message.messageSentTime) &&
        message.messageStatus.value != 'N' &&
        (profile.isGroupProfile.checkNull() ? isMemberOfGroup : true) &&
        (message.messageType == Constants.mText ||
            message.messageType == Constants.mAutoText ||
            (message.messageType == Constants.mImage &&
                message.mediaChatMessage!.mediaCaptionText.isNotEmpty) ||
            (message.messageType == Constants.mVideo &&
                message.mediaChatMessage!.mediaCaptionText.isNotEmpty))) {
      canEditMessage(true);
    } else {
      canEditMessage(false);
    }
  } else {
    canEditMessage(false);
  }
}