Marino Faggiana %!s(int64=8) %!d(string=hai) anos
pai
achega
8bf1313c58

+ 6 - 6
iOSClient/FileSystem/CCCoreData.h

@@ -176,13 +176,13 @@
 + (void)setGeoInformationLocalFromFileID:(NSString *)fileID exifDate:(NSDate *)exifDate exifLatitude:(NSString *)exifLatitude exifLongitude:(NSString *)exifLongitude activeAccount:(NSString *)activeAccount;
 + (void)setGeoInformationLocalNull;
 
-// ===== Upload =====
+// ===== Automatic Upload =====
 
-+ (void)addTableAutomaticUpload:(CCMetadataNet *)metadataNet activeAccount:(NSString *)activeAccount context:(NSManagedObjectContext *)context;
-+ (NSArray *)getTableAutomaticUploadForAccount:(NSString *)activeAccount selector:(NSString *)selector numRecords:(NSUInteger)numRecords context:(NSManagedObjectContext *)context;
-+ (NSUInteger)countTableAutomaticUploadForAccount:(NSString *)activeAccount selector:(NSString *)selector;
-+ (void)setTableAutomaticUploadIfExecutingForAccount:(NSString *)activeAccount fileName:(NSString *)fileName serverUrl:(NSString *)serverUrl selector:(NSString*)selector context:(NSManagedObjectContext *)context;
-+ (void)deleteTableAutomaticUploadForAccount:(NSString *)activeAccount fileName:(NSString *)fileName serverUrl:(NSString *)serverUrl selector:(NSString*)selector context:(NSManagedObjectContext *)context;
++ (void)addTableAutomaticUpload:(CCMetadataNet *)metadataNet account:(NSString *)account context:(NSManagedObjectContext *)context;
++ (NSArray *)getTableAutomaticUploadForAccount:(NSString *)account selector:(NSString *)selector numRecords:(NSUInteger)numRecords context:(NSManagedObjectContext *)context;
++ (NSUInteger)countTableAutomaticUploadForAccount:(NSString *)account selector:(NSString *)selector;
++ (void)setTableAutomaticUploadIfExecutingForAccount:(NSString *)account fileName:(NSString *)fileName serverUrl:(NSString *)serverUrl selector:(NSString*)selector context:(NSManagedObjectContext *)context;
++ (void)deleteTableAutomaticUploadForAccount:(NSString *)account fileName:(NSString *)fileName serverUrl:(NSString *)serverUrl selector:(NSString*)selector context:(NSManagedObjectContext *)context;
 
 // ===== GPS =====
 

+ 25 - 29
iOSClient/FileSystem/CCCoreData.m

@@ -1473,36 +1473,32 @@
 #pragma mark ===== Automatic Upload =====
 #pragma --------------------------------------------------------------------------------------------
 
-+ (void)addTableAutomaticUpload:(CCMetadataNet *)metadataNet activeAccount:(NSString *)activeAccount context:(NSManagedObjectContext *)context
++ (void)addTableAutomaticUpload:(CCMetadataNet *)metadataNet account:(NSString *)account context:(NSManagedObjectContext *)context
 {
-    TableAutomaticUpload *record;
-    
     if (context == nil)
         context = [NSManagedObjectContext MR_context];
     
-    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(account == %@) AND (fileName == %@) AND (serverUrl == %@)", activeAccount, metadataNet.fileName, metadataNet.serverUrl];
-    record = [TableAutomaticUpload MR_findFirstWithPredicate:predicate inContext:context];
-    
-    if (!record) {
+    // Delete record if exists
+    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(account == %@) AND (fileName == %@) AND (serverUrl == %@) AND (selector == %@)", account, metadataNet.fileName, metadataNet.serverUrl, metadataNet.selector];
+    [TableAutomaticUpload MR_deleteAllMatchingPredicate:predicate inContext:context];
     
-        record = [TableAutomaticUpload MR_createEntityInContext:context];
+    TableAutomaticUpload *record = [TableAutomaticUpload MR_createEntityInContext:context];
         
-        record.account = activeAccount;
-        record.assetLocalItentifier = metadataNet.assetLocalItentifier;
-        record.date = [NSDate date];
-        record.fileName = metadataNet.fileName;
-        record.isExecuting = [NSNumber numberWithBool:NO];
-        record.selector = metadataNet.selector;
-        record.selectorPost = metadataNet.selectorPost;
-        record.serverUrl = metadataNet.serverUrl;
-        record.session = metadataNet.session;
-        record.priority = [NSNumber numberWithLong:metadataNet.priority];
+    record.account = account;
+    record.assetLocalItentifier = metadataNet.assetLocalItentifier;
+    record.date = [NSDate date];
+    record.fileName = metadataNet.fileName;
+    record.isExecuting = [NSNumber numberWithBool:NO];
+    record.selector = metadataNet.selector;
+    record.selectorPost = metadataNet.selectorPost;
+    record.serverUrl = metadataNet.serverUrl;
+    record.session = metadataNet.session;
+    record.priority = [NSNumber numberWithLong:metadataNet.priority];
         
-        [context MR_saveToPersistentStoreAndWait];
-    }
+    [context MR_saveToPersistentStoreAndWait];
 }
 
