Skip to content
Snippets Groups Projects
Commit f79e04ad authored by Amirhossein Naghshzan's avatar Amirhossein Naghshzan Committed by Adrien Béraud
Browse files

conversation: delete swarm file

Change-Id: I15df72081a1f5ab254767e6e666e685e251baf25
parent 637b20e7
No related branches found
No related tags found
No related merge requests found
...@@ -166,14 +166,21 @@ class ConversationFacade( ...@@ -166,14 +166,21 @@ class ConversationFacade(
} }
fun deleteConversationItem(conversation: Conversation, element: Interaction) { fun deleteConversationItem(conversation: Conversation, element: Interaction) {
if (conversation.isSwarm)
return
if (element.type === Interaction.InteractionType.DATA_TRANSFER) { if (element.type === Interaction.InteractionType.DATA_TRANSFER) {
val transfer = element as DataTransfer val transfer = element as DataTransfer
if (transfer.status === InteractionStatus.TRANSFER_ONGOING) { if (transfer.status === InteractionStatus.TRANSFER_ONGOING) {
mAccountService.cancelDataTransfer(conversation.accountId, conversation.uri.rawRingId, transfer.messageId, transfer.fileId!!) mAccountService.cancelDataTransfer(conversation.accountId, conversation.uri.rawRingId, transfer.messageId, transfer.fileId!!)
} else { } else {
val file = mDeviceRuntimeService.getConversationPath(conversation.uri.rawRingId, transfer.storagePath) val file = mDeviceRuntimeService.getConversationPath(conversation.uri.rawRingId, transfer.storagePath)
if (conversation.isSwarm) {
mDisposableBag.add(Completable.fromAction { file.delete() }
.subscribeOn(Schedulers.io())
.subscribe({
transfer.status = InteractionStatus.FILE_AVAILABLE
conversation.updateInteraction(transfer)
})
{ e: Throwable -> Log.e(TAG, "Can't delete file transfer", e) })
} else {
mDisposableBag.add(Completable.mergeArrayDelayError( mDisposableBag.add(Completable.mergeArrayDelayError(
mHistoryService.deleteInteraction(element.id, element.account!!), mHistoryService.deleteInteraction(element.id, element.account!!),
Completable.fromAction { file.delete() } Completable.fromAction { file.delete() }
...@@ -181,6 +188,7 @@ class ConversationFacade( ...@@ -181,6 +188,7 @@ class ConversationFacade(
.subscribe({ conversation.removeInteraction(transfer) }) .subscribe({ conversation.removeInteraction(transfer) })
{ e: Throwable -> Log.e(TAG, "Can't delete file transfer", e) }) { e: Throwable -> Log.e(TAG, "Can't delete file transfer", e) })
} }
}
} else { } else {
// handling is the same for calls and texts // handling is the same for calls and texts
mDisposableBag.add(mHistoryService.deleteInteraction(element.id, element.account!!) mDisposableBag.add(mHistoryService.deleteInteraction(element.id, element.account!!)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment