diff --git a/iOS/MasterTimeline/MasterTimelineTitleView.swift b/iOS/MasterTimeline/MasterTimelineTitleView.swift index 03e68a1af..0fda8cd04 100644 --- a/iOS/MasterTimeline/MasterTimelineTitleView.swift +++ b/iOS/MasterTimeline/MasterTimelineTitleView.swift @@ -10,15 +10,7 @@ import UIKit class MasterTimelineTitleView: UIView { - @IBOutlet weak var imageView: UIImageView! { - didSet { - if let imageView = imageView { - imageView.layer.cornerRadius = 2 - imageView.clipsToBounds = true - } - } - } - + @IBOutlet weak var avatarView: MasterTimelineAvatarView! @IBOutlet weak var label: UILabel! @IBOutlet weak var unreadCountView: MasterTimelineUnreadCountView! diff --git a/iOS/MasterTimeline/MasterTimelineTitleView.xib b/iOS/MasterTimeline/MasterTimelineTitleView.xib index ad66ffdef..bebe527ad 100644 --- a/iOS/MasterTimeline/MasterTimelineTitleView.xib +++ b/iOS/MasterTimeline/MasterTimelineTitleView.xib @@ -1,8 +1,8 @@ - + - + @@ -13,13 +13,6 @@ - - - - - - - + - - - + + - + diff --git a/iOS/MasterTimeline/MasterTimelineViewController.swift b/iOS/MasterTimeline/MasterTimelineViewController.swift index a77f41f90..03b8d7ba0 100644 --- a/iOS/MasterTimeline/MasterTimelineViewController.swift +++ b/iOS/MasterTimeline/MasterTimelineViewController.swift @@ -308,6 +308,7 @@ class MasterTimelineViewController: UITableViewController, UndoableCommandRunner } @objc func feedIconDidBecomeAvailable(_ note: Notification) { + titleView?.avatarView.image = coordinator.timelineAvatar guard let feed = note.userInfo?[UserInfoKey.feed] as? Feed else { return } @@ -338,7 +339,7 @@ class MasterTimelineViewController: UITableViewController, UndoableCommandRunner } @objc func faviconDidBecomeAvailable(_ note: Notification) { - titleView?.imageView.image = coordinator.timelineFavicon + titleView?.avatarView.image = coordinator.timelineAvatar if coordinator.showAvatars { queueReloadAvailableCells() } @@ -445,11 +446,7 @@ private extension MasterTimelineViewController { if let titleView = Bundle.main.loadNibNamed("MasterTimelineTitleView", owner: self, options: nil)?[0] as? MasterTimelineTitleView { self.titleView = titleView - titleView.imageView.image = coordinator.timelineFavicon - if traitCollection.userInterfaceStyle == .dark && titleView.imageView.image?.isDark() ?? false { - titleView.imageView.backgroundColor = AppAssets.avatarBackgroundColor - } - + titleView.avatarView.image = coordinator.timelineAvatar titleView.label.text = coordinator.timelineName updateTitleUnreadCount() diff --git a/iOS/SceneCoordinator.swift b/iOS/SceneCoordinator.swift index e9ca3bf07..10153efe4 100644 --- a/iOS/SceneCoordinator.swift +++ b/iOS/SceneCoordinator.swift @@ -110,7 +110,20 @@ class SceneCoordinator: NSObject, UndoableCommandRunner, UnreadCountProvider { private(set) var currentFeedIndexPath: IndexPath? - var timelineFavicon: RSImage? { + var timelineAvatar: RSImage? { + if let feed = timelineFetcher as? Feed { + + let feedIconImage = appDelegate.feedIconDownloader.icon(for: feed) + if feedIconImage != nil { + return feedIconImage + } + + if let faviconImage = appDelegate.faviconDownloader.faviconAsAvatar(for: feed) { + return faviconImage + } + + } + return (timelineFetcher as? SmallIconProvider)?.smallIcon }