Restore and use func localAccountRefresher(_ refresher: LocalAccountRefresher, requestCompletedFor: URL).

This commit is contained in:
Brent Simmons
2024-11-29 12:06:05 -08:00
parent 7e42e80b41
commit fb8a62b698
3 changed files with 13 additions and 3 deletions

View File

@@ -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)
}
}

View File

@@ -216,6 +216,9 @@ final class LocalAccountDelegate: AccountDelegate {
extension LocalAccountDelegate: LocalAccountRefresherDelegate {
func localAccountRefresher(_ refresher: LocalAccountRefresher, requestCompletedFor: URL) {
}
func localAccountRefresher(_ refresher: LocalAccountRefresher, articleChanges: ArticleChanges) {
}
}

View File

@@ -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
}