Skip to content
Snippets Groups Projects
Commit 79fa48c6 authored by Bruno Muniz's avatar Bruno Muniz :apple:
Browse files

Refactored a bit of the transfer code

parent caf41f4c
No related branches found
No related tags found
2 merge requests!40v1.1.2b166,!39Fixing QA bugs before releasing
......@@ -252,16 +252,16 @@ extension Session {
}
if completed {
guard let rawFile = try? manager.downloadFileFromTransfer(with: transfer.id) else { return }
_ = try! FileManager.store(data: rawFile, name: transfer.name, type: transfer.type)
var transfer = transfer
transfer.data = rawFile
transfer.progress = 1.0
_ = try? self.dbManager.saveFileTransfer(transfer)
message.status = .received
_ = try? self.dbManager.saveMessage(message)
if let data = try? manager.downloadFileFromTransfer(with: transfer.id),
let _ = try? FileManager.store(data: data, name: transfer.name, type: transfer.type) {
var transfer = transfer
transfer.data = data
transfer.progress = 1.0
message.status = .received
_ = try? self.dbManager.saveFileTransfer(transfer)
_ = try? self.dbManager.saveMessage(message)
}
} else {
self.progressTransferWith(tid: transfer.id, arrived: Float(arrived), total: Float(total))
}
......
......@@ -261,10 +261,16 @@ public final class Session: SessionType {
var transfer = transfer
do {
try client.transferManager?.listenDownloadFromTransfer(with: transfer.id) { completed, received, total, error in
try client.transferManager?.listenDownloadFromTransfer(with: transfer.id) { [weak self] completed, received, total, error in
guard let self = self else { return }
if completed {
transfer.progress = 1.0
message.status = .received
if let data = try? self.client.transferManager?.downloadFileFromTransfer(with: transfer.id),
let _ = try? FileManager.store(data: data, name: transfer.name, type: transfer.type) {
transfer.data = data
}
} else {
if error != nil {
message.status = .receivingFailed
......@@ -304,10 +310,14 @@ public final class Session: SessionType {
var transfer = transfer
do {
try client.transferManager?.listenUploadFromTransfer(with: transfer.id) { completed, sent, arrived, total, error in
try client.transferManager?.listenUploadFromTransfer(with: transfer.id) { [weak self] completed, sent, arrived, total, error in
guard let self = self else { return }
if completed {
transfer.progress = 1.0
message.status = .sent
try? self.client.transferManager?.endTransferUpload(with: transfer.id)
} else {
if error != nil {
message.status = .sendingFailed
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment