From 0eb5b791887b6e0a325671584bb5b015d7f683f5 Mon Sep 17 00:00:00 2001 From: Naveen Date: Sun, 6 Nov 2022 17:15:49 +0530 Subject: [PATCH] Use original uri as `id` for attachment selections --- .../smsmessenger/activities/ThreadActivity.kt | 4 +++- .../smsmessenger/models/AttachmentSelection.kt | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt index 182bf643..4ab99dfb 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt @@ -893,7 +893,8 @@ class ThreadActivity : SimpleActivity() { private fun getAttachmentSelections() = getAttachmentsAdapter()?.attachments ?: emptyList() private fun addAttachment(uri: Uri) { - if (getAttachmentSelections().any { it.uri.toString() == uri.toString() }) { + val id = uri.toString() + if (getAttachmentSelections().any { it.id == id }) { toast(R.string.duplicate_item_warning) return } @@ -915,6 +916,7 @@ class ThreadActivity : SimpleActivity() { thread_attachments_recyclerview.beVisible() val mimeType = contentResolver.getType(uri).orEmpty() val attachment = AttachmentSelection( + id = id, uri = uri, mimetype = mimeType, filename = getFilenameFromUri(uri), diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/AttachmentSelection.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/AttachmentSelection.kt index eb81fda2..dc92e584 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/AttachmentSelection.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/models/AttachmentSelection.kt @@ -9,6 +9,7 @@ import com.simplemobiletools.smsmessenger.helpers.ATTACHMENT_MEDIA import com.simplemobiletools.smsmessenger.helpers.ATTACHMENT_VCARD data class AttachmentSelection( + val id: String, val uri: Uri, val mimetype: String, val filename: String, @@ -25,7 +26,7 @@ data class AttachmentSelection( } fun areItemsTheSame(first: AttachmentSelection, second: AttachmentSelection): Boolean { - return first.uri == second.uri + return first.id == second.id } fun areContentsTheSame(first: AttachmentSelection, second: AttachmentSelection): Boolean {