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 { ...@@ -252,16 +252,16 @@ extension Session {
} }
if completed { if completed {
guard let rawFile = try? manager.downloadFileFromTransfer(with: transfer.id) else { return } if let data = try? manager.downloadFileFromTransfer(with: transfer.id),
_ = try! FileManager.store(data: rawFile, name: transfer.name, type: transfer.type) let _ = try? FileManager.store(data: data, name: transfer.name, type: transfer.type) {
var transfer = transfer var transfer = transfer
transfer.data = rawFile transfer.data = data
transfer.progress = 1.0 transfer.progress = 1.0
_ = try? self.dbManager.saveFileTransfer(transfer)
message.status = .received message.status = .received
_ = try? self.dbManager.saveFileTransfer(transfer)
_ = try? self.dbManager.saveMessage(message) _ = try? self.dbManager.saveMessage(message)
}
} else { } else {
self.progressTransferWith(tid: transfer.id, arrived: Float(arrived), total: Float(total)) self.progressTransferWith(tid: transfer.id, arrived: Float(arrived), total: Float(total))
} }
......
...@@ -261,10 +261,16 @@ public final class Session: SessionType { ...@@ -261,10 +261,16 @@ public final class Session: SessionType {
var transfer = transfer var transfer = transfer
do { 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 { if completed {
transfer.progress = 1.0 transfer.progress = 1.0
message.status = .received 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 { } else {
if error != nil { if error != nil {
message.status = .receivingFailed message.status = .receivingFailed
...@@ -304,10 +310,14 @@ public final class Session: SessionType { ...@@ -304,10 +310,14 @@ public final class Session: SessionType {
var transfer = transfer var transfer = transfer
do { 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 { if completed {
transfer.progress = 1.0 transfer.progress = 1.0
message.status = .sent message.status = .sent
try? self.client.transferManager?.endTransferUpload(with: transfer.id)
} else { } else {
if error != nil { if error != nil {
message.status = .sendingFailed message.status = .sendingFailed
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment