mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-06-16 05:55:20 +00:00
Merge commit 'f2e45882cd06e90cf194403f39a52bca2d009d81'
# Conflicts: # submodules/TelegramCore/Sources/TelegramEngine/Peers/ChatListFiltering.swift
This commit is contained in:
commit
53424b51d4
@ -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)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user