Browse Source

Improvements

marinofaggiana 4 years ago
parent
commit
2c2b832965

+ 44 - 7
iOSClient/Main/Create cloud/NCCreateFormUploadConflict.swift

@@ -52,6 +52,7 @@ import Foundation
     
     var metadatasConflictNewFiles = [String]()
     var metadatasConflictAlreadyExistingFiles = [String]()
+    var fileNameURL = [String:URL]()
 
     // MARK: - Cicle
 
@@ -205,7 +206,11 @@ import Foundation
 extension NCCreateFormUploadConflict: UITableViewDelegate {
     
     func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
-        return 260
+        if metadatasConflict.count == 1 {
+            return 250
+        } else {
+            return 280
+        }
     }
 }
 
@@ -252,7 +257,7 @@ extension NCCreateFormUploadConflict: UITableViewDataSource {
                     cell.imageAlreadyExistingFile.image = UIImage.init(named: "file")
                 }
             }
-            cell.labelDetailAlreadyExistingFile.text = CCUtility.dateDiff(metadataAlreadyExists.date as Date)
+            cell.labelDetailAlreadyExistingFile.text = CCUtility.dateDiff(metadataAlreadyExists.date as Date) + "\n" + CCUtility.transformedSize(metadataAlreadyExists.size)
                 
             if metadatasConflictAlreadyExistingFiles.contains(metadataNewFile.ocId) {
                 cell.switchAlreadyExistingFile.isOn = true
@@ -269,14 +274,46 @@ extension NCCreateFormUploadConflict: UITableViewDataSource {
                 cell.imageNewFile.image = UIImage.init(named: "file")
             }
             if metadataNewFile.assetLocalIdentifier.count > 0 {
+                
                 let result = PHAsset.fetchAssets(withLocalIdentifiers: [metadataNewFile.assetLocalIdentifier], options: nil)
-                if result.count == 1 {
-                    let date = result.firstObject!.modificationDate
-                    PHImageManager.default().requestImage(for: result.firstObject!, targetSize: CGSize(width: 400, height: 400), contentMode: .aspectFill, options: nil) { (image, info) in
-                        cell.imageNewFile.image = image
-                        cell.labelDetailNewFile.text = CCUtility.dateDiff(date)
+                let date = result.firstObject!.modificationDate
+                let mediaType = result.firstObject!.mediaType
+                
+                if let url = self.fileNameURL[metadataNewFile.fileNameView] {
+                    
+                    do {
+                        if mediaType == PHAssetMediaType.image {
+                            let data = try Data(contentsOf: url)
+                            cell.imageNewFile.image = UIImage(data: data)
+                        }
+                        
+                        let fileDictionary = try FileManager.default.attributesOfItem(atPath: url.path)
+                        let fileSize = fileDictionary[FileAttributeKey.size] as! Double
+                        
+                        cell.labelDetailNewFile.text = CCUtility.dateDiff(date) + "\n" + CCUtility.transformedSize(fileSize)
+                        
+                    } catch { print("Error: \(error)") }
+                    
+                } else {
+                    CCUtility.extractImageVideoFromAssetLocalIdentifier(forUpload: nil, assetLocalIdentifier: metadataNewFile.assetLocalIdentifier) { (metadata, url) in
+                        if url != nil {
+                            self.fileNameURL[metadataNewFile.fileNameView] = url!
+                            do {
+                                if mediaType == PHAssetMediaType.image {
+                                    let data = try Data(contentsOf: url!)
+                                    cell.imageNewFile.image = UIImage(data: data)
+                                }
+                                
+                                let fileDictionary = try FileManager.default.attributesOfItem(atPath: url!.path)
+                                let fileSize = fileDictionary[FileAttributeKey.size] as! Double
+                                
+                                cell.labelDetailNewFile.text = CCUtility.dateDiff(date) + "\n" + CCUtility.transformedSize(fileSize)
+                                
+                            } catch { print("Error: \(error)") }
+                        }
                     }
                 }
+                      
             } else {
                 CCUtility.dateDiff(metadataNewFile.date as Date)
             }

+ 6 - 6
iOSClient/Main/Create cloud/NCCreateFormUploadConflictCell.xib

@@ -29,10 +29,10 @@
                         <nil key="textColor"/>
                         <nil key="highlightedColor"/>
                     </label>
-                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0hq-re-YVn">
-                        <rect key="frame" x="598.5" y="194.5" width="37.5" height="20"/>
+                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="right" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0hq-re-YVn">
+                        <rect key="frame" x="598.5" y="194.5" width="37.5" height="40"/>
                         <constraints>
-                            <constraint firstAttribute="height" constant="20" id="5Ed-pm-3oc"/>
+                            <constraint firstAttribute="height" constant="40" id="5Ed-pm-3oc"/>
                         </constraints>
                         <fontDescription key="fontDescription" type="system" pointSize="15"/>
                         <nil key="textColor"/>
@@ -57,10 +57,10 @@
                             <constraint firstAttribute="width" constant="150" id="brj-dv-3FM"/>
                         </constraints>
                     </imageView>
-                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Qye-6B-5aj">
-                        <rect key="frame" x="5" y="194.5" width="37.5" height="20"/>
+                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Qye-6B-5aj">
+                        <rect key="frame" x="5" y="194.5" width="37.5" height="40"/>
                         <constraints>
-                            <constraint firstAttribute="height" constant="20" id="j5h-pt-EoN"/>
+                            <constraint firstAttribute="height" constant="40" id="j5h-pt-EoN"/>
                         </constraints>
                         <fontDescription key="fontDescription" type="system" pointSize="15"/>
                         <nil key="textColor"/>

+ 5 - 4
iOSClient/Utility/CCUtility.m

@@ -1518,9 +1518,8 @@
                 
                 NSArray *resources = [PHAssetResource assetResourcesForAsset:asset];
                 NSString *orgFilename = ((PHAssetResource*)resources[0]).originalFilename;
-                NSURL *tmpDirURL = [NSURL fileURLWithPath:NSTemporaryDirectory() isDirectory:YES];
-                NSURL *fileURL = [tmpDirURL URLByAppendingPathComponent:orgFilename];
-                [imageData writeToFile:fileURL.absoluteString options:NSDataWritingAtomic error:&error];
+                NSURL *fileURL = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:orgFilename]];
+                [imageData writeToFile:fileURL.path options:NSDataWritingAtomic error:&error];
                 completion(nil, fileURL);
             }
         }];
@@ -1569,7 +1568,9 @@
                         }
                     });
                 } else {
-                    completion(nil, [(AVURLAsset *)asset URL]);
+                    dispatch_async(dispatch_get_main_queue(), ^{
+                        completion(nil, [(AVURLAsset *)asset URL]);
+                    });
                 }
             }
         }];