Forráskód Böngészése

code improved

Signed-off-by: Marino Faggiana <marino@marinofaggiana.com>
Marino Faggiana 1 éve
szülő
commit
d9baaca1fe
2 módosított fájl, 10 hozzáadás és 1 törlés
  1. 2 0
      iOSClient/NCGlobal.swift
  2. 8 1
      iOSClient/NCImageCache.swift

+ 2 - 0
iOSClient/NCGlobal.swift

@@ -395,6 +395,8 @@ class NCGlobal: NSObject {
     let notificationCenterEnableSwipeGesture                    = "enableSwipeGesture"
     let notificationCenterDisableSwipeGesture                   = "disableSwipeGesture"
 
+    let notificationCenterFinishedMediaInProcess                = "finishedMediaInProcess"
+
     // TIP
     //
     let tipNCViewerPDFThumbnail                                 = "tipncviewerpdfthumbnail"

+ 8 - 1
iOSClient/NCImageCache.swift

@@ -49,6 +49,8 @@ import NextcloudKit
     private var ocIdEtag: [String: String] = [:]
     private var metadatas: [tableMetadata]?
 
+    var isMediaMetadatasInProcess: Bool = false
+
     override private init() {}
 
     func createMediaCache(account: String) {
@@ -59,7 +61,6 @@ import NextcloudKit
         ocIdEtag.removeAll()
         self.metadatas = []
         self.metadatas = getMediaMetadatas(account: account)
-
         guard let metadatas = self.metadatas, !metadatas.isEmpty else { return }
         let ext = ".preview.ico"
         let manager = FileManager.default
@@ -140,6 +141,12 @@ import NextcloudKit
 
     func getMediaMetadatas(account: String, predicate: NSPredicate? = nil) -> [tableMetadata] {
 
+        defer {
+            self.isMediaMetadatasInProcess = false
+            NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterFinishedMediaInProcess)
+        }
+        self.isMediaMetadatasInProcess = true
+
         guard let account = NCManageDatabase.shared.getAccount(predicate: NSPredicate(format: "account == %@", account)) else { return [] }
         let startServerUrl = NCUtilityFileSystem().getHomeServer(urlBase: account.urlBase, userId: account.userId) + account.mediaPath