Marino Faggiana 7 жил өмнө
parent
commit
53d5100d47

+ 17 - 4
iOSClient/AutoUpload/NCAutoUpload.m

@@ -701,12 +701,25 @@
             
             if (assetsFull == NO) {
             
-                NSArray *assetsLocalIdentifier = [[NCManageDatabase sharedInstance] getPhotoLibraryWithImage:image video:video];
+                NSArray *idsAsset = [[NCManageDatabase sharedInstance] getPhotoLibraryIdAssetWithImage:image video:video];
                 
-                for (PHAsset *asset in assets)
-                    if (![assetsLocalIdentifier containsObject: asset.localIdentifier])
+                for (PHAsset *asset in assets) {
+                    
+                    NSString *creationDate = @"";
+                    NSString *modificationDate = @"";
+                    NSString *idAsset = @"";
+                    
+                    if (asset.creationDate != nil)
+                        creationDate = [NSString stringWithFormat:@"%@", asset.creationDate];
+                    
+                    if (asset.modificationDate != nil)
+                        modificationDate = [NSString stringWithFormat:@"%@", asset.modificationDate];
+                    
+                    idAsset = [NSString stringWithFormat:@"%@%@%@", asset.localIdentifier, creationDate, modificationDate];
+                    
+                    if (![idsAsset containsObject: idAsset])
                         [newAssets addObject:asset];
-                
+                }
                 return (PHFetchResult *)newAssets;
                 
             } else {

+ 2 - 1
iOSClient/Database/NCDatabase.swift

@@ -208,11 +208,12 @@ class tablePhotoLibrary: Object {
     dynamic var account = ""
     dynamic var assetLocalIdentifier = ""
     dynamic var creationDate: NSDate? = nil
+    dynamic var idAsset = ""
     dynamic var modificationDate: NSDate? = nil
     dynamic var mediaType: Int = 0
 
     override static func primaryKey() -> String {
-        return "assetLocalIdentifier"
+        return "idAsset"
     }
 }
 

+ 17 - 4
iOSClient/Database/NCManageDatabase.swift

@@ -1884,10 +1884,23 @@ class NCManageDatabase: NSObject {
                     
                     addRecord.account = tableAccount!.account
                     addRecord.assetLocalIdentifier = asset.localIdentifier
-                    addRecord.creationDate = asset.creationDate! as NSDate
-                    addRecord.modificationDate = asset.modificationDate! as NSDate
                     addRecord.mediaType = asset.mediaType.rawValue
                     
+                    var creationDate = ""
+                    var modificationDate = ""
+                    
+                    if asset.creationDate != nil {
+                        addRecord.creationDate = asset.creationDate! as NSDate
+                        creationDate = String(describing: addRecord.creationDate!)
+                    }
+                    
+                    if asset.modificationDate != nil {
+                        addRecord.modificationDate = asset.modificationDate! as NSDate
+                        modificationDate = String(describing: addRecord.modificationDate!)
+                    }
+                    
+                    addRecord.idAsset = "\(asset.localIdentifier)\(creationDate)\(modificationDate)"
+
                     realm.add(addRecord, update: true)
                 }
             }
@@ -1896,7 +1909,7 @@ class NCManageDatabase: NSObject {
         }
     }
     
-    func getPhotoLibrary(image: Bool, video: Bool) -> [String]? {
+    func getPhotoLibraryIdAsset(image: Bool, video: Bool) -> [String]? {
         
         let tableAccount = self.getAccountActive()
         if tableAccount == nil {
@@ -1927,7 +1940,7 @@ class NCManageDatabase: NSObject {
         
         for table in results {
             
-            assetsLocalIdentifier.append(table.assetLocalIdentifier)
+            assetsLocalIdentifier.append(table.idAsset)
         }
 
         return assetsLocalIdentifier