Merge remote-tracking branch 'upstream/main' into feat-1844-pull-up-mark-as-read

This commit is contained in:
everhardt
2021-11-24 22:36:39 +01:00
5 changed files with 129 additions and 199 deletions

View File

@@ -82,7 +82,7 @@ class MasterTimelineViewController: PullUpToMarkAsReadTableViewController, Undoa
numberOfTextLines = AppDefaults.shared.timelineNumberOfLines
iconSize = AppDefaults.shared.timelineIconSize
resetEstimatedRowHeight()
if let titleView = Bundle.main.loadNibNamed("MasterTimelineTitleView", owner: self, options: nil)?[0] as? MasterTimelineTitleView {
navigationItem.titleView = titleView
}
@@ -577,8 +577,12 @@ class MasterTimelineViewController: PullUpToMarkAsReadTableViewController, Undoa
}
@objc private func reloadAllVisibleCells() {
let visibleArticles = tableView.indexPathsForVisibleRows!.compactMap { return dataSource.itemIdentifier(for: $0) }
reloadCells(visibleArticles)
if #available(iOS 15, *) {
reconfigureCells(coordinator.articles)
} else {
let visibleArticles = tableView.indexPathsForVisibleRows!.compactMap { return dataSource.itemIdentifier(for: $0) }
reloadCells(visibleArticles)
}
}
private func reloadCells(_ articles: [Article]) {
@@ -588,6 +592,15 @@ class MasterTimelineViewController: PullUpToMarkAsReadTableViewController, Undoa
self?.restoreSelectionIfNecessary(adjustScroll: false)
}
}
private func reconfigureCells(_ articles: [Article]) {
guard #available(iOS 15, *) else { return }
var snapshot = dataSource.snapshot()
snapshot.reconfigureItems(articles)
dataSource.apply(snapshot, animatingDifferences: false) { [weak self] in
self?.restoreSelectionIfNecessary(adjustScroll: false)
}
}
// MARK: Cell Configuring