Marino Faggiana 6 жил өмнө
parent
commit
109dc2e8b5

+ 4 - 4
iOSClient/Activity/NCActivity.storyboard

@@ -30,7 +30,7 @@
                                             <autoresizingMask key="autoresizingMask"/>
                                             <subviews>
                                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" lineBreakMode="wordWrap" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fcO-YL-MuT">
-                                                    <rect key="frame" x="90" y="0.0" width="275" height="18"/>
+                                                    <rect key="frame" x="90" y="0.0" width="275" height="19.666666666666668"/>
                                                     <fontDescription key="fontDescription" name=".AppleSystemUIFont" family=".AppleSystemUIFont" pointSize="15"/>
                                                     <nil key="textColor"/>
                                                     <nil key="highlightedColor"/>
@@ -58,10 +58,10 @@
                                                     </constraints>
                                                 </imageView>
                                                 <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" dataMode="prototypes" translatesAutoresizingMaskIntoConstraints="NO" id="KpO-no-BMl">
-                                                    <rect key="frame" x="0.0" y="38" width="375" height="51.666666666666657"/>
+                                                    <rect key="frame" x="0.0" y="39.666666666666657" width="375" height="50"/>
                                                     <color key="backgroundColor" red="0.59999999999999998" green="0.80000000000000004" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                     <constraints>
-                                                        <constraint firstAttribute="height" constant="51.666666666666657" id="deQ-wc-jNT"/>
+                                                        <constraint firstAttribute="height" constant="50" id="deQ-wc-jNT"/>
                                                     </constraints>
                                                     <collectionViewFlowLayout key="collectionViewLayout" scrollDirection="horizontal" minimumLineSpacing="10" minimumInteritemSpacing="10" id="nnU-ds-wda">
                                                         <size key="itemSize" width="50" height="50"/>
@@ -71,7 +71,7 @@
                                                     </collectionViewFlowLayout>
                                                     <cells>
                                                         <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="collectionCell" id="uIN-z5-7vk" customClass="activityCollectionViewCell" customModule="Nextcloud" customModuleProvider="target">
-                                                            <rect key="frame" x="0.0" y="0.66666666666666663" width="50" height="50"/>
+                                                            <rect key="frame" x="0.0" y="0.0" width="50" height="50"/>
                                                             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                                                             <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" insetsLayoutMarginsFromSafeArea="NO">
                                                                 <rect key="frame" x="0.0" y="0.0" width="50" height="50"/>

+ 31 - 7
iOSClient/Activity/NCActivity.swift

@@ -218,15 +218,17 @@ class NCActivity: UIViewController, UITableViewDataSource, UITableViewDelegate,
 
 class activityTableViewCell: UITableViewCell, UICollectionViewDelegate, UICollectionViewDataSource, UICollectionViewDelegateFlowLayout {
     
+    private let appDelegate = UIApplication.shared.delegate as! AppDelegate
+
     @IBOutlet weak var collectionView: UICollectionView!
     
     @IBOutlet weak var icon: UIImageView!
     @IBOutlet weak var avatar: UIImageView!
     @IBOutlet weak var subject: UILabel!
     
-    var idActivity: Double = 0
+    var idActivity: Int = 0
     var account: String = ""
-    var datasource = [tableActivityPreview]()
+    var tableActivityPreviews = [tableActivityPreview]()
     
     override func awakeFromNib() {
         super.awakeFromNib()
@@ -239,9 +241,9 @@ class activityTableViewCell: UITableViewCell, UICollectionViewDelegate, UICollec
         super.prepareForReuse()
         collectionView.reloadData()
     }
-
+    
     func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize{
-        let size = CGSize(width: 120, height: 120)
+        let size = CGSize(width: 50, height: 50)
         return size
     }
     
@@ -250,16 +252,38 @@ class activityTableViewCell: UITableViewCell, UICollectionViewDelegate, UICollec
     }
     
     func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
