[Delta Sync] Displays activity indicator when signing-in
Without an indicator it can feel like the app has froze, when really it’s just preparing to sync.
This commit is contained in:
parent
19fb333a67
commit
043fb923ae
@ -32,6 +32,7 @@ extension SyncingServicesViewController
|
|||||||
class SyncingServicesViewController: UITableViewController
|
class SyncingServicesViewController: UITableViewController
|
||||||
{
|
{
|
||||||
@IBOutlet private var syncingEnabledSwitch: UISwitch!
|
@IBOutlet private var syncingEnabledSwitch: UISwitch!
|
||||||
|
private var activityIndicatorView: UIActivityIndicatorView!
|
||||||
|
|
||||||
private var selectedSyncingService = Settings.syncingService
|
private var selectedSyncingService = Settings.syncingService
|
||||||
|
|
||||||
@ -39,6 +40,12 @@ class SyncingServicesViewController: UITableViewController
|
|||||||
{
|
{
|
||||||
super.viewDidLoad()
|
super.viewDidLoad()
|
||||||
|
|
||||||
|
self.activityIndicatorView = UIActivityIndicatorView(style: .medium)
|
||||||
|
self.activityIndicatorView.hidesWhenStopped = true
|
||||||
|
|
||||||
|
let barButtonItem = UIBarButtonItem(customView: self.activityIndicatorView)
|
||||||
|
self.navigationItem.rightBarButtonItem = barButtonItem
|
||||||
|
|
||||||
self.syncingEnabledSwitch.onTintColor = .deltaPurple
|
self.syncingEnabledSwitch.onTintColor = .deltaPurple
|
||||||
self.syncingEnabledSwitch.isOn = (self.selectedSyncingService != nil)
|
self.syncingEnabledSwitch.isOn = (self.selectedSyncingService != nil)
|
||||||
}
|
}
|
||||||
@ -215,6 +222,8 @@ extension SyncingServicesViewController
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
self.activityIndicatorView.startAnimating()
|
||||||
|
|
||||||
SyncManager.shared.authenticate(presentingViewController: self) { (result) in
|
SyncManager.shared.authenticate(presentingViewController: self) { (result) in
|
||||||
DispatchQueue.main.async {
|
DispatchQueue.main.async {
|
||||||
do
|
do
|
||||||
@ -233,6 +242,8 @@ extension SyncingServicesViewController
|
|||||||
let alertController = UIAlertController(title: NSLocalizedString("Failed to Sign In", comment: ""), error: error)
|
let alertController = UIAlertController(title: NSLocalizedString("Failed to Sign In", comment: ""), error: error)
|
||||||
self.present(alertController, animated: true, completion: nil)
|
self.present(alertController, animated: true, completion: nil)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
self.activityIndicatorView.stopAnimating()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user