diff --git a/Shared/SmartFeeds/SmartFeedsController.swift b/Shared/SmartFeeds/SmartFeedsController.swift index 683495606..b9163a0c6 100644 --- a/Shared/SmartFeeds/SmartFeedsController.swift +++ b/Shared/SmartFeeds/SmartFeedsController.swift @@ -24,14 +24,19 @@ final class SmartFeedsController: DisplayNameProvider { self.smartFeeds = [todayFeed, unreadFeed, starredFeed] } - func find(by identifier: String) -> PseudoFeed? { + func find(by identifier: FeedIdentifier) -> PseudoFeed? { switch identifier { - case String(describing: TodayFeedDelegate.self): - return todayFeed - case String(describing: UnreadFeed.self): - return unreadFeed - case String(describing: StarredFeedDelegate.self): - return starredFeed + case .smartFeed(let stringIdentifer): + switch stringIdentifer { + case String(describing: TodayFeedDelegate.self): + return todayFeed + case String(describing: UnreadFeed.self): + return unreadFeed + case String(describing: StarredFeedDelegate.self): + return starredFeed + default: + return nil + } default: return nil } diff --git a/iOS/SceneCoordinator.swift b/iOS/SceneCoordinator.swift index a50bc53ba..87d49eb90 100644 --- a/iOS/SceneCoordinator.swift +++ b/iOS/SceneCoordinator.swift @@ -1684,14 +1684,14 @@ private extension SceneCoordinator { func handleSelectFeed(_ userInfo: [AnyHashable : Any]?) { guard let userInfo = userInfo, let feedIdentifierUserInfo = userInfo[UserInfoKey.feedIdentifier] as? [AnyHashable : Any], - let articleFetcherType = FeedIdentifier(userInfo: feedIdentifierUserInfo) else { + let feedIdentifier = FeedIdentifier(userInfo: feedIdentifierUserInfo) else { return } - switch articleFetcherType { + switch feedIdentifier { - case .smartFeed(let identifier): - guard let smartFeed = SmartFeedsController.shared.find(by: identifier) else { return } + case .smartFeed: + guard let smartFeed = SmartFeedsController.shared.find(by: feedIdentifier) else { return } if let indexPath = indexPathFor(smartFeed) { selectFeed(indexPath, animated: false) } @@ -1744,14 +1744,14 @@ private extension SceneCoordinator { func restoreFeed(_ userInfo: [AnyHashable : Any], accountID: String, webFeedID: String, articleID: String) -> Bool { guard let feedIdentifierUserInfo = userInfo[UserInfoKey.feedIdentifier] as? [AnyHashable : Any], - let articleFetcherType = FeedIdentifier(userInfo: feedIdentifierUserInfo) else { + let feedIdentifier = FeedIdentifier(userInfo: feedIdentifierUserInfo) else { return false } - switch articleFetcherType { + switch feedIdentifier { - case .smartFeed(let identifier): - guard let smartFeed = SmartFeedsController.shared.find(by: identifier) else { return false } + case .smartFeed: + guard let smartFeed = SmartFeedsController.shared.find(by: feedIdentifier) else { return false } if smartFeed.fetchArticles().contains(accountID: accountID, articleID: articleID) { if let indexPath = indexPathFor(smartFeed) { selectFeed(indexPath, animated: false) {