mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-10-09 03:20:48 +00:00
Add force parameter to resource cleanup
This commit is contained in:
parent
275927c785
commit
16c095d490
@ -1110,15 +1110,17 @@ public final class MediaBox {
|
||||
}
|
||||
}
|
||||
|
||||
public func removeCachedResources(_ ids: Set<WrappedMediaResourceId>) -> Signal<Void, NoError> {
|
||||
public func removeCachedResources(_ ids: Set<WrappedMediaResourceId>, force: Bool = false) -> Signal<Void, NoError> {
|
||||
return Signal { subscriber in
|
||||
self.dataQueue.async {
|
||||
for id in ids {
|
||||
if self.fileContexts[id] != nil {
|
||||
continue
|
||||
}
|
||||
if self.keepResourceContexts[id] != nil {
|
||||
continue
|
||||
if !force {
|
||||
if self.fileContexts[id] != nil {
|
||||
continue
|
||||
}
|
||||
if self.keepResourceContexts[id] != nil {
|
||||
continue
|
||||
}
|
||||
}
|
||||
let paths = self.storePathsForId(id.id)
|
||||
unlink(paths.complete)
|
||||
|
@ -35,7 +35,7 @@ public func deleteMessages(transaction: Transaction, mediaBox: MediaBox, ids: [M
|
||||
}
|
||||
}
|
||||
if !resourceIds.isEmpty {
|
||||
let _ = mediaBox.removeCachedResources(Set(resourceIds)).start()
|
||||
let _ = mediaBox.removeCachedResources(Set(resourceIds), force: true).start()
|
||||
}
|
||||
for id in ids {
|
||||
if id.peerId.namespace == Namespaces.Peer.CloudChannel && id.namespace == Namespaces.Message.Cloud {
|
||||
@ -73,7 +73,7 @@ public func deleteAllMessagesWithForwardAuthor(transaction: Transaction, mediaBo
|
||||
addMessageMediaResourceIdsToRemove(media: media, resourceIds: &resourceIds)
|
||||
})
|
||||
if !resourceIds.isEmpty {
|
||||
let _ = mediaBox.removeCachedResources(Set(resourceIds)).start()
|
||||
let _ = mediaBox.removeCachedResources(Set(resourceIds), force: true).start()
|
||||
}
|
||||
}
|
||||
|
||||
@ -85,7 +85,7 @@ public func clearHistory(transaction: Transaction, mediaBox: MediaBox, peerId: P
|
||||
return true
|
||||
})
|
||||
if !resourceIds.isEmpty {
|
||||
let _ = mediaBox.removeCachedResources(Set(resourceIds)).start()
|
||||
let _ = mediaBox.removeCachedResources(Set(resourceIds), force: true).start()
|
||||
}
|
||||
}
|
||||
transaction.clearHistory(peerId, namespaces: namespaces, forEachMedia: { _ in
|
||||
|
@ -2486,7 +2486,7 @@ func replayFinalState(accountManager: AccountManager, postbox: Postbox, accountP
|
||||
addMessageMediaResourceIdsToRemove(media: media, resourceIds: &resourceIds)
|
||||
})
|
||||
if !resourceIds.isEmpty {
|
||||
let _ = mediaBox.removeCachedResources(Set(resourceIds)).start()
|
||||
let _ = mediaBox.removeCachedResources(Set(resourceIds), force: true).start()
|
||||
}
|
||||
deletedMessageIds.append(contentsOf: ids.map { .global($0) })
|
||||
case let .DeleteMessages(ids):
|
||||
@ -2503,7 +2503,7 @@ func replayFinalState(accountManager: AccountManager, postbox: Postbox, accountP
|
||||
addMessageMediaResourceIdsToRemove(media: media, resourceIds: &resourceIds)
|
||||
})
|
||||
if !resourceIds.isEmpty {
|
||||
let _ = mediaBox.removeCachedResources(Set(resourceIds)).start()
|
||||
let _ = mediaBox.removeCachedResources(Set(resourceIds), force: true).start()
|
||||
}
|
||||
case let .UpdatePeerChatInclusion(peerId, groupId, changedGroup):
|
||||
let currentInclusion = transaction.getPeerChatListInclusion(peerId)
|
||||
|
@ -1352,7 +1352,7 @@ private func markOutgoingOperationAsCompleted(transaction: Transaction, peerId:
|
||||
if let operation = entry?.contents as? SecretChatOutgoingOperation {
|
||||
return PeerOperationLogEntryUpdate(mergedIndex: .remove, contents: .update(operation.withUpdatedDelivered(true)))
|
||||
} else {
|
||||
assertionFailure()
|
||||
//assertionFailure()
|
||||
return PeerOperationLogEntryUpdate(mergedIndex: .remove, contents: .none)
|
||||
}
|
||||
})
|
||||
|
Loading…
x
Reference in New Issue
Block a user