Browse Source

add activity previews

Marino Faggiana 6 years ago
parent
commit
8ece06e122

+ 6 - 9
iOSClient/Activity/NCActivity.swift

@@ -137,7 +137,9 @@ class NCActivity: UIViewController, UITableViewDataSource, UITableViewDelegate,
         if let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as? activityTableViewCell {
             
             let tableActivity = datasource[indexPath.row]
-            
+
+            cell.idActivity = tableActivity.idActivity
+
             // icon
             if tableActivity.icon.count > 0 {
                 let fileNameIcon = (tableActivity.icon as NSString).lastPathComponent
@@ -221,18 +223,14 @@ class activityTableViewCell: UITableViewCell, UICollectionViewDelegate, UICollec
     @IBOutlet weak var icon: UIImageView!
     @IBOutlet weak var avatar: UIImageView!
     @IBOutlet weak var subject: UILabel!
-
-    var imageArray = [String] ()
+    
+    var idActivity: Double = 0
     
     override func awakeFromNib() {
         super.awakeFromNib()
         
         collectionView.delegate = self
         collectionView.dataSource = self
-        
-        imageArray = ["1.jpeg","2.jpeg","3.jpeg","4.jpeg","5.jpeg","6.jpeg","7.jpeg","8.jpeg","9.jpeg","10.jpeg"]
-        
-        // Initialization code
     }
     
     func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize{
@@ -251,8 +249,7 @@ class activityTableViewCell: UITableViewCell, UICollectionViewDelegate, UICollec
     func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
       
         if let cell: activityCollectionViewCell = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell", for: indexPath) as? activityCollectionViewCell {
-            let randomNumber = Int(arc4random_uniform(UInt32(imageArray.count)))
-            cell.imageView.image = UIImage(named: imageArray[randomNumber])
+            //cell.imageView.image = UIImage(named: imageArray[randomNumber])
             return cell
         }
         

+ 17 - 0
iOSClient/Database/NCDatabase.swift

@@ -103,6 +103,23 @@ class tableActivitySubjectRich: Object {
     }
 }
 
+class tableActivityPreview: Object {
+    
+    @objc dynamic var account = ""
+    @objc dynamic var idActivity: Double = 0
+    @objc dynamic var id = ""
+    @objc dynamic var source = ""
+    @objc dynamic var link = ""
+    @objc dynamic var mimeType = ""
+    @objc dynamic var fileId: Double = 0
+    @objc dynamic var view = ""
+    @objc dynamic var isMimeTypeIcon: Bool = false
+
+    override static func primaryKey() -> String {
+        return "id"
+    }
+}
+
 class tableCapabilities: Object {
     
     @objc dynamic var account = ""

+ 19 - 1
iOSClient/Database/NCManageDatabase.swift

@@ -64,7 +64,7 @@ class NCManageDatabase: NSObject {
         var config = Realm.Configuration(
         
             fileURL: dirGroup?.appendingPathComponent("\(k_appDatabaseNextcloud)/\(k_databaseDefault)"),
-            schemaVersion: 42,
+            schemaVersion: 43,
             
             // 10 : Version 2.18.0
             // 11 : Version 2.18.2
@@ -99,6 +99,7 @@ class NCManageDatabase: NSObject {
             // 40 : Version 2.22.9.3
             // 41 : Version 2.22.9.4
             // 42 : Version 2.22.9.5
+            // 43 : Version 2.22.9.5
 
             migrationBlock: { migration, oldSchemaVersion in
                 // We haven’t migrated anything yet, so oldSchemaVersion == 0
@@ -627,6 +628,23 @@ class NCManageDatabase: NSObject {
                         }
                     }
                     
+                    if activity.previews.count > 0 {
+                        for case let activityPreview as [String:AnyObject] in activity.previews {
+                            let addObjectActivityPreview = tableActivityPreview()
+                            addObjectActivityPreview.account = account
+                            addObjectActivityPreview.idActivity = Double(activity.idActivity)
+                            addObjectActivityPreview.fileId = activityPreview["fileId"] as! Double
+                            addObjectActivityPreview.id = account + String(activity.idActivity) + String(addObjectActivityPreview.fileId)
+                            addObjectActivityPreview.source = activityPreview["source"] as? String ?? ""
+                            addObjectActivityPreview.link = activityPreview["link"] as? String ?? ""
+                            addObjectActivityPreview.mimeType = activityPreview["mimeType"] as? String ?? ""
+                            addObjectActivityPreview.view = activityPreview["view"] as? String ?? ""
+                            addObjectActivityPreview.isMimeTypeIcon = activityPreview["isMimeTypeIcon"] as! Bool
+                            
+                            realm.add(addObjectActivityPreview, update: true)
+                        }
+                    }
+                    
                     addObjectActivity.icon = activity.icon
                     addObjectActivity.link = activity.link
                     addObjectActivity.message = activity.message

+ 1 - 1
iOSClient/Library/OCCommunicationLib/OCWebDavClient/OCWebDAVClient.m

@@ -931,7 +931,7 @@ NSString const *OCWebDAVModificationDateKey	= @"modificationdate";
     
     since = 0;
     serverPath = [serverPath stringByAppendingString:[NSString stringWithFormat:@"?format=json&since=%ld", (long)since]];
-    //serverPath = [serverPath stringByAppendingString:[NSString stringWithFormat:@"&previews=true"]];
+    serverPath = [serverPath stringByAppendingString:[NSString stringWithFormat:@"&previews=true"]];
     
     NSMutableURLRequest *request = [self sharedRequestWithMethod:_requestMethod path:serverPath parameters:nil timeout:k_timeout_webdav];