From eeb2a330d13eaf81389bea8151c0b527239338bd Mon Sep 17 00:00:00 2001 From: Kevin Boulongne Date: Thu, 30 Jan 2025 14:09:13 +0100 Subject: [PATCH] refactor: Clean delete Thread function --- .../main/java/com/infomaniak/mail/ui/MainViewModel.kt | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/infomaniak/mail/ui/MainViewModel.kt b/app/src/main/java/com/infomaniak/mail/ui/MainViewModel.kt index 01a0c92065..3bb6bc3c90 100644 --- a/app/src/main/java/com/infomaniak/mail/ui/MainViewModel.kt +++ b/app/src/main/java/com/infomaniak/mail/ui/MainViewModel.kt @@ -503,21 +503,17 @@ class MainViewModel @Inject constructor( val shouldPermanentlyDelete = isPermanentDeleteFolder(getActionFolderRole(threads, message)) val messages = getMessagesToDelete(threads, message) - - val messagesUids = messages.filter { it.isScheduledDraft.not() }.getUids() - val scheduledMessagesUuid = messages.filter { it.isScheduledDraft }.getUids() + val uids = messages.getUids() threadController.updateIsLocallyMovedOutStatus(threadsUids, hasBeenMovedOut = true) val apiResponses = if (shouldPermanentlyDelete) { - ApiRepository.deleteMessages(mailbox.uuid, messagesUids) - // TODO: Delete scheduled messages separately, but avoid making too much call (waiting for API changes). + ApiRepository.deleteMessages(mailbox.uuid, uids) } else { trashId = folderController.getFolder(FolderRole.TRASH)!!.id - ApiRepository.moveMessages(mailbox.uuid, messagesUids, trashId).also { + ApiRepository.moveMessages(mailbox.uuid, uids, trashId).also { undoResources = it.mapNotNull { apiResponse -> apiResponse.data?.undoResource } } - // TODO: Move? scheduled messages separately. } deleteThreadOrMessageTrigger.postValue(Unit)