Various improvements

This commit is contained in:
Ilya Laktyushin
2023-01-26 14:16:39 +04:00
parent 5f9b508102
commit 23d3966576
19 changed files with 350 additions and 170 deletions

View File

@@ -858,7 +858,11 @@ public extension TelegramEngine.EngineData.Item {
guard let view = view as? CachedPeerDataView else {
preconditionFailure()
}
if let cachedData = view.cachedPeerData as? CachedChannelData {
if let cachedData = view.cachedPeerData as? CachedUserData {
return cachedData.flags.contains(.translationHidden)
} else if let cachedData = view.cachedPeerData as? CachedGroupData {
return cachedData.flags.contains(.translationHidden)
} else if let cachedData = view.cachedPeerData as? CachedChannelData {
return cachedData.flags.contains(.translationHidden)
} else {
return false

View File

@@ -78,7 +78,23 @@ func _internal_translateMessages(account: Account, messageIds: [EngineMessage.Id
func _internal_togglePeerMessagesTranslationHidden(account: Account, peerId: EnginePeer.Id, hidden: Bool) -> Signal<Never, NoError> {
return account.postbox.transaction { transaction -> Api.InputPeer? in
transaction.updatePeerCachedData(peerIds: Set([peerId]), update: { _, cachedData -> CachedPeerData? in
if let cachedData = cachedData as? CachedChannelData {
if let cachedData = cachedData as? CachedUserData {
var updatedFlags = cachedData.flags
if hidden {
updatedFlags.insert(.translationHidden)
} else {
updatedFlags.remove(.translationHidden)
}
return cachedData.withUpdatedFlags(updatedFlags)
} else if let cachedData = cachedData as? CachedGroupData {
var updatedFlags = cachedData.flags
if hidden {
updatedFlags.insert(.translationHidden)
} else {
updatedFlags.remove(.translationHidden)
}
return cachedData.withUpdatedFlags(updatedFlags)
} else if let cachedData = cachedData as? CachedChannelData {
var updatedFlags = cachedData.flags
if hidden {
updatedFlags.insert(.translationHidden)