-        datasource = NCManageDatabase.sharedInstance.getActivityPreview(account: account, idActivity: idActivity)
-        return 1//datasource.count
+        tableActivityPreviews = NCManageDatabase.sharedInstance.getActivityPreview(account: account, idActivity: idActivity)
+        return tableActivityPreviews.count
     }
     
     func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
       
         if let cell: activityCollectionViewCell = collectionView.dequeueReusableCell(withReuseIdentifier: "collectionCell", for: indexPath) as? activityCollectionViewCell {
             
+            let activityPreview = tableActivityPreviews[indexPath.row]
+            if activityPreview.view == "trashbin" {
+                
+                if let activitySubjectRich = NCManageDatabase.sharedInstance.getActivitySubjectRich(account: account, idActivity: idActivity, id: String(activityPreview.fileId)) {
+
+                    if activityPreview.mimeType == "dir" {
+                        
+                    } else {
+                        
+                        if CCUtility.fileProviderStorageIconExists(String(activityPreview.fileId), fileNameView: activitySubjectRich.name) {
+                            // carica
+                        } else {
+                            OCNetworking.sharedManager().downloadPreviewTrash(withAccount: appDelegate.activeAccount, fileID: String(activityPreview.fileId), fileName: activitySubjectRich.name, completion: { (account, message, errorCode) in
+                                if errorCode == 0 && account == self.appDelegate.activeAccount && CCUtility.fileProviderStorageIconExists(String(activityPreview.fileId), fileNameView: activitySubjectRich.name) {
+                                    // carica
+                                } else {
+                                    // default icon
+                                }
+                            })
+                        }
+                    }
+                }
+            }
             
-            //cell.imageView.image = UIImage(named: imageArray[randomNumber])
             return cell
         }
         

+ 11 - 10
iOSClient/Database/NCDatabase.swift

@@ -62,10 +62,10 @@ class tableAccount: Object {
 class tableActivity: Object {
     
     @objc dynamic var account = ""
-    @objc dynamic var id = ""
+    @objc dynamic var idPrimaryKey = ""
     @objc dynamic var action = "Activity"
     @objc dynamic var date = NSDate()
-    @objc dynamic var idActivity: Double = 0
+    @objc dynamic var idActivity: Int = 0
     @objc dynamic var app = ""
     @objc dynamic var type = ""
     @objc dynamic var user = ""
@@ -76,21 +76,22 @@ class tableActivity: Object {
     @objc dynamic var link = ""
     @objc dynamic var message = ""
     @objc dynamic var objectType = ""
-    @objc dynamic var objectID: Double = 0
+    @objc dynamic var objectId: Int = 0
     @objc dynamic var objectName = ""
     @objc dynamic var note = ""
     @objc dynamic var selector = ""
     @objc dynamic var verbose: Bool = false
     
     override static func primaryKey() -> String {
-        return "id"
+        return "idPrimaryKey"
     }
 }
 
 class tableActivitySubjectRich: Object {
     
     @objc dynamic var account = ""
-    @objc dynamic var idActivity: Double = 0
+    @objc dynamic var idActivity: Int = 0
+    @objc dynamic var idPrimaryKey = ""
     @objc dynamic var id = ""
     @objc dynamic var key = ""
     @objc dynamic var link = ""
@@ -99,24 +100,24 @@ class tableActivitySubjectRich: Object {
     @objc dynamic var type = ""
     
     override static func primaryKey() -> String {
-        return "id"
+        return "idPrimaryKey"
     }
 }
 
 class tableActivityPreview: Object {
     
     @objc dynamic var account = ""
-    @objc dynamic var idActivity: Double = 0
-    @objc dynamic var id = ""
+    @objc dynamic var idPrimaryKey = ""
+    @objc dynamic var idActivity: Int = 0
     @objc dynamic var source = ""
     @objc dynamic var link = ""
     @objc dynamic var mimeType = ""
-    @objc dynamic var fileId: Double = 0
+    @objc dynamic var fileId: Int = 0
     @objc dynamic var view = ""
     @objc dynamic var isMimeTypeIcon: Bool = false
 
     override static func primaryKey() -> String {
-        return "id"
+        return "idPrimaryKey"
     }
 }
 

+ 25 - 16
iOSClient/Database/NCManageDatabase.swift

@@ -64,7 +64,7 @@ class NCManageDatabase: NSObject {
         var config = Realm.Configuration(
         
             fileURL: dirGroup?.appendingPathComponent("\(k_appDatabaseNextcloud)/\(k_databaseDefault)"),
-            schemaVersion: 43,
+            schemaVersion: 41,
             
             // 10 : Version 2.18.0
             // 11 : Version 2.18.2
@@ -97,9 +97,8 @@ class NCManageDatabase: NSObject {
             // 38 : Version 2.22.8.20
             // 39 : Version 2.22.9.1
             // 40 : Version 2.22.9.3
-            // 41 : Version 2.22.9.4
-            // 42 : Version 2.22.9.5
-            // 43 : Version 2.22.9.5
+            // 41 : Version 2.22.9.5
+            
 
             migrationBlock: { migration, oldSchemaVersion in
                 // We haven’t migrated anything yet, so oldSchemaVersion == 0
@@ -595,8 +594,8 @@ class NCManageDatabase: NSObject {
                     let addObjectActivity = tableActivity()
                     
                     addObjectActivity.account = account
-                    addObjectActivity.idActivity = Double(activity.idActivity)
-                    addObjectActivity.id = account + String(activity.idActivity)
+                    addObjectActivity.idActivity = activity.idActivity
+                    addObjectActivity.idPrimaryKey = account + String(activity.idActivity)
             
                     if let date = activity.date {
                         addObjectActivity.date = date as NSDate
@@ -615,9 +614,10 @@ class NCManageDatabase: NSObject {
                                 let addObjectActivitySubjectRich = tableActivitySubjectRich()
                                 let dict = value as! [String:AnyObject]
                                 addObjectActivitySubjectRich.account = account
-                                addObjectActivitySubjectRich.id = account + String(activity.idActivity) + key
+                                addObjectActivitySubjectRich.idPrimaryKey = account + String(activity.idActivity) + key
                                 addObjectActivitySubjectRich.key = key
-                                addObjectActivitySubjectRich.idActivity = Double(activity.idActivity)
+                                addObjectActivitySubjectRich.idActivity = activity.idActivity
+                                addObjectActivitySubjectRich.id = dict["id"] as? String ?? ""
                                 addObjectActivitySubjectRich.link = dict["link"] as? String ?? ""
                                 addObjectActivitySubjectRich.name = dict["name"] as? String ?? ""
                                 addObjectActivitySubjectRich.path = dict["path"] as? String ?? ""
@@ -632,9 +632,9 @@ class NCManageDatabase: NSObject {
                         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.idActivity = activity.idActivity
+                            addObjectActivityPreview.fileId = activityPreview["fileId"] as! Int
+                            addObjectActivityPreview.idPrimaryKey = 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 ?? ""
@@ -649,7 +649,7 @@ class NCManageDatabase: NSObject {
                     addObjectActivity.link = activity.link
                     addObjectActivity.message = activity.message
                     addObjectActivity.objectType = activity.object_type
-                    addObjectActivity.objectID = Double(activity.object_id)
+                    addObjectActivity.objectId = activity.object_id
                     addObjectActivity.objectName = activity.object_name
                     
                     realm.add(addObjectActivity, update: true)
@@ -670,8 +670,7 @@ class NCManageDatabase: NSObject {
         return Array(results.map { tableActivity.init(value:$0) })
     }
     
-    
-    @objc func getActivitySubjectRich(account: String, idActivity: Double, key: String) -> tableActivitySubjectRich? {
+    @objc func getActivitySubjectRich(account: String, idActivity: Int, key: String) -> tableActivitySubjectRich? {
         
         let realm = try! Realm()
         realm.refresh()
@@ -681,7 +680,17 @@ class NCManageDatabase: NSObject {
         return results.map { tableActivitySubjectRich.init(value:$0) }
     }
     
-    @objc func getActivityPreview(account: String, idActivity: Double) -> [tableActivityPreview] {
+    @objc func getActivitySubjectRich(account: String, idActivity: Int, id: String) -> tableActivitySubjectRich? {
+        
+        let realm = try! Realm()
+        realm.refresh()
+        
+        let results = realm.objects(tableActivitySubjectRich.self).filter("account = %@ && idActivity == %d && id == %@", account, idActivity, id).first
+        
+        return results.map { tableActivitySubjectRich.init(value:$0) }
+    }
+    
+    @objc func getActivityPreview(account: String, idActivity: Int) -> [tableActivityPreview] {
         
         let realm = try! Realm()
         realm.refresh()
@@ -691,7 +700,7 @@ class NCManageDatabase: NSObject {
         return Array(results.map { tableActivityPreview.init(value:$0) })
     }
     
-    @objc func getActivityLastIdActivity(account: String) -> Double {
+    @objc func getActivityLastIdActivity(account: String) -> Int {
         
         let realm = try! Realm()
         realm.refresh()