Remove force unwraps of url and container. Issue #1721

This commit is contained in:
Maurice Parker 2020-01-30 13:59:15 -07:00
parent 13a1ef0605
commit f9dea33375

View File

@ -95,6 +95,12 @@ class ShareViewController: SLComposeServiceViewController, ShareFolderPickerCont
} }
override func didSelectPost() { override func didSelectPost() {
guard let url = url, let container = container else {
self.extensionContext!.completeRequest(returningItems: [], completionHandler: nil)
return
}
var account: Account? var account: Account?
if let containerAccount = container as? Account { if let containerAccount = container as? Account {
account = containerAccount account = containerAccount
@ -105,7 +111,7 @@ class ShareViewController: SLComposeServiceViewController, ShareFolderPickerCont
return return
} }
if let urlString = url?.absoluteString, account!.hasWebFeed(withURL: urlString) { if account!.hasWebFeed(withURL: url.absoluteString) {
let errorTitle = NSLocalizedString("Error", comment: "Error") let errorTitle = NSLocalizedString("Error", comment: "Error")
presentError(title: errorTitle, message: AccountError.createErrorAlreadySubscribed.localizedDescription) presentError(title: errorTitle, message: AccountError.createErrorAlreadySubscribed.localizedDescription)
self.extensionContext!.cancelRequest(withError: AccountError.createErrorAlreadySubscribed) self.extensionContext!.cancelRequest(withError: AccountError.createErrorAlreadySubscribed)
@ -118,7 +124,7 @@ class ShareViewController: SLComposeServiceViewController, ShareFolderPickerCont
guard !expired else { return } guard !expired else { return }
DispatchQueue.main.async { DispatchQueue.main.async {
account!.createWebFeed(url: self.url!.absoluteString, name: feedName, container: self.container!) { result in account!.createWebFeed(url: url.absoluteString, name: feedName, container: container) { result in
account!.save() account!.save()
AccountManager.shared.suspendNetworkAll() AccountManager.shared.suspendNetworkAll()
AccountManager.shared.suspendDatabaseAll() AccountManager.shared.suspendDatabaseAll()