From b0f5141e7de11dccbdf53b3284d391bfe0834819 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Wed, 20 Mar 2024 14:53:10 +0100 Subject: [PATCH] Fixed crash when loading more data in conversation --- .../chat/viewmodel/ConversationViewModel.kt | 22 ++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/linphone/ui/main/chat/viewmodel/ConversationViewModel.kt b/app/src/main/java/org/linphone/ui/main/chat/viewmodel/ConversationViewModel.kt index c858f58bc..7ee617531 100644 --- a/app/src/main/java/org/linphone/ui/main/chat/viewmodel/ConversationViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/chat/viewmodel/ConversationViewModel.kt @@ -453,9 +453,25 @@ class ConversationViewModel @UiThread constructor() : AbstractConversationViewMo val history = chatRoom.getHistoryRangeEvents(totalItemsCount, upperBound) val list = getEventsListFromHistory(history, searchFilter.value.orEmpty()) - val array = arrayOf() - list.toArray(array) - addEvents(array) + + val lastEvent = list.lastOrNull() + val newEvent = eventsList.firstOrNull() + if (lastEvent != null && newEvent != null && shouldWeGroupTwoEvents( + newEvent.eventLog, + lastEvent.eventLog + ) + ) { + if (lastEvent.model is MessageModel) { + lastEvent.model.groupedWithNextMessage.postValue(true) + } + if (newEvent.model is MessageModel) { + newEvent.model.groupedWithPreviousMessage.postValue(true) + } + } + + list.addAll(eventsList) + eventsList = list + events.postValue(eventsList) } } }