-+ (NSArray *)getTableAutomaticUploadForAccount:(NSString *)activeAccount selector:(NSString *)selector numRecords:(NSUInteger)numRecords context:(NSManagedObjectContext *)context
++ (NSArray *)getTableAutomaticUploadForAccount:(NSString *)account selector:(NSString *)selector numRecords:(NSUInteger)numRecords context:(NSManagedObjectContext *)context
 {
     if (numRecords == 0)
         return nil;
@@ -1513,7 +1509,7 @@
     if (context == nil)
         context = [NSManagedObjectContext MR_context];
     
-    NSArray *records = [TableAutomaticUpload MR_findAllWithPredicate:[NSPredicate predicateWithFormat:@"(account == %@) AND (selector == %@) AND (isExecuting == 0)", activeAccount, selector]];
+    NSArray *records = [TableAutomaticUpload MR_findAllWithPredicate:[NSPredicate predicateWithFormat:@"(account == %@) AND (selector == %@) AND (isExecuting == 0)", account, selector]];
     
     for (TableAutomaticUpload *record in records) {
         
@@ -1538,20 +1534,20 @@
     return metadatasNet;
 }
 
-+ (NSUInteger)countTableAutomaticUploadForAccount:(NSString *)activeAccount selector:(NSString *)selector
++ (NSUInteger)countTableAutomaticUploadForAccount:(NSString *)account selector:(NSString *)selector
 {
     if (selector)
-        return [TableAutomaticUpload MR_countOfEntitiesWithPredicate:[NSPredicate predicateWithFormat:@"(account == %@) AND (isExecuting == 0) AND (selector == %@)", activeAccount, selector]];
+        return [TableAutomaticUpload MR_countOfEntitiesWithPredicate:[NSPredicate predicateWithFormat:@"(account == %@) AND (isExecuting == 0) AND (selector == %@)", account, selector]];
     else
-        return [TableAutomaticUpload MR_countOfEntitiesWithPredicate:[NSPredicate predicateWithFormat:@"(account == %@) AND (isExecuting == 0)", activeAccount]];
+        return [TableAutomaticUpload MR_countOfEntitiesWithPredicate:[NSPredicate predicateWithFormat:@"(account == %@) AND (isExecuting == 0)", account]];
 }
 
-+ (void)setTableAutomaticUploadIfExecutingForAccount:(NSString *)activeAccount fileName:(NSString *)fileName serverUrl:(NSString *)serverUrl selector:(NSString*)selector context:(NSManagedObjectContext *)context
++ (void)setTableAutomaticUploadIfExecutingForAccount:(NSString *)account fileName:(NSString *)fileName serverUrl:(NSString *)serverUrl selector:(NSString*)selector context:(NSManagedObjectContext *)context
 {
     if (context == nil)
         context = [NSManagedObjectContext MR_context];
     
-    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(account == %@) AND (fileName == %@) AND (serverUrl == %@) AND (selector == %@)", activeAccount, fileName, serverUrl, selector];
+    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(account == %@) AND (fileName == %@) AND (serverUrl == %@) AND (selector == %@)", account, fileName, serverUrl, selector];
     TableAutomaticUpload *record = [TableAutomaticUpload MR_findFirstWithPredicate:predicate inContext:context];
     
     if (record) {
@@ -1562,12 +1558,12 @@
     }
 }
 
-+ (void)deleteTableAutomaticUploadForAccount:(NSString *)activeAccount fileName:(NSString *)fileName serverUrl:(NSString *)serverUrl selector:(NSString*)selector context:(NSManagedObjectContext *)context
++ (void)deleteTableAutomaticUploadForAccount:(NSString *)account fileName:(NSString *)fileName serverUrl:(NSString *)serverUrl selector:(NSString*)selector context:(NSManagedObjectContext *)context
 {
     if (context == nil)
         context = [NSManagedObjectContext MR_context];
     
-    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(account == %@) AND (fileName == %@) AND (serverUrl == %@) AND (selector == %@)", activeAccount, fileName, serverUrl, selector];
+    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(account == %@) AND (fileName == %@) AND (serverUrl == %@) AND (selector == %@)", account, fileName, serverUrl, selector];
     [TableAutomaticUpload MR_deleteAllMatchingPredicate:predicate inContext:context];
     
     [context MR_saveToPersistentStoreAndWait];

+ 1 - 1
iOSClient/PhotosCameraUpload/CCPhotosCameraUpload.m

@@ -1263,7 +1263,7 @@
         metadataNet.session = session;
         metadataNet.taskStatus = taskStatusResume;
         
-        [CCCoreData addTableAutomaticUpload:metadataNet activeAccount:app.activeAccount context:nil];
+        [CCCoreData addTableAutomaticUpload:metadataNet account:app.activeAccount context:nil];
     }
     
     // start upload

+ 1 - 0
iOSClient/Settings/CCSettings.m

@@ -737,6 +737,7 @@
             [[NSURLCache sharedURLCache] setMemoryCapacity:0];
             [[NSURLCache sharedURLCache] setDiskCapacity:0];
             
+            [CCCoreData flushTableAutomaticUploadAccount:app.activeAccount selector:nil];
             [CCCoreData flushTableDirectoryAccount:app.activeAccount];
             [CCCoreData flushTableLocalFileAccount:app.activeAccount];
             [CCCoreData flushTableMetadataAccount:app.activeAccount];