From ae0f7726b11db1386e0cb6ce3243456b234762a6 Mon Sep 17 00:00:00 2001 From: Pierre Nicolas <pierre.nicolas@savoirfairelinux.com> Date: Tue, 16 Jan 2024 15:47:07 -0500 Subject: [PATCH] chatview: add hasPermanentDate util method Change-Id: Ia05166ab28cbb442523cb840fef351c1cc3157c7 --- .../java/cx/ring/adapters/ConversationAdapter.kt | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/jami-android/app/src/main/java/cx/ring/adapters/ConversationAdapter.kt b/jami-android/app/src/main/java/cx/ring/adapters/ConversationAdapter.kt index 14d92bfe9..9763b581e 100644 --- a/jami-android/app/src/main/java/cx/ring/adapters/ConversationAdapter.kt +++ b/jami-android/app/src/main/java/cx/ring/adapters/ConversationAdapter.kt @@ -1900,6 +1900,20 @@ class ConversationAdapter( return prevMsg != null && msg.timestamp - prevMsg.timestamp > 10 * DateUtils.MINUTE_IN_MILLIS } + // Used to show the date between messages. + private fun hasPermanentDateString(message: Interaction, position: Int): Boolean { + val previousMessageTimestamp = + getPreviousInteractionFromPosition(position)?.timestamp ?: return false + + // Create Calendar instances for each timestamp + val calendar1 = Calendar.getInstance().apply { timeInMillis = message.timestamp } + val calendar2 = Calendar.getInstance().apply { timeInMillis = previousMessageTimestamp } + + // Compare the year, month, and day of year to check if they are different days + return calendar1.get(Calendar.YEAR) != calendar2.get(Calendar.YEAR) + || calendar1.get(Calendar.DAY_OF_YEAR) != calendar2.get(Calendar.DAY_OF_YEAR) + } + private enum class SequenceType { FIRST, MIDDLE, LAST, SINGLE } companion object { -- GitLab