marinofaggiana 5 年 前
コミット
82c7470efc

+ 5 - 3
iOSClient/Main/NCDetailViewController.swift

@@ -508,6 +508,8 @@ extension NCDetailViewController: NCViewerImageViewControllerDelegate, NCViewerI
         
         if index >= metadatas.count { return }
         let metadata = metadatas[index]
+        let isPreview = CCUtility.fileProviderStorageIconExists(metadata.ocId, fileNameView: metadata.fileNameView)
+        let isImage = CCUtility.fileProviderStorageSize(metadata.ocId, fileNameView: metadata.fileNameView) > 0
         
         // Refresh self metadata && title
         if viewerImageViewController.index < metadatas.count {
@@ -517,13 +519,13 @@ extension NCDetailViewController: NCViewerImageViewControllerDelegate, NCViewerI
         }
         
         // Preview for Video
-        if metadata.typeFile == k_metadataTypeFile_video && !CCUtility.fileProviderStorageIconExists(metadata.ocId, fileNameView: metadata.fileNameView) {
+        if metadata.typeFile == k_metadataTypeFile_video && !isPreview && isImage {
             
             CCGraphics.createNewImage(from: metadata.fileNameView, ocId: metadata.ocId, extension: (metadata.fileNameView as NSString).pathExtension, filterGrayScale: false, typeFile: metadata.typeFile, writeImage: true)
         }
         
         // Original only for actual
-        if metadata.typeFile == k_metadataTypeFile_image && CCUtility.fileProviderStorageSize(metadata.ocId, fileNameView: metadata.fileNameView) > 0 && index == viewerImageViewController.index {
+        if metadata.typeFile == k_metadataTypeFile_image && isImage && index == viewerImageViewController.index {
                 
             if let image = NCViewerImageCommon.shared.getImage(metadata: metadata) {
                 DispatchQueue.main.asyncAfter(deadline: .now() + .milliseconds(100)) {
@@ -534,7 +536,7 @@ extension NCDetailViewController: NCViewerImageViewControllerDelegate, NCViewerI
             }
                 
         // Preview
-        } else if CCUtility.fileProviderStorageIconExists(metadata.ocId, fileNameView: metadata.fileNameView) {
+        } else if isPreview {
                 
             if let image = NCViewerImageCommon.shared.getThumbnailImage(metadata: metadata) {
                 completion(index, image, metadata, ZoomScale.default, nil)

+ 7 - 9
iOSClient/Viewer/NCViewerImage/NCViewerImageCommon.swift

@@ -29,6 +29,10 @@ class NCViewerImageCommon: NSObject {
         return instance
     }()
     
+    static let offOutlineAudio = CCGraphics.changeThemingColorImage(UIImage.init(named: "offOutlineAudio"), width: UIScreen.main.bounds.size.width, height: UIScreen.main.bounds.size.height, color: NCBrandColor.sharedInstance.brand)
+    static let offOutlineVideo = CCGraphics.changeThemingColorImage(UIImage.init(named: "offOutlineVideo"), width: UIScreen.main.bounds.size.width, height: UIScreen.main.bounds.size.height, color: NCBrandColor.sharedInstance.brand)
+    static let offOutlineImage = CCGraphics.changeThemingColorImage(UIImage.init(named: "offOutlineImage"), width: UIScreen.main.bounds.size.width, height: UIScreen.main.bounds.size.height, color: NCBrandColor.sharedInstance.brand)
+
     func getMetadatasDatasource(metadata: tableMetadata?, metadatas: [tableMetadata],favoriteDatasorce: Bool, mediaDatasorce: Bool, offLineDatasource: Bool) -> [tableMetadata]? {
         guard let metadata = metadata else { return nil }
         if favoriteDatasorce {
@@ -109,19 +113,13 @@ class NCViewerImageCommon: NSObject {
     func getImageOffOutline(frame: CGRect, type: String) -> UIImage {
         
         if type == k_metadataTypeFile_video {
-            let image = CCGraphics.changeThemingColorImage(UIImage.init(named: "offOutlineVideo"), width: frame.width, height: frame.width, color: NCBrandColor.sharedInstance.brand)
-            
-            return image!
+            return NCViewerImageCommon.offOutlineVideo!
         }
         
         if type == k_metadataTypeFile_audio {
-            let image = CCGraphics.changeThemingColorImage(UIImage.init(named: "offOutlineAudio"), width: frame.width, height: frame.width, color: NCBrandColor.sharedInstance.brand)
-            
-            return image!
+            return NCViewerImageCommon.offOutlineAudio!
         }
         
-        let image = CCGraphics.changeThemingColorImage(UIImage.init(named: "offOutlineImage"), width: frame.width, height: frame.width, color: NCBrandColor.sharedInstance.brand)
-
-        return image!
+        return NCViewerImageCommon.offOutlineImage!
     }
 }