From c1f6026495bc174463b220317025a59d6c31ccc4 Mon Sep 17 00:00:00 2001 From: Brent Simmons Date: Sun, 9 Jun 2024 22:53:19 -0700 Subject: [PATCH] Rename Account.type to Account.accountType. --- Account/Sources/Account/Account.swift | 19 +++++++++++-------- Account/Sources/Account/AccountManager.swift | 4 ++-- Mac/MainWindow/AddFeed/FolderTreeMenu.swift | 2 +- Mac/MainWindow/Sidebar/PasteboardFeed.swift | 2 +- .../AccountsDetailViewController.swift | 6 +++--- .../AccountsPreferencesViewController.swift | 2 +- .../Accounts/AddAccountHelpView.swift | 2 +- .../Accounts/AddAccountsView.swift | 2 +- Mac/Scriptability/ScriptableAccount.swift | 2 +- Shared/Extensions/SmallIconProvider.swift | 2 +- .../ShareExtension/ExtensionContainers.swift | 2 +- iOS/Add/AddFeedFolderViewController.swift | 2 +- .../AccountInspectorViewController.swift | 14 +++++++------- iOS/Settings/AddAccountViewController.swift | 2 +- iOS/Settings/SettingsViewController.swift | 2 +- .../UIViewController-Extensions.swift | 2 +- 16 files changed, 35 insertions(+), 32 deletions(-) diff --git a/Account/Sources/Account/Account.swift b/Account/Sources/Account/Account.swift index d33bf61f5..28a8e67f7 100644 --- a/Account/Sources/Account/Account.swift +++ b/Account/Sources/Account/Account.swift @@ -17,7 +17,7 @@ import ParserObjC import Database import ArticlesDatabase import Web -import os.log +import os import Secrets import Core import CommonErrors @@ -95,7 +95,7 @@ public enum FetchType { return defaultName }() - var log = OSLog(subsystem: Bundle.main.bundleIdentifier!, category: "account") + private let logger = Logger(subsystem: Bundle.main.bundleIdentifier!, category: "Account") public var isDeleted = false @@ -107,7 +107,7 @@ public enum FetchType { return self } public let accountID: String - public let type: AccountType + public let accountType: AccountType public var nameForDisplay: String { guard let name = name, !name.isEmpty else { return defaultName @@ -295,7 +295,7 @@ public enum FetchType { self.delegate.accountMetadata = metadata self.accountID = accountID - self.type = type + self.accountType = type self.dataFolder = dataFolder let databasePath = (dataFolder as NSString).appendingPathComponent("DB.sqlite3") @@ -751,6 +751,9 @@ public enum FetchType { public func structureDidChange() { // Feeds were added or deleted. Or folders added or deleted. // Or feeds inside folders were added or deleted. + + logger.info("structureDidChange in account \(self.accountID)") + Task { @MainActor in opmlFile.markAsDirty() flattenedFeedsNeedUpdate = true @@ -762,7 +765,7 @@ public enum FetchType { func update(feed: Feed, with parsedFeed: ParsedFeed) async throws -> ArticleChanges { precondition(Thread.isMainThread) - precondition(type == .onMyMac || type == .cloudKit) + precondition(accountType == .onMyMac || accountType == .cloudKit) feed.takeSettings(from: parsedFeed) @@ -777,7 +780,7 @@ public enum FetchType { func update(feedID: String, with parsedItems: Set, deleteOlder: Bool = true) async throws -> ArticleChanges { precondition(Thread.isMainThread) - precondition(type == .onMyMac || type == .cloudKit) + precondition(accountType == .onMyMac || accountType == .cloudKit) let articleChanges = try await database.update(parsedItems: parsedItems, feedID: feedID, deleteOlder: deleteOlder) self.sendNotificationAbout(articleChanges) @@ -787,8 +790,8 @@ public enum FetchType { func update(feedIDsAndItems: [String: Set], defaultRead: Bool) async throws { precondition(Thread.isMainThread) - precondition(type != .onMyMac && type != .cloudKit) - + precondition(accountType != .onMyMac && accountType != .cloudKit) + guard !feedIDsAndItems.isEmpty else { return } diff --git a/Account/Sources/Account/AccountManager.swift b/Account/Sources/Account/AccountManager.swift index ad6a2568b..c273cf19b 100644 --- a/Account/Sources/Account/AccountManager.swift +++ b/Account/Sources/Account/AccountManager.swift @@ -176,7 +176,7 @@ import Secrets return false } for account in accounts { - if account.type == type && username == account.username { + if account.accountType == type && username == account.username { return true } } @@ -414,7 +414,7 @@ private extension AccountManager { } func duplicateServiceAccount(_ account: Account) -> Bool { - return duplicateServiceAccount(type: account.type, username: account.username) + return duplicateServiceAccount(type: account.accountType, username: account.username) } func sortByName(_ accounts: [Account]) -> [Account] { diff --git a/Mac/MainWindow/AddFeed/FolderTreeMenu.swift b/Mac/MainWindow/AddFeed/FolderTreeMenu.swift index d927fe7b8..b437bc71b 100644 --- a/Mac/MainWindow/AddFeed/FolderTreeMenu.swift +++ b/Mac/MainWindow/AddFeed/FolderTreeMenu.swift @@ -24,7 +24,7 @@ import Core continue } - if restrictToSpecialAccounts && !(account.type == .onMyMac || account.type == .cloudKit) { + if restrictToSpecialAccounts && !(account.accountType == .onMyMac || account.accountType == .cloudKit) { continue } diff --git a/Mac/MainWindow/Sidebar/PasteboardFeed.swift b/Mac/MainWindow/Sidebar/PasteboardFeed.swift index 6bec9956a..53491ce1b 100644 --- a/Mac/MainWindow/Sidebar/PasteboardFeed.swift +++ b/Mac/MainWindow/Sidebar/PasteboardFeed.swift @@ -207,7 +207,7 @@ extension Feed: PasteboardWriterOwner { private extension FeedPasteboardWriter { var pasteboardFeed: PasteboardFeed { - return PasteboardFeed(url: feed.url, feedID: feed.feedID, homePageURL: feed.homePageURL, name: feed.name, editedName: feed.editedName, accountID: feed.account?.accountID, accountType: feed.account?.type) + return PasteboardFeed(url: feed.url, feedID: feed.feedID, homePageURL: feed.homePageURL, name: feed.name, editedName: feed.editedName, accountID: feed.account?.accountID, accountType: feed.account?.accountType) } var exportDictionary: PasteboardFeedDictionary { diff --git a/Mac/Preferences/Accounts/AccountsDetailViewController.swift b/Mac/Preferences/Accounts/AccountsDetailViewController.swift index ac8b7135d..fe7fadd06 100644 --- a/Mac/Preferences/Accounts/AccountsDetailViewController.swift +++ b/Mac/Preferences/Accounts/AccountsDetailViewController.swift @@ -32,7 +32,7 @@ final class AccountsDetailViewController: NSViewController, NSTextFieldDelegate guard let account = account else { return true } - switch account.type { + switch account.accountType { case .onMyMac, .cloudKit, .feedly: return true default: @@ -66,7 +66,7 @@ final class AccountsDetailViewController: NSViewController, NSTextFieldDelegate guard let account else { return } - switch account.type { + switch account.accountType { case .feedbin: let accountsFeedbinWindowController = AccountsFeedbinWindowController() @@ -76,7 +76,7 @@ final class AccountsDetailViewController: NSViewController, NSTextFieldDelegate case .inoreader, .bazQux, .theOldReader, .freshRSS: let accountsReaderAPIWindowController = AccountsReaderAPIWindowController() - accountsReaderAPIWindowController.accountType = account.type + accountsReaderAPIWindowController.accountType = account.accountType accountsReaderAPIWindowController.account = account accountsReaderAPIWindowController.runSheetOnWindow(self.view.window!) accountsWindowController = accountsReaderAPIWindowController diff --git a/Mac/Preferences/Accounts/AccountsPreferencesViewController.swift b/Mac/Preferences/Accounts/AccountsPreferencesViewController.swift index 4d88f8171..309e85dde 100644 --- a/Mac/Preferences/Accounts/AccountsPreferencesViewController.swift +++ b/Mac/Preferences/Accounts/AccountsPreferencesViewController.swift @@ -118,7 +118,7 @@ extension AccountsPreferencesViewController: NSTableViewDelegate { cell.textField?.stringValue = account.nameForDisplay cell.imageView?.image = account.smallIcon?.image - if account.type == .feedbin { + if account.accountType == .feedbin { cell.isImageTemplateCapable = false } diff --git a/Mac/Preferences/Accounts/AddAccountHelpView.swift b/Mac/Preferences/Accounts/AddAccountHelpView.swift index 4fa1fd54a..39d04109f 100644 --- a/Mac/Preferences/Accounts/AddAccountHelpView.swift +++ b/Mac/Preferences/Accounts/AddAccountHelpView.swift @@ -22,7 +22,7 @@ struct AddAccountHelpView: View { ForEach(accountTypes, id: \.self) { accountType in if !(AppDefaults.shared.isDeveloperBuild && accountType.isDeveloperRestricted) { Button(action: { - if accountType == .cloudKit && AccountManager.shared.accounts.contains(where: { $0.type == .cloudKit }) { + if accountType == .cloudKit && AccountManager.shared.accounts.contains(where: { $0.accountType == .cloudKit }) { iCloudUnavailableError = true } else { delegate?.presentSheetForAccount(accountType) diff --git a/Mac/Preferences/Accounts/AddAccountsView.swift b/Mac/Preferences/Accounts/AddAccountsView.swift index cf67e81f6..244f1f400 100644 --- a/Mac/Preferences/Accounts/AddAccountsView.swift +++ b/Mac/Preferences/Accounts/AddAccountsView.swift @@ -260,7 +260,7 @@ struct AddAccountsView: View { } @MainActor private func isCloudInUse() -> Bool { - AccountManager.shared.accounts.contains(where: { $0.type == .cloudKit }) + AccountManager.shared.accounts.contains(where: { $0.accountType == .cloudKit }) } private func chunkedWebAccounts() -> [[AccountType]] { diff --git a/Mac/Scriptability/ScriptableAccount.swift b/Mac/Scriptability/ScriptableAccount.swift index a1857bda4..28c143395 100644 --- a/Mac/Scriptability/ScriptableAccount.swift +++ b/Mac/Scriptability/ScriptableAccount.swift @@ -156,7 +156,7 @@ import Core @objc(accountType) var accountType:OSType { var osType:String = "" - switch self.account.type { + switch self.account.accountType { case .onMyMac: osType = "Locl" case .cloudKit: diff --git a/Shared/Extensions/SmallIconProvider.swift b/Shared/Extensions/SmallIconProvider.swift index 755f9f44f..6abbd25cf 100644 --- a/Shared/Extensions/SmallIconProvider.swift +++ b/Shared/Extensions/SmallIconProvider.swift @@ -18,7 +18,7 @@ protocol SmallIconProvider { extension Account: SmallIconProvider { var smallIcon: IconImage? { - if let image = AppAssets.image(for: type) { + if let image = AppAssets.image(for: accountType) { return IconImage(image) } return nil diff --git a/Shared/ShareExtension/ExtensionContainers.swift b/Shared/ShareExtension/ExtensionContainers.swift index 896209191..b4fb45e3f 100644 --- a/Shared/ShareExtension/ExtensionContainers.swift +++ b/Shared/ShareExtension/ExtensionContainers.swift @@ -58,7 +58,7 @@ struct ExtensionContainers: Codable { init(account: Account) { self.name = account.nameForDisplay self.accountID = account.accountID - self.type = account.type + self.type = account.accountType self.disallowFeedInRootFolder = account.behaviors.contains(.disallowFeedInRootFolder) self.containerID = account.containerID self.folders = account.sortedFolders?.map { ExtensionFolder(folder: $0) } ?? [ExtensionFolder]() diff --git a/iOS/Add/AddFeedFolderViewController.swift b/iOS/Add/AddFeedFolderViewController.swift index 8d74f6469..c4f0374d8 100644 --- a/iOS/Add/AddFeedFolderViewController.swift +++ b/iOS/Add/AddFeedFolderViewController.swift @@ -30,7 +30,7 @@ final class AddFeedFolderViewController: UITableViewController { if addFeedType == .web { sortedActiveAccounts = AccountManager.shared.sortedActiveAccounts } else { - sortedActiveAccounts = AccountManager.shared.sortedActiveAccounts.filter { $0.type == .onMyMac || $0.type == .cloudKit } + sortedActiveAccounts = AccountManager.shared.sortedActiveAccounts.filter { $0.accountType == .onMyMac || $0.accountType == .cloudKit } } for account in sortedActiveAccounts { diff --git a/iOS/Inspector/AccountInspectorViewController.swift b/iOS/Inspector/AccountInspectorViewController.swift index 681852eb5..b0a957ffa 100644 --- a/iOS/Inspector/AccountInspectorViewController.swift +++ b/iOS/Inspector/AccountInspectorViewController.swift @@ -32,8 +32,8 @@ class AccountInspectorViewController: UITableViewController { navigationItem.title = account.nameForDisplay - if account.type != .onMyMac { - deleteAccountButton.setTitle(NSLocalizedString("Remove Account", comment: "Remove Account"), for: .normal) + if account.accountType != .onMyMac { + deleteAccountButton.setTitle(NSLocalizedString("Remove Account", comment: "Remove Account"), for: .normal) } if isModal { @@ -56,7 +56,7 @@ class AccountInspectorViewController: UITableViewController { @IBAction func credentials(_ sender: Any) { guard let account = account else { return } - switch account.type { + switch account.accountType { case .feedbin: let navController = UIStoryboard.account.instantiateViewController(withIdentifier: "FeedbinAccountNavigationViewController") as! UINavigationController let addViewController = navController.topViewController as! FeedbinAccountViewController @@ -72,7 +72,7 @@ class AccountInspectorViewController: UITableViewController { case .inoreader, .bazQux, .theOldReader, .freshRSS: let navController = UIStoryboard.account.instantiateViewController(withIdentifier: "ReaderAPIAccountNavigationViewController") as! UINavigationController let addViewController = navController.topViewController as! ReaderAPIAccountViewController - addViewController.accountType = account.type + addViewController.accountType = account.accountType addViewController.account = account navController.modalPresentationStyle = .currentContext present(navController, animated: true) @@ -88,7 +88,7 @@ class AccountInspectorViewController: UITableViewController { let title = NSLocalizedString("Remove Account", comment: "Remove Account") let message: String = { - switch account.type { + switch account.accountType { case .feedly: return NSLocalizedString("Are you sure you want to remove this account? NetNewsWire will no longer be able to access articles and feeds unless the account is added again.", comment: "Log Out and Remove Account") default: @@ -125,7 +125,7 @@ extension AccountInspectorViewController { guard let account = account else { return true } - switch account.type { + switch account.accountType { case .onMyMac, .cloudKit, .feedly: return true default: @@ -154,7 +154,7 @@ extension AccountInspectorViewController { if section == 0 { let headerView = tableView.dequeueReusableHeaderFooterView(withIdentifier: "SectionHeader") as! ImageHeaderView - headerView.imageView.image = AppAssets.image(for: account.type) + headerView.imageView.image = AppAssets.image(for: account.accountType) return headerView } else { return super.tableView(tableView, viewForHeaderInSection: section) diff --git a/iOS/Settings/AddAccountViewController.swift b/iOS/Settings/AddAccountViewController.swift index 9f8949016..c29a77fa3 100644 --- a/iOS/Settings/AddAccountViewController.swift +++ b/iOS/Settings/AddAccountViewController.swift @@ -137,7 +137,7 @@ final class AddAccountViewController: UITableViewController, AddAccountDismissDe case AddAccountSections.icloud.rawValue: cell.comboNameLabel?.text = AddAccountSections.icloud.sectionContent[indexPath.row].localizedAccountName() cell.comboImage?.image = AppAssets.image(for: AddAccountSections.icloud.sectionContent[indexPath.row]) - if AppDefaults.shared.isDeveloperBuild || AccountManager.shared.accounts.contains(where: { $0.type == .cloudKit }) { + if AppDefaults.shared.isDeveloperBuild || AccountManager.shared.accounts.contains(where: { $0.accountType == .cloudKit }) { cell.isUserInteractionEnabled = false cell.comboNameLabel?.isEnabled = false } diff --git a/iOS/Settings/SettingsViewController.swift b/iOS/Settings/SettingsViewController.swift index 76e361128..edb861276 100644 --- a/iOS/Settings/SettingsViewController.swift +++ b/iOS/Settings/SettingsViewController.swift @@ -146,7 +146,7 @@ final class SettingsViewController: UITableViewController { let acctCell = tableView.dequeueReusableCell(withIdentifier: "SettingsComboTableViewCell", for: indexPath) as! SettingsComboTableViewCell acctCell.applyThemeProperties() let account = sortedAccounts[indexPath.row] - acctCell.comboImage?.image = AppAssets.image(for: account.type) + acctCell.comboImage?.image = AppAssets.image(for: account.accountType) acctCell.comboNameLabel?.text = account.nameForDisplay cell = acctCell } diff --git a/iOS/UIKit Extensions/UIViewController-Extensions.swift b/iOS/UIKit Extensions/UIViewController-Extensions.swift index 7b90b9118..8d1fc4cfb 100644 --- a/iOS/UIKit Extensions/UIViewController-Extensions.swift +++ b/iOS/UIKit Extensions/UIViewController-Extensions.swift @@ -60,7 +60,7 @@ private extension UIViewController { let title = NSLocalizedString("Account Error", comment: "Account Error") let alertController = UIAlertController(title: title, message: error.localizedDescription, preferredStyle: .alert) - if error.account?.type == .feedbin { + if error.account?.accountType == .feedbin { let credentialsTitle = NSLocalizedString("Update Credentials", comment: "Update Credentials") let credentialsAction = UIAlertAction(title: credentialsTitle, style: .default) { [weak self] _ in