diff --git a/Account/Sources/Account/CloudKit/CloudKitAccountDelegate.swift b/Account/Sources/Account/CloudKit/CloudKitAccountDelegate.swift index 718dfbc2e..b32e3153d 100644 --- a/Account/Sources/Account/CloudKit/CloudKitAccountDelegate.swift +++ b/Account/Sources/Account/CloudKit/CloudKitAccountDelegate.swift @@ -796,13 +796,15 @@ private extension CloudKitAccountDelegate { } extension CloudKitAccountDelegate: LocalAccountRefresherDelegate { - + + func localAccountRefresher(_ refresher: LocalAccountRefresher, requestCompletedFor: URL) { + refreshProgress.completeTask() + } + func localAccountRefresher(_ refresher: LocalAccountRefresher, articleChanges: ArticleChanges) { self.storeArticleChanges(new: articleChanges.newArticles, updated: articleChanges.updatedArticles, deleted: articleChanges.deletedArticles, completion: nil) } - } - diff --git a/Account/Sources/Account/LocalAccount/LocalAccountDelegate.swift b/Account/Sources/Account/LocalAccount/LocalAccountDelegate.swift index b284fd8f1..dc440b4e4 100644 --- a/Account/Sources/Account/LocalAccount/LocalAccountDelegate.swift +++ b/Account/Sources/Account/LocalAccount/LocalAccountDelegate.swift @@ -216,6 +216,9 @@ final class LocalAccountDelegate: AccountDelegate { extension LocalAccountDelegate: LocalAccountRefresherDelegate { + func localAccountRefresher(_ refresher: LocalAccountRefresher, requestCompletedFor: URL) { + } + func localAccountRefresher(_ refresher: LocalAccountRefresher, articleChanges: ArticleChanges) { } } diff --git a/Account/Sources/Account/LocalAccount/LocalAccountRefresher.swift b/Account/Sources/Account/LocalAccount/LocalAccountRefresher.swift index 1ce8f59fe..5b97bc718 100644 --- a/Account/Sources/Account/LocalAccount/LocalAccountRefresher.swift +++ b/Account/Sources/Account/LocalAccount/LocalAccountRefresher.swift @@ -14,6 +14,7 @@ import Articles import ArticlesDatabase protocol LocalAccountRefresherDelegate { + func localAccountRefresher(_ refresher: LocalAccountRefresher, requestCompletedFor: URL) func localAccountRefresher(_ refresher: LocalAccountRefresher, articleChanges: ArticleChanges) } @@ -68,6 +69,10 @@ extension LocalAccountRefresher: DownloadSessionDelegate { func downloadSession(_ downloadSession: DownloadSession, downloadDidComplete url: URL, response: URLResponse?, data: Data, error: NSError?) { + defer { + delegate?.localAccountRefresher(self, requestCompletedFor: url) + } + guard let feed = urlToFeedDictionary[url.absoluteString] else { return }