From 59991d0478794d26f95be42ff2ea06b704789c95 Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Mon, 23 Sep 2019 11:09:40 -0500 Subject: [PATCH] Save resource files immediately in the share extension --- Frameworks/Account/Account.swift | 6 ++++++ Frameworks/Account/AccountMetadataFile.swift | 4 ++++ Frameworks/Account/FeedMetadataFile.swift | 4 ++++ Frameworks/Account/OPMLFile.swift | 4 ++++ iOS/ShareExtension/ShareViewController.swift | 1 + submodules/RSCore | 2 +- 6 files changed, 20 insertions(+), 1 deletion(-) diff --git a/Frameworks/Account/Account.swift b/Frameworks/Account/Account.swift index ccd90f376..c7ad1a617 100644 --- a/Frameworks/Account/Account.swift +++ b/Frameworks/Account/Account.swift @@ -368,6 +368,12 @@ public final class Account: DisplayNameProvider, UnreadCountProvider, Container, } + public func saveIfNecessary() { + metadataFile.saveIfNecessary() + feedMetadataFile.saveIfNecessary() + opmlFile.saveIfNecessary() + } + func loadOPMLItems(_ items: [RSOPMLItem], parentFolder: Folder?) { var feedsToAdd = Set() diff --git a/Frameworks/Account/AccountMetadataFile.swift b/Frameworks/Account/AccountMetadataFile.swift index e38a49a1e..cb1aaed5d 100644 --- a/Frameworks/Account/AccountMetadataFile.swift +++ b/Frameworks/Account/AccountMetadataFile.swift @@ -31,6 +31,10 @@ final class AccountMetadataFile { managedFile.load() } + func saveIfNecessary() { + managedFile.saveIfNecessary() + } + } private extension AccountMetadataFile { diff --git a/Frameworks/Account/FeedMetadataFile.swift b/Frameworks/Account/FeedMetadataFile.swift index bb3384fa1..a602819b6 100644 --- a/Frameworks/Account/FeedMetadataFile.swift +++ b/Frameworks/Account/FeedMetadataFile.swift @@ -31,6 +31,10 @@ final class FeedMetadataFile { managedFile.load() } + func saveIfNecessary() { + managedFile.saveIfNecessary() + } + } private extension FeedMetadataFile { diff --git a/Frameworks/Account/OPMLFile.swift b/Frameworks/Account/OPMLFile.swift index 39ace29b8..6cc06eeb2 100644 --- a/Frameworks/Account/OPMLFile.swift +++ b/Frameworks/Account/OPMLFile.swift @@ -32,6 +32,10 @@ final class OPMLFile { managedFile.load() } + func saveIfNecessary() { + managedFile.saveIfNecessary() + } + } private extension OPMLFile { diff --git a/iOS/ShareExtension/ShareViewController.swift b/iOS/ShareExtension/ShareViewController.swift index 19d42cb4e..1510ff04b 100644 --- a/iOS/ShareExtension/ShareViewController.swift +++ b/iOS/ShareExtension/ShareViewController.swift @@ -119,6 +119,7 @@ class ShareViewController: SLComposeServiceViewController, ShareFolderPickerCont switch result { case .success: + account!.saveIfNecessary() self.extensionContext!.completeRequest(returningItems: [], completionHandler: nil) case .failure(let error): self.presentError(error) { diff --git a/submodules/RSCore b/submodules/RSCore index ced48ad15..55afb4585 160000 --- a/submodules/RSCore +++ b/submodules/RSCore @@ -1 +1 @@ -Subproject commit ced48ad15ebc762fea50beb618eed3cf10721148 +Subproject commit 55afb45853754e4a894035edc05fd4b5823472ca