Fix refresh progress indicator for Reader API

This commit is contained in:
Maurice Parker 2020-10-31 13:04:49 -05:00
parent 295bca326a
commit 1c67cbb6f4
1 changed files with 8 additions and 0 deletions

View File

@ -884,15 +884,23 @@ private extension ReaderAPIAccountDelegate {
account.fetchArticleIDsForStatusesWithoutArticlesNewerThanCutoffDate { articleIDsResult in account.fetchArticleIDsForStatusesWithoutArticlesNewerThanCutoffDate { articleIDsResult in
func process(_ fetchedArticleIDs: Set<String>) { func process(_ fetchedArticleIDs: Set<String>) {
guard !fetchedArticleIDs.isEmpty else {
completion()
return
}
os_log(.debug, log: self.log, "Refreshing missing articles...") os_log(.debug, log: self.log, "Refreshing missing articles...")
let group = DispatchGroup() let group = DispatchGroup()
let articleIDs = Array(fetchedArticleIDs) let articleIDs = Array(fetchedArticleIDs)
let chunkedArticleIDs = articleIDs.chunked(into: 100) let chunkedArticleIDs = articleIDs.chunked(into: 100)
self.refreshProgress.addToNumberOfTasksAndRemaining(chunkedArticleIDs.count - 1)
for chunk in chunkedArticleIDs { for chunk in chunkedArticleIDs {
group.enter() group.enter()
self.caller.retrieveEntries(articleIDs: chunk) { result in self.caller.retrieveEntries(articleIDs: chunk) { result in
self.refreshProgress.completeTask()
switch result { switch result {
case .success(let entries): case .success(let entries):