From 116a346b872abf092471951a07d051662c5defe9 Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Sun, 5 Apr 2020 11:49:29 -0500 Subject: [PATCH] Make the remove feed process manage the progress indicator better. --- .../Account/CloudKit/CloudKitAccountDelegate.swift | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/Frameworks/Account/CloudKit/CloudKitAccountDelegate.swift b/Frameworks/Account/CloudKit/CloudKitAccountDelegate.swift index a923b1aa4..6317434d5 100644 --- a/Frameworks/Account/CloudKit/CloudKitAccountDelegate.swift +++ b/Frameworks/Account/CloudKit/CloudKitAccountDelegate.swift @@ -302,14 +302,22 @@ final class CloudKitAccountDelegate: AccountDelegate { } func removeWebFeed(for account: Account, with feed: WebFeed, from container: Container, completion: @escaping (Result) -> Void) { - refreshProgress.addToNumberOfTasksAndRemaining(1) + refreshProgress.addToNumberOfTasksAndRemaining(2) accountZone.removeWebFeed(feed, from: container) { result in self.refreshProgress.completeTask() switch result { case .success(let deleted): container.removeWebFeed(feed) if deleted { - self.publicZone.manageSubscriptions(account.flattenedWebFeedURLs, completion: completion) + self.publicZone.manageSubscriptions(account.flattenedWebFeedURLs) { result in + self.refreshProgress.completeTask() + switch result { + case .success: + completion(.success(())) + case .failure(let error): + completion(.failure(error)) + } + } } else { completion(.success(())) }