diff options
Diffstat (limited to 'Sora/Data/Settings')
| -rw-r--r-- | Sora/Data/Settings/SettingsManager.swift | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/Sora/Data/Settings/SettingsManager.swift b/Sora/Data/Settings/SettingsManager.swift index 63a6223..39317b4 100644 --- a/Sora/Data/Settings/SettingsManager.swift +++ b/Sora/Data/Settings/SettingsManager.swift @@ -147,21 +147,7 @@ class SettingsManager: ObservableObject { // swiftlint:disable:this type_body_l object: NSUbiquitousKeyValueStore.default, queue: .main ) { [weak self] _ in - guard let localSelf = self, localSelf.enableICloudSync else { return } // swiftlint:disable:this self_binding - - if let data = NSUbiquitousKeyValueStore.default.data(forKey: "bookmarks") { - localSelf.bookmarksData = data - } - - if let data = NSUbiquitousKeyValueStore.default.data(forKey: "searchHistory") { - localSelf.searchHistoryData = data - } - - if let data = NSUbiquitousKeyValueStore.default.data(forKey: "customProviders") { - localSelf.customProvidersData = data - } - - localSelf.objectWillChange.send() + self?.pullSyncedSettings() } } @@ -254,6 +240,24 @@ class SettingsManager: ObservableObject { // swiftlint:disable:this type_body_l #endif } + func pullSyncedSettings() { + if self.enableICloudSync { + if let data = NSUbiquitousKeyValueStore.default.data(forKey: "bookmarks") { + self.bookmarksData = data + } + + if let data = NSUbiquitousKeyValueStore.default.data(forKey: "searchHistory") { + self.searchHistoryData = data + } + + if let data = NSUbiquitousKeyValueStore.default.data(forKey: "customProviders") { + self.customProvidersData = data + } + + self.objectWillChange.send() + } + } + func syncToICloud() { if enableICloudSync { // Merge bookmarks |