From 6cdfa88992b3daee15edc8c33f284726c037fada Mon Sep 17 00:00:00 2001 From: rapterjet2004 Date: Mon, 27 Feb 2023 09:38:10 -0600 Subject: [PATCH 1/2] Implemented issue 1090 Signed-off-by: Julius Linus --- .../adapters/messages/IncomingTextMessageViewHolder.kt | 7 ++++++- .../com/nextcloud/talk/controllers/ChatController.kt | 10 ++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) 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..0c6efc6f9 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 @@ -73,7 +74,6 @@ class IncomingTextMessageViewHolder(itemView: View, payload: Any) : MessageHolde lateinit var dateUtils: DateUtils lateinit var commonMessageInterface: CommonMessageInterface - override fun onBind(message: ChatMessage) { super.onBind(message) sharedApplication!!.componentApplication.inject(this) @@ -198,6 +198,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..92d0f0b55 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") From 19e3b6d0b1c216f3d0e49f9470b0dea4e58b1817 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Mon, 27 Feb 2023 17:21:43 +0100 Subject: [PATCH 2/2] improve code formatting Signed-off-by: Andy Scherzinger --- .../talk/adapters/messages/IncomingTextMessageViewHolder.kt | 1 + .../java/com/nextcloud/talk/controllers/ChatController.kt | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) 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 0c6efc6f9..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 @@ -74,6 +74,7 @@ class IncomingTextMessageViewHolder(itemView: View, payload: Any) : MessageHolde lateinit var dateUtils: DateUtils lateinit var commonMessageInterface: CommonMessageInterface + override fun onBind(message: ChatMessage) { super.onBind(message) sharedApplication!!.componentApplication.inject(this) 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 92d0f0b55..ff163afed 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt +++ b/app/src/main/java/com/nextcloud/talk/controllers/ChatController.kt @@ -3488,9 +3488,9 @@ class ChatController(args: Bundle) : } fun jumpToQuotedMessage(parentMessage: ChatMessage) { - for(position in 0 until(adapter!!.items.size)) { + for (position in 0 until (adapter!!.items.size)) { val currentItem = adapter?.items?.get(position)?.item - if( currentItem is ChatMessage && currentItem.id == parentMessage.id) { + if (currentItem is ChatMessage && currentItem.id == parentMessage.id) { layoutManager!!.scrollToPosition(position) break }