marinofaggiana 4 anos atrás
pai
commit
1d4b106c24

+ 6 - 6
iOSClient/AutoUpload/NCAutoUpload.m

@@ -346,7 +346,7 @@
     NSString *serverUrl;
     
     // Check Asset : NEW or FULL
-    PHFetchResult *newAssetToUpload = [self getCameraRollAssets:tableAccount selector:selector alignPhotoLibrary:NO];
+    NSArray *newAssetToUpload = [self getCameraRollAssets:tableAccount selector:selector alignPhotoLibrary:NO];
     
     // News Assets ? if no verify if blocked Table Auto Upload -> Autostart
     if (newAssetToUpload == nil || [newAssetToUpload count] == 0) {
@@ -513,7 +513,7 @@
 #pragma mark ===== get Camera Roll new Asset ====
 #pragma --------------------------------------------------------------------------------------------
 
-- (PHFetchResult *)getCameraRollAssets:(tableAccount *)account selector:(NSString *)selector alignPhotoLibrary:(BOOL)alignPhotoLibrary
+- (NSArray *)getCameraRollAssets:(tableAccount *)account selector:(NSString *)selector alignPhotoLibrary:(BOOL)alignPhotoLibrary
 {
     @synchronized(self) {
         
@@ -571,11 +571,11 @@
                         [newAssets addObject:asset];
                 }
                 
-                return (PHFetchResult *)newAssets;
+                return newAssets;
                 
             } else {
             
-                return assets;
+                return (NSArray *)[assets copy];
             }
         }
     }
