Browse Source

added NCActivityIndicator

Signed-off-by: Marino Faggiana <marino@marinofaggiana.com>
Marino Faggiana 1 year ago
parent
commit
03d33f5b63

+ 3 - 12
iOSClient/Login/NCLoginWeb.swift

@@ -28,7 +28,6 @@ import FloatingPanel
 
 class NCLoginWeb: UIViewController {
 
-    var activityIndicator: UIActivityIndicatorView!
     var webView: WKWebView?
     let appDelegate = UIApplication.shared.delegate as! AppDelegate
     var titleView: String = ""
@@ -93,16 +92,9 @@ class NCLoginWeb: UIViewController {
         webView!.topAnchor.constraint(equalTo: view.topAnchor, constant: 0).isActive = true
         webView!.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0).isActive = true
 
-        activityIndicator = UIActivityIndicatorView(style: .medium)
-        activityIndicator.center = self.view.center
-        activityIndicator.startAnimating()
-        
-        self.view.addSubview(activityIndicator)
-        
         // AppConfig
         if let serverUrl = configServerUrl {
             if let username = self.configUsername, let password = configAppPassword {
-                activityIndicator.stopAnimating()
                 createAccount(server: serverUrl, username: username, password: password)
                 return
             } else if let username = self.configUsername, let password = configPassword {
@@ -185,7 +177,6 @@ class NCLoginWeb: UIViewController {
     func getAppPassword(serverUrl: String, username: String, password: String) {
         
         NextcloudKit.shared.getAppPassword(serverUrl: serverUrl, username: username, password: password) { token, data, error in
-            self.activityIndicator.stopAnimating()
             if error == .success, let password = token {
                 self.createAccount(server: serverUrl, username: username, password: password)
             } else {
@@ -277,12 +268,12 @@ extension NCLoginWeb: WKNavigationDelegate {
     }
 
     func webView(_ webView: WKWebView, didStartProvisionalNavigation navigation: WKNavigation!) {
-        print("didStartProvisionalNavigation")
+        NCActivityIndicator.shared.startActivity(style: .medium, blurEffect: false)
     }
 
     func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
-        activityIndicator.stopAnimating()
-        print("didFinishProvisionalNavigation")
+
+        NCActivityIndicator.shared.stop()
 
         if loginFlowV2Available {
             DispatchQueue.main.asyncAfter(deadline: .now() + 1) {

+ 1 - 1
iOSClient/Settings/CCAdvanced.m

@@ -426,7 +426,7 @@
     UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"" message:NSLocalizedString(@"_want_delete_cache_", nil) preferredStyle:UIAlertControllerStyleActionSheet];
     
     [alertController addAction: [UIAlertAction actionWithTitle:NSLocalizedString(@"_yes_", nil) style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
-        [[NCActivityIndicator shared] startActivityWithBackgroundView:nil style: UIActivityIndicatorViewStyleLarge];
+        [[NCActivityIndicator shared] startActivityWithBackgroundView:nil style: UIActivityIndicatorViewStyleLarge blurEffect:true];
         dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 1 * NSEC_PER_SEC), dispatch_get_main_queue(), ^(void) {
             [self clearCache:appDelegate.account];
         });

+ 4 - 4
iOSClient/Utility/NCActivityIndicator.swift

@@ -34,11 +34,11 @@ class NCActivityIndicator: NSObject {
     private var viewActivityIndicator: UIView?
     private var viewBackgroundActivityIndicator: UIView?
 
-    @objc func startActivity(backgroundView: UIView?, style: UIActivityIndicatorView.Style) {
-        start(backgroundView: backgroundView, style: style)
+    @objc func startActivity(backgroundView: UIView? = nil, style: UIActivityIndicatorView.Style, blurEffect: Bool = true) {
+        start(backgroundView: backgroundView, style: style, blurEffect: blurEffect)
     }
 
-    func start(backgroundView: UIView? = nil, bottom: CGFloat? = nil, top: CGFloat? = nil, style: UIActivityIndicatorView.Style = .large) {
+    func start(backgroundView: UIView? = nil, bottom: CGFloat? = nil, top: CGFloat? = nil, style: UIActivityIndicatorView.Style = .large, blurEffect: Bool = true) {
 
         if self.activityIndicator != nil { stop() }
 
@@ -83,7 +83,7 @@ class NCActivityIndicator: NSObject {
             guard let viewActivityIndicator = self.viewActivityIndicator else { return }
             viewActivityIndicator.addSubview(activityIndicator)
 
-            if backgroundView == nil {
+            if backgroundView == nil, blurEffect {
                 let blurEffect = UIBlurEffect(style: .regular)
                 let blurEffectView = UIVisualEffectView(effect: blurEffect)
                 blurEffectView.frame = viewActivityIndicator.frame