Marino Faggiana 1 year ago
parent
commit
06aa054bec

+ 13 - 4
iOSClient/Main/Collection Common/NCCollectionViewCommon.swift

@@ -68,6 +68,7 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
     private var tipView: EasyTipView?
 
     private var headerTransfer: Bool = false
+    private var ocIdTransfer: String?
 
     // DECLARE
     internal var layoutKey = ""
@@ -492,7 +493,10 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
         dataSource.addMetadata(metadata)
         // Header view trasfer
         if metadata.chunk || metadata.e2eEncrypted {
-            headerTransfer = true
+            DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
+                self.headerTransfer = true
+                self.ocIdTransfer = ocId
+            }
         } else {
             headerTransfer = false
         }
@@ -542,6 +546,7 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
         if chunk || e2eEncrypted {
             if !headerTransfer {
                 headerTransfer = true
+                ocIdTransfer = ocId
                 collectionView.reloadData()
             }
             self.headerMenu?.progressTransfer.progress = progressNumber.floatValue
@@ -842,7 +847,9 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
     }
 
     func tapButtonTransfer(_ sender: Any) {
-
+        if let ocId = ocIdTransfer, let metadata = NCManageDatabase.shared.getMetadataFromOcId(ocId) {
+            NCNetworking.shared.cancelTransferMetadata(metadata) { }
+        }
     }
 
     func longPressListItem(with objectId: String, gestureRecognizer: UILongPressGestureRecognizer) {
@@ -1650,10 +1657,12 @@ extension NCCollectionViewCommon: UICollectionViewDataSource {
                 header.delegate = self
 
                 if headerTransfer && !isSearchingMode {
+
                     let text = String(format: NSLocalizedString("_upload_foreground_msg_", comment: ""), NCBrandOptions.shared.brand)
-                    header.setTransfer(isHidden: false, text: text)
+                    header.setViewTransfer(isHidden: false, ocId: ocIdTransfer, text: text)
+
                 } else {
-                    header.setTransfer(isHidden: true)
+                    header.setViewTransfer(isHidden: true)
                 }
 
                 if headerMenuButtonsView {

+ 6 - 2
iOSClient/Main/Section Header Footer/NCSectionHeaderMenu.swift

@@ -177,15 +177,19 @@ class NCSectionHeaderMenu: UICollectionReusableView, UIGestureRecognizerDelegate
 
     // MARK: - Transfer
 
-    func setTransfer(isHidden: Bool, image: UIImage? = nil, text: String? = nil) {
+    func setViewTransfer(isHidden: Bool, ocId: String? = nil, text: String? = nil) {
 
-        buttonTransfer.setImage(image, for: .normal)
         labelTransfer.text = text
         viewTransfer.isHidden = isHidden
 
         if isHidden {
             viewTransferHeightConstraint.constant = 0
         } else {
+            if let ocId = ocId,
+               let metadata = NCManageDatabase.shared.getMetadataFromOcId(ocId) {
+                let image = NCUtility.shared.createFilePreviewImage(ocId: metadata.ocId, etag: metadata.etag, fileNameView: metadata.fileNameView, classFile: metadata.classFile, status: metadata.status, createPreviewMedia: true)
+                buttonTransfer.setImage(image, for: .normal)
+            }
             viewTransferHeightConstraint.constant = NCGlobal.shared.heightHeaderTransfer
         }
     }

+ 0 - 1
iOSClient/Networking/E2EE/NCNetworkingE2EEUpload.swift

@@ -186,7 +186,6 @@ class NCNetworkingE2EEUpload: NSObject {
         return await withCheckedContinuation({ continuation in
             NCNetworking.shared.uploadFile(metadata: metadata, fileNameLocalPath: fileNameLocalPath, withUploadComplete: false, addCustomHeaders: ["e2e-token": e2eToken]) {
                 uploadE2EEDelegate?.start()
-                NCContentPresenter.shared.noteTop(text: NSLocalizedString("_upload_e2ee_", comment: ""), image: nil, type: NCContentPresenter.messageType.info, delay: NCGlobal.shared.dismissAfterSecond, priority: .max)
             } progressHandler: { totalBytesExpected, totalBytes, fractionCompleted in
                 uploadE2EEDelegate?.uploadE2EEProgress(totalBytesExpected, totalBytes, fractionCompleted)
             } completion: { account, ocId, etag, date, size, allHeaderFields, afError, error in

+ 0 - 1
iOSClient/Networking/NCNetworkingChunkedUpload.swift

@@ -43,7 +43,6 @@ extension NCNetworking {
 
         var filesNames = NCManageDatabase.shared.getChunks(account: metadata.account, ocId: metadata.ocId)
         if filesNames.count == 0 {
-            NCContentPresenter.shared.noteTop(text: NSLocalizedString("_upload_chunk_", comment: ""), image: nil, type: NCContentPresenter.messageType.info, delay: .infinity, priority: .max)
             filesNames = NextcloudKit.shared.nkCommonInstance.chunkedFile(inputDirectory: directoryProviderStorageOcId, outputDirectory: directoryProviderStorageOcId, fileName: metadata.fileName, chunkSizeMB: chunkSize)
             if filesNames.count > 0 {
                 NCManageDatabase.shared.addChunks(account: metadata.account, ocId: metadata.ocId, chunkFolder: chunkFolder, fileNames: filesNames)

+ 0 - 2
iOSClient/Supporting Files/en.lproj/Localizable.strings

@@ -192,8 +192,6 @@
 "_print_"                   = "Print";
 "_alias_"                   = "Alias";
 "_alias_footer_"            = "Give your account names a descriptive name such as Home, Office, School …";
-"_upload_chunk_"            = "The file you are uploading is large, keep the app in the foreground until complete";
-"_upload_e2ee_"             = "The file you are uploading is encrypted, keep the app in the foreground until complete";
 "_chunk_size_mb_"           = "Chunk size in MB";
 "_chunk_footer_title_"      = "Chunked file upload (0 is disabled)\nImportant: the chunked upload works only when the app is \"active\".";
 "_privacy_legal_"           = "Privacy and Legal Policy";