Browse Source

improvements

marinofaggiana 3 years ago
parent
commit
178a3e3a6c

+ 4 - 3
Share/NCShareExtension.swift

@@ -243,10 +243,11 @@ class NCShareExtension: UIViewController, NCListCellDelegate, NCEmptyDataSetDele
         var image = NCUtility.shared.loadImage(named: "person.crop.circle")
         let fileName = String(CCUtility.getUserUrlBase(activeAccount.user, urlBase: activeAccount.urlBase)) + "-" + activeAccount.user + ".png"
         let fileNamePath = String(CCUtility.getDirectoryUserData()) + "/" + fileName
-        if let userImage = UIImage(contentsOfFile: fileNamePath) {
-            image = userImage
+        
+        if let userImage = UIImage(contentsOfFile: fileNamePath), let avatarImage = userImage.resizeImage(size: CGSize(width: 30, height: 30), isAspectRation: true) {
+            image = avatarImage
         }
-
+        
         let profileButton = UIButton(type: .custom)
         profileButton.setImage(image, for: .normal)
             

+ 1 - 0
iOSClient/Data/NCDatabase.swift

@@ -352,6 +352,7 @@ class tableMetadata: Object {
     @objc dynamic var e2eEncrypted: Bool = false
     @objc dynamic var edited: Bool = false
     @objc dynamic var etag = ""
+    @objc dynamic var etagResource = ""
     @objc dynamic var ext = ""
     @objc dynamic var favorite: Bool = false
     @objc dynamic var fileId = ""

+ 17 - 1
iOSClient/Data/NCManageDatabase.swift

@@ -116,7 +116,7 @@ class NCManageDatabase: NSObject {
                         }
                     }
                     
-                    if oldSchemaVersion < 200 {
+                    if oldSchemaVersion < 202 {
                         migration.deleteData(forType: tableDirectory.className())
                         migration.deleteData(forType: tableE2eEncryption.className())
                         migration.deleteData(forType: tableE2eEncryptionLock.className())
@@ -2249,6 +2249,22 @@ class NCManageDatabase: NSObject {
         }
     }
     
+    func setMetadataEtagResource(ocId: String, etagResource: String?) {
+        
+        let realm = try! Realm()
+        var result: tableMetadata?
+        guard let etagResource = etagResource else { return }
+        
+        do {
+            try realm.safeWrite {
+                result = realm.objects(tableMetadata.self).filter("ocId == %@", ocId).first
+                result?.etagResource = etagResource
+            }
+        } catch let error {
+            NCCommunicationCommon.shared.writeLog("Could not write to database: \(error)")
+        }
+    }
+    
     @objc func setMetadataFavorite(ocId: String, favorite: Bool) {
         
         let realm = try! Realm()

+ 2 - 2
iOSClient/NCGlobal.swift

@@ -79,7 +79,7 @@ class NCGlobal: NSObject {
     // Database Realm
     //
     let databaseDefault                             = "nextcloud.realm"
-    let databaseSchemaVersion: UInt64               = 200
+    let databaseSchemaVersion: UInt64               = 202
     
     // Intro selector
     //
@@ -93,7 +93,7 @@ class NCGlobal: NSObject {
     // Avatar & Preview size
     //
     let avatarSize: Int                             = 128 * Int(UIScreen.main.scale)
-    let sizeRoundedAvatar: Int                      = 50
+    let sizeRoundedAvatar: Int                      = 512
     let sizePreview: Int                            = 1024
     let sizeIcon: Int                               = 512
     

+ 6 - 1
iOSClient/Networking/NCOperationQueue.swift

@@ -414,9 +414,14 @@ class NCOperationDownloadThumbnail: ConcurrentOperation {
         if isCancelled {
             self.finish()
         } else {
-            NCCommunication.shared.downloadPreview(fileNamePathOrFileId: fileNamePath, fileNamePreviewLocalPath: fileNamePreviewLocalPath , widthPreview: NCGlobal.shared.sizePreview, heightPreview: NCGlobal.shared.sizePreview, fileNameIconLocalPath: fileNameIconLocalPath, sizeIcon: NCGlobal.shared.sizeIcon, etag: nil) { (account, imagePreview, imageIcon,  etag, errorCode, errorDescription) in
+            var etagResource: String?
+            if FileManager.default.fileExists(atPath: fileNameIconLocalPath) && FileManager.default.fileExists(atPath: fileNamePreviewLocalPath) {
+                etagResource = metadata.etagResource
+            }
+            NCCommunication.shared.downloadPreview(fileNamePathOrFileId: fileNamePath, fileNamePreviewLocalPath: fileNamePreviewLocalPath , widthPreview: NCGlobal.shared.sizePreview, heightPreview: NCGlobal.shared.sizePreview, fileNameIconLocalPath: fileNameIconLocalPath, sizeIcon: NCGlobal.shared.sizeIcon, etag: etagResource) { (account, imagePreview, imageIcon,  etag, errorCode, errorDescription) in
                 
                 if errorCode == 0 && imageIcon != nil {
+                    NCManageDatabase.shared.setMetadataEtagResource(ocId: self.metadata.ocId, etagResource: etag)
                     if self.metadata.ocId == self.cell.fileObjectId {
                         if let filePreviewImageView = self.cell?.filePreviewImageView  {
                             UIView.transition(with: filePreviewImageView,

+ 8 - 1
iOSClient/Viewer/NCViewerImage/NCViewerImage.swift

@@ -625,9 +625,16 @@ extension NCViewerImage: NCViewerImageZoomDelegate {
             let fileNamePath = CCUtility.returnFileNamePath(fromFileName: metadata.fileName, serverUrl: metadata.serverUrl, urlBase: metadata.urlBase, account: metadata.account)!
             let fileNamePreviewLocalPath = CCUtility.getDirectoryProviderStoragePreviewOcId(metadata.ocId, etag: metadata.etag)!
             let fileNameIconLocalPath = CCUtility.getDirectoryProviderStorageIconOcId(metadata.ocId, etag: metadata.etag)!
+            var etagResource: String?
             
-            NCCommunication.shared.downloadPreview(fileNamePathOrFileId: fileNamePath, fileNamePreviewLocalPath: fileNamePreviewLocalPath, widthPreview: NCGlobal.shared.sizePreview, heightPreview: NCGlobal.shared.sizePreview, fileNameIconLocalPath: fileNameIconLocalPath, sizeIcon: NCGlobal.shared.sizeIcon, etag: nil) { (account, imagePreview, imageIcon, etag, errorCode, errorMessage) in
+            if FileManager.default.fileExists(atPath: fileNameIconLocalPath) && FileManager.default.fileExists(atPath: fileNamePreviewLocalPath) {
+                etagResource = metadata.etagResource
+            }
+            
+            NCCommunication.shared.downloadPreview(fileNamePathOrFileId: fileNamePath, fileNamePreviewLocalPath: fileNamePreviewLocalPath, widthPreview: NCGlobal.shared.sizePreview, heightPreview: NCGlobal.shared.sizePreview, fileNameIconLocalPath: fileNameIconLocalPath, sizeIcon: NCGlobal.shared.sizeIcon, etag: etagResource) { (account, imagePreview, imageIcon, etag, errorCode, errorMessage) in
+                
                 if errorCode == 0 && metadata.ocId == self.currentMetadata.ocId {
+                    NCManageDatabase.shared.setMetadataEtagResource(ocId: metadata.ocId, etagResource: etag)
                     self.reloadCurrentPage()
                 }
             }