Browse Source

Change protocol Net from Asset to localIdentifier

Marino Faggiana 8 years ago
parent
commit
62d6eb8516

+ 1 - 0
iOSClient/CCGlobal.h

@@ -195,6 +195,7 @@ extern NSString *const BKPasscodeKeychainServiceName;
 #define CCErrorTaskNil -9999
 #define CCErrorTaskDownloadNotFound -9998
 #define CCErrorFileUploadNotFound -9997
+#define CCErrorInternalError -9996
 
 // Metadata ed ID
 #define uploadSessionID @"ID_UPLOAD_"

+ 1 - 1
iOSClient/FileSystem/CCMetadata.h

@@ -69,7 +69,7 @@
 
 @property (nonatomic, strong) NSString *account;
 @property (nonatomic, strong) NSString *action;
-@property (nonatomic, strong) PHAsset *asset;
+@property (nonatomic, strong) NSString *assetLocalItentifier;
 @property BOOL cryptated;
 @property (nonatomic, strong) NSDate *date;
 @property BOOL directory;

+ 1 - 1
iOSClient/FileSystem/CCMetadata.m

@@ -187,7 +187,7 @@
     
     [metadataNet setAccount: self.account];
     [metadataNet setAction: self.action];
-    [metadataNet setAsset: self.asset];
+    [metadataNet setAssetLocalItentifier: self.assetLocalItentifier];
     [metadataNet setCryptated: self.cryptated];
     [metadataNet setDate: self.date];
     [metadataNet setDirectory: self.directory];

+ 2 - 2
iOSClient/Main/CCMain.m

