Merge commit 'f2e45882cd06e90cf194403f39a52bca2d009d81'

# Conflicts:
#	submodules/TelegramCore/Sources/TelegramEngine/Peers/ChatListFiltering.swift
This commit is contained in:
Ali 2023-03-31 19:31:49 +04:00
commit 53424b51d4

View File

@ -389,46 +389,45 @@ extension ChatListFilter {
case .allChats:
return nil
case let .filter(id, title, emoticon, data):
if data.isShared {
var flags: Int32 = 0
if emoticon != nil {
flags |= 1 << 25
}
return .dialogFilterCommunity(flags: flags, id: id, title: title, emoticon: emoticon, pinnedPeers: data.includePeers.pinnedPeers.compactMap { peerId -> Api.InputPeer? in
return transaction.getPeer(peerId).flatMap(apiInputPeer)
}, includePeers: data.includePeers.peers.compactMap { peerId -> Api.InputPeer? in
if data.includePeers.pinnedPeers.contains(peerId) {
return nil
}
return transaction.getPeer(peerId).flatMap(apiInputPeer)
})
} else {
var flags: Int32 = 0
if data.excludeMuted {
flags |= 1 << 11
}
if data.excludeRead {
flags |= 1 << 12
}
if data.excludeArchived {
flags |= 1 << 13
}
flags |= data.categories.apiFlags
if emoticon != nil {
flags |= 1 << 25
}
return .dialogFilter(flags: flags, id: id, title: title, emoticon: emoticon, pinnedPeers: data.includePeers.pinnedPeers.compactMap { peerId -> Api.InputPeer? in
return transaction.getPeer(peerId).flatMap(apiInputPeer)
}, includePeers: data.includePeers.peers.compactMap { peerId -> Api.InputPeer? in
if data.includePeers.pinnedPeers.contains(peerId) {
return nil
}
return transaction.getPeer(peerId).flatMap(apiInputPeer)
}, excludePeers: data.excludePeers.compactMap { peerId -> Api.InputPeer? in
return transaction.getPeer(peerId).flatMap(apiInputPeer)
})
if data.isShared {
var flags: Int32 = 0
if emoticon != nil {
flags |= 1 << 25
}
return .dialogFilterCommunity(flags: flags, id: id, title: title, emoticon: emoticon, pinnedPeers: data.includePeers.pinnedPeers.compactMap { peerId -> Api.InputPeer? in
return transaction.getPeer(peerId).flatMap(apiInputPeer)
}, includePeers: data.includePeers.peers.compactMap { peerId -> Api.InputPeer? in
if data.includePeers.pinnedPeers.contains(peerId) {
return nil
}
return transaction.getPeer(peerId).flatMap(apiInputPeer)
})
} else {
var flags: Int32 = 0
if data.excludeMuted {
flags |= 1 << 11
}
if data.excludeRead {
flags |= 1 << 12
}
if data.excludeArchived {
flags |= 1 << 13
}
flags |= data.categories.apiFlags
if emoticon != nil {
flags |= 1 << 25
}
return .dialogFilter(flags: flags, id: id, title: title, emoticon: emoticon, pinnedPeers: data.includePeers.pinnedPeers.compactMap { peerId -> Api.InputPeer? in
return transaction.getPeer(peerId).flatMap(apiInputPeer)
}, includePeers: data.includePeers.peers.compactMap { peerId -> Api.InputPeer? in
if data.includePeers.pinnedPeers.contains(peerId) {
return nil
}
return transaction.getPeer(peerId).flatMap(apiInputPeer)
}, excludePeers: data.excludePeers.compactMap { peerId -> Api.InputPeer? in
return transaction.getPeer(peerId).flatMap(apiInputPeer)
})
}
}
}
}