Download manager improvements

This commit is contained in:
Ali
2022-02-18 20:12:38 +04:00
parent 629174d261
commit ac8e9a0b9c
50 changed files with 942 additions and 253 deletions

View File

@@ -161,16 +161,18 @@ final class OrderedItemListTable: Table {
}
func addItemOrMoveToFirstPosition(collectionId: Int32, item: OrderedItemListEntry, removeTailIfCountExceeds: Int?, operations: inout [Int32: [OrderedItemListOperation]]) {
if let index = self.getIndex(collectionId: collectionId, id: item.id), index == 0 {
return
}
if operations[collectionId] == nil {
operations[collectionId] = [.addOrMoveToFirstPosition(item, removeTailIfCountExceeds)]
} else {
operations[collectionId]!.append(.addOrMoveToFirstPosition(item, removeTailIfCountExceeds))
}
if let index = self.getIndex(collectionId: collectionId, id: item.id), index == 0 {
self.indexTable.set(collectionId: collectionId, id: item.id, content: item.contents)
return
}
var orderedIds = self.getItemIds(collectionId: collectionId)
let offsetUntilIndex: Int