From 6f9d3953f1166d4c44909708baeb365856e1264d Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Mon, 23 Sep 2019 09:57:50 -0500 Subject: [PATCH] Ensure that account metadata gets propagated to delegates when it reloads --- Frameworks/Account/Account.swift | 6 +++++- Frameworks/Account/Feedbin/FeedbinAccountDelegate.swift | 1 - Frameworks/Account/Feedly/FeedlyAccountDelegate.swift | 1 - Frameworks/Account/ReaderAPI/ReaderAPIAccountDelegate.swift | 1 - 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Frameworks/Account/Account.swift b/Frameworks/Account/Account.swift index bc10ad7ee..f3a2ed70e 100644 --- a/Frameworks/Account/Account.swift +++ b/Frameworks/Account/Account.swift @@ -174,7 +174,11 @@ public final class Account: DisplayNameProvider, UnreadCountProvider, Container, private lazy var opmlFile = OPMLFile(filename: (dataFolder as NSString).appendingPathComponent("Subscriptions.opml"), account: self) private lazy var metadataFile = AccountMetadataFile(filename: (dataFolder as NSString).appendingPathComponent("Settings.plist"), account: self) - var metadata = AccountMetadata() + var metadata = AccountMetadata() { + didSet { + delegate.accountMetadata = metadata + } + } private lazy var feedMetadataFile = FeedMetadataFile(filename: (dataFolder as NSString).appendingPathComponent("FeedMetadata.plist"), account: self) typealias FeedMetadataDictionary = [String: FeedMetadata] diff --git a/Frameworks/Account/Feedbin/FeedbinAccountDelegate.swift b/Frameworks/Account/Feedbin/FeedbinAccountDelegate.swift index 597a6db67..4eace99df 100644 --- a/Frameworks/Account/Feedbin/FeedbinAccountDelegate.swift +++ b/Frameworks/Account/Feedbin/FeedbinAccountDelegate.swift @@ -524,7 +524,6 @@ final class FeedbinAccountDelegate: AccountDelegate { func accountDidInitialize(_ account: Account) { credentials = try? account.retrieveCredentials(type: .basic) - accountMetadata = account.metadata } static func validateCredentials(transport: Transport, credentials: Credentials, endpoint: URL? = nil, completion: @escaping (Result) -> Void) { diff --git a/Frameworks/Account/Feedly/FeedlyAccountDelegate.swift b/Frameworks/Account/Feedly/FeedlyAccountDelegate.swift index f154438be..79bbef237 100644 --- a/Frameworks/Account/Feedly/FeedlyAccountDelegate.swift +++ b/Frameworks/Account/Feedly/FeedlyAccountDelegate.swift @@ -170,7 +170,6 @@ final class FeedlyAccountDelegate: AccountDelegate { } func accountDidInitialize(_ account: Account) { -// accountMetadata = account.metadata credentials = try? account.retrieveCredentials(type: .oauthAccessToken) syncStrategy = FeedlySyncStrategy(account: account, caller: caller, log: log) diff --git a/Frameworks/Account/ReaderAPI/ReaderAPIAccountDelegate.swift b/Frameworks/Account/ReaderAPI/ReaderAPIAccountDelegate.swift index 6ee8edc11..4b895b0ed 100644 --- a/Frameworks/Account/ReaderAPI/ReaderAPIAccountDelegate.swift +++ b/Frameworks/Account/ReaderAPI/ReaderAPIAccountDelegate.swift @@ -411,7 +411,6 @@ final class ReaderAPIAccountDelegate: AccountDelegate { } func accountDidInitialize(_ account: Account) { - accountMetadata = account.metadata credentials = try? account.retrieveCredentials(type: .readerAPIKey) }