Various improvements

This commit is contained in:
Ilya Laktyushin
2022-05-18 18:17:32 +04:00
parent f6190e347d
commit bb0d62f42e
50 changed files with 1850 additions and 1066 deletions

View File

@@ -28,16 +28,23 @@ func _internal_removePeerChat(account: Account, transaction: Transaction, mediaB
transaction.setPeerChatInterfaceState(peerId, state: nil)
}
_internal_updateChatListFiltersInteractively(transaction: transaction, { filters in
var filters = filters
var updatedFilters: [ChatListFilter] = []
for i in 0 ..< filters.count {
if filters[i].data.includePeers.peers.contains(peerId) {
filters[i].data.includePeers.setPeers(filters[i].data.includePeers.peers.filter { $0 != peerId })
}
if filters[i].data.excludePeers.contains(peerId) {
filters[i].data.excludePeers = filters[i].data.excludePeers.filter { $0 != peerId }
let filter = filters[i]
if case let .filter(id, title, emoticon, data) = filter {
var updatedData = data
if updatedData.includePeers.peers.contains(peerId) {
updatedData.includePeers.setPeers(data.includePeers.peers.filter { $0 != peerId })
}
if updatedData.excludePeers.contains(peerId) {
updatedData.excludePeers = data.excludePeers.filter { $0 != peerId }
}
updatedFilters.append(.filter(id: id, title: title, emoticon: emoticon, data: updatedData))
} else {
updatedFilters.append(filter)
}
}
return filters
return updatedFilters
})
if peerId.namespace == Namespaces.Peer.SecretChat {
if let state = transaction.getPeerChatState(peerId) as? SecretChatState, state.embeddedState != .terminated {