Marino Faggiana 8 жил өмнө
parent
commit
382f204461

+ 16 - 0
Libraries external/OCCommunicationLib/OCCommunicationLib/OCActivity.m

@@ -25,4 +25,20 @@
 
 @implementation OCActivity
 
+- (id)init {
+    
+    self = [super init];
+    
+    if (self) {
+        
+        self.idActivity = 0;
+        self.file = @"";
+        self.link = @"";
+        self.message = @"";
+        self.subject = @"";
+    }
+    
+    return self;
+}
+
 @end

+ 4 - 4
Libraries external/OCCommunicationLib/OCCommunicationLib/OCCommunication.m

@@ -1546,10 +1546,10 @@
                     NSISO8601DateFormatter *formatter = [[NSISO8601DateFormatter alloc] init];
                     activity.date = [formatter dateFromString:dateString];
 
-                    activity.file = [data valueForKey:@"file"];
-                    activity.link = [data valueForKey:@"link"];
-                    activity.message = [data valueForKey:@"message"];
-                    activity.subject = [data valueForKey:@"subject"];
+                    if ([data valueForKey:@"file"]    && ![[data valueForKey:@"file"]    isEqual:[NSNull null]]) activity.file    = [data valueForKey:@"file"];
+                    if ([data valueForKey:@"link"]    && ![[data valueForKey:@"link"]    isEqual:[NSNull null]]) activity.link    = [data valueForKey:@"link"];
+                    if ([data valueForKey:@"message"] && ![[data valueForKey:@"message"] isEqual:[NSNull null]]) activity.message = [data valueForKey:@"message"];
+                    if ([data valueForKey:@"subject"] && ![[data valueForKey:@"subject"] isEqual:[NSNull null]]) activity.subject = [data valueForKey:@"subject"];
                     
                     [listOfActivity addObject:activity];
                 }

+ 1 - 0
iOSClient/FileSystem/CCCoreData.h

@@ -235,6 +235,7 @@
 
 //+ (void)verifyVersionCoreData;
 
++ (void)flushTableActivityAccount:(NSString *)account;
 + (void)flushTableAutomaticUploadAccount:(NSString *)account selector:(NSString *)selector;
 + (void)flushTableDirectoryAccount:(NSString *)account;
 + (void)flushTableLocalFileAccount:(NSString *)account;

+ 17 - 0
iOSClient/FileSystem/CCCoreData.m

@@ -2131,6 +2131,22 @@
     }
 }
 
++ (void)flushTableActivityAccount:(NSString *)account
+{
+    NSManagedObjectContext *context = [NSManagedObjectContext MR_defaultContext];
+    
+    if (account) {
+        
+        [TableActivity MR_deleteAllMatchingPredicate:[NSPredicate predicateWithFormat:@"(account == %@)", account] inContext:context];
+        
+    } else {
+        
+        [TableActivity MR_truncateAllInContext:context];
+    }
+    
+    [context MR_saveToPersistentStoreAndWait];
+}
+
 + (void)flushTableAutomaticUploadAccount:(NSString *)account selector:(NSString *)selector
 {
     NSManagedObjectContext *context = [NSManagedObjectContext MR_defaultContext];
@@ -2207,6 +2223,7 @@
     NSManagedObjectContext *context = [NSManagedObjectContext MR_defaultContext];
     
     [TableAccount MR_truncateAllInContext:context];
+    [TableActivity MR_truncateAllInContext:context];
     [TableAutomaticUpload MR_truncateAllInContext:context];
     [TableCertificates MR_truncateAllInContext:context];
     [TableDirectory MR_truncateAllInContext:context];

+ 3 - 1
iOSClient/Main/CCMain.m

@@ -1043,7 +1043,9 @@
 
 - (void)getActivityServerSuccess:(NSArray *)listOfActivity
 {
-    
+    for (OCActivity *activity in listOfActivity) {
+        [CCCoreData addActivity:activity account:app.activeAccount];
+    }
 }
 
 - (void)getActivityServerFailure:(CCMetadataNet *)metadataNet message:(NSString *)message errorCode:(NSInteger)errorCode

+ 1 - 0
iOSClient/Settings/CCSettings.m

@@ -775,6 +775,7 @@
             [CCCoreData flushTableDirectoryAccount:app.activeAccount];
             [CCCoreData flushTableLocalFileAccount:app.activeAccount];
             [CCCoreData flushTableMetadataAccount:app.activeAccount];
+            [CCCoreData flushTableActivityAccount:app.activeAccount];
             
             [self emptyUserDirectoryUser:app.activeUser url:app.activeUrl];