From 461aa6b70fcf850737ac17c39348bb585d8c6456 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 13 Feb 2023 16:13:33 +0100 Subject: [PATCH] Fixed chat messages grouping --- .../activities/main/chat/adapters/ChatMessagesListAdapter.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/linphone/activities/main/chat/adapters/ChatMessagesListAdapter.kt b/app/src/main/java/org/linphone/activities/main/chat/adapters/ChatMessagesListAdapter.kt index 5cd4792f9..58b03f60f 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/adapters/ChatMessagesListAdapter.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/adapters/ChatMessagesListAdapter.kt @@ -32,6 +32,7 @@ import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.MutableLiveData import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.RecyclerView +import kotlin.math.abs import org.linphone.LinphoneApplication.Companion.coreContext import org.linphone.R import org.linphone.activities.main.adapters.SelectionListAdapter @@ -280,7 +281,7 @@ class ChatMessagesListAdapter( if (previousItem.eventLog.type == EventLog.Type.ConferenceChatMessage) { val previousMessage = previousItem.eventLog.chatMessage if (previousMessage != null && previousMessage.fromAddress.weakEqual(chatMessage.fromAddress)) { - if (chatMessage.time - previousMessage.time < MAX_TIME_TO_GROUP_MESSAGES) { + if (abs(chatMessage.time - previousMessage.time) < MAX_TIME_TO_GROUP_MESSAGES) { hasPrevious = true } } @@ -292,7 +293,7 @@ class ChatMessagesListAdapter( if (nextItem.eventLog.type == EventLog.Type.ConferenceChatMessage) { val nextMessage = nextItem.eventLog.chatMessage if (nextMessage != null && nextMessage.fromAddress.weakEqual(chatMessage.fromAddress)) { - if (nextMessage.time - chatMessage.time < MAX_TIME_TO_GROUP_MESSAGES) { + if (abs(nextMessage.time - chatMessage.time) < MAX_TIME_TO_GROUP_MESSAGES) { hasNext = true } }