From 2605a61005ed32aac2b8edb04ef068615d7f75ed Mon Sep 17 00:00:00 2001 From: EveX Date: Thu, 27 Jan 2022 01:44:27 +0100 Subject: [PATCH] add error message on MMS compression failed --- .../smsmessenger/activities/ThreadActivity.kt | 7 +++++++ .../smsmessenger/helpers/ImageCompressor.kt | 6 +++++- app/src/main/res/values/strings.xml | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) 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 e426b931..629e6ed8 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt @@ -671,6 +671,13 @@ class ThreadActivity : SimpleActivity() { if (compressedUri != null) { attachmentSelections[originalUriString] = AttachmentSelection(compressedUri, false) loadAttachmentPreview(attachmentView, compressedUri) + } else { + toast(R.string.compress_error) + thread_attachments_wrapper.removeView(attachmentView) + attachmentSelections.remove(originalUriString) + if (attachmentSelections.isEmpty()) { + thread_attachments_holder.beGone() + } } checkSendMessageAvailability() attachmentView.thread_attachment_progress.beGone() diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/ImageCompressor.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/ImageCompressor.kt index aa58387e..66ad7e7b 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/ImageCompressor.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/helpers/ImageCompressor.kt @@ -106,7 +106,11 @@ class ImageCompressor(private val context: Context) { private var iteration: Int = 0 fun isSatisfied(imageFile: File): Boolean { - return imageFile.length() <= maxFileSize || iteration >= maxIteration + // If size requirement is not met and iteration is maxed + if(iteration >= maxIteration && imageFile.length() >= maxFileSize) { + throw Exception("Unable to compress image to targeted size") + } + return imageFile.length() <= maxFileSize } fun satisfy(imageFile: File): File { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 74042531..658870b1 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -19,6 +19,7 @@ Pin to the top Unpin Forward + Unable to compress image to selected size New conversation Add Contact or Number…