Rollback code created to support background downloads that are no longer needed

This commit is contained in:
Maurice Parker 2019-04-26 14:21:17 -05:00
parent 76b922546c
commit e10bfde6d9
9 changed files with 31 additions and 64 deletions

View File

@ -209,13 +209,9 @@ public final class Account: DisplayNameProvider, UnreadCountProvider, Container,
// MARK: - API // MARK: - API
public func restore() { public func refreshAll() {
delegate.restore()
}
public func refreshAll(refreshMode: AccountRefreshMode) { delegate.refreshAll(for: self)
delegate.refreshAll(for: self, refreshMode: refreshMode)
} }
public func update(_ feed: Feed, with parsedFeed: ParsedFeed, _ completion: @escaping RSVoidCompletionBlock) { public func update(_ feed: Feed, with parsedFeed: ParsedFeed, _ completion: @escaping RSVoidCompletionBlock) {
@ -360,7 +356,7 @@ public final class Account: DisplayNameProvider, UnreadCountProvider, Container,
structureDidChange() structureDidChange()
DispatchQueue.main.async { DispatchQueue.main.async {
self.refreshAll(refreshMode: .forground) self.refreshAll()
} }
} }

View File

@ -7,7 +7,6 @@
objects = { objects = {
/* Begin PBXBuildFile section */ /* 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 */; }; 841973FE1F6DD1BC006346C4 /* RSCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 841973EF1F6DD19E006346C4 /* RSCore.framework */; };
841973FF1F6DD1C5006346C4 /* RSParser.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 841973FA1F6DD1AC006346C4 /* RSParser.framework */; }; 841973FF1F6DD1C5006346C4 /* RSParser.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 841973FA1F6DD1AC006346C4 /* RSParser.framework */; };
841974011F6DD1EC006346C4 /* Folder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 841974001F6DD1EC006346C4 /* Folder.swift */; }; 841974011F6DD1EC006346C4 /* Folder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 841974001F6DD1EC006346C4 /* Folder.swift */; };
@ -84,7 +83,6 @@
/* End PBXContainerItemProxy section */ /* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
519881F42271EF43008D4FA8 /* AccountRefreshMode.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountRefreshMode.swift; sourceTree = "<group>"; };
841973E81F6DD19E006346C4 /* RSCore.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RSCore.xcodeproj; path = ../RSCore/RSCore.xcodeproj; sourceTree = "<group>"; }; 841973E81F6DD19E006346C4 /* RSCore.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RSCore.xcodeproj; path = ../RSCore/RSCore.xcodeproj; sourceTree = "<group>"; };
841973F41F6DD1AC006346C4 /* RSParser.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RSParser.xcodeproj; path = ../RSParser/RSParser.xcodeproj; sourceTree = "<group>"; }; 841973F41F6DD1AC006346C4 /* RSParser.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = RSParser.xcodeproj; path = ../RSParser/RSParser.xcodeproj; sourceTree = "<group>"; };
841974001F6DD1EC006346C4 /* Folder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Folder.swift; sourceTree = "<group>"; }; 841974001F6DD1EC006346C4 /* Folder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Folder.swift; sourceTree = "<group>"; };
@ -205,7 +203,6 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
846E77531F6F00E300A165E2 /* AccountManager.swift */, 846E77531F6F00E300A165E2 /* AccountManager.swift */,
519881F42271EF43008D4FA8 /* AccountRefreshMode.swift */,
848935101F62486800CEBD24 /* Account.swift */, 848935101F62486800CEBD24 /* Account.swift */,
84AF4EA3222CFDD100F6A800 /* AccountSettings.swift */, 84AF4EA3222CFDD100F6A800 /* AccountSettings.swift */,
841974241F6DDCE4006346C4 /* AccountDelegate.swift */, 841974241F6DDCE4006346C4 /* AccountDelegate.swift */,
@ -430,7 +427,6 @@
84B99C9F1FAE8D3200ECDEDB /* ContainerPath.swift in Sources */, 84B99C9F1FAE8D3200ECDEDB /* ContainerPath.swift in Sources */,
846E77501F6EF9C400A165E2 /* LocalAccountRefresher.swift in Sources */, 846E77501F6EF9C400A165E2 /* LocalAccountRefresher.swift in Sources */,
84D09623217418DC00D77525 /* FeedbinTagging.swift in Sources */, 84D09623217418DC00D77525 /* FeedbinTagging.swift in Sources */,
519881F52271EF43008D4FA8 /* AccountRefreshMode.swift in Sources */,
84CAD7161FDF2E22000F0755 /* FeedbinArticle.swift in Sources */, 84CAD7161FDF2E22000F0755 /* FeedbinArticle.swift in Sources */,
84D0962521741B8500D77525 /* FeedbinSavedSearch.swift in Sources */, 84D0962521741B8500D77525 /* FeedbinSavedSearch.swift in Sources */,
841974011F6DD1EC006346C4 /* Folder.swift in Sources */, 841974011F6DD1EC006346C4 /* Folder.swift in Sources */,

View File

@ -16,9 +16,7 @@ public protocol AccountDelegate {
var refreshProgress: DownloadProgress { get } var refreshProgress: DownloadProgress { get }
func restore() func refreshAll(for: Account)
func refreshAll(for: Account, refreshMode: AccountRefreshMode)
// Called at the end of accounts init method. // Called at the end of accounts init method.

View File

@ -84,13 +84,9 @@ public final class AccountManager: UnreadCountProvider {
return accountsDictionary[accountID] return accountsDictionary[accountID]
} }
public func restore() { public func refreshAll() {
accounts.forEach { $0.restore() }
}
public func refreshAll(refreshMode: AccountRefreshMode = .forground) { accounts.forEach { $0.refreshAll() }
accounts.forEach { $0.refreshAll(refreshMode: refreshMode) }
} }
public func anyAccountHasAtLeastOneFeed() -> Bool { public func anyAccountHasAtLeastOneFeed() -> Bool {

View File

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

View File

@ -18,13 +18,9 @@ final class LocalAccountDelegate: AccountDelegate {
return refresher.progress return refresher.progress
} }
func restore() { func refreshAll(for account: Account) {
refresher.restore()
}
func refreshAll(for account: Account, refreshMode: AccountRefreshMode) { refresher.refreshFeeds(account.flattenedFeeds())
refresher.refreshFeeds(account.flattenedFeeds(), refreshMode: refreshMode)
} }
func accountDidInitialize(_ account: Account) { func accountDidInitialize(_ account: Account) {

View File

@ -14,29 +14,18 @@ import Articles
final class LocalAccountRefresher { final class LocalAccountRefresher {
var progress = DownloadProgress(numberOfTasks: 0) private lazy var downloadSession: DownloadSession = {
return DownloadSession(delegate: self)
private lazy var backgroundDownloadSession: DownloadSession = {
return BackgroundDownloadSession(delegate: self, progress: DownloadProgress(numberOfTasks: 0))
}() }()
private lazy var defaultDownloadSession: DownloadSession = { var progress: DownloadProgress {
return DefaultDownloadSession(delegate: self, progress: progress) return downloadSession.progress
}()
public func restore() {
_ = backgroundDownloadSession
_ = defaultDownloadSession
} }
public func refreshFeeds(_ feeds: Set<Feed>, refreshMode: AccountRefreshMode) { public func refreshFeeds(_ feeds: Set<Feed>) {
if refreshMode == .forground {
defaultDownloadSession.downloadObjects(feeds as NSSet)
} else {
backgroundDownloadSession.downloadObjects(feeds as NSSet)
}
}
downloadSession.downloadObjects(feeds as NSSet)
}
} }
// MARK: - DownloadSessionDelegate // MARK: - DownloadSessionDelegate
@ -116,14 +105,23 @@ extension LocalAccountRefresher: DownloadSessionDelegate {
return true 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) { 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 // MARK: - Utility

View File

@ -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(unreadCountDidChange(_:)), name: .UnreadCountDidChange, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(userDefaultsDidChange(_:)), name: UserDefaults.didChangeNotification, 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
} }

@ -1 +1 @@
Subproject commit 8b517a8b53bdbbbf2c3bf2b809ca51d586fcf6ad Subproject commit 68704373aa0c34c01f470bb7373da1f4ae7f5d57