|
@@ -327,7 +327,7 @@ import Queuer
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- @objc func download(metadata: tableMetadata, selector: String, completion: @escaping (_ errorCode: Int)->()) {
|
|
|
+ @objc func download(metadata: tableMetadata, selector: String, notificationCenterProgressTask: Bool = true, progressHandler: @escaping (_ progress: Progress) -> () = { _ in }, completion: @escaping (_ errorCode: Int)->()) {
|
|
|
|
|
|
let serverUrlFileName = metadata.serverUrl + "/" + metadata.fileName
|
|
|
let fileNameLocalPath = CCUtility.getDirectoryProviderStorageOcId(metadata.ocId, fileNameView: metadata.fileName)!
|
|
@@ -351,14 +351,18 @@ import Queuer
|
|
|
|
|
|
}, progressHandler: { (progress) in
|
|
|
|
|
|
- #if !EXTENSION
|
|
|
- // add progress ocid
|
|
|
- let progressType = NCGlobal.progressType(progress: Float(progress.fractionCompleted), totalBytes: progress.totalUnitCount, totalBytesExpected: progress.completedUnitCount)
|
|
|
- DispatchQueue.main.async { (UIApplication.shared.delegate as! AppDelegate).listProgress[metadata.ocId] = progressType }
|
|
|
- #endif
|
|
|
-
|
|
|
- NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterProgressTask, object: nil, userInfo: ["account":metadata.account, "ocId":metadata.ocId, "fileName":metadata.fileName, "serverUrl":metadata.serverUrl, "status":NSNumber(value: NCGlobal.shared.metadataStatusInDownload), "progress":NSNumber(value: progress.fractionCompleted), "totalBytes":NSNumber(value: progress.totalUnitCount), "totalBytesExpected":NSNumber(value: progress.completedUnitCount)])
|
|
|
+ if notificationCenterProgressTask {
|
|
|
+ #if !EXTENSION
|
|
|
+ // add progress ocid
|
|
|
+ let progressType = NCGlobal.progressType(progress: Float(progress.fractionCompleted), totalBytes: progress.totalUnitCount, totalBytesExpected: progress.completedUnitCount)
|
|
|
+ DispatchQueue.main.async { (UIApplication.shared.delegate as! AppDelegate).listProgress[metadata.ocId] = progressType }
|
|
|
+ #endif
|
|
|
+
|
|
|
+ NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterProgressTask, object: nil, userInfo: ["account":metadata.account, "ocId":metadata.ocId, "fileName":metadata.fileName, "serverUrl":metadata.serverUrl, "status":NSNumber(value: NCGlobal.shared.metadataStatusInDownload), "progress":NSNumber(value: progress.fractionCompleted), "totalBytes":NSNumber(value: progress.totalUnitCount), "totalBytesExpected":NSNumber(value: progress.completedUnitCount)])
|
|
|
+ }
|
|
|
|
|
|
+ progressHandler(progress)
|
|
|
+
|
|
|
}) { (account, etag, date, length, allHeaderFields, error, errorCode, errorDescription) in
|
|
|
|
|
|
if error?.isExplicitlyCancelledError ?? false {
|
|
@@ -385,7 +389,7 @@ import Queuer
|
|
|
#if !EXTENSION
|
|
|
if errorCode == 401 || errorCode == 403 {
|
|
|
NCNetworkingCheckRemoteUser.shared.checkRemoteUser(account: metadata.account, errorCode: errorCode, errorDescription: errorDescription)
|
|
|
- }
|
|
|
+ }
|
|
|
#endif
|
|
|
}
|
|
|
|