@@ -1454,7 +1454,7 @@
             if ([app.typeCloud isEqualToString:typeCloudDropbox]) {
                 
                 metadataNet.action = actionUploadAsset;
-                metadataNet.asset = asset;
+                metadataNet.assetLocalItentifier = asset.localIdentifier;
                 metadataNet.cryptated = cryptated;
                 metadataNet.errorCode = 0;
                 metadataNet.fileName = fileNameUpload;
@@ -1475,7 +1475,7 @@
             if ([app.typeCloud isEqualToString:typeCloudNextcloud] || [app.typeCloud isEqualToString:typeCloudOwnCloud]) {
             
                 metadataNet.action = actionReadFile;
-                metadataNet.asset = asset;
+                metadataNet.assetLocalItentifier = asset.localIdentifier;
                 metadataNet.cryptated = cryptated;
                 metadataNet.fileName = fileNameUpload;
                 metadataNet.session = session;

+ 1 - 1
iOSClient/Networking/CCNetworking.h

@@ -61,7 +61,7 @@
 - (void)downloadFile:(CCMetadata *)metadata serverUrl:(NSString *)serverUrl downloadData:(BOOL)downloadData downloadPlist:(BOOL)downloadPlist selector:(NSString *)selector selectorPost:(NSString *)selectorPost session:(NSString *)session taskStatus:(NSInteger)taskStatus delegate:(id)delegate;
 
 // Upload
-- (void)uploadFileFromAsset:(PHAsset *)asset serverUrl:(NSString *)serverUrl cryptated:(BOOL)cryptated session:(NSString *)session taskStatus:(NSInteger)taskStatus selector:(NSString *)selector selectorPost:(NSString *)selectorPost parentRev:(NSString *)parentRev errorCode:(NSInteger)errorCode delegate:(id)delegate;
+- (void)uploadFileFromAssetLocalIdentifier:(NSString *)localIdentifier serverUrl:(NSString *)serverUrl cryptated:(BOOL)cryptated session:(NSString *)session taskStatus:(NSInteger)taskStatus selector:(NSString *)selector selectorPost:(NSString *)selectorPost parentRev:(NSString *)parentRev errorCode:(NSInteger)errorCode delegate:(id)delegate;
 - (void)uploadFile:(NSString *)fileName serverUrl:(NSString *)serverUrl cryptated:(BOOL)cryptated onlyPlist:(BOOL)onlyPlist session:(NSString *)session taskStatus:(NSInteger)taskStatus selector:(NSString *)selector selectorPost:(NSString *)selectorPost parentRev:(NSString *)parentRev errorCode:(NSInteger)errorCode delegate:(id)delegate;
 - (void)uploadTemplate:(NSString *)fileNamePrint fileNameCrypto:(NSString *)fileNameCrypto serverUrl:(NSString *)serverUrl session:(NSString *)session taskStatus:(NSInteger)taskStatus selector:(NSString *)selector selectorPost:(NSString *)selectorPost parentRev:(NSString *)parentRev errorCode:(NSInteger)errorCode delegate:(id)delegate;
 - (void)uploadFileMetadata:(CCMetadata *)metadata taskStatus:(NSInteger)taskStatus;

+ 11 - 2
iOSClient/Networking/CCNetworking.m

@@ -788,10 +788,19 @@
 #pragma mark =====  Upload =====
 #pragma --------------------------------------------------------------------------------------------
 
-- (void)uploadFileFromAsset:(PHAsset *)asset serverUrl:(NSString *)serverUrl cryptated:(BOOL)cryptated session:(NSString *)session taskStatus:(NSInteger)taskStatus selector:(NSString *)selector selectorPost:(NSString *)selectorPost parentRev:(NSString *)parentRev errorCode:(NSInteger)errorCode delegate:(id)delegate
+- (void)uploadFileFromAssetLocalIdentifier:(NSString *)localIdentifier serverUrl:(NSString *)serverUrl cryptated:(BOOL)cryptated session:(NSString *)session taskStatus:(NSInteger)taskStatus selector:(NSString *)selector selectorPost:(NSString *)selectorPost parentRev:(NSString *)parentRev errorCode:(NSInteger)errorCode delegate:(id)delegate
 {
+    PHFetchResult *result = [PHAsset fetchAssetsWithLocalIdentifiers:@[localIdentifier] options:nil];
+    
+    if (!result.count) {
+        
+        if ([delegate respondsToSelector:@selector(uploadFileFailure:serverUrl:selector:message:errorCode:)])
+            [delegate uploadFileFailure:nil serverUrl:serverUrl selector:selector message:@"Internal error" errorCode:CCErrorInternalError];
+        return;
+    }
+    
+    PHAsset *asset = result[0];
     PHAssetMediaType assetMediaType = asset.mediaType;
-    NSString *localIdentifier = asset.localIdentifier;
     NSDate *assetDate = asset.creationDate;
     __block NSError *error = nil;
     

+ 1 - 1
iOSClient/Networking/OCNetworking.m

@@ -215,7 +215,7 @@
 
 - (void)uploadAsset
 {
-    [[CCNetworking sharedNetworking] uploadFileFromAsset:_metadataNet.asset serverUrl:_metadataNet.serverUrl cryptated:_metadataNet.cryptated session:_metadataNet.session taskStatus:_metadataNet.taskStatus selector:_metadataNet.selector selectorPost:_metadataNet.selectorPost parentRev:nil errorCode:_metadataNet.errorCode delegate:self];
+    [[CCNetworking sharedNetworking] uploadFileFromAssetLocalIdentifier:_metadataNet.assetLocalItentifier serverUrl:_metadataNet.serverUrl cryptated:_metadataNet.cryptated session:_metadataNet.session taskStatus:_metadataNet.taskStatus selector:_metadataNet.selector selectorPost:_metadataNet.selectorPost parentRev:nil errorCode:_metadataNet.errorCode delegate:self];
     
     if (!_oneByOne)
         [self complete];

+ 1 - 1
iOSClient/PhotosCameraUpload/CCPhotosCameraUpload.m

@@ -1245,7 +1245,7 @@
         CCMetadataNet *metadataNet = [[CCMetadataNet alloc] initWithAccount:app.activeAccount];
             
         metadataNet.action = actionUploadAsset;
-        metadataNet.asset = asset;
+        metadataNet.assetLocalItentifier = asset.localIdentifier;
         if (assetsFull) {
             metadataNet.selector = selectorUploadCameraAllPhoto;
             metadataNet.selectorPost = selectorUploadRemovePhoto;