diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/IncomingTextMessageViewHolder.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/IncomingTextMessageViewHolder.kt index a286595ab..9673806f8 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/messages/IncomingTextMessageViewHolder.kt +++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/IncomingTextMessageViewHolder.kt @@ -40,6 +40,7 @@ import coil.load import com.nextcloud.talk.R import com.nextcloud.talk.application.NextcloudTalkApplication import com.nextcloud.talk.application.NextcloudTalkApplication.Companion.sharedApplication +import com.nextcloud.talk.controllers.ChatController import com.nextcloud.talk.databinding.ItemCustomIncomingTextMessageBinding import com.nextcloud.talk.extensions.loadBotsAvatar import com.nextcloud.talk.extensions.loadChangelogBotAvatar @@ -198,6 +199,11 @@ class IncomingTextMessageViewHolder(itemView: View, payload: Any) : MessageHolde ContextCompat.getColor(binding.messageQuote.quoteColoredView.context, R.color.high_emphasis_text) ) } + + binding.messageQuote.quotedChatMessageView.setOnClickListener() { + val chatController = commonMessageInterface as ChatController + chatController.jumpToQuotedMessage(parentChatMessage) + } } private fun showAvatarOnChatMessage(message: ChatMessage) { diff --git a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt index 994caf8b2..ff163afed 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt +++ b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt @@ -3487,6 +3487,16 @@ class ChatController(args: Bundle) : ) } + fun jumpToQuotedMessage(parentMessage: ChatMessage) { + for (position in 0 until (adapter!!.items.size)) { + val currentItem = adapter?.items?.get(position)?.item + if (currentItem is ChatMessage && currentItem.id == parentMessage.id) { + layoutManager!!.scrollToPosition(position) + break + } + } + } + private fun logConversationInfos(methodName: String) { Log.d(TAG, " |-----------------------------------------------") Log.d(TAG, " | method: $methodName")