Marino Faggiana 6 лет назад
Родитель
Сommit
17cc66ded6

+ 3 - 3
iOSClient/AppDelegate.m

@@ -320,7 +320,7 @@
         // only for personalized LoginWeb [customer]
         if ([NCBrandOptions sharedInstance].use_login_web_personalized) {
             
-            if (_activeLoginWeb == nil) {
+            if (!(_activeLoginWeb.isViewLoaded && _activeLoginWeb.view.window)) {
                 
                 _activeLoginWeb = [CCLoginWeb new];
                 _activeLoginWeb.delegate = delegate;
@@ -346,7 +346,7 @@
             
         if (loginWebFlow || selector == k_intro_signup) {
             
-            if (_activeLoginWeb == nil) {
+            if (!(_activeLoginWeb.isViewLoaded && _activeLoginWeb.view.window)) {
                 
                 _activeLoginWeb = [CCLoginWeb new];
                 _activeLoginWeb.delegate = delegate;
@@ -365,7 +365,7 @@
             
         } else {
             
-            if (_activeLogin == nil) {
+            if (!(_activeLogin.isViewLoaded && _activeLogin.view.window)) {
                 
                 _activeLogin = [[UIStoryboard storyboardWithName:@"CCLogin" bundle:nil] instantiateViewControllerWithIdentifier:@"CCLoginNextcloud"];
                 _activeLogin.delegate = delegate;

+ 3 - 3
iOSClient/Library/SwiftWebVC/SwiftModalWebVC.swift

@@ -12,7 +12,7 @@ public protocol SwiftModalWebVCDelegate: class {
     func didStartLoading()
     func didReceiveServerRedirectForProvisionalNavigation(url: URL)
     func didFinishLoading(success: Bool, url: URL)
-    func loginWebClose()
+    func webDismiss()
     func decidePolicyForNavigationAction(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void)
 }
 
@@ -137,8 +137,8 @@ extension SwiftModalWebVC: SwiftWebVCDelegate {
         self.delegateWeb?.didFinishLoading(success: success, url: url)
     }
     
-    public func loginWebClose() {
-        self.delegateWeb?.loginWebClose()
+    public func webDismiss() {
+        self.delegateWeb?.webDismiss()
     }
     
     public func decidePolicyForNavigationAction(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {

+ 2 - 2
iOSClient/Library/SwiftWebVC/SwiftWebVC.swift

@@ -13,7 +13,7 @@ public protocol SwiftWebVCDelegate: class {
     func didReceiveServerRedirectForProvisionalNavigation(url: URL)
     func didFinishLoading(success: Bool)
     func didFinishLoading(success: Bool, url: URL)
-    func loginWebClose()
+    func webDismiss()
     func decidePolicyForNavigationAction(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void)
 }
 
@@ -176,7 +176,7 @@ public class SwiftWebVC: UIViewController {
     
     override public func dismiss(animated flag: Bool, completion: (() -> Void)? = nil) {
         super.dismiss(animated: flag, completion: {
-            self.delegate!.loginWebClose()
+            self.delegate?.webDismiss()
         })        
     }
     

+ 0 - 1
iOSClient/Login/CCLogin.h

@@ -32,7 +32,6 @@
 @protocol CCLoginDelegate <NSObject>
 
 - (void) loginSuccess:(NSInteger)loginType;
-- (void) loginClose;
 
 @end
 

+ 2 - 15
iOSClient/Login/CCLogin.m

@@ -214,17 +214,6 @@
     [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
 }
 
-- (void)dismissViewControllerAnimated:(BOOL)flag completion:(void (^)(void))completion
-{
-    [super dismissViewControllerAnimated:flag completion:completion];
- 
-    NSArray *callStack = [NSThread callStackSymbols];
-    NSString *callParent = [callStack objectAtIndex:1];
-
-    if ([callParent containsString:@"CCLogin"])
-        [self.delegate loginClose];
-}
-
 #pragma --------------------------------------------------------------------------------------------
 #pragma mark == Chech Server URL ==
 #pragma --------------------------------------------------------------------------------------------
@@ -395,10 +384,8 @@
     [self.delegate loginSuccess:_loginType];
 }
 
-- (void)loginWebClose
-{
-    appDelegate.activeLoginWeb = nil;
-   
+- (void)webDismiss
+{   
     [self dismissViewControllerAnimated:YES completion:nil];
 }
 

+ 5 - 5
iOSClient/Login/CCLoginWeb.swift

@@ -25,7 +25,7 @@ import UIKit
 
 @objc protocol CCLoginDelegateWeb: class {
     func loginSuccess(_: NSInteger)
-    func loginWebClose()
+    @objc optional func webDismiss()
 }
 
 public class CCLoginWeb: UIViewController {
@@ -114,7 +114,7 @@ extension CCLoginWeb: SwiftModalWebVCDelegate {
                         appDelegate.settingActiveAccount(account, activeUrl: serverUrl, activeUser: username, activeUserID: tableAccount.userID, activePassword: password)
                         
                         self.delegate?.loginSuccess(NSInteger(loginType))
-                        self.delegate?.loginWebClose()
+                        self.delegate?.webDismiss?()
 
                         self.viewController?.dismiss(animated: true, completion: nil)
                     }
@@ -136,7 +136,7 @@ extension CCLoginWeb: SwiftModalWebVCDelegate {
                         appDelegate.settingActiveAccount(account, activeUrl: serverUrl, activeUser: username, activeUserID: tableAccount.userID, activePassword: password)
                         
                         self.delegate?.loginSuccess(NSInteger(loginType))
-                        self.delegate?.loginWebClose()
+                        self.delegate?.webDismiss?()
 
                         self.viewController?.dismiss(animated: true, completion: nil)
                     }
@@ -149,8 +149,8 @@ extension CCLoginWeb: SwiftModalWebVCDelegate {
         print("Finished loading. Success: \(success).")
     }
     
-    public func loginWebClose() {
-        self.delegate?.loginWebClose()
+    public func webDismiss() {
+        self.delegate?.webDismiss?()
     }
     
     public func decidePolicyForNavigationAction(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {

+ 0 - 10
iOSClient/Main/CCMain.m

@@ -1032,16 +1032,6 @@
     [appDelegate subscribingNextcloudServerPushNotification];
 }
 
-- (void)loginClose
-{
-    appDelegate.activeLogin = nil;
-}
-
-- (void)loginWebClose
-{
-    appDelegate.activeLoginWeb = nil;
-}
-
 #pragma mark -
 #pragma --------------------------------------------------------------------------------------------
 #pragma mark ===== Peek & Pop  =====

+ 4 - 8
iOSClient/Main/CCMore.swift

@@ -454,14 +454,6 @@ class CCMore: UIViewController, UITableViewDelegate, UITableViewDataSource, CCLo
         
         appDelegate.subscribingNextcloudServerPushNotification()
     }
-    
-    func loginClose() {
-        appDelegate.activeLogin = nil
-    }
-    
-    func loginWebClose() {
-        appDelegate.activeLoginWeb = nil
-    }
 }
 
 extension CCMore: SwiftModalWebVCDelegate, SwiftWebVCDelegate{
@@ -496,6 +488,10 @@ extension CCMore: SwiftModalWebVCDelegate, SwiftWebVCDelegate{
     public func decidePolicyForNavigationAction(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
         decisionHandler(.allow)
     }
+    
+    public func webDismiss() {
+        print("Web dismiss.")
+    }
 }
 
 class CCCellMore: UITableViewCell {

+ 0 - 10
iOSClient/Main/CCSplit.m

@@ -186,16 +186,6 @@
     [appDelegate subscribingNextcloudServerPushNotification];
 }
 
-- (void)loginClose
-{
-    appDelegate.activeLogin = nil;
-}
-
-- (void)loginWebClose
-{
-    appDelegate.activeLoginWeb = nil;
-}
-
 #pragma --------------------------------------------------------------------------------------------
 #pragma mark ===== Split View Controller =====
 #pragma --------------------------------------------------------------------------------------------

+ 0 - 9
iOSClient/Settings/CCManageAccount.m

@@ -206,15 +206,6 @@
     [appDelegate subscribingNextcloudServerPushNotification];
 }
 
-- (void)loginClose
-{
-    appDelegate.activeLogin = nil;
-}
-
-- (void)loginWebClose
-{
-    appDelegate.activeLoginWeb = nil;
-}
 
 #pragma --------------------------------------------------------------------------------------------
 #pragma mark === Add Account ===