Procházet zdrojové kódy

Fix unused optional when loading activities

Also, refactor how activities are loaded, so that if user refreshes and no last activity exists, activities will still be refetched.

Signed-off-by: Henrik Storch <henrik.storch@nextcloud.com>
Henrik Storch před 3 roky
rodič
revize
13f47394e5
1 změnil soubory, kde provedl 11 přidání a 15 odebrání
  1. 11 15
      iOSClient/Activity/NCActivity.swift

+ 11 - 15
iOSClient/Activity/NCActivity.swift

@@ -132,7 +132,7 @@ class NCActivity: UIViewController {
     // MARK: - NotificationCenter
     // MARK: - NotificationCenter
 
 
     @objc func initialize() {
     @objc func initialize() {
-        fetchAll(initial: true)
+        fetchAll(isInitial: true)
     }
     }
     
     
     @objc func changeTheming() {
     @objc func changeTheming() {
@@ -354,7 +354,7 @@ extension NCActivity: UIScrollViewDelegate {
             scrollView.contentOffset.y > 50,
             scrollView.contentOffset.y > 50,
             scrollView.contentSize.height - scrollView.frame.height - scrollView.contentOffset.y < -50
             scrollView.contentSize.height - scrollView.frame.height - scrollView.contentOffset.y < -50
         else { return }
         else { return }
-        fetchAll(initial: false)
+        fetchAll(isInitial: false)
     }
     }
 }
 }
 
 
@@ -362,7 +362,7 @@ extension NCActivity: UIScrollViewDelegate {
 
 
 extension NCActivity {
 extension NCActivity {
 
 
-    func fetchAll(initial: Bool) {
+    func fetchAll(isInitial: Bool) {
         guard canFetchActivity else { return }
         guard canFetchActivity else { return }
         self.canFetchActivity = false
         self.canFetchActivity = false
 
 
@@ -371,15 +371,16 @@ extension NCActivity {
 
 
         let dispatchGroup = DispatchGroup()
         let dispatchGroup = DispatchGroup()
         loadComments(disptachGroup: dispatchGroup)
         loadComments(disptachGroup: dispatchGroup)
-        if initial {
-            loadActivity(idActivity: 0, disptachGroup: dispatchGroup)
-        } else if let activity = allItems.compactMap({ $0 as? tableActivity }).last {
+        if !isInitial, let activity = allItems.compactMap({ $0 as? tableActivity }).last {
             loadActivity(idActivity: activity.objectId, disptachGroup: dispatchGroup)
             loadActivity(idActivity: activity.objectId, disptachGroup: dispatchGroup)
+        } else {
+            loadActivity(idActivity: 0, disptachGroup: dispatchGroup)
         }
         }
-        
+
         dispatchGroup.notify(queue: .main) {
         dispatchGroup.notify(queue: .main) {
             self.loadDataSource()
             self.loadDataSource()
             NCUtility.shared.stopActivityIndicator()
             NCUtility.shared.stopActivityIndicator()
+
             // otherwise is triggered again
             // otherwise is triggered again
             DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
             DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
                 self.canFetchActivity = true
                 self.canFetchActivity = true
@@ -427,8 +428,8 @@ extension NCActivity {
         }
         }
     }
     }
     
     
-    func loadActivity(idActivity: Int, disptachGroup: DispatchGroup? = nil) {
-        disptachGroup?.enter()
+    func loadActivity(idActivity: Int, disptachGroup: DispatchGroup) {
+        disptachGroup.enter()
 
 
         NCCommunication.shared.getActivity(
         NCCommunication.shared.getActivity(
             since: idActivity,
             since: idActivity,
@@ -440,12 +441,7 @@ extension NCActivity {
                 if errorCode == 0 && account == self.appDelegate.account {
                 if errorCode == 0 && account == self.appDelegate.account {
                     NCManageDatabase.shared.addActivity(activities, account: account)
                     NCManageDatabase.shared.addActivity(activities, account: account)
                 }
                 }
-                
-                if let disptachGroup = disptachGroup {
-                    disptachGroup.leave()
-                } else {
-                    self.loadDataSource()
-                }
+                disptachGroup.leave()
             }
             }
     }
     }
 }
 }