Browse Source

Improvements Media

marinofaggiana 6 năm trước cách đây
mục cha
commit
8096c08b98
1 tập tin đã thay đổi với 25 bổ sung37 xóa
  1. 25 37
      iOSClient/Media/NCMedia.swift

+ 25 - 37
iOSClient/Media/NCMedia.swift

@@ -56,7 +56,6 @@ class NCMedia: UIViewController ,UICollectionViewDataSource, UICollectionViewDel
     
     private var stepImageWidth: CGFloat = 10
     
-    private var readRetry = 0
     private var isDistantPast = false
 
     private let refreshControl = UIRefreshControl()
@@ -351,7 +350,7 @@ class NCMedia: UIViewController ,UICollectionViewDataSource, UICollectionViewDel
             return
         }
         
-        if !addPast && loadingSearch {
+        if addPast && loadingSearch {
             return
         }
         
@@ -369,8 +368,6 @@ class NCMedia: UIViewController ,UICollectionViewDataSource, UICollectionViewDel
         
         OCNetworking.sharedManager()?.search(withAccount: appDelegate.activeAccount, fileName: "", serverUrl: startDirectory, contentType: ["image/%", "video/%"], lteDateLastModified: lteDate, gteDateLastModified: gteDate, depth: "infinity", completion: { (account, metadatas, message, errorCode) in
             
-            self.loadingSearch = false
-
             self.refreshControl.endRefreshing()
             NCUtility.sharedInstance.stopActivityIndicator()
             //self.navigationItem.titleView = nil
@@ -379,44 +376,44 @@ class NCMedia: UIViewController ,UICollectionViewDataSource, UICollectionViewDel
             if errorCode == 0 && account == self.appDelegate.activeAccount {
                 
                 var differenceInsert: Int64 = 0
-                
+                let totalDistance = Calendar.current.dateComponents([Calendar.Component.day], from: gteDate, to: lteDate).value(for: .day) ?? 0
+
                 if metadatas != nil && metadatas!.count > 0 {
                     differenceInsert = NCManageDatabase.sharedInstance.createTableMedia(metadatas as! [tableMetadata], lteDate: lteDate, gteDate: gteDate, account: account!)
                 }
                 
-                print("[LOG] Different Insert \(differenceInsert)]")
+                self.loadingSearch = false
+
+                print("[LOG] Totale Distance \(totalDistance) - Different Insert \(differenceInsert)]")
 
                 if differenceInsert != 0 {
-                    self.readRetry = 0
                     self.collectionViewReloadDataSource(loadNetworkDatasource: false)
                 }
                 
                 if differenceInsert == 0 && addPast {
                     
-                    self.readRetry += 1
-                    
-                    switch self.readRetry {
-                    case 1:
-                        if var gteDate = Calendar.current.date(byAdding: .day, value: -90, to: gteDate) {
-                            gteDate = Calendar.current.date(bySettingHour: 0, minute: 0, second: 0, of: gteDate) ?? Date()
-                            self.search(lteDate: lteDate, gteDate: gteDate, addPast: addPast, setDistantPast: false)
-                            print("[LOG] Media search 90 gg]")
+                    switch totalDistance {
+                    case 0...89:
+                        if var gteDate90 = Calendar.current.date(byAdding: .day, value: -90, to: gteDate) {
+                            gteDate90 = Calendar.current.date(bySettingHour: 0, minute: 0, second: 0, of: gteDate90) ?? Date()
+                            self.search(lteDate: lteDate, gteDate: gteDate90, addPast: addPast, setDistantPast: false)
+                            print("[LOG] Media search 90 gg")
                         }
-                    case 2:
-                        if var gteDate = Calendar.current.date(byAdding: .day, value: -180, to: gteDate) {
-                            gteDate = Calendar.current.date(bySettingHour: 0, minute: 0, second: 0, of: gteDate) ?? Date()
-                            self.search(lteDate: lteDate, gteDate: gteDate, addPast: addPast, setDistantPast: false)
-                            print("[LOG] Media search 180 gg]")
+                    case 90...179:
+                        if var gteDate180 = Calendar.current.date(byAdding: .day, value: -180, to: gteDate) {
+                            gteDate180 = Calendar.current.date(bySettingHour: 0, minute: 0, second: 0, of: gteDate180) ?? Date()
+                            self.search(lteDate: lteDate, gteDate: gteDate180, addPast: addPast, setDistantPast: false)
+                            print("[LOG] Media search 180 gg")
                         }
-                    case 3:
-                        if var gteDate = Calendar.current.date(byAdding: .day, value: -360, to: gteDate) {
-                            gteDate = Calendar.current.date(bySettingHour: 0, minute: 0, second: 0, of: gteDate) ?? Date()
-                            self.search(lteDate: lteDate, gteDate: gteDate, addPast: addPast, setDistantPast: false)
-                            print("[LOG] Media search 360 gg]")
+                    case 180...364:
+                        if var gteDate365 = Calendar.current.date(byAdding: .day, value: -365, to: gteDate) {
+                            gteDate365 = Calendar.current.date(bySettingHour: 0, minute: 0, second: 0, of: gteDate365) ?? Date()
+                            self.search(lteDate: lteDate, gteDate: gteDate365, addPast: addPast, setDistantPast: false)
+                            print("[LOG] Media search 365 gg")
                         }
                     default:
                         self.search(lteDate: lteDate, gteDate: NSDate.distantPast, addPast: addPast, setDistantPast: true)
-                        print("[LOG] Media search distant pass]")
+                        print("[LOG] Media search distant pass")
                     }
                 }
                 
@@ -426,6 +423,8 @@ class NCMedia: UIViewController ,UICollectionViewDataSource, UICollectionViewDel
                 
             }  else {
                 
+                self.loadingSearch = false
+
                 self.collectionViewReloadDataSource(loadNetworkDatasource: false)
             }
         })
@@ -434,7 +433,6 @@ class NCMedia: UIViewController ,UICollectionViewDataSource, UICollectionViewDel
     @objc private func loadNetworkDatasource() {
         
         isDistantPast = false
-        readRetry = 0
         
         if appDelegate.activeAccount.count == 0 {
             return
@@ -527,16 +525,6 @@ class NCMedia: UIViewController ,UICollectionViewDataSource, UICollectionViewDel
 
     func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
         
-        if kind == UICollectionView.elementKindSectionFooter {
-            
-            let sizeCollection = collectionView.bounds.size.height
-            let sizeContent = collectionView.contentSize.height
-            
-            if sizeContent <= sizeCollection {
-                selectSearchSections()
-            }
-        }
-        
         if kind == UICollectionView.elementKindSectionHeader {
             
             let header = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: "sectionHeader", for: indexPath) as! NCSectionMediaHeader