addSearchedMessagesToList method

Future<void> addSearchedMessagesToList(
  1. String filterKey
)

Implementation

Future<void> addSearchedMessagesToList(String filterKey) async {
  if (starredChatList.isEmpty) {
    for (var message in searchedStarredMessageList) {
      if (isTextMessageContainsFilterKey(message, filterKey)) {
        if (starredChatList
            .indexWhere((element) => element.messageId == message.messageId)
            .isNegative) {
          starredChatList.add(message);
          // debugPrint('starredChatList ${message.messageId}text');
        }
      } else if (isImageCaptionContainsFilterKey(message, filterKey)) {
        if (starredChatList
            .indexWhere((element) => element.messageId == message.messageId)
            .isNegative) {
          starredChatList.add(message);
          // debugPrint('starredChatList ${message.messageId}image');
        }
      } else if (isVideoCaptionContainsFilterKey(message, filterKey)) {
        if (starredChatList
            .indexWhere((element) => element.messageId == message.messageId)
            .isNegative) {
          starredChatList.add(message);
          // debugPrint('starredChatList ${message.messageId}video');
        }
      } else if (Constants.mDocument == message.messageType &&
          message.mediaChatMessage!.mediaFileName.checkNull().isNotEmpty &&
          message.mediaChatMessage!.mediaFileName
              .toLowerCase()
              .contains(filterKey.toLowerCase())) {
        if (starredChatList
            .indexWhere((element) => element.messageId == message.messageId)
            .isNegative) {
          starredChatList.add(message);
          // debugPrint('starredChatList ${message.messageId}doc');
        }
      } else if (Constants.mContact == message.messageType &&
          message.contactChatMessage!.contactName.checkNull().isNotEmpty &&
          message.contactChatMessage!.contactName
              .toLowerCase()
              .contains(filterKey.toLowerCase())) {
        if (starredChatList
            .indexWhere((element) => element.messageId == message.messageId)
            .isNegative) {
          starredChatList.add(message);
          // debugPrint('starredChatList ${message.messageId}contact');
        }
      } else if (message.senderUserName.checkNull().isNotEmpty &&
          message.senderUserName
              .toLowerCase()
              .contains(filterKey.toLowerCase())) {
        if (starredChatList
            .indexWhere((element) => element.messageId == message.messageId)
            .isNegative) {
          starredChatList.add(message);
          // debugPrint('starredChatList ${message.messageId}sender');
        }
      } else if (message.isMessageSentByMe &&
          AppConstants.you.toLowerCase().contains(filterKey.toLowerCase())) {
        if (starredChatList
            .indexWhere((element) => element.messageId == message.messageId)
            .isNegative) {
          starredChatList.add(message);
          // debugPrint('starredChatList ${message.messageId}you');
        }
      } else if ((message.messageChatType == Constants.typeGroupChat)) {
        var name = await getProfileDetails(message.chatUserJid.checkNull());
        if (name.name.checkNull().contains(filterKey.toLowerCase())) {
          if (starredChatList
              .indexWhere((element) => element.messageId == message.messageId)
              .isNegative) {
            starredChatList.add(message);
            // debugPrint('starredChatList ${message.messageId} : group');
          }
        }
      }
      starredChatList.refresh();
    }
  } else {
    starredChatList([]);
    addSearchedMessagesToList(filterKey);
  }
  debugPrint('starredChatList ${starredChatList.length}');
  /*starredMessagesAdapterAdapterData!!.setSearch(searchEnabled, searchedText)
starredMessagesAdapterAdapterData!!.setStarredMessages(searchedStarredMessageList)
starredMessagesAdapterAdapterData!!.notifyDataSetChanged()*/
}