Browse Source

Fix PR review comments

Rm import
Sort model
Fix checking that the most recent id can only go up

Signed-off-by: Henrik Storch <henrik.storch@nextcloud.com>
Henrik Storch 3 years ago
parent
commit
c7bce29056

+ 2 - 3
iOSClient/Activity/NCActivity.swift

@@ -25,7 +25,6 @@
 import UIKit
 import SwiftRichString
 import NCCommunication
-import RealmSwift
 
 class NCActivity: UIViewController {
 
@@ -485,9 +484,9 @@ extension NCActivity: NCShareCommentsCellDelegate {
     func tapMenu(with tableComments: tableComments?, sender: Any) {
         toggleMenu(with: tableComments)
     }
-    
+
     func toggleMenu(with tableComments: tableComments?) {
-        
+
         let menuViewController = UIStoryboard.init(name: "NCMenu", bundle: nil).instantiateInitialViewController() as! NCMenu
         var actions = [NCMenuAction]()
 

+ 10 - 10
iOSClient/Data/NCDatabase.swift

@@ -108,14 +108,6 @@ class tableAccount: Object {
     }
 }
 
-class tableActivityLatestId: Object {
-    @objc dynamic var account = ""
-    @objc dynamic var mostRecentlyLoadedActivityId: Int = 0
-    override static func primaryKey() -> String {
-        return "account"
-    }
-}
-
 class tableActivity: Object, DateCompareable {
     var dateKey: Date { date as Date }
 
@@ -139,12 +131,20 @@ class tableActivity: Object, DateCompareable {
     @objc dynamic var note = ""
     @objc dynamic var selector = ""
     @objc dynamic var verbose: Bool = false
-    
+
     override static func primaryKey() -> String {
         return "idPrimaryKey"
     }
 }
 
+class tableActivityLatestId: Object {
+    @objc dynamic var account = ""
+    @objc dynamic var mostRecentlyLoadedActivityId: Int = 0
+    override static func primaryKey() -> String {
+        return "account"
+    }
+}
+
 class tableActivityPreview: Object {
     
     @objc dynamic var account = ""
@@ -157,7 +157,7 @@ class tableActivityPreview: Object {
     @objc dynamic var fileId: Int = 0
     @objc dynamic var view = ""
     @objc dynamic var isMimeTypeIcon: Bool = false
-    
+
     override static func primaryKey() -> String {
         return "idPrimaryKey"
     }

+ 9 - 2
iOSClient/Data/NCManageDatabase.swift

@@ -896,10 +896,15 @@ class NCManageDatabase: NSObject {
 
     @objc func updateLatestActivityId(_ activities: [NCCommunicationActivity], account: String) {
         let realm = try! Realm()
+        let previousRecentId = getLatestActivityId(account: account)
 
         do {
             try realm.write {
-                guard let mostRecentActivityId = activities.map({ $0.idActivity }).max() else { return }
+                guard
+                    let mostRecentActivityId = activities.map({ $0.idActivity }).max(),
+                    mostRecentActivityId > previousRecentId
+                else { return }
+
                 let newRecentActivity = tableActivityLatestId()
                 newRecentActivity.mostRecentlyLoadedActivityId = mostRecentActivityId
                 newRecentActivity.account = account
@@ -913,7 +918,9 @@ class NCManageDatabase: NSObject {
     @objc func getLatestActivityId(account: String) -> Int {
 
         let realm = try! Realm()
-        guard let maxId = realm.objects(tableActivityLatestId.self).filter("account == %@", account).map({ $0.mostRecentlyLoadedActivityId }).max()
+        guard let maxId = realm.objects(tableActivityLatestId.self)
+                .filter("account == %@", account)
+                .map({ $0.mostRecentlyLoadedActivityId }).max()
         else { return 0 }
 
         return maxId