mirror of
https://github.com/oxen-io/session-android.git
synced 2025-05-18 12:18:16 +00:00
Updated the unread count logic to recalculate correctly
This commit is contained in:
parent
e44ae140e0
commit
05838faaf0
@ -167,10 +167,15 @@ class BatchMessageReceiveJob(
|
|||||||
// increment unreads, notify, and update thread
|
// increment unreads, notify, and update thread
|
||||||
val unreadFromMine = messageIds.map { it.value.first }.indexOfLast { it }
|
val unreadFromMine = messageIds.map { it.value.first }.indexOfLast { it }
|
||||||
var trueUnreadCount = messageIds.filter { !it.value.first }.size
|
var trueUnreadCount = messageIds.filter { !it.value.first }.size
|
||||||
val trueUnreadMentionCount = messageIds.filter { !it.value.first && it.value.second }.size
|
var trueUnreadMentionCount = messageIds.filter { !it.value.first && it.value.second }.size
|
||||||
if (unreadFromMine >= 0) {
|
if (unreadFromMine >= 0) {
|
||||||
trueUnreadCount -= (unreadFromMine + 1)
|
|
||||||
storage.markConversationAsRead(threadId, false)
|
storage.markConversationAsRead(threadId, false)
|
||||||
|
|
||||||
|
val trueUnreadIds = messageIds.keys.toList().subList(unreadFromMine + 1, messageIds.keys.count())
|
||||||
|
trueUnreadCount = trueUnreadIds.size
|
||||||
|
trueUnreadMentionCount = messageIds
|
||||||
|
.filter { trueUnreadIds.contains(it.key) && !it.value.first && it.value.second }
|
||||||
|
.size
|
||||||
}
|
}
|
||||||
if (trueUnreadCount > 0) {
|
if (trueUnreadCount > 0) {
|
||||||
storage.incrementUnread(threadId, trueUnreadCount, trueUnreadMentionCount)
|
storage.incrementUnread(threadId, trueUnreadCount, trueUnreadMentionCount)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user