mirror of
https://gitlab.opencode.de/bwi/bundesmessenger/clients/bundesmessenger-ios.git
synced 2026-04-29 12:46:58 +02:00
key backup settings: Make it display loading wheel and error
This commit is contained in:
@@ -27,6 +27,9 @@ import UIKit
|
||||
func settingsKeyBackup(_ settingsKeyBackupTableViewSection: SettingsKeyBackupTableViewSection, showVerifyDevice deviceId:String)
|
||||
func settingsKeyBackup(_ settingsKeyBackupTableViewSection: SettingsKeyBackupTableViewSection, showKeyBackupRecover keyBackupVersion:MXKeyBackupVersion)
|
||||
func settingsKeyBackup(_ settingsKeyBackupTableViewSection: SettingsKeyBackupTableViewSection, showKeyBackupDeleteConfirm keyBackupVersion:MXKeyBackupVersion)
|
||||
|
||||
func settingsKeyBackup(_ settingsKeyBackupTableViewSection: SettingsKeyBackupTableViewSection, showActivityIndicator show:Bool)
|
||||
func settingsKeyBackup(_ settingsKeyBackupTableViewSection: SettingsKeyBackupTableViewSection, showError error:Error)
|
||||
}
|
||||
|
||||
@objc class SettingsKeyBackupTableViewSection: NSObject {
|
||||
@@ -303,6 +306,17 @@ extension SettingsKeyBackupTableViewSection: SettingsKeyBackupViewModelViewDeleg
|
||||
func settingsKeyBackupViewModel(_ viewModel: SettingsKeyBackupViewModelType, didUpdateViewState viewSate: SettingsKeyBackupViewState) {
|
||||
self.render(viewState: viewSate)
|
||||
}
|
||||
func settingsKeyBackupViewModel(_ viewModel: SettingsKeyBackupViewModelType, didUpdateNetworkRequestViewState networkRequestViewSate: SettingsKeyBackupNetworkRequestViewState) {
|
||||
switch networkRequestViewSate {
|
||||
case .loading:
|
||||
self.delegate?.settingsKeyBackup(self, showActivityIndicator: true)
|
||||
case .loaded:
|
||||
self.delegate?.settingsKeyBackup(self, showActivityIndicator: false)
|
||||
case .error(let error):
|
||||
self.delegate?.settingsKeyBackup(self, showError: error)
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
func settingsKeyBackupViewModelShowKeyBackupSetup(_ viewModel: SettingsKeyBackupViewModelType) {
|
||||
self.delegate?.settingsKeyBackupTableViewSectionShowKeyBackupSetup(self)
|
||||
|
||||
@@ -135,11 +135,19 @@ class SettingsKeyBackupViewModel: SettingsKeyBackupViewModelType {
|
||||
return
|
||||
}
|
||||
|
||||
self.keyBackup.deleteVersion(keyBackupVersionVersion, success: {
|
||||
self.viewDelegate?.settingsKeyBackupViewModel(self, didUpdateNetworkRequestViewState: .loading)
|
||||
|
||||
}) { (Error) in
|
||||
|
||||
}
|
||||
self.keyBackup.deleteVersion(keyBackupVersionVersion, success: { [weak self] () in
|
||||
guard let sself = self else {
|
||||
return
|
||||
}
|
||||
sself.viewDelegate?.settingsKeyBackupViewModel(sself, didUpdateNetworkRequestViewState: .loaded)
|
||||
|
||||
}, failure: { [weak self] error in
|
||||
guard let sself = self else {
|
||||
return
|
||||
}
|
||||
sself.viewDelegate?.settingsKeyBackupViewModel(sself, didUpdateNetworkRequestViewState: .error(error))
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import UIKit
|
||||
|
||||
protocol SettingsKeyBackupViewModelViewDelegate: class {
|
||||
func settingsKeyBackupViewModel(_ viewModel: SettingsKeyBackupViewModelType, didUpdateViewState viewSate: SettingsKeyBackupViewState)
|
||||
func settingsKeyBackupViewModel(_ viewModel: SettingsKeyBackupViewModelType, didUpdateNetworkRequestViewState networkRequestViewSate: SettingsKeyBackupNetworkRequestViewState)
|
||||
|
||||
func settingsKeyBackupViewModelShowKeyBackupSetup(_ viewModel: SettingsKeyBackupViewModelType)
|
||||
func settingsKeyBackup(_ viewModel: SettingsKeyBackupViewModelType, showVerifyDevice deviceId:String)
|
||||
|
||||
@@ -31,3 +31,11 @@ enum SettingsKeyBackupViewState {
|
||||
case backupAndRunning(MXKeyBackupVersion, MXKeyBackupVersionTrust, Progress)
|
||||
case backupButNotTrusted(MXKeyBackupVersion, MXKeyBackupVersionTrust)
|
||||
}
|
||||
|
||||
/// State representing a network request made by the module
|
||||
/// Only SettingsKeyBackupViewAction.delete generates such states
|
||||
enum SettingsKeyBackupNetworkRequestViewState {
|
||||
case loading
|
||||
case loaded
|
||||
case error(Error)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user