Эх сурвалжийг харах

coding

Signed-off-by: marinofaggiana <marino.faggiana@nextcloud.com>
marinofaggiana 2 жил өмнө
parent
commit
92e6812a16

+ 2 - 3
Widget/Nextcloud/NextcloudData.swift

@@ -202,8 +202,6 @@ func getDataEntry(isPreview: Bool, displaySize: CGSize, completion: @escaping (_
                 guard !isLive(file: file, files: files) else { continue }
                 let metadata = NCManageDatabase.shared.convertNCFileToMetadata(file, isEncrypted: false, account: account.account)
                 let subTitle = CCUtility.dateDiff(metadata.date as Date) + " · " + CCUtility.transformedSize(metadata.size)
-                var image:UIImage = NCUtilityGUI.shared.createFilePreviewImage(metadata: metadata, createPreview: false) ?? UIImage(named: "file")!
-                image = image.resizeImage(size: CGSize(width: imageSize*3, height: imageSize*3), isAspectRation: true)!
                 // url: nextcloud://open-file?path=Talk/IMG_0000123.jpg&user=marinofaggiana&link=https://cloud.nextcloud.com/f/123
                 guard var path = NCUtilityFileSystem.shared.getPath(path: metadata.path, user: metadata.user, fileName: metadata.fileName).urlEncoded else { continue }
                 if path.first == "/" { path = String(path.dropFirst())}
@@ -212,6 +210,7 @@ func getDataEntry(isPreview: Bool, displaySize: CGSize, completion: @escaping (_
                 let urlString = "nextcloud://open-file?path=\(path)&user=\(user)&link=\(link)"
                 guard let url = URL(string: urlString) else { continue }
                 // Recent Data
+                let image:UIImage = NCUtilityGUI.shared.createFilePreviewImage(metadata: metadata, size: imageSize, createPreview: false) ?? UIImage(named: "file")!
                 let recentData = RecentData.init(id: metadata.ocId, image: image, title: metadata.fileName, subTitle: subTitle, url: url)
                 recentDatas.append(recentData)
                 if recentDatas.count == 5 { break}
@@ -222,7 +221,7 @@ func getDataEntry(isPreview: Bool, displaySize: CGSize, completion: @escaping (_
             let metadatas = NCManageDatabase.shared.getAdvancedMetadatas(predicate: NSPredicate(format: "status == %i || status == %i || status == %i", NCGlobal.shared.metadataStatusWaitUpload, NCGlobal.shared.metadataStatusInUpload, NCGlobal.shared.metadataStatusUploading), page: 1, limit: limitUpload, sorted: "sessionTaskIdentifier", ascending: false)
             for metadata in metadatas {
                 // image
-                var image:UIImage = NCUtilityGUI.shared.createFilePreviewImage(metadata: metadata, createPreview: false) ?? UIImage(named: "file")!
+                var image:UIImage = NCUtilityGUI.shared.createFilePreviewImage(metadata: metadata, size: imageSize, createPreview: false) ?? UIImage(named: "file")!
                 image = image.resizeImage(size: CGSize(width: imageSize*3, height: imageSize*3), isAspectRation: true)!
 
                 // Upload Data

+ 1 - 1
iOSClient/Transfers/NCTransfers.swift

@@ -184,7 +184,7 @@ class NCTransfers: NCCollectionViewCommon, NCTransferCellDelegate {
         cell.labelPath.text = pathText
         cell.setButtonMore(named: NCGlobal.shared.buttonMoreStop, image: NCBrandColor.cacheImages.buttonStop)
         cell.progressView.progress = 0.0
-        cell.imageItem.image = NCUtilityGUI.shared.createFilePreviewImage(metadata: metadata, createPreview: true) ?? UIImage(named: "file")
+        cell.imageItem.image = NCUtilityGUI.shared.createFilePreviewImage(metadata: metadata, size: 40, createPreview: true) ?? UIImage(named: "file")
         cell.labelInfo.text = CCUtility.dateDiff(metadata.date as Date) + " · " + CCUtility.transformedSize(metadata.size)
         if metadata.status == NCGlobal.shared.metadataStatusDownloading || metadata.status == NCGlobal.shared.metadataStatusUploading {
             cell.progressView.isHidden = false

+ 27 - 22
iOSClient/Utility/NCUtilityGUI.swift

@@ -30,32 +30,37 @@ class NCUtilityGUI: NSObject {
         return instance
     }()
 
-    func createFilePreviewImage(metadata: tableMetadata, createPreview: Bool) -> UIImage? {
+    func createFilePreviewImage(metadata: tableMetadata, size: CGFloat? = nil, createPreview: Bool) -> UIImage? {
 
-        var imagePreview: UIImage?
-        let filePath = CCUtility.getDirectoryProviderStorageOcId(metadata.ocId, fileNameView: metadata.fileNameView)!
-        let iconImagePath = CCUtility.getDirectoryProviderStorageIconOcId(metadata.ocId, etag: metadata.etag)!
+        autoreleasepool {
+            var imagePreview: UIImage?
+            let filePath = CCUtility.getDirectoryProviderStorageOcId(metadata.ocId, fileNameView: metadata.fileNameView)!
+            let iconImagePath = CCUtility.getDirectoryProviderStorageIconOcId(metadata.ocId, etag: metadata.etag)!
 
-        if FileManager().fileExists(atPath: iconImagePath) {
-            imagePreview = UIImage(contentsOfFile: iconImagePath)
-        } else if metadata.status >= NCGlobal.shared.metadataStatusNormal && createPreview && metadata.classFile == NCCommunicationCommon.typeClassFile.image.rawValue && FileManager().fileExists(atPath: filePath) {
-            if let image = UIImage(contentsOfFile: filePath), let image = image.resizeImage(size: CGSize(width: NCGlobal.shared.sizeIcon, height: NCGlobal.shared.sizeIcon), isAspectRation: true), let data = image.jpegData(compressionQuality: 0.5) {
-                do {
-                    try data.write(to: URL.init(fileURLWithPath: iconImagePath), options: .atomic)
-                    imagePreview = image
-                } catch { }
+            if FileManager().fileExists(atPath: iconImagePath) {
+                imagePreview = UIImage(contentsOfFile: iconImagePath)
+            } else if metadata.status >= NCGlobal.shared.metadataStatusNormal && createPreview && metadata.classFile == NCCommunicationCommon.typeClassFile.image.rawValue && FileManager().fileExists(atPath: filePath) {
+                if let image = UIImage(contentsOfFile: filePath), let image = image.resizeImage(size: CGSize(width: NCGlobal.shared.sizeIcon, height: NCGlobal.shared.sizeIcon), isAspectRation: true), let data = image.jpegData(compressionQuality: 0.5) {
+                    do {
+                        try data.write(to: URL.init(fileURLWithPath: iconImagePath), options: .atomic)
+                        imagePreview = image
+                    } catch { }
+                }
+            } else if metadata.status >= NCGlobal.shared.metadataStatusNormal && createPreview && metadata.classFile == NCCommunicationCommon.typeClassFile.video.rawValue && FileManager().fileExists(atPath: filePath) {
+                if let image = NCUtility.shared.imageFromVideo(url: URL(fileURLWithPath: filePath), at: 0), let image = image.resizeImage(size: CGSize(width: NCGlobal.shared.sizeIcon, height: NCGlobal.shared.sizeIcon), isAspectRation: true), let data = image.jpegData(compressionQuality: 0.5) {
+                    do {
+                        try data.write(to: URL.init(fileURLWithPath: iconImagePath), options: .atomic)
+                        imagePreview = image
+                    } catch { }
+                }
+            } else if !metadata.iconName.isEmpty {
+                imagePreview = UIImage(named: metadata.iconName)
             }
-        } else if metadata.status >= NCGlobal.shared.metadataStatusNormal && createPreview && metadata.classFile == NCCommunicationCommon.typeClassFile.video.rawValue && FileManager().fileExists(atPath: filePath) {
-            if let image = NCUtility.shared.imageFromVideo(url: URL(fileURLWithPath: filePath), at: 0), let image = image.resizeImage(size: CGSize(width: NCGlobal.shared.sizeIcon, height: NCGlobal.shared.sizeIcon), isAspectRation: true), let data = image.jpegData(compressionQuality: 0.5) {
-                do {
-                    try data.write(to: URL.init(fileURLWithPath: iconImagePath), options: .atomic)
-                    imagePreview = image
-                } catch { }
+
+            if let image = imagePreview, let size = size  {
+                imagePreview = image.resizeImage(size: CGSize(width: size * 3, height: size * 3), isAspectRation: true)
             }
-        } else if !metadata.iconName.isEmpty {
-            imagePreview = UIImage(named: metadata.iconName)
+            return imagePreview
         }
-
-        return imagePreview
     }
 }