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 56730a2ed..30b8a97b3 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 @@ -167,9 +167,10 @@ class IncomingTextMessageViewHolder(itemView: View, payload: Any) : // parent message handling val chatActivity = commonMessageInterface as ChatActivity binding.messageQuote.quotedChatMessageView.visibility = - if (chatActivity.threadId == message.threadId) { - View.GONE - } else if (!message.isDeleted && message.parentMessageId != null) { + if (!message.isDeleted && + message.parentMessageId != null && + message.parentMessageId != chatActivity.threadId + ) { processParentMessage(message) View.VISIBLE } else { diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingTextMessageViewHolder.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingTextMessageViewHolder.kt index b7c16ae9d..7782508ce 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingTextMessageViewHolder.kt +++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingTextMessageViewHolder.kt @@ -182,9 +182,10 @@ class OutcomingTextMessageViewHolder(itemView: View) : // parent message handling val chatActivity = commonMessageInterface as ChatActivity binding.messageQuote.quotedChatMessageView.visibility = - if (chatActivity.threadId == message.threadId) { - View.GONE - } else if (!message.isDeleted && message.parentMessageId != null) { + if (!message.isDeleted && + message.parentMessageId != null && + message.parentMessageId != chatActivity.threadId + ) { processParentMessage(message) View.VISIBLE } else { diff --git a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt index 6702d8ed0..36c056adc 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt @@ -354,7 +354,7 @@ class ChatActivity : var sessionIdAfterRoomJoined: String? = null lateinit var roomToken: String var threadId: Long? = null - var thread: ThreadInfo? = null + var threadInfo: ThreadInfo? = null var conversationUser: User? = null lateinit var spreedCapabilities: SpreedCapability var chatApiVersion: Int = 1 @@ -1296,7 +1296,7 @@ class ChatActivity : } is ChatViewModel.ThreadRetrieveUiState.Success -> { - thread = uiState.thread + threadInfo = uiState.thread } } } @@ -2668,7 +2668,7 @@ class ChatActivity : title.text = if (isChatThread()) { - thread?.first?.message + threadInfo?.first?.message } else if (currentConversation?.displayName != null) { try { EmojiCompat.get().process(currentConversation?.displayName as CharSequence).toString() @@ -2683,7 +2683,7 @@ class ChatActivity : if (isChatThread()) { val repliesAmountTitle = String.format( resources.getString(R.string.thread_replies_amount), - thread?.thread?.numReplies + threadInfo?.thread?.numReplies ) statusMessageViewContents(repliesAmountTitle) } else if (currentConversation?.type == ConversationEnums.ConversationType.ROOM_TYPE_ONE_TO_ONE_CALL) { diff --git a/app/src/main/java/com/nextcloud/talk/chat/MessageInputFragment.kt b/app/src/main/java/com/nextcloud/talk/chat/MessageInputFragment.kt index 5834cf744..0ecc55314 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/MessageInputFragment.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/MessageInputFragment.kt @@ -862,7 +862,7 @@ class MessageInputFragment : Fragment() { .findViewById(R.id.quotedChatMessageView)?.tag as Int? ?: 0 if (replyMessageId == 0) { - replyMessageId = chatActivity.thread?.last?.id?.toInt() ?: 0 + replyMessageId = chatActivity.threadInfo?.thread?.id ?: 0 } sendMessage(