@@ -591,11 +591,11 @@
 {
     tableAccount *account = [[NCManageDatabase sharedInstance] getAccountActive];
 
-    PHFetchResult *assets = [self getCameraRollAssets:account selector:selectorUploadAutoUploadAll alignPhotoLibrary:YES];
+    NSArray *assets = [self getCameraRollAssets:account selector:selectorUploadAutoUploadAll alignPhotoLibrary:YES];
    
     [[NCManageDatabase sharedInstance] clearTable:[tablePhotoLibrary class] account:appDelegate.account];
     if (assets != nil) {
-        (void)[[NCManageDatabase sharedInstance] addPhotoLibrary:(NSArray *)assets account:account.account];
+        (void)[[NCManageDatabase sharedInstance] addPhotoLibrary:assets account:account.account];
 
         [[NCCommunicationCommon shared] writeLog:[NSString stringWithFormat:@"Align Photo Library %lu", (unsigned long)[assets count]]];
     }

+ 0 - 4
iOSClient/Main/CCMain.h

@@ -71,10 +71,6 @@
 
 - (void)readFolder:(NSString *)serverUrl;
 - (void)readFileReloadFolder;
-
-- (void)uploadFileAsset:(NSMutableArray *)assets serverUrl:(NSString *)serverUrl useSubFolder:(BOOL)useSubFolder session:(NSString *)session;
-
-
 - (void)setTableViewHeader;
 
 //expose methods for swift

+ 12 - 7
iOSClient/Main/Create cloud/NCCreateFormUploadAssets.swift

@@ -32,7 +32,7 @@ class NCCreateFormUploadAssets: XLFormViewController, NCSelectDelegate {
     
     var serverUrl: String = ""
     var titleServerUrl: String?
-    var assets = NSMutableArray()
+    var assets: [PHAsset] = []
     var cryptated: Bool = false
     var session: String = ""
     weak var delegate: createFormUploadAssetsDelegate?
@@ -41,7 +41,7 @@ class NCCreateFormUploadAssets: XLFormViewController, NCSelectDelegate {
     let targetSizeImagePreview = CGSize(width:100, height: 100)
     let appDelegate = UIApplication.shared.delegate as! AppDelegate
     
-    @objc convenience init(serverUrl : String, assets : NSMutableArray, cryptated : Bool, session : String, delegate: createFormUploadAssetsDelegate?) {
+    @objc convenience init(serverUrl: String, assets: [PHAsset], cryptated: Bool, session: String, delegate: createFormUploadAssetsDelegate?) {
         
         self.init()
         
@@ -79,8 +79,8 @@ class NCCreateFormUploadAssets: XLFormViewController, NCSelectDelegate {
         
         self.tableView.separatorStyle = UITableViewCell.SeparatorStyle.none
         
-        if assets.count == 1 && (assets[0] as! PHAsset).mediaType == PHAssetMediaType.image {
-            PHImageManager.default().requestImage(for: assets[0] as! PHAsset, targetSize: targetSizeImagePreview, contentMode: PHImageContentMode.aspectFill, options: requestOptions, resultHandler: { (image, info) in
+        if assets.count == 1 && assets[0].mediaType == PHAssetMediaType.image {
+            PHImageManager.default().requestImage(for: assets[0], targetSize: targetSizeImagePreview, contentMode: PHImageContentMode.aspectFill, options: requestOptions, resultHandler: { (image, info) in
                 self.imagePreview = image
             })
         }
@@ -333,12 +333,17 @@ class NCCreateFormUploadAssets: XLFormViewController, NCSelectDelegate {
             var useSubFolder : Bool = false
             
             if (useFolderPhotoRow.value! as AnyObject).boolValue == true {
-                
                 self.serverUrl = NCManageDatabase.sharedInstance.getAccountAutoUploadPath(urlBase: self.appDelegate.urlBase, account: self.appDelegate.account)
                 useSubFolder = (useSubFolderRow.value! as AnyObject).boolValue
             }
             
-            self.appDelegate.activeMain.uploadFileAsset(self.assets, serverUrl: self.serverUrl, useSubFolder: useSubFolder, session: self.session)
+            let autoUploadPath = NCManageDatabase.sharedInstance.getAccountAutoUploadPath(urlBase: self.appDelegate.urlBase, account: self.appDelegate.account)
+            if autoUploadPath == self.serverUrl {
+                
+                NCNetworking.shared.createFolder(assets: self.assets, selector: selectorUploadFile, useSubFolder: useSubFolder, account: self.appDelegate.account, urlBase: self.appDelegate.urlBase)
+            }
+            
+            //self.appDelegate.activeMain.uploadFileAsset(self.assets, serverUrl: self.serverUrl, useSubFolder: useSubFolder, session: self.session)
         })
     }
     
@@ -352,7 +357,7 @@ class NCCreateFormUploadAssets: XLFormViewController, NCSelectDelegate {
     func previewFileName(valueRename : String?) -> String {
         
         var returnString: String = ""
-        let asset = assets[0] as! PHAsset
+        let asset = assets[0]
         
         if (CCUtility.getOriginalFileName(k_keyFileNameOriginal)) {
             

+ 1 - 2
iOSClient/Main/NCPickerViewController.swift

@@ -46,8 +46,7 @@ class NCPhotosPickerViewController: NSObject {
             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: nil)
+                let form = NCCreateFormUploadAssets.init(serverUrl: self.appDelegate.activeServerUrl, assets: assets, cryptated: false, session: NCNetworking.shared.sessionIdentifierBackground, delegate: nil)
                 let navigationController = UINavigationController.init(rootViewController: form)
                 
                 DispatchQueue.main.asyncAfter(deadline: .now() + 0.4) {

+ 1 - 1
iOSClient/Networking/NCNetworking.swift

@@ -774,7 +774,7 @@ import Queuer
         }
     }
     
-    @objc func createFolder(assets: PHFetchResult<AnyObject>, selector: String, useSubFolder: Bool, account: String, urlBase: String) -> Bool {
+    @objc func createFolder(assets: [PHAsset], selector: String, useSubFolder: Bool, account: String, urlBase: String) -> Bool {
         
         let serverUrl = NCManageDatabase.sharedInstance.getAccountAutoUploadDirectory(urlBase: urlBase, account: account)
         let fileName =  NCManageDatabase.sharedInstance.getAccountAutoUploadFileName()

+ 1 - 1
iOSClient/Utility/CCUtility.h

@@ -228,7 +228,7 @@
 + (NSString *)getLastPathFromServerUrl:(NSString *)serverUrl urlBase:(NSString *)urlBase;
 + (NSString *)returnPathfromServerUrl:(NSString *)serverUrl urlBase:(NSString *)urlBase account:(NSString *)account;
 + (NSString *)returnFileNamePathFromFileName:(NSString *)metadataFileName serverUrl:(NSString *)serverUrl urlBase:(NSString *)urlBase account:(NSString *)account;
-+ (NSArray *)createNameSubFolder:(PHFetchResult *)assets;
++ (NSArray *)createNameSubFolder:(NSArray *)assets;
 
 + (NSString *)getDirectoryScan;
 

+ 2 - 2
iOSClient/Utility/CCUtility.m

@@ -1285,11 +1285,11 @@
     return fileName;
 }
 
-+ (NSArray *)createNameSubFolder:(PHFetchResult *)alassets
++ (NSArray *)createNameSubFolder:(NSArray *)assets
 {
     NSMutableOrderedSet *datesSubFolder = [NSMutableOrderedSet new];
     
-    for (PHAsset *asset in alassets) {
+    for (PHAsset *asset in assets) {
         
         NSDate *assetDate = asset.creationDate;