navigateToMessage method

void navigateToMessage(
  1. ChatMessageModel chatMessage, {
  2. int? index,
})

Implementation

void navigateToMessage(ChatMessageModel chatMessage, {int? index}) {
  var messageID = chatMessage.messageId;
  var chatIndex = index ??
      chatList.indexWhere((element) => element.messageId == messageID);
  if (!chatIndex.isNegative) {
    LogMessage.d("newScrollController", "navigateToMessage");
    newScrollController.scrollTo(
        index: chatIndex, duration: const Duration(milliseconds: 10));
    Future.delayed(const Duration(milliseconds: 15), () {
      chatList[chatIndex].isSelected(true);
      chatList.refresh();
    });

    Future.delayed(const Duration(milliseconds: 800), () {
      chatList[chatIndex].isSelected(false);
      chatList.refresh();
    });
  } else {
    getMessageFromServerAndNavigateToMessage(chatMessage, index);
  }
}