mirror of
https://github.com/Ranchero-Software/NetNewsWire
synced 2025-08-12 06:26:36 +00:00
Add updated articles from the local account refresher
This commit is contained in:
@@ -618,8 +618,9 @@ private extension CloudKitAccountDelegate {
|
||||
}
|
||||
|
||||
group.enter()
|
||||
refresher.refreshFeeds(refresherWebFeeds) { refresherNewArticles, refresherDeletedArticles in
|
||||
refresher.refreshFeeds(refresherWebFeeds) { refresherNewArticles, refresherUpdatedArticles, refresherDeletedArticles in
|
||||
newAndUpdatedArticles.formUnion(refresherNewArticles)
|
||||
newAndUpdatedArticles.formUnion(refresherUpdatedArticles)
|
||||
deletedArticles.formUnion(refresherDeletedArticles)
|
||||
group.leave()
|
||||
}
|
||||
|
||||
@@ -79,7 +79,7 @@ final class LocalAccountDelegate: AccountDelegate {
|
||||
|
||||
refreshProgress.addToNumberOfTasksAndRemaining(refresherWebFeeds.count)
|
||||
group.enter()
|
||||
refresher?.refreshFeeds(refresherWebFeeds) { _, _ in
|
||||
refresher?.refreshFeeds(refresherWebFeeds) { _, _, _ in
|
||||
group.leave()
|
||||
}
|
||||
|
||||
|
||||
@@ -21,8 +21,9 @@ protocol LocalAccountRefresherDelegate {
|
||||
final class LocalAccountRefresher {
|
||||
|
||||
var newArticles = Set<Article>()
|
||||
var updatedArticles = Set<Article>()
|
||||
var deletedArticles = Set<Article>()
|
||||
private var completion: ((Set<Article>, Set<Article>) -> Void)?
|
||||
private var completion: ((Set<Article>, Set<Article>, Set<Article>) -> Void)?
|
||||
private var isSuspended = false
|
||||
var delegate: LocalAccountRefresherDelegate?
|
||||
|
||||
@@ -30,9 +31,9 @@ final class LocalAccountRefresher {
|
||||
return DownloadSession(delegate: self)
|
||||
}()
|
||||
|
||||
public func refreshFeeds(_ feeds: Set<WebFeed>, completion: ((Set<Article>, Set<Article>) -> Void)? = nil) {
|
||||
public func refreshFeeds(_ feeds: Set<WebFeed>, completion: ((Set<Article>, Set<Article>, Set<Article>) -> Void)? = nil) {
|
||||
guard !feeds.isEmpty else {
|
||||
completion?(Set<Article>(), Set<Article>())
|
||||
completion?(Set<Article>(), Set<Article>(), Set<Article>())
|
||||
return
|
||||
}
|
||||
self.completion = completion
|
||||
@@ -106,6 +107,7 @@ extension LocalAccountRefresher: DownloadSessionDelegate {
|
||||
if case .success(let articleChanges) = result {
|
||||
|
||||
self.newArticles.formUnion(articleChanges.newArticles ?? Set<Article>())
|
||||
self.updatedArticles.formUnion(articleChanges.updatedArticles ?? Set<Article>())
|
||||
self.deletedArticles.formUnion(articleChanges.deletedArticles ?? Set<Article>())
|
||||
|
||||
if let httpResponse = response as? HTTPURLResponse {
|
||||
@@ -169,7 +171,7 @@ extension LocalAccountRefresher: DownloadSessionDelegate {
|
||||
}
|
||||
|
||||
func downloadSessionDidCompleteDownloadObjects(_ downloadSession: DownloadSession) {
|
||||
completion?(newArticles, deletedArticles)
|
||||
completion?(newArticles, updatedArticles, deletedArticles)
|
||||
completion = nil
|
||||
newArticles = Set<Article>()
|
||||
deletedArticles = Set<Article>()
|
||||
|
||||
Reference in New Issue
Block a user