mirror of
https://github.com/nextcloud/talk-android
synced 2025-06-19 03:29:28 +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.Locale
|
||||||
import java.util.concurrent.ExecutionException
|
import java.util.concurrent.ExecutionException
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
import kotlin.collections.set
|
|
||||||
import kotlin.math.roundToInt
|
import kotlin.math.roundToInt
|
||||||
|
|
||||||
@AutoInjector(NextcloudTalkApplication::class)
|
@AutoInjector(NextcloudTalkApplication::class)
|
||||||
@ -785,7 +784,7 @@ class ChatActivity :
|
|||||||
.onEach { triple ->
|
.onEach { triple ->
|
||||||
val lookIntoFuture = triple.first
|
val lookIntoFuture = triple.first
|
||||||
val setUnreadMessagesMarker = triple.second
|
val setUnreadMessagesMarker = triple.second
|
||||||
var chatMessageList = triple.third
|
var chatMessageList = triple.third.filterDuplicates()
|
||||||
|
|
||||||
chatMessageList = handleSystemMessages(chatMessageList)
|
chatMessageList = handleSystemMessages(chatMessageList)
|
||||||
if (chatMessageList.isEmpty()) {
|
if (chatMessageList.isEmpty()) {
|
||||||
@ -2732,6 +2731,17 @@ class ChatActivity :
|
|||||||
(message2.lastEditTimestamp == 0L || message1.lastEditTimestamp == 0L)
|
(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>) {
|
private fun determinePreviousMessageIds(chatMessageList: List<ChatMessage>) {
|
||||||
var previousMessageId = NO_PREVIOUS_MESSAGE_ID
|
var previousMessageId = NO_PREVIOUS_MESSAGE_ID
|
||||||
for (i in chatMessageList.indices.reversed()) {
|
for (i in chatMessageList.indices.reversed()) {
|
||||||
|
Loading…
Reference in New Issue
Block a user