From e10bfde6d92126db158cf40e4f3f62d64b52421a Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Fri, 26 Apr 2019 14:21:17 -0500 Subject: [PATCH] Rollback code created to support background downloads that are no longer needed --- Frameworks/Account/Account.swift | 10 ++--- .../Account/Account.xcodeproj/project.pbxproj | 4 -- Frameworks/Account/AccountDelegate.swift | 4 +- Frameworks/Account/AccountManager.swift | 8 +--- Frameworks/Account/AccountRefreshMode.swift | 14 ------- .../LocalAccount/LocalAccountDelegate.swift | 8 +--- .../LocalAccount/LocalAccountRefresher.swift | 42 +++++++++---------- iOS/AppDelegate.swift | 3 +- submodules/RSWeb | 2 +- 9 files changed, 31 insertions(+), 64 deletions(-) delete mode 100644 Frameworks/Account/AccountRefreshMode.swift diff --git a/Frameworks/Account/Account.swift b/Frameworks/Account/Account.swift index 1a367e2b0..f17eb02ea 100644 --- a/Frameworks/Account/Account.swift +++ b/Frameworks/Account/Account.swift @@ -209,13 +209,9 @@ public final class Account: DisplayNameProvider, UnreadCountProvider, Container, // MARK: - API - public func restore() { - delegate.restore() - } - - public func refreshAll(refreshMode: AccountRefreshMode) { + public func refreshAll() { - delegate.refreshAll(for: self, refreshMode: refreshMode) + delegate.refreshAll(for: self) } public func update(_ feed: Feed, with parsedFeed: ParsedFeed, _ completion: @escaping RSVoidCompletionBlock) { @@ -360,7 +356,7 @@ public final class Account: DisplayNameProvider, UnreadCountProvider, Container, structureDidChange() DispatchQueue.main.async { - self.refreshAll(refreshMode: .forground) + self.refreshAll() } } diff --git a/Frameworks/Account/Account.xcodeproj/project.pbxproj b/Frameworks/Account/Account.xcodeproj/project.pbxproj index 775db5a3c..8bc75caa8 100644 --- a/Frameworks/Account/Account.xcodeproj/project.pbxproj +++ b/Frameworks/Account/Account.xcodeproj/project.pbxproj @@ -7,7 +7,6 @@ objects = { /* Begin PBXBuildFile section */ - 519881F52271EF43008D4FA8 /* AccountRefreshMode.swift in Sources */ = {isa = PBXBuildFile; fileRef = 519881F42271EF43008D4FA8 /* AccountRefreshMode.swift */; }; 841973FE1F6DD1BC006346C4 /* RSCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 841973EF1F6DD19E006346C4 /* RSCore.framework */; }; 841973FF1F6DD1C5006346C4 /* RSParser.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 841973FA1F6DD1AC006346C4 /* RSParser.framework */; }; 841974011F6DD1EC006346C4 /* Folder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 841974001F6DD1EC006346C4 /* Folder.swift */; }; @@ -84,7 +83,6 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 519881F42271EF43008D4FA8 /* AccountRefreshMode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountRefreshMode.swift; sourceTree = ""; }; 841973E81F6DD19E006346C4 /* RSCore.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RSCore.xcodeproj; path = ../RSCore/RSCore.xcodeproj; sourceTree = ""; }; 841973F41F6DD1AC006346C4 /* RSParser.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RSParser.xcodeproj; path = ../RSParser/RSParser.xcodeproj; sourceTree = ""; }; 841974001F6DD1EC006346C4 /* Folder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Folder.swift; sourceTree = ""; }; @@ -205,7 +203,6 @@ isa = PBXGroup; children = ( 846E77531F6F00E300A165E2 /* AccountManager.swift */, - 519881F42271EF43008D4FA8 /* AccountRefreshMode.swift */, 848935101F62486800CEBD24 /* Account.swift */, 84AF4EA3222CFDD100F6A800 /* AccountSettings.swift */, 841974241F6DDCE4006346C4 /* AccountDelegate.swift */, @@ -430,7 +427,6 @@ 84B99C9F1FAE8D3200ECDEDB /* ContainerPath.swift in Sources */, 846E77501F6EF9C400A165E2 /* LocalAccountRefresher.swift in Sources */, 84D09623217418DC00D77525 /* FeedbinTagging.swift in Sources */, - 519881F52271EF43008D4FA8 /* AccountRefreshMode.swift in Sources */, 84CAD7161FDF2E22000F0755 /* FeedbinArticle.swift in Sources */, 84D0962521741B8500D77525 /* FeedbinSavedSearch.swift in Sources */, 841974011F6DD1EC006346C4 /* Folder.swift in Sources */, diff --git a/Frameworks/Account/AccountDelegate.swift b/Frameworks/Account/AccountDelegate.swift index 5868f321d..5da492f37 100644 --- a/Frameworks/Account/AccountDelegate.swift +++ b/Frameworks/Account/AccountDelegate.swift @@ -16,9 +16,7 @@ public protocol AccountDelegate { var refreshProgress: DownloadProgress { get } - func restore() - - func refreshAll(for: Account, refreshMode: AccountRefreshMode) + func refreshAll(for: Account) // Called at the end of account’s init method. diff --git a/Frameworks/Account/AccountManager.swift b/Frameworks/Account/AccountManager.swift index 6bc04381e..3af54eca8 100644 --- a/Frameworks/Account/AccountManager.swift +++ b/Frameworks/Account/AccountManager.swift @@ -84,13 +84,9 @@ public final class AccountManager: UnreadCountProvider { return accountsDictionary[accountID] } - public func restore() { - accounts.forEach { $0.restore() } - } - - public func refreshAll(refreshMode: AccountRefreshMode = .forground) { + public func refreshAll() { - accounts.forEach { $0.refreshAll(refreshMode: refreshMode) } + accounts.forEach { $0.refreshAll() } } public func anyAccountHasAtLeastOneFeed() -> Bool { diff --git a/Frameworks/Account/AccountRefreshMode.swift b/Frameworks/Account/AccountRefreshMode.swift deleted file mode 100644 index 8c2a8891b..000000000 --- a/Frameworks/Account/AccountRefreshMode.swift +++ /dev/null @@ -1,14 +0,0 @@ -// -// AccountRefreshMode.swift -// Account -// -// Created by Maurice Parker on 4/25/19. -// Copyright © 2019 Ranchero Software, LLC. All rights reserved. -// - -import Foundation - -public enum AccountRefreshMode { - case background - case forground -} diff --git a/Frameworks/Account/LocalAccount/LocalAccountDelegate.swift b/Frameworks/Account/LocalAccount/LocalAccountDelegate.swift index 4e60c4477..259d437a5 100644 --- a/Frameworks/Account/LocalAccount/LocalAccountDelegate.swift +++ b/Frameworks/Account/LocalAccount/LocalAccountDelegate.swift @@ -18,13 +18,9 @@ final class LocalAccountDelegate: AccountDelegate { return refresher.progress } - func restore() { - refresher.restore() - } - - func refreshAll(for account: Account, refreshMode: AccountRefreshMode) { + func refreshAll(for account: Account) { - refresher.refreshFeeds(account.flattenedFeeds(), refreshMode: refreshMode) + refresher.refreshFeeds(account.flattenedFeeds()) } func accountDidInitialize(_ account: Account) { diff --git a/Frameworks/Account/LocalAccount/LocalAccountRefresher.swift b/Frameworks/Account/LocalAccount/LocalAccountRefresher.swift index 4443df59d..fbdf1d1e6 100644 --- a/Frameworks/Account/LocalAccount/LocalAccountRefresher.swift +++ b/Frameworks/Account/LocalAccount/LocalAccountRefresher.swift @@ -14,29 +14,18 @@ import Articles final class LocalAccountRefresher { - var progress = DownloadProgress(numberOfTasks: 0) - - private lazy var backgroundDownloadSession: DownloadSession = { - return BackgroundDownloadSession(delegate: self, progress: DownloadProgress(numberOfTasks: 0)) - }() - - private lazy var defaultDownloadSession: DownloadSession = { - return DefaultDownloadSession(delegate: self, progress: progress) + private lazy var downloadSession: DownloadSession = { + return DownloadSession(delegate: self) }() - public func restore() { - _ = backgroundDownloadSession - _ = defaultDownloadSession + var progress: DownloadProgress { + return downloadSession.progress } - - public func refreshFeeds(_ feeds: Set, refreshMode: AccountRefreshMode) { - if refreshMode == .forground { - defaultDownloadSession.downloadObjects(feeds as NSSet) - } else { - backgroundDownloadSession.downloadObjects(feeds as NSSet) - } + + public func refreshFeeds(_ feeds: Set) { + + downloadSession.downloadObjects(feeds as NSSet) } - } // MARK: - DownloadSessionDelegate @@ -116,14 +105,23 @@ extension LocalAccountRefresher: DownloadSessionDelegate { return true } - func downloadSession(_ downloadSession: DownloadSession, didReceiveUnexpectedResponse: URLResponse, representedObject: AnyObject) { + func downloadSession(_ downloadSession: DownloadSession, didReceiveUnexpectedResponse response: URLResponse, representedObject: AnyObject) { +// guard let feed = representedObject as? Feed else { +// return +// } +// +// print("Unexpected response \(response) for \(feed.url).") } - + func downloadSession(_ downloadSession: DownloadSession, didReceiveNotModifiedResponse: URLResponse, representedObject: AnyObject) { +// guard let feed = representedObject as? Feed else { +// return +// } +// +// print("Not modified response for \(feed.url).") } - } // MARK: - Utility diff --git a/iOS/AppDelegate.swift b/iOS/AppDelegate.swift index 49f145de8..b93a78b8e 100644 --- a/iOS/AppDelegate.swift +++ b/iOS/AppDelegate.swift @@ -45,7 +45,8 @@ class AppDelegate: UIResponder, UIApplicationDelegate, UISplitViewControllerDele NotificationCenter.default.addObserver(self, selector: #selector(unreadCountDidChange(_:)), name: .UnreadCountDidChange, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(userDefaultsDidChange(_:)), name: UserDefaults.didChangeNotification, object: nil) - AccountManager.shared.restore() + // Reinitialize the shared state as early as possible + _ = AccountManager.shared } diff --git a/submodules/RSWeb b/submodules/RSWeb index 8b517a8b5..68704373a 160000 --- a/submodules/RSWeb +++ b/submodules/RSWeb @@ -1 +1 @@ -Subproject commit 8b517a8b53bdbbbf2c3bf2b809ca51d586fcf6ad +Subproject commit 68704373aa0c34c01f470bb7373da1f4ae7f5d57