mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-18 19:19:33 +01:00
workaround with duplicate filtering, underlying issue still exists
Signed-off-by: rapterjet2004 <juliuslinus1@gmail.com>
This commit is contained in:
parent
d6d7a11573
commit
57bcc062f4
@ -211,7 +211,6 @@ import java.util.Date
|
||||
import java.util.Locale
|
||||
import java.util.concurrent.ExecutionException
|
||||
import javax.inject.Inject
|
||||
import kotlin.collections.set
|
||||
import kotlin.math.roundToInt
|
||||
|
||||
@AutoInjector(NextcloudTalkApplication::class)
|
||||
@ -785,7 +784,7 @@ class ChatActivity :
|
||||
.onEach { triple ->
|
||||
val lookIntoFuture = triple.first
|
||||
val setUnreadMessagesMarker = triple.second
|
||||
var chatMessageList = triple.third
|
||||
var chatMessageList = triple.third.filterDuplicates()
|
||||
|
||||
chatMessageList = handleSystemMessages(chatMessageList)
|
||||
if (chatMessageList.isEmpty()) {
|
||||
@ -2732,6 +2731,17 @@ class ChatActivity :
|
||||
(message2.lastEditTimestamp == 0L || message1.lastEditTimestamp == 0L)
|
||||
}
|
||||
|
||||
private fun List<ChatMessage>.filterDuplicates(): List<ChatMessage> {
|
||||
val newlist = mutableListOf<ChatMessage>()
|
||||
val currentList = adapter!!.items.filter { it.item is ChatMessage }.map { it.item as ChatMessage }.reversed()
|
||||
for (message in this) {
|
||||
if (!currentList.any { it.id == message.id }) {
|
||||
newlist.add(message)
|
||||
}
|
||||
}
|
||||
return newlist
|
||||
}
|
||||
|
||||
private fun determinePreviousMessageIds(chatMessageList: List<ChatMessage>) {
|
||||
var previousMessageId = NO_PREVIOUS_MESSAGE_ID
|
||||
for (i in chatMessageList.indices.reversed()) {
|
||||
|
Loading…
Reference in New Issue
Block a user