Add FeedProviderManager

This commit is contained in:
Maurice Parker
2020-04-16 15:06:56 -05:00
parent 55bc7eae0b
commit d4b5d7bde4
6 changed files with 51 additions and 10 deletions

View File

@@ -15,7 +15,7 @@ public extension Notification.Name {
static let ActiveExtensionPointsDidChange = Notification.Name(rawValue: "ActiveExtensionPointsDidChange")
}
final class ExtensionPointManager {
final class ExtensionPointManager: FeedProviderManagerDelegate {
static let shared = ExtensionPointManager()
@@ -75,13 +75,6 @@ final class ExtensionPointManager {
saveExtensionPointIDs()
}
func bestFeedProvider(for offered: URLComponents, with username: String?) -> FeedProvider? {
if let owner = feedProviderMatching(offered, forUsername: username, ability: .owner) {
return owner
}
return feedProviderMatching(offered, forUsername: username, ability: .available)
}
}
private extension ExtensionPointManager {

View File

@@ -118,7 +118,7 @@ public final class WebFeedIconDownloader {
return nil
}
if let components = URLComponents(string: feed.url), let feedProvider = ExtensionPointManager.shared.bestFeedProvider(for: components, with: nil) {
if let components = URLComponents(string: feed.url), let feedProvider = FeedProviderManager.shared.best(for: components, with: nil) {
feedProvider.iconURL(components) { result in
switch result {
case .success(let feedProviderURL):