Fix message clustering for CIV2.
This commit is contained in:
parent
c4109a19d6
commit
02e6b89fdd
2 changed files with 11 additions and 7 deletions
|
@ -102,17 +102,21 @@ class V2ConversationItemShape(
|
||||||
previousMessage: MessageRecord?,
|
previousMessage: MessageRecord?,
|
||||||
isGroupThread: Boolean
|
isGroupThread: Boolean
|
||||||
): Boolean {
|
): Boolean {
|
||||||
if (previousMessage == null ||
|
if (previousMessage == null) {
|
||||||
previousMessage.isUpdate ||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
val sharedChecks = previousMessage.isUpdate ||
|
||||||
!DateUtils.isSameDay(currentMessage.timestamp, previousMessage.timestamp) ||
|
!DateUtils.isSameDay(currentMessage.timestamp, previousMessage.timestamp) ||
|
||||||
!isWithinClusteringTime(currentMessage, previousMessage) ||
|
!isWithinClusteringTime(currentMessage, previousMessage) ||
|
||||||
currentMessage.isScheduled() ||
|
currentMessage.isScheduled() ||
|
||||||
currentMessage.fromRecipient != previousMessage.fromRecipient
|
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(
|
private fun isEndOfMessageCluster(
|
||||||
|
|
|
@ -612,4 +612,4 @@ class V2TextOnlyViewHolder<Model : MappingModel<Model>>(
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue