From 02e6b89fdd1d9f3f05577724357d0bbd46d4a119 Mon Sep 17 00:00:00 2001 From: Alex Hart Date: Wed, 23 Aug 2023 10:07:36 -0300 Subject: [PATCH] Fix message clustering for CIV2. --- .../v2/items/V2ConversationItemShape.kt | 16 ++++++++++------ .../v2/items/V2TextOnlyViewHolder.kt | 2 +- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/items/V2ConversationItemShape.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/items/V2ConversationItemShape.kt index f077e101bf..b435145526 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/items/V2ConversationItemShape.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/items/V2ConversationItemShape.kt @@ -102,17 +102,21 @@ class V2ConversationItemShape( previousMessage: MessageRecord?, isGroupThread: Boolean ): Boolean { - if (previousMessage == null || - previousMessage.isUpdate || + if (previousMessage == null) { + return true + } + + val sharedChecks = previousMessage.isUpdate || !DateUtils.isSameDay(currentMessage.timestamp, previousMessage.timestamp) || !isWithinClusteringTime(currentMessage, previousMessage) || currentMessage.isScheduled() || currentMessage.fromRecipient != previousMessage.fromRecipient - ) { - return true - } - return isGroupThread || currentMessage.isSecure != previousMessage.isSecure + return if (isGroupThread) { + sharedChecks + } else { + sharedChecks || currentMessage.isSecure != previousMessage.isSecure + } } private fun isEndOfMessageCluster( diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/items/V2TextOnlyViewHolder.kt b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/items/V2TextOnlyViewHolder.kt index f8d23aa54f..ff281406d4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/items/V2TextOnlyViewHolder.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/v2/items/V2TextOnlyViewHolder.kt @@ -612,4 +612,4 @@ class V2TextOnlyViewHolder>( return true } } -} \ No newline at end of file +}