addSearchedMessagesToList method
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()*/
}