Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/ios.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarino Faggiana <marino@marinofaggiana.com>2022-11-02 19:18:09 +0300
committerMarino Faggiana <marino@marinofaggiana.com>2022-11-02 19:18:09 +0300
commitad59e02556a19ee76ab19c9414ce4f78f5ff4e87 (patch)
tree072fc4ef5f04b41a14e279dc71ac5be2a8621717
parent07f1521be69d2b601eef90883a8c0d5c5aef420f (diff)
fix code
Signed-off-by: Marino Faggiana <marino@marinofaggiana.com>
-rw-r--r--iOSClient/Utility/NCUtility.swift59
1 files changed, 30 insertions, 29 deletions
diff --git a/iOSClient/Utility/NCUtility.swift b/iOSClient/Utility/NCUtility.swift
index 6ad7cc670..1f96e4d55 100644
--- a/iOSClient/Utility/NCUtility.swift
+++ b/iOSClient/Utility/NCUtility.swift
@@ -437,11 +437,10 @@ class NCUtility: NSObject {
let metadata = tableMetadata.init(value: metadata)
let chunckSize = CCUtility.getChunkSize() * 1000000
var compatibilityFormat: Bool = false
- var returnWithError: Bool = true
- defer {
- if returnWithError {
- completion(nil, nil, returnWithError)
+ func callCompletion(error: Bool) {
+ if error {
+ completion(nil, nil, true)
} else {
var metadataReturn = metadata
if modifyMetadataForUpload {
@@ -452,12 +451,12 @@ class NCUtility: NSObject {
metadataReturn = metadata
}
}
- completion(metadataReturn, fileNamePath, returnWithError)
+ completion(metadataReturn, fileNamePath, error)
}
}
let fetchAssets = PHAsset.fetchAssets(withLocalIdentifiers: [metadata.assetLocalIdentifier], options: nil)
- guard fetchAssets.count > 0, let asset = fetchAssets.firstObject, let extensionAsset = (asset.value(forKey: "filename") as? NSString)?.pathExtension.uppercased() else { return }
+ guard fetchAssets.count > 0, let asset = fetchAssets.firstObject, let extensionAsset = (asset.value(forKey: "filename") as? NSString)?.pathExtension.uppercased() else { return callCompletion(error: true) }
let creationDate = asset.creationDate ?? Date()
let modificationDate = asset.modificationDate ?? Date()
@@ -476,7 +475,7 @@ class NCUtility: NSObject {
fileNamePath = NSTemporaryDirectory() + metadata.fileNameView
}
- guard let fileNamePath = fileNamePath else { return }
+ guard let fileNamePath = fileNamePath else { return callCompletion(error: true) }
if asset.mediaType == PHAssetMediaType.image {
@@ -493,23 +492,23 @@ class NCUtility: NSObject {
}
options.progressHandler = { (progress, error, stop, info) in
print(progress)
- if error != nil { return }
+ if error != nil { return callCompletion(error: true) }
}
PHImageManager.default().requestImageDataAndOrientation(for: asset, options: options) { data, dataUI, orientation, info in
- guard var data = data else { return }
+ guard var data = data else { return callCompletion(error: true) }
if compatibilityFormat {
- guard let ciImage = CIImage.init(data: data), let colorSpace = ciImage.colorSpace, let dataJPEG = CIContext().jpegRepresentation(of: ciImage, colorSpace: colorSpace) else { return }
+ guard let ciImage = CIImage.init(data: data), let colorSpace = ciImage.colorSpace, let dataJPEG = CIContext().jpegRepresentation(of: ciImage, colorSpace: colorSpace) else { return callCompletion(error: true) }
data = dataJPEG
}
NCUtilityFileSystem.shared.deleteFile(filePath: fileNamePath)
do {
try data.write(to: URL(fileURLWithPath: fileNamePath), options: .atomic)
- } catch { return }
+ } catch { return callCompletion(error: true) }
metadata.creationDate = creationDate as NSDate
metadata.date = modificationDate as NSDate
metadata.size = NCUtilityFileSystem.shared.getFileSize(filePath: fileNamePath)
- return returnWithError = false
+ return callCompletion(error: false)
}
} else if asset.mediaType == PHAssetMediaType.video {
@@ -519,7 +518,7 @@ class NCUtility: NSObject {
options.version = PHVideoRequestOptionsVersion.current
options.progressHandler = { (progress, error, stop, info) in
print(progress)
- if error != nil { return }
+ if error != nil { return callCompletion(error: true) }
}
PHImageManager.default().requestAVAsset(forVideo: asset, options: options) { asset, audioMix, info in
@@ -530,20 +529,18 @@ class NCUtility: NSObject {
metadata.creationDate = creationDate as NSDate
metadata.date = modificationDate as NSDate
metadata.size = NCUtilityFileSystem.shared.getFileSize(filePath: fileNamePath)
- return returnWithError = false
- } catch { return }
- } else if let asset = asset as? AVComposition, asset.tracks.count > 1, let exporter = AVAssetExportSession(asset: asset, presetName: AVAssetExportPresetHighestQuality) {
- if let viewController = viewController {
- DispatchQueue.main.async {
- hud.indicatorView = JGProgressHUDRingIndicatorView()
- if let indicatorView = hud.indicatorView as? JGProgressHUDRingIndicatorView {
- indicatorView.ringWidth = 1.5
- }
- hud.textLabel.text = NSLocalizedString("_exporting_video_", comment: "")
- hud.show(in: viewController.view)
- hud.tapOnHUDViewBlock = { hud in
- exporter.cancelExport()
- }
+ return callCompletion(error: false)
+ } catch { return callCompletion(error: true) }
+ } else if let asset = asset as? AVComposition, asset.tracks.count > 1, let exporter = AVAssetExportSession(asset: asset, presetName: AVAssetExportPresetHighestQuality), let viewController = viewController {
+ DispatchQueue.main.async {
+ hud.indicatorView = JGProgressHUDRingIndicatorView()
+ if let indicatorView = hud.indicatorView as? JGProgressHUDRingIndicatorView {
+ indicatorView.ringWidth = 1.5
+ }
+ hud.textLabel.text = NSLocalizedString("_exporting_video_", comment: "")
+ hud.show(in: viewController.view)
+ hud.tapOnHUDViewBlock = { hud in
+ exporter.cancelExport()
}
}
exporter.outputURL = URL(fileURLWithPath: fileNamePath)
@@ -555,14 +552,18 @@ class NCUtility: NSObject {
metadata.creationDate = creationDate as NSDate
metadata.date = modificationDate as NSDate
metadata.size = NCUtilityFileSystem.shared.getFileSize(filePath: fileNamePath)
- return returnWithError = false
- } else { return }
+ return callCompletion(error: false)
+ } else { return callCompletion(error: true) }
}
while exporter.status == AVAssetExportSession.Status.exporting || exporter.status == AVAssetExportSession.Status.waiting {
hud.progress = exporter.progress
}
+ } else {
+ callCompletion(error: true)
}
}
+ } else {
+ callCompletion(error: true)
}
}