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

coding

Signed-off-by: Marino Faggiana <marino@marinofaggiana.com>
Marino Faggiana 2 жил өмнө
parent
commit
a419e3adea

+ 1 - 1
iOSClient/Extensions/UIImage+Extensions.swift

@@ -27,7 +27,7 @@ import Accelerate
 
 
 extension UIImage {
 extension UIImage {
 
 
-    @objc func resizeImage(size: CGSize, isAspectRation: Bool) -> UIImage? {
+    @objc func resizeImage(size: CGSize, isAspectRation: Bool = true) -> UIImage? {
 
 
         let originRatio = self.size.width / self.size.height
         let originRatio = self.size.width / self.size.height
         let newRatio = size.width / size.height
         let newRatio = size.width / size.height

+ 1 - 13
iOSClient/Networking/NCService.swift

@@ -277,19 +277,7 @@ class NCService: NSObject {
                 NCManageDatabase.shared.addDasboardWidget(account: account, dashboardWidgets: dashboardWidgets)
                 NCManageDatabase.shared.addDasboardWidget(account: account, dashboardWidgets: dashboardWidgets)
                 for widget in dashboardWidgets {
                 for widget in dashboardWidgets {
                     if let url = URL(string: widget.iconUrl), let fileName = widget.iconClass {
                     if let url = URL(string: widget.iconUrl), let fileName = widget.iconClass {
-                        let fileNamePath: String = CCUtility.getDirectoryUserData() + "/" + fileName + ".png"
-                        if !FileManager().fileExists(atPath: fileNamePath) {
-                            NextcloudKit.shared.getPreview(url: url, options: options) { account, data, error in
-                                if let svgImage = SVGKImage(data: data)  {
-                                    svgImage.size = CGSize(width: 125, height: 125)
-                                    if let image = svgImage.uiImage {
-                                        do {
-                                            try image.imageColor(.black).pngData()?.write(to: URL(fileURLWithPath: fileNamePath), options: .atomic)
-                                        } catch { }
-                                    }
-                                }
-                            }
-                        }
+                        NCUtilityGUI().getImageUserData(url: url, fileName: fileName, size: 128)
                     }
                     }
                 }
                 }
             }
             }

+ 2 - 2
iOSClient/ScanDocument/NCScan+CollectionView.swift

@@ -46,7 +46,7 @@ extension NCScan: UICollectionViewDataSource {
 
 
             // 72 DPI
             // 72 DPI
             if imageWidthInPixels > 595 || imageHeightInPixels > 842 {
             if imageWidthInPixels > 595 || imageHeightInPixels > 842 {
-                image = image.resizeImage(size: CGSize(width: 595, height: 842), isAspectRation: true) ?? image
+                image = image.resizeImage(size: CGSize(width: 595, height: 842)) ?? image
             }
             }
 
 
             cell.customImageView?.image = image
             cell.customImageView?.image = image
@@ -78,7 +78,7 @@ extension NCScan: UICollectionViewDataSource {
 
 
             // 72 DPI
             // 72 DPI
             if imageWidthInPixels > 595 || imageHeightInPixels > 842 {
             if imageWidthInPixels > 595 || imageHeightInPixels > 842 {
-                image = image.resizeImage(size: CGSize(width: 595, height: 842), isAspectRation: true) ?? image
+                image = image.resizeImage(size: CGSize(width: 595, height: 842)) ?? image
             }
             }
 
 
             cell.customImageView?.image = filter(image: image)
             cell.customImageView?.image = filter(image: image)

+ 2 - 2
iOSClient/Utility/NCUtility.swift

@@ -633,8 +633,8 @@ class NCUtility: NSObject {
 
 
             originalImage = UIImage(contentsOfFile: fileNamePath)
             originalImage = UIImage(contentsOfFile: fileNamePath)
 
 
-            scaleImagePreview = originalImage?.resizeImage(size: CGSize(width: NCGlobal.shared.sizePreview, height: NCGlobal.shared.sizePreview), isAspectRation: false)
-            scaleImageIcon = originalImage?.resizeImage(size: CGSize(width: NCGlobal.shared.sizeIcon, height: NCGlobal.shared.sizeIcon), isAspectRation: false)
+            scaleImagePreview = originalImage?.resizeImage(size: CGSize(width: NCGlobal.shared.sizePreview, height: NCGlobal.shared.sizePreview))
+            scaleImageIcon = originalImage?.resizeImage(size: CGSize(width: NCGlobal.shared.sizeIcon, height: NCGlobal.shared.sizeIcon))
 
 
             try? scaleImagePreview?.jpegData(compressionQuality: 0.7)?.write(to: URL(fileURLWithPath: fileNamePathPreview))
             try? scaleImagePreview?.jpegData(compressionQuality: 0.7)?.write(to: URL(fileURLWithPath: fileNamePathPreview))
             try? scaleImageIcon?.jpegData(compressionQuality: 0.7)?.write(to: URL(fileURLWithPath: fileNamePathIcon))
             try? scaleImageIcon?.jpegData(compressionQuality: 0.7)?.write(to: URL(fileURLWithPath: fileNamePathIcon))

+ 30 - 2
iOSClient/Utility/NCUtilityGUI.swift

@@ -23,6 +23,7 @@
 
 
 import UIKit
 import UIKit
 import NextcloudKit
 import NextcloudKit
+import SVGKit
 
 
 class NCUtilityGUI{
 class NCUtilityGUI{
 
 
@@ -37,14 +38,14 @@ class NCUtilityGUI{
         } else if !createPreviewMedia {
         } else if !createPreviewMedia {
             return nil
             return nil
         } else if createPreviewMedia && status >= NCGlobal.shared.metadataStatusNormal && classFile == NKCommon.typeClassFile.image.rawValue && FileManager().fileExists(atPath: filePath) {
         } else if createPreviewMedia && status >= NCGlobal.shared.metadataStatusNormal && classFile == NKCommon.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) {
+            if let image = UIImage(contentsOfFile: filePath), let image = image.resizeImage(size: CGSize(width: NCGlobal.shared.sizeIcon, height: NCGlobal.shared.sizeIcon)), let data = image.jpegData(compressionQuality: 0.5) {
                 do {
                 do {
                     try data.write(to: URL.init(fileURLWithPath: iconImagePath), options: .atomic)
                     try data.write(to: URL.init(fileURLWithPath: iconImagePath), options: .atomic)
                     imagePreview = image
                     imagePreview = image
                 } catch { }
                 } catch { }
             }
             }
         } else if createPreviewMedia && status >= NCGlobal.shared.metadataStatusNormal && classFile == NKCommon.typeClassFile.video.rawValue && FileManager().fileExists(atPath: filePath) {
         } else if createPreviewMedia && status >= NCGlobal.shared.metadataStatusNormal && classFile == NKCommon.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) {
+            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)), let data = image.jpegData(compressionQuality: 0.5) {
                 do {
                 do {
                     try data.write(to: URL.init(fileURLWithPath: iconImagePath), options: .atomic)
                     try data.write(to: URL.init(fileURLWithPath: iconImagePath), options: .atomic)
                     imagePreview = image
                     imagePreview = image
@@ -54,4 +55,31 @@ class NCUtilityGUI{
 
 
         return imagePreview
         return imagePreview
     }
     }
+    
+    func getImageUserData(url: URL, fileName: String, size: CGFloat, completition: @escaping (_ image: UIImage?) -> () = { _ in }) {
+        
+        let fileNamePath: String = CCUtility.getDirectoryUserData() + "/" + fileName + ".png"
+        let size = CGSize(width: size, height: size)
+        
+        if !FileManager().fileExists(atPath: fileNamePath) {
+            NextcloudKit.shared.getPreview(url: url) { account, data, error in
+                guard let data = data else { return completition(nil) }
+                var image: UIImage?
+                if let uiImage = UIImage(data: data) {
+                    image = uiImage.resizeImage(size: size)
+                } else if let svgImage = SVGKImage(data: data) {
+                    svgImage.size = size
+                    image = svgImage.uiImage
+                }
+                if let image = image {
+                    do {
+                        try image.pngData()?.write(to: URL(fileURLWithPath: fileNamePath), options: .atomic)
+                    } catch { }
+                }
+                completition(image)
+            }
+        } else {
+            completition(UIImage(contentsOfFile: fileNamePath))
+        }
+    }
 }
 }

+ 1 - 1
iOSClient/Viewer/NCViewerProviderContextMenu.swift

@@ -64,7 +64,7 @@ class NCViewerProviderContextMenu: UIViewController {
         } else {
         } else {
 
 
             // ICON
             // ICON
-            if let image = UIImage(named: metadata.iconName)?.resizeImage(size: CGSize(width: sizeIcon*2, height: sizeIcon*2), isAspectRation: true) {
+            if let image = UIImage(named: metadata.iconName)?.resizeImage(size: CGSize(width: sizeIcon*2, height: sizeIcon*2)) {
 
 
                 imageView.image = image
                 imageView.image = image
                 imageView.frame = resize(CGSize(width: sizeIcon, height: sizeIcon))
                 imageView.frame = resize(CGSize(width: sizeIcon, height: sizeIcon))