Updates older ToastView code to use error initializer

This commit is contained in:
Riley Testut
2020-03-30 14:07:18 -07:00
parent 4d75116c2d
commit 162139d52b
5 changed files with 27 additions and 21 deletions

View File

@@ -106,12 +106,14 @@ private extension AuthenticationViewController
self.signInButton.isIndicatingActivity = false
}
case .failure(let error):
case .failure(let error as NSError):
DispatchQueue.main.async {
let toastView = ToastView(text: NSLocalizedString("Failed to Log In", comment: ""), detailText: error.localizedDescription)
let error = error.withLocalizedFailure(NSLocalizedString("Failed to Log In", comment: ""))
let toastView = ToastView(error: error)
toastView.textLabel.textColor = .altPink
toastView.detailTextLabel.textColor = .altPink
toastView.show(in: self.navigationController?.view ?? self.view)
toastView.show(in: self)
self.toastView = toastView
self.signInButton.isIndicatingActivity = false

View File

@@ -180,12 +180,14 @@ private extension BrowseViewController
self.loadingState = .finished(.success(()))
}
}
catch
catch let error as NSError
{
DispatchQueue.main.async {
if self.dataSource.itemCount > 0
{
let toastView = ToastView(text: NSLocalizedString("Failed to Fetch Sources", comment: ""), detailText: error.localizedDescription)
let error = error.withLocalizedFailure(NSLocalizedString("Failed to Fetch Sources", comment: ""))
let toastView = ToastView(error: error)
toastView.show(in: self)
}

View File

@@ -184,13 +184,15 @@ private extension NewsViewController
self.loadingState = .finished(.success(()))
}
}
catch
catch let error as NSError
{
DispatchQueue.main.async {
if self.dataSource.itemCount > 0
{
let toastView = ToastView(text: NSLocalizedString("Failed to Fetch Sources", comment: ""), detailText: error.localizedDescription)
toastView.show(in: self.navigationController?.view ?? self.view, duration: 2.0)
let error = error.withLocalizedFailure(NSLocalizedString("Failed to Fetch Sources", comment: ""))
let toastView = ToastView(error: error)
toastView.show(in: self)
}
self.loadingState = .finished(.failure(error))
@@ -286,8 +288,8 @@ private extension NewsViewController
{
case .failure(OperationError.cancelled): break // Ignore
case .failure(let error):
let toastView = ToastView(text: error.localizedDescription, detailText: nil)
toastView.show(in: self.navigationController?.view ?? self.view, duration: 2)
let toastView = ToastView(error: error)
toastView.show(in: self)
case .success: print("Installed app:", storeApp.bundleIdentifier)
}

View File

@@ -227,8 +227,8 @@ private extension PatreonViewController
catch
{
DispatchQueue.main.async {
let toastView = ToastView(text: error.localizedDescription, detailText: nil)
toastView.show(in: self.navigationController?.view ?? self.view, duration: 2.0)
let toastView = ToastView(error: error)
toastView.show(in: self)
}
}
}
@@ -250,8 +250,8 @@ private extension PatreonViewController
catch
{
DispatchQueue.main.async {
let toastView = ToastView(text: error.localizedDescription, detailText: nil)
toastView.show(in: self.navigationController?.view ?? self.view, duration: 2.0)
let toastView = ToastView(error: error)
toastView.show(in: self)
}
}
}

View File

@@ -204,8 +204,8 @@ private extension SettingsViewController
break
case .failure(let error):
let toastView = ToastView(text: error.localizedDescription, detailText: nil)
toastView.show(in: self.navigationController?.view ?? self.view, duration: 2.0)
let toastView = ToastView(error: error)
toastView.show(in: self)
case .success: break
}
@@ -223,8 +223,8 @@ private extension SettingsViewController
DispatchQueue.main.async {
if let error = error
{
let toastView = ToastView(text: error.localizedDescription, detailText: nil)
toastView.show(in: self.navigationController?.view ?? self.view, duration: 2.0)
let toastView = ToastView(error: error)
toastView.show(in: self)
}
self.update()
@@ -433,7 +433,7 @@ extension SettingsViewController
else
{
let toastView = ToastView(text: NSLocalizedString("Cannot Send Mail", comment: ""), detailText: nil)
toastView.show(in: self.navigationController?.view ?? self.view, duration: 2.0)
toastView.show(in: self)
}
case .refreshAttempts: break
@@ -450,8 +450,8 @@ extension SettingsViewController: MFMailComposeViewControllerDelegate
{
if let error = error
{
let toastView = ToastView(text: error.localizedDescription, detailText: "")
toastView.show(in: self.navigationController?.view ?? self.view, duration: 2.0)
let toastView = ToastView(error: error)
toastView.show(in: self)
}
controller.dismiss(animated: true, completion: nil)