From 7a670516fb3aae3f856958510ec7a53978921189 Mon Sep 17 00:00:00 2001 From: Stuart Breckenridge Date: Sat, 22 Jan 2022 20:42:24 +0800 Subject: [PATCH] if #available Removes < iOS 15 if #available checks --- iOS/AppDelegate.swift | 12 +- .../Cell/MasterFeedTableViewCell.swift | 4 +- .../MasterFeedTableViewSectionHeader.swift | 4 +- iOS/MasterFeed/MasterFeedViewController.swift | 146 ++++++------------ .../MasterTimelineTitleView.swift | 8 +- .../MasterTimelineViewController.swift | 15 +- iOS/SceneDelegate.swift | 4 +- 7 files changed, 55 insertions(+), 138 deletions(-) diff --git a/iOS/AppDelegate.swift b/iOS/AppDelegate.swift index e8cbd8832..f30a509a7 100644 --- a/iOS/AppDelegate.swift +++ b/iOS/AppDelegate.swift @@ -398,9 +398,7 @@ private extension AppDelegate { } AccountManager.shared.refreshAll(errorHandler: ErrorHandler.log) { [unowned self] in if !AccountManager.shared.isSuspended { - if #available(iOS 14, *) { - try? WidgetDataEncoder.shared.encodeWidgetData() - } + try? WidgetDataEncoder.shared.encodeWidgetData() self.suspendApplication() os_log("Account refresh operation completed.", log: self.log, type: .info) task.setTaskCompleted(success: true) @@ -445,9 +443,7 @@ private extension AppDelegate { self.prepareAccountsForBackground() account!.syncArticleStatus(completion: { [weak self] _ in if !AccountManager.shared.isSuspended { - if #available(iOS 14, *) { - try? WidgetDataEncoder.shared.encodeWidgetData() - } + try? WidgetDataEncoder.shared.encodeWidgetData() self?.prepareAccountsForBackground() self?.suspendApplication() } @@ -474,9 +470,7 @@ private extension AppDelegate { account!.markArticles(article!, statusKey: .starred, flag: true) { _ in } account!.syncArticleStatus(completion: { [weak self] _ in if !AccountManager.shared.isSuspended { - if #available(iOS 14, *) { - try? WidgetDataEncoder.shared.encodeWidgetData() - } + try? WidgetDataEncoder.shared.encodeWidgetData() self?.prepareAccountsForBackground() self?.suspendApplication() } diff --git a/iOS/MasterFeed/Cell/MasterFeedTableViewCell.swift b/iOS/MasterFeed/Cell/MasterFeedTableViewCell.swift index 4cb6f90e6..bf9c5a8da 100644 --- a/iOS/MasterFeed/Cell/MasterFeedTableViewCell.swift +++ b/iOS/MasterFeed/Cell/MasterFeedTableViewCell.swift @@ -197,9 +197,7 @@ private extension MasterFeedTableViewCell { disclosureButton?.tintColor = AppAssets.controlBackgroundColor disclosureButton?.imageView?.contentMode = .center disclosureButton?.imageView?.clipsToBounds = false - if #available(iOS 13.4, *) { - disclosureButton?.addInteraction(UIPointerInteraction()) - } + disclosureButton?.addInteraction(UIPointerInteraction()) addSubviewAtInit(disclosureButton!) } diff --git a/iOS/MasterFeed/Cell/MasterFeedTableViewSectionHeader.swift b/iOS/MasterFeed/Cell/MasterFeedTableViewSectionHeader.swift index dc5b21ed6..ee9cc296b 100644 --- a/iOS/MasterFeed/Cell/MasterFeedTableViewSectionHeader.swift +++ b/iOS/MasterFeed/Cell/MasterFeedTableViewSectionHeader.swift @@ -88,9 +88,7 @@ class MasterFeedTableViewSectionHeader: UITableViewHeaderFooterView { button.tintColor = UIColor.tertiaryLabel button.setImage(AppAssets.disclosureImage, for: .normal) button.contentMode = .center - if #available(iOS 13.4, *) { - button.addInteraction(UIPointerInteraction()) - } + button.addInteraction(UIPointerInteraction()) button.addTarget(self, action: #selector(toggleDisclosure), for: .touchUpInside) return button }() diff --git a/iOS/MasterFeed/MasterFeedViewController.swift b/iOS/MasterFeed/MasterFeedViewController.swift index 6e2964c2d..c61d6d329 100644 --- a/iOS/MasterFeed/MasterFeedViewController.swift +++ b/iOS/MasterFeed/MasterFeedViewController.swift @@ -19,11 +19,7 @@ class MasterFeedViewController: UITableViewController, UndoableCommandRunner { private var refreshProgressView: RefreshProgressView? @IBOutlet weak var addNewItemButton: UIBarButtonItem! { didSet { - if #available(iOS 14, *) { - addNewItemButton.primaryAction = nil - } else { - addNewItemButton.action = #selector(MasterFeedViewController.add(_:)) - } + addNewItemButton.primaryAction = nil } } @@ -429,59 +425,6 @@ class MasterFeedViewController: UITableViewController, UndoableCommandRunner { coordinator.toggleReadFeedsFilter() } - @IBAction func add(_ sender: UIBarButtonItem) { - - if #available(iOS 14, *) { - - } else { - let title = NSLocalizedString("Add Item", comment: "Add Item") - let alertController = UIAlertController(title: title, message: nil, preferredStyle: .actionSheet) - - let cancelTitle = NSLocalizedString("Cancel", comment: "Cancel") - let cancelAction = UIAlertAction(title: cancelTitle, style: .cancel) - - let addWebFeedActionTitle = NSLocalizedString("Add Web Feed", comment: "Add Web Feed") - let addWebFeedAction = UIAlertAction(title: addWebFeedActionTitle, style: .default) { _ in - self.coordinator.showAddWebFeed() - } - - let addRedditFeedActionTitle = NSLocalizedString("Add Reddit Feed", comment: "Add Reddit Feed") - let addRedditFeedAction = UIAlertAction(title: addRedditFeedActionTitle, style: .default) { _ in - self.coordinator.showAddRedditFeed() - } - - let addTwitterFeedActionTitle = NSLocalizedString("Add Twitter Feed", comment: "Add Twitter Feed") - let addTwitterFeedAction = UIAlertAction(title: addTwitterFeedActionTitle, style: .default) { _ in - self.coordinator.showAddTwitterFeed() - } - - let addWebFolderdActionTitle = NSLocalizedString("Add Folder", comment: "Add Folder") - let addWebFolderAction = UIAlertAction(title: addWebFolderdActionTitle, style: .default) { _ in - self.coordinator.showAddFolder() - } - - alertController.addAction(addWebFeedAction) - - if AccountManager.shared.activeAccounts.contains(where: { $0.type == .onMyMac || $0.type == .cloudKit }) { - if ExtensionPointManager.shared.isRedditEnabled { - alertController.addAction(addRedditFeedAction) - } - if ExtensionPointManager.shared.isTwitterEnabled { - alertController.addAction(addTwitterFeedAction) - } - } - - alertController.addAction(addWebFolderAction) - alertController.addAction(cancelAction) - - alertController.popoverPresentationController?.barButtonItem = sender - - present(alertController, animated: true) - } - - - } - @objc func toggleSectionHeader(_ sender: UITapGestureRecognizer) { guard let headerView = sender.view as? MasterFeedTableViewSectionHeader else { return @@ -644,52 +587,49 @@ class MasterFeedViewController: UITableViewController, UndoableCommandRunner { @objc func configureContextMenu(_: Any? = nil) { - if #available(iOS 14.0, *) { - - /* - Context Menu Order: - 1. Add Web Feed - 2. Add Reddit Feed - 3. Add Twitter Feed - 4. Add Folder - */ - - var menuItems: [UIAction] = [] - - let addWebFeedActionTitle = NSLocalizedString("Add Web Feed", comment: "Add Web Feed") - let addWebFeedAction = UIAction(title: addWebFeedActionTitle, image: AppAssets.plus) { _ in - self.coordinator.showAddWebFeed() - } - menuItems.append(addWebFeedAction) - - if AccountManager.shared.activeAccounts.contains(where: { $0.type == .onMyMac || $0.type == .cloudKit }) { - if ExtensionPointManager.shared.isRedditEnabled { - let addRedditFeedActionTitle = NSLocalizedString("Add Reddit Feed", comment: "Add Reddit Feed") - let addRedditFeedAction = UIAction(title: addRedditFeedActionTitle, image: AppAssets.contextMenuReddit.tinted(color: .label)) { _ in - self.coordinator.showAddRedditFeed() - } - menuItems.append(addRedditFeedAction) - } - if ExtensionPointManager.shared.isTwitterEnabled { - let addTwitterFeedActionTitle = NSLocalizedString("Add Twitter Feed", comment: "Add Twitter Feed") - let addTwitterFeedAction = UIAction(title: addTwitterFeedActionTitle, image: AppAssets.contextMenuTwitter.tinted(color: .label)) { _ in - self.coordinator.showAddTwitterFeed() - } - menuItems.append(addTwitterFeedAction) - } - } - - let addWebFolderActionTitle = NSLocalizedString("Add Folder", comment: "Add Folder") - let addWebFolderAction = UIAction(title: addWebFolderActionTitle, image: AppAssets.folderOutlinePlus) { _ in - self.coordinator.showAddFolder() - } - - menuItems.append(addWebFolderAction) - - let contextMenu = UIMenu(title: NSLocalizedString("Add Item", comment: "Add Item"), image: nil, identifier: nil, options: [], children: menuItems.reversed()) - - self.addNewItemButton.menu = contextMenu + /* + Context Menu Order: + 1. Add Web Feed + 2. Add Reddit Feed + 3. Add Twitter Feed + 4. Add Folder + */ + + var menuItems: [UIAction] = [] + + let addWebFeedActionTitle = NSLocalizedString("Add Web Feed", comment: "Add Web Feed") + let addWebFeedAction = UIAction(title: addWebFeedActionTitle, image: AppAssets.plus) { _ in + self.coordinator.showAddWebFeed() } + menuItems.append(addWebFeedAction) + + if AccountManager.shared.activeAccounts.contains(where: { $0.type == .onMyMac || $0.type == .cloudKit }) { + if ExtensionPointManager.shared.isRedditEnabled { + let addRedditFeedActionTitle = NSLocalizedString("Add Reddit Feed", comment: "Add Reddit Feed") + let addRedditFeedAction = UIAction(title: addRedditFeedActionTitle, image: AppAssets.contextMenuReddit.tinted(color: .label)) { _ in + self.coordinator.showAddRedditFeed() + } + menuItems.append(addRedditFeedAction) + } + if ExtensionPointManager.shared.isTwitterEnabled { + let addTwitterFeedActionTitle = NSLocalizedString("Add Twitter Feed", comment: "Add Twitter Feed") + let addTwitterFeedAction = UIAction(title: addTwitterFeedActionTitle, image: AppAssets.contextMenuTwitter.tinted(color: .label)) { _ in + self.coordinator.showAddTwitterFeed() + } + menuItems.append(addTwitterFeedAction) + } + } + + let addWebFolderActionTitle = NSLocalizedString("Add Folder", comment: "Add Folder") + let addWebFolderAction = UIAction(title: addWebFolderActionTitle, image: AppAssets.folderOutlinePlus) { _ in + self.coordinator.showAddFolder() + } + + menuItems.append(addWebFolderAction) + + let contextMenu = UIMenu(title: NSLocalizedString("Add Item", comment: "Add Item"), image: nil, identifier: nil, options: [], children: menuItems.reversed()) + + self.addNewItemButton.menu = contextMenu } func focus() { diff --git a/iOS/MasterTimeline/MasterTimelineTitleView.swift b/iOS/MasterTimeline/MasterTimelineTitleView.swift index 9c81ac7ee..dce1f4ea7 100644 --- a/iOS/MasterTimeline/MasterTimelineTitleView.swift +++ b/iOS/MasterTimeline/MasterTimelineTitleView.swift @@ -35,17 +35,13 @@ class MasterTimelineTitleView: UIView { func buttonize() { heightAnchor.constraint(equalToConstant: 40.0).isActive = true accessibilityTraits = .button - if #available(iOS 13.4, *) { - addInteraction(pointerInteraction) - } + addInteraction(pointerInteraction) } func debuttonize() { heightAnchor.constraint(equalToConstant: 40.0).isActive = true accessibilityTraits.remove(.button) - if #available(iOS 13.4, *) { - removeInteraction(pointerInteraction) - } + removeInteraction(pointerInteraction) } } diff --git a/iOS/MasterTimeline/MasterTimelineViewController.swift b/iOS/MasterTimeline/MasterTimelineViewController.swift index 9456f369b..238915f03 100644 --- a/iOS/MasterTimeline/MasterTimelineViewController.swift +++ b/iOS/MasterTimeline/MasterTimelineViewController.swift @@ -101,12 +101,10 @@ class MasterTimelineViewController: UITableViewController, UndoableCommandRunner } // Disable swipe back on iPad Mice - if #available(iOS 13.4, *) { - guard let gesture = self.navigationController?.interactivePopGestureRecognizer as? UIPanGestureRecognizer else { - return - } - gesture.allowedScrollTypesMask = [] + guard let gesture = self.navigationController?.interactivePopGestureRecognizer as? UIPanGestureRecognizer else { + return } + gesture.allowedScrollTypesMask = [] } @@ -525,12 +523,7 @@ class MasterTimelineViewController: UITableViewController, UndoableCommandRunner } @objc private func reloadAllVisibleCells() { - if #available(iOS 15, *) { - reconfigureCells(coordinator.articles) - } else { - let visibleArticles = tableView.indexPathsForVisibleRows!.compactMap { return dataSource.itemIdentifier(for: $0) } - reloadCells(visibleArticles) - } + reconfigureCells(coordinator.articles) } private func reloadCells(_ articles: [Article]) { diff --git a/iOS/SceneDelegate.swift b/iOS/SceneDelegate.swift index 523446eed..f054d9846 100644 --- a/iOS/SceneDelegate.swift +++ b/iOS/SceneDelegate.swift @@ -66,9 +66,7 @@ class SceneDelegate: UIResponder, UIWindowSceneDelegate { } func sceneDidEnterBackground(_ scene: UIScene) { - if #available(iOS 14, *) { - try? WidgetDataEncoder.shared.encodeWidgetData() - } + try? WidgetDataEncoder.shared.encodeWidgetData() ArticleStringFormatter.emptyCaches() appDelegate.prepareAccountsForBackground() }