mirror of
https://github.com/Swiftgram/Telegram-iOS.git
synced 2025-12-22 14:20:20 +00:00
Add missing clear storage progress code
This commit is contained in:
@@ -379,7 +379,7 @@ func _internal_renderStorageUsageStatsMessages(account: Account, stats: StorageU
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func _internal_clearStorage(account: Account, peerId: EnginePeer.Id?, categories: [StorageUsageStats.CategoryKey], includeMessages: [Message], excludeMessages: [Message]) -> Signal<Never, NoError> {
|
func _internal_clearStorage(account: Account, peerId: EnginePeer.Id?, categories: [StorageUsageStats.CategoryKey], includeMessages: [Message], excludeMessages: [Message]) -> Signal<Float, NoError> {
|
||||||
let mediaBox = account.postbox.mediaBox
|
let mediaBox = account.postbox.mediaBox
|
||||||
return Signal { subscriber in
|
return Signal { subscriber in
|
||||||
var includeResourceIds = Set<MediaResourceId>()
|
var includeResourceIds = Set<MediaResourceId>()
|
||||||
@@ -435,7 +435,9 @@ func _internal_clearStorage(account: Account, peerId: EnginePeer.Id?, categories
|
|||||||
resourceIds.append(MediaResourceId(value))
|
resourceIds.append(MediaResourceId(value))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let _ = mediaBox.removeCachedResources(resourceIds).start(completed: {
|
let _ = mediaBox.removeCachedResources(resourceIds).start(next: { progress in
|
||||||
|
subscriber.putNext(progress)
|
||||||
|
}, completed: {
|
||||||
if peerId == nil && categories.contains(.misc) {
|
if peerId == nil && categories.contains(.misc) {
|
||||||
let additionalPaths: [String] = [
|
let additionalPaths: [String] = [
|
||||||
"cache",
|
"cache",
|
||||||
@@ -469,7 +471,7 @@ func _internal_clearStorage(account: Account, peerId: EnginePeer.Id?, categories
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func _internal_clearStorage(account: Account, peerIds: Set<EnginePeer.Id>, includeMessages: [Message], excludeMessages: [Message]) -> Signal<Never, NoError> {
|
func _internal_clearStorage(account: Account, peerIds: Set<EnginePeer.Id>, includeMessages: [Message], excludeMessages: [Message]) -> Signal<Float, NoError> {
|
||||||
let mediaBox = account.postbox.mediaBox
|
let mediaBox = account.postbox.mediaBox
|
||||||
return Signal { subscriber in
|
return Signal { subscriber in
|
||||||
var includeResourceIds = Set<MediaResourceId>()
|
var includeResourceIds = Set<MediaResourceId>()
|
||||||
@@ -496,12 +498,15 @@ func _internal_clearStorage(account: Account, peerIds: Set<EnginePeer.Id>, inclu
|
|||||||
|
|
||||||
mediaBox.storageBox.remove(peerIds: peerIds, includeIds: includeIds, excludeIds: excludeIds, completion: { ids in
|
mediaBox.storageBox.remove(peerIds: peerIds, includeIds: includeIds, excludeIds: excludeIds, completion: { ids in
|
||||||
var resourceIds: [MediaResourceId] = []
|
var resourceIds: [MediaResourceId] = []
|
||||||
|
|
||||||
for id in ids {
|
for id in ids {
|
||||||
if let value = String(data: id, encoding: .utf8) {
|
if let value = String(data: id, encoding: .utf8) {
|
||||||
resourceIds.append(MediaResourceId(value))
|
resourceIds.append(MediaResourceId(value))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let _ = mediaBox.removeCachedResources(resourceIds).start(completed: {
|
let _ = mediaBox.removeCachedResources(resourceIds).start(next: { progress in
|
||||||
|
subscriber.putNext(progress)
|
||||||
|
}, completed: {
|
||||||
subscriber.putCompletion()
|
subscriber.putCompletion()
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -233,11 +233,11 @@ public extension TelegramEngine {
|
|||||||
return _internal_renderStorageUsageStatsMessages(account: self.account, stats: stats, categories: categories, existingMessages: existingMessages)
|
return _internal_renderStorageUsageStatsMessages(account: self.account, stats: stats, categories: categories, existingMessages: existingMessages)
|
||||||
}
|
}
|
||||||
|
|
||||||
public func clearStorage(peerId: EnginePeer.Id?, categories: [StorageUsageStats.CategoryKey], includeMessages: [Message], excludeMessages: [Message]) -> Signal<Never, NoError> {
|
public func clearStorage(peerId: EnginePeer.Id?, categories: [StorageUsageStats.CategoryKey], includeMessages: [Message], excludeMessages: [Message]) -> Signal<Float, NoError> {
|
||||||
return _internal_clearStorage(account: self.account, peerId: peerId, categories: categories, includeMessages: includeMessages, excludeMessages: excludeMessages)
|
return _internal_clearStorage(account: self.account, peerId: peerId, categories: categories, includeMessages: includeMessages, excludeMessages: excludeMessages)
|
||||||
}
|
}
|
||||||
|
|
||||||
public func clearStorage(peerIds: Set<EnginePeer.Id>, includeMessages: [Message], excludeMessages: [Message]) -> Signal<Never, NoError> {
|
public func clearStorage(peerIds: Set<EnginePeer.Id>, includeMessages: [Message], excludeMessages: [Message]) -> Signal<Float, NoError> {
|
||||||
_internal_clearStorage(account: self.account, peerIds: peerIds, includeMessages: includeMessages, excludeMessages: excludeMessages)
|
_internal_clearStorage(account: self.account, peerIds: peerIds, includeMessages: includeMessages, excludeMessages: excludeMessages)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user