marinofaggiana 4 years ago
parent
commit
2922715da0

+ 0 - 1
iOSClient/Main/CCMain.h

@@ -74,7 +74,6 @@
 
 - (void)uploadFileAsset:(NSMutableArray *)assets serverUrl:(NSString *)serverUrl useSubFolder:(BOOL)useSubFolder session:(NSString *)session;
 
-- (void)openAssetsPickerController;
 - (void)openImportDocumentPicker;
 
 - (void)setTableViewHeader;

+ 0 - 28
iOSClient/Main/CCMain.m

@@ -771,34 +771,6 @@
     [self presentViewController:documentProviderMenu animated:YES completion:nil];
 }
 
-#pragma --------------------------------------------------------------------------------------------
-#pragma mark ===== Assets Picker =====
-#pragma --------------------------------------------------------------------------------------------
-
--(void)dismissFormUploadAssets
-{
-}
-
-- (void)openAssetsPickerController
-{
-    NCPhotosPickerViewController *viewController = [[NCPhotosPickerViewController alloc] init:self maxSelectedAssets:100 singleSelectedMode:false];
-    
-    [viewController openPhotosPickerViewControllerWithPhAssets:^(NSArray<PHAsset *> * _Nullable assets) {
-        if (assets.count > 0) {
-            dispatch_after(dispatch_time(DISPATCH_TIME_NOW, 0.2 * NSEC_PER_SEC), dispatch_get_main_queue(), ^(void) {
-                NSString *serverUrl = appDelegate.activeServerUrl;
-                
-                NCCreateFormUploadAssets *form = [[NCCreateFormUploadAssets alloc] initWithServerUrl:serverUrl assets:(NSMutableArray *)assets cryptated:NO session:NCNetworking.shared.sessionIdentifierBackground delegate:self];
-                
-                UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:form];
-                [navigationController setModalPresentationStyle:UIModalPresentationFormSheet];
-                
-                [self presentViewController:navigationController animated:YES completion:nil];
-            });
-        }
-    }];
-}
-
 #pragma --------------------------------------------------------------------------------------------
 #pragma mark ===== Save selected File =====
 #pragma --------------------------------------------------------------------------------------------

+ 5 - 1
iOSClient/Main/Menu/AppDelegate+Menu.swift

@@ -27,6 +27,10 @@ import FloatingPanel
 import NCCommunication
 
 extension AppDelegate {
+    func dismissFormUploadAssets() {
+        
+    }
+    
 
     @objc public func showMenuIn(viewController: UIViewController) {
         
@@ -56,7 +60,7 @@ extension AppDelegate {
                 title: NSLocalizedString("_upload_photos_videos_", comment: ""),
                 icon: CCGraphics.changeThemingColorImage(UIImage(named: "file_photo"), width: 50, height: 50, color: NCBrandColor.sharedInstance.icon),
                 action: { menuAction in
-                    appDelegate.activeMain.openAssetsPickerController()
+                    NCPhotosPickerViewController.init(viewController: appDelegate.window.rootViewController!, maxSelectedAssets: 100, singleSelectedMode: false)
                 }
             )
         )

+ 28 - 30
iOSClient/Main/NCPhotosPickerViewController.swift

@@ -24,22 +24,39 @@
 import Foundation
 import TLPhotoPicker
 
-class NCPhotosPickerViewController: NSObject {
-    
+class NCPhotosPickerViewController: NSObject, createFormUploadAssetsDelegate {
+
     let appDelegate = UIApplication.shared.delegate as! AppDelegate
     var sourceViewController: UIViewController
     var maxSelectedAssets = 1
     var singleSelectedMode = false
 
-    @objc init (_ viewController: UIViewController, maxSelectedAssets: Int, singleSelectedMode: Bool) {
+    @discardableResult
+    init (viewController: UIViewController, maxSelectedAssets: Int, singleSelectedMode: Bool) {
         sourceViewController = viewController
+        super.init()
+        
         self.maxSelectedAssets = maxSelectedAssets
         self.singleSelectedMode = singleSelectedMode
+        
+        self.openPhotosPickerViewController { (assets) in
+            guard let assets = assets else { return }
+            if assets.count > 0 {
+                
+                let mutableAssets = NSMutableArray(array: assets)
+                let form = NCCreateFormUploadAssets.init(serverUrl: self.appDelegate.activeServerUrl, assets: mutableAssets, cryptated: false, session: NCNetworking.shared.sessionIdentifierBackground, delegate: self)
+                let navigationController = UINavigationController.init(rootViewController: form)
+                
+                DispatchQueue.main.asyncAfter(deadline: .now() + 0.4) {
+                    viewController.present(navigationController, animated: true, completion: nil)
+                }
+            }
+        }
     }
     
-    @objc func openPhotosPickerViewController(phAssets: @escaping ([PHAsset]?) -> ()) {
+    private func openPhotosPickerViewController(completition: @escaping ([PHAsset]?) -> ()) {
         
-        var selectedPhAssets: [PHAsset] = []
+        var selectedAssets: [PHAsset] = []
         var configure = TLPhotosPickerConfigure()
         
         configure.cancelTitle = NSLocalizedString("_cancel_", comment: "")
@@ -55,37 +72,14 @@ class NCPhotosPickerViewController: NSObject {
             
             for asset: TLPHAsset in assets {
                 if asset.phAsset != nil {
-                    selectedPhAssets.append(asset.phAsset!)
+                    selectedAssets.append(asset.phAsset!)
                 }
             }
             
-            phAssets(selectedPhAssets)
+            completition(selectedAssets)
             
         }, didCancel: nil)
         
-        /*
-        let viewController = customPhotoPickerViewController(withTLPHAssets: { (assets) in
-            
-            for asset: TLPHAsset in assets {
-                if asset.phAsset != nil {
-                    asset.tempCopyMediaFile(videoRequestOptions: nil, imageRequestOptions: nil, livePhotoRequestOptions: nil, exportPreset: AVAssetExportPresetHighestQuality, convertLivePhotosToJPG: false, progressBlock: { (progress) in }) { (url, contentType) in
-                        
-                        selectedPhAssets.append(asset.phAsset!)
-                        selectedUrls.append(url)
-                        
-                        if asset == assets.last {
-                            phAssets(selectedPhAssets, selectedUrls)
-                        }
-                    }
-                }
-            }
-            
-        }) {
-            
-            phAssets(nil,nil)
-        }
-        */
-        
         viewController.didExceedMaximumNumberOfSelection = { (picker) in
             NCContentPresenter.shared.messageNotification("_info_", description: "_limited_dimension_", delay: TimeInterval(k_dismissAfterSecond), type: NCContentPresenter.messageType.error, errorCode: Int(k_CCErrorInternalError))
         }
@@ -102,6 +96,10 @@ class NCPhotosPickerViewController: NSObject {
 
         sourceViewController.present(viewController, animated: true, completion: nil)
     }
+    
+    func dismissFormUploadAssets() {
+           
+    }
 }
 
 class customPhotoPickerViewController: TLPhotosPickerViewController {