Fix exclude muted from total count

This commit is contained in:
Ali 2020-03-12 21:12:10 +05:30
parent 04d3fefa71
commit dd0b7b2b2a

View File

@ -104,6 +104,14 @@ func chatListFilterItems(context: AccountContext) -> Signal<(Int, [(ChatListFilt
var hasUnmutedUnread = false var hasUnmutedUnread = false
if let totalState = totalStates[.root] { if let totalState = totalStates[.root] {
for tag in tags { for tag in tags {
if filter.data.excludeMuted {
if let value = totalState.filteredCounters[tag] {
if value.chatCount != 0 {
count += Int(value.chatCount)
hasUnmutedUnread = true
}
}
} else {
if let value = totalState.absoluteCounters[tag] { if let value = totalState.absoluteCounters[tag] {
count += Int(value.chatCount) count += Int(value.chatCount)
} }
@ -114,9 +122,18 @@ func chatListFilterItems(context: AccountContext) -> Signal<(Int, [(ChatListFilt
} }
} }
} }
}
if !filter.data.excludeArchived { if !filter.data.excludeArchived {
if let totalState = totalStates[Namespaces.PeerGroup.archive] { if let totalState = totalStates[Namespaces.PeerGroup.archive] {
for tag in tags { for tag in tags {
if filter.data.excludeMuted {
if let value = totalState.filteredCounters[tag] {
if value.chatCount != 0 {
count += Int(value.chatCount)
hasUnmutedUnread = true
}
}
} else {
if let value = totalState.absoluteCounters[tag] { if let value = totalState.absoluteCounters[tag] {
count += Int(value.chatCount) count += Int(value.chatCount)
} }
@ -128,6 +145,7 @@ func chatListFilterItems(context: AccountContext) -> Signal<(Int, [(ChatListFilt
} }
} }
} }
}
for peerId in filter.data.includePeers { for peerId in filter.data.includePeers {
if let (tag, peerCount, hasUnmuted) = peerTagAndCount[peerId] { if let (tag, peerCount, hasUnmuted) = peerTagAndCount[peerId] {
if !tags.contains(tag) { if !tags.contains(tag) {