marinofaggiana 5 سال پیش
والد
کامیت
06a093a038
1فایلهای تغییر یافته به همراه39 افزوده شده و 18 حذف شده
  1. 39 18
      iOSClient/Main/NCDetailViewController.swift

+ 39 - 18
iOSClient/Main/NCDetailViewController.swift

@@ -26,7 +26,7 @@ import WebKit
 import NCCommunication
 //import ATGMediaBrowser
 
-class NCDetailViewController: UIViewController, MediaBrowserViewControllerDelegate, MediaBrowserViewControllerDataSource {
+class NCDetailViewController: UIViewController {
     
     @IBOutlet weak var backgroundView: UIImageView!
     
@@ -282,6 +282,10 @@ class NCDetailViewController: UIViewController, MediaBrowserViewControllerDelega
         // OTHER
         NCViewerDocumentWeb.sharedInstance.viewDocumentWebAt(metadata, view: backgroundView)
     }
+}
+
+
+extension NCDetailViewController: MediaBrowserViewControllerDelegate, MediaBrowserViewControllerDataSource {
     
     func numberOfItems(in mediaBrowser: MediaBrowserViewController) -> Int {
         
@@ -292,35 +296,45 @@ class NCDetailViewController: UIViewController, MediaBrowserViewControllerDelega
         if index >= metadatas.count { return }
 
         let metadata = metadatas[index]
+        
+        // Original
         if CCUtility.fileProviderStorageSize(metadata.ocId, fileNameView: metadata.fileNameView) > 0 {
+            
             let imagePath = CCUtility.getDirectoryProviderStorageOcId(metadata.ocId, fileNameView: metadata.fileNameView)!
             if let image = UIImage.init(contentsOfFile: imagePath) {
                 completion(index, image, ZoomScale.default, nil)
-                return
+            } else {
+                completion(index, self.getImageOffOutline(), ZoomScale.default, nil)
             }
+            
+        // Preview
         } else if CCUtility.fileProviderStorageIconExists(metadata.ocId, fileNameView: metadata.fileNameView) {
+            
             let imagePath = CCUtility.getDirectoryProviderStorageIconOcId(metadata.ocId, fileNameView: metadata.fileNameView)!
             if let image = UIImage.init(contentsOfFile: imagePath) {
                 completion(index, image, ZoomScale.default, nil)
-                return
+            } else {
+                completion(index, self.getImageOffOutline(), ZoomScale.default, nil)
             }
-        }
-        
-        // NO Icon
-        let fileNamePath = CCUtility.returnFileNamePath(fromFileName: metadata.fileName, serverUrl: metadata.serverUrl, activeUrl: appDelegate.activeUrl)!
-        let fileNameLocalPath = CCUtility.getDirectoryProviderStorageIconOcId(metadata.ocId, fileNameView: metadata.fileNameView)!
             
-        NCCommunication.sharedInstance.downloadPreview(serverUrl: appDelegate.activeUrl, fileNamePath: fileNamePath, fileNameLocalPath: fileNameLocalPath, width: NCUtility.sharedInstance.getScreenWidthForPreview(), height: NCUtility.sharedInstance.getScreenHeightForPreview(), account: metadata.account) { (account, data, errorCode, errorMessage) in
-            if errorCode == 0 && data != nil {
-                do {
-                    let url = URL.init(fileURLWithPath: fileNameLocalPath)
-                    try data!.write(to: url, options: .atomic)
-                    completion(index, UIImage.init(data: data!), ZoomScale.default, nil)
-                } catch {
-                    completion(index, CCGraphics.changeThemingColorImage(UIImage.init(named: "imageOffOutline"), width: self.view.frame.width, height: self.view.frame.width, color: NCBrandColor.sharedInstance.brand), ZoomScale.default, nil)
+        // NO Original/Preview
+        } else {
+            
+            let fileNamePath = CCUtility.returnFileNamePath(fromFileName: metadata.fileName, serverUrl: metadata.serverUrl, activeUrl: appDelegate.activeUrl)!
+            let fileNameLocalPath = CCUtility.getDirectoryProviderStorageIconOcId(metadata.ocId, fileNameView: metadata.fileNameView)!
+                
+            NCCommunication.sharedInstance.downloadPreview(serverUrl: appDelegate.activeUrl, fileNamePath: fileNamePath, fileNameLocalPath: fileNameLocalPath, width: NCUtility.sharedInstance.getScreenWidthForPreview(), height: NCUtility.sharedInstance.getScreenHeightForPreview(), account: metadata.account) { (account, data, errorCode, errorMessage) in
+                if errorCode == 0 && data != nil {
+                    do {
+                        let url = URL.init(fileURLWithPath: fileNameLocalPath)
+                        try data!.write(to: url, options: .atomic)
+                        completion(index, UIImage.init(data: data!), ZoomScale.default, nil)
+                    } catch {
+                        completion(index, self.getImageOffOutline(), ZoomScale.default, nil)
+                    }
+                } else {
+                    completion(index, self.getImageOffOutline(), ZoomScale.default, nil)
                 }
-            } else {
-                completion(index, CCGraphics.changeThemingColorImage(UIImage.init(named: "imageOffOutline"), width: self.view.frame.width, height: self.view.frame.width, color: NCBrandColor.sharedInstance.brand), ZoomScale.default, nil)
             }
         }
     }
@@ -331,4 +345,11 @@ class NCDetailViewController: UIViewController, MediaBrowserViewControllerDelega
         metadata = metadatas[index]
         self.navigationController?.navigationBar.topItem?.title = metadata!.fileNameView
     }
+    
+    func getImageOffOutline() -> UIImage {
+        
+        let image = CCGraphics.changeThemingColorImage(UIImage.init(named: "imageOffOutline"), width: self.view.frame.width, height: self.view.frame.width, color: NCBrandColor.sharedInstance.brand)
+
+        return image!
+    }
 }