marinofaggiana %!s(int64=5) %!d(string=hai) anos
pai
achega
23632286d7

+ 10 - 0
Nextcloud.xcodeproj/project.pbxproj

@@ -166,6 +166,10 @@
 		F749C10D23C4A5340027D966 /* NCIntro.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F749C10923C4A5330027D966 /* NCIntro.storyboard */; };
 		F749C10E23C4A5340027D966 /* NCIntroCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = F749C10A23C4A5340027D966 /* NCIntroCollectionViewCell.xib */; };
 		F749E4E91DC1FB38009BA2FD /* Share.appex in Embed App Extensions */ = {isa = PBXBuildFile; fileRef = F7CE8AFB1DC1F8D8009CAE48 /* Share.appex */; settings = {ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
+		F74AF3A4247FB6AE00AC767B /* NCUtilityFileSystem.swift in Sources */ = {isa = PBXBuildFile; fileRef = F74AF3A3247FB6AE00AC767B /* NCUtilityFileSystem.swift */; };
+		F74AF3A5247FB6AE00AC767B /* NCUtilityFileSystem.swift in Sources */ = {isa = PBXBuildFile; fileRef = F74AF3A3247FB6AE00AC767B /* NCUtilityFileSystem.swift */; };
+		F74AF3A6247FB6AE00AC767B /* NCUtilityFileSystem.swift in Sources */ = {isa = PBXBuildFile; fileRef = F74AF3A3247FB6AE00AC767B /* NCUtilityFileSystem.swift */; };
+		F74AF3A7247FB6AE00AC767B /* NCUtilityFileSystem.swift in Sources */ = {isa = PBXBuildFile; fileRef = F74AF3A3247FB6AE00AC767B /* NCUtilityFileSystem.swift */; };
 		F74AFCE922E8B025003DE61F /* FSCalendar.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F74AFCE822E8B024003DE61F /* FSCalendar.framework */; };
 		F74C4FBB2328C3C200A23E25 /* OpenSSL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F74C4FBA2328C3C100A23E25 /* OpenSSL.framework */; };
 		F7501C322212E57500FB1415 /* NCMedia.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F7501C302212E57400FB1415 /* NCMedia.storyboard */; };
@@ -569,6 +573,7 @@
 		F749C10823C4A5330027D966 /* NCIntroViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NCIntroViewController.swift; sourceTree = "<group>"; };
 		F749C10923C4A5330027D966 /* NCIntro.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = NCIntro.storyboard; sourceTree = "<group>"; };
 		F749C10A23C4A5340027D966 /* NCIntroCollectionViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = NCIntroCollectionViewCell.xib; sourceTree = "<group>"; };
+		F74AF3A3247FB6AE00AC767B /* NCUtilityFileSystem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NCUtilityFileSystem.swift; sourceTree = "<group>"; };
 		F74AFCE822E8B024003DE61F /* FSCalendar.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = FSCalendar.framework; path = Carthage/Build/iOS/FSCalendar.framework; sourceTree = "<group>"; };
 		F74C4FBA2328C3C100A23E25 /* OpenSSL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenSSL.framework; path = Carthage/Build/iOS/OpenSSL.framework; sourceTree = "<group>"; };
 		F74D3DBD1BAC1941000BAE4B /* OCNetworking.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OCNetworking.h; sourceTree = "<group>"; };
@@ -1445,6 +1450,7 @@
 				F7A54C351C6267B500E2C8BF /* CCExifGeo.m */,
 				F70968A324212C4E00ED60E5 /* NCLivePhoto.swift */,
 				F76C3B831C6388BC00DC4301 /* CCGraphics.h */,
+				F74AF3A3247FB6AE00AC767B /* NCUtilityFileSystem.swift */,
 				F76C3B841C6388BC00DC4301 /* CCGraphics.m */,
 				F713FEFE2472764000214AF6 /* UIImage+animatedGIF.h */,
 				F713FEFF2472764100214AF6 /* UIImage+animatedGIF.m */,
@@ -2121,6 +2127,7 @@
 				2C1D5D7623E2DE3300334ABB /* NCManageDatabase.swift in Sources */,
 				2C33C48223E2C475005F963B /* NotificationService.swift in Sources */,
 				F73D5E4A246DE09200DF6467 /* NCElementsJSON.swift in Sources */,
+				F74AF3A7247FB6AE00AC767B /* NCUtilityFileSystem.swift in Sources */,
 				2CB7D1CA23E2EDCB00376EF9 /* NCPushNotificationEncryption.m in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -2143,6 +2150,7 @@
 				F70BFC7520E0FA7D00C67599 /* NCUtility.swift in Sources */,
 				F711CCE1246AC99E0009B204 /* OCCommunication.m in Sources */,
 				F78295311F962EFA00A572F5 /* NCEndToEndEncryption.m in Sources */,
+				F74AF3A5247FB6AE00AC767B /* NCUtilityFileSystem.swift in Sources */,
 				F711CCBF246AC99E0009B204 /* NSString+Encode.m in Sources */,
 				F711CCD7246AC99E0009B204 /* NSDate+ISO8601.m in Sources */,
 				F7F878AF1FB9E3B900599E4F /* NCEndToEndMetadata.swift in Sources */,
@@ -2199,6 +2207,7 @@
 				F785EEA42461A4A600B3F945 /* NCUtility.swift in Sources */,
 				F771E3F320E239A600AFB62D /* FileProviderData.swift in Sources */,
 				F771E3D720E2392D00AFB62D /* FileProviderEnumerator.swift in Sources */,
+				F74AF3A6247FB6AE00AC767B /* NCUtilityFileSystem.swift in Sources */,
 				F771E3F820E239B500AFB62D /* FileProviderExtension+Thumbnail.swift in Sources */,
 				F785EEA62461A4FB00B3F945 /* CCUtility.m in Sources */,
 			);
@@ -2292,6 +2301,7 @@
 				F711CCD4246AC99E0009B204 /* OCWebDAVClient.m in Sources */,
 				3781B9B223DB2B9F006B4B1D /* CCMain+Menu.swift in Sources */,
 				F7651A8B23A2A3F2001403D2 /* NCCreateFormUploadDocuments.swift in Sources */,
+				F74AF3A4247FB6AE00AC767B /* NCUtilityFileSystem.swift in Sources */,
 				F7417DB3216CE925007D05F5 /* NCTrashSectionHeaderFooter.swift in Sources */,
 				F7F878AE1FB9E3B900599E4F /* NCEndToEndMetadata.swift in Sources */,
 				F7DBC37C23325E02001A85BA /* NCAppConfigView.swift in Sources */,

+ 1 - 1
iOSClient/AutoUpload/NCAutoUpload.m

@@ -403,7 +403,7 @@
             metadataForUpload.assetLocalIdentifier = asset.localIdentifier;
             metadataForUpload.session = session;
             metadataForUpload.sessionSelector = selector;
-            metadataForUpload.size = [[NCUtility sharedInstance] getFileSizeWithAsset:asset];
+            metadataForUpload.size = [[NCUtilityFileSystem shared] getFileSizeWithAsset:asset];
             metadataForUpload.status = k_metadataStatusWaitUpload;
 
             // Add Medtadata MOV LIVE PHOTO for upload

+ 1 - 1
iOSClient/Main/CCMain.m

@@ -1085,7 +1085,7 @@
         metadataForUpload.assetLocalIdentifier = asset.localIdentifier;
         metadataForUpload.session = session;
         metadataForUpload.sessionSelector = selectorUploadFile;
-        metadataForUpload.size = [[NCUtility sharedInstance] getFileSizeWithAsset:asset];
+        metadataForUpload.size = [[NCUtilityFileSystem shared] getFileSizeWithAsset:asset];
         metadataForUpload.status = k_metadataStatusWaitUpload;
                         
         if ([[NCUtility sharedInstance] getMetadataConflictWithAccount:appDelegate.activeAccount serverUrl:serverUrl fileName:fileName] != nil) {

+ 3 - 3
iOSClient/Networking/NCNetworkingE2EE.swift

@@ -193,8 +193,8 @@ import NCCommunication
             metadata.contentType = internalContenType.contentType
             metadata.iconName = internalContenType.iconName
             metadata.typeFile = internalContenType.typeFile
-            metadata.date = NCUtility.sharedInstance.getFileModificationDate(filePath: fileNameLocalPath) as NSDate
-            metadata.size = NCUtility.sharedInstance.getFileSize(filePath: fileNameLocalPath)
+            metadata.date = NCUtilityFileSystem.shared.getFileModificationDate(filePath: fileNameLocalPath) as NSDate
+            metadata.size = NCUtilityFileSystem.shared.getFileSize(filePath: fileNameLocalPath)
             
             metadataForUpload = NCManageDatabase.sharedInstance.addMetadata(metadata)
             
@@ -208,7 +208,7 @@ import NCCommunication
                 
                 fileNameLocalPath = CCUtility.getDirectoryProviderStorageOcId(extractMetadata.ocId, fileNameView: extractMetadata.fileNameView)
                 CCUtility.moveFile(atPath: fileNamePath, toPath: fileNameLocalPath)
-                metadata.size = NCUtility.sharedInstance.getFileSize(filePath: fileNameLocalPath)
+                metadata.size = NCUtilityFileSystem.shared.getFileSize(filePath: fileNameLocalPath)
                 metadataForUpload = NCManageDatabase.sharedInstance.addMetadata(extractMetadata)
             }
         }

+ 0 - 32
iOSClient/Utility/NCUtility.swift

@@ -92,38 +92,6 @@ class NCUtility: NSObject {
         return false
     }
     
-    @objc func getFileSize(asset: PHAsset) -> Int64 {
-        
-        let resources = PHAssetResource.assetResources(for: asset)
-        
-        if let resource = resources.first {
-            if resource.responds(to: #selector(NSDictionary.fileSize)) {
-                let unsignedInt64 = resource.value(forKey: "fileSize") as! CLong
-                return Int64(bitPattern: UInt64(unsignedInt64))
-            }
-        }
-        
-        return 0
-    }
-    
-    @objc func getFileSize(filePath: String) -> Double {
-        
-        do {
-            let attributes = try FileManager.default.attributesOfItem(atPath: filePath)
-            return attributes[FileAttributeKey.size] as? Double ?? 0
-        } catch { }
-        return 0
-    }
-    
-    @objc func getFileModificationDate(filePath: String) -> Date {
-        
-        do {
-            let attributes = try FileManager.default.attributesOfItem(atPath: filePath)
-            return attributes[FileAttributeKey.modificationDate] as? Date ?? Date()
-        } catch { }
-        return Date()
-    }
-    
     @objc func resizeImage(image: UIImage, newWidth: CGFloat) -> UIImage {
         
         let scale = newWidth / image.size.width

+ 64 - 0
iOSClient/Utility/NCUtilityFileSystem.swift

@@ -0,0 +1,64 @@
+//
+//  NCUtilityFileSystem.swift
+//  Nextcloud
+//
+//  Created by Marino Faggiana on 28/05/2020.
+//  Copyright © 2020 Marino Faggiana. All rights reserved.
+//
+//  Author Marino Faggiana <marino.faggiana@nextcloud.com>
+//
+//  This program is free software: you can redistribute it and/or modify
+//  it under the terms of the GNU General Public License as published by
+//  the Free Software Foundation, either version 3 of the License, or
+//  (at your option) any later version.
+//
+//  This program is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU General Public License for more details.
+//
+//  You should have received a copy of the GNU General Public License
+//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+//
+
+import Foundation
+
+class NCUtilityFileSystem: NSObject {
+    @objc static let shared: NCUtilityFileSystem = {
+        let instance = NCUtilityFileSystem()
+        return instance
+    }()
+    
+    @objc func getFileSize(asset: PHAsset) -> Int64 {
+        
+        let resources = PHAssetResource.assetResources(for: asset)
+        
+        if let resource = resources.first {
+            if resource.responds(to: #selector(NSDictionary.fileSize)) {
+                let unsignedInt64 = resource.value(forKey: "fileSize") as! CLong
+                return Int64(bitPattern: UInt64(unsignedInt64))
+            }
+        }
+        
+        return 0
+    }
+    
+    @objc func getFileSize(filePath: String) -> Double {
+        
+        do {
+            let attributes = try FileManager.default.attributesOfItem(atPath: filePath)
+            return attributes[FileAttributeKey.size] as? Double ?? 0
+        } catch { }
+        return 0
+    }
+    
+    @objc func getFileModificationDate(filePath: String) -> Date {
+        
+        do {
+            let attributes = try FileManager.default.attributesOfItem(atPath: filePath)
+            return attributes[FileAttributeKey.modificationDate] as? Date ?? Date()
+        } catch { }
+        return Date()
+    }
+}
+