From 32a00b5c75839c7d7db10f6a459ee4c3ea59c841 Mon Sep 17 00:00:00 2001 From: Nicholas Tinsley Date: Fri, 9 Aug 2024 12:04:43 -0400 Subject: [PATCH] Update downloadAttachmentIfNeeded() to use a when expression. --- .../securesms/jobs/AttachmentDownloadJob.kt | 40 ++++++++++++------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/AttachmentDownloadJob.kt b/app/src/main/java/org/thoughtcrime/securesms/jobs/AttachmentDownloadJob.kt index 3b21c4c2a1..1f462e648a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/AttachmentDownloadJob.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/AttachmentDownloadJob.kt @@ -87,22 +87,32 @@ class AttachmentDownloadJob private constructor( @JvmStatic fun downloadAttachmentIfNeeded(databaseAttachment: DatabaseAttachment): String? { - if (databaseAttachment.transferState == AttachmentTable.TRANSFER_RESTORE_OFFLOADED) { - return RestoreAttachmentJob.restoreOffloadedAttachment(databaseAttachment) - } else if (databaseAttachment.transferState != AttachmentTable.TRANSFER_PROGRESS_STARTED && - databaseAttachment.transferState != AttachmentTable.TRANSFER_PROGRESS_DONE && - databaseAttachment.transferState != AttachmentTable.TRANSFER_PROGRESS_PERMANENT_FAILURE - ) { - val downloadJob = AttachmentDownloadJob( - messageId = databaseAttachment.mmsId, - attachmentId = databaseAttachment.attachmentId, - manual = true, - forceArchiveDownload = false - ) - AppDependencies.jobManager.add(downloadJob) - return downloadJob.id + return when (val transferState = databaseAttachment.transferState) { + AttachmentTable.TRANSFER_RESTORE_OFFLOADED -> RestoreAttachmentJob.restoreOffloadedAttachment(databaseAttachment) + + AttachmentTable.TRANSFER_PROGRESS_PENDING, + AttachmentTable.TRANSFER_PROGRESS_FAILED, + AttachmentTable.TRANSFER_NEEDS_RESTORE, + AttachmentTable.TRANSFER_RESTORE_IN_PROGRESS -> { + val downloadJob = AttachmentDownloadJob( + messageId = databaseAttachment.mmsId, + attachmentId = databaseAttachment.attachmentId, + manual = true, + forceArchiveDownload = false + ) + AppDependencies.jobManager.add(downloadJob) + downloadJob.id + } + + AttachmentTable.TRANSFER_PROGRESS_DONE, + AttachmentTable.TRANSFER_PROGRESS_STARTED, + AttachmentTable.TRANSFER_PROGRESS_PERMANENT_FAILURE -> null + + else -> { + Log.w(TAG, "Attempted to download attachment with unknown transfer state: $transferState") + null + } } - return null } }