From 2ffdaa0712871478faa03ed2f8ebfbda2f4b4229 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 12 Apr 2020 15:20:54 +0200 Subject: [PATCH] check the Send Message button availabilty at adding an attachment --- .../smsmessenger/activities/ThreadActivity.kt | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 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 d674359d..e468c25a 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt @@ -52,6 +52,7 @@ class ThreadActivity : SimpleActivity() { private var bus: EventBus? = null private var participants = ArrayList() private var messages = ArrayList() + private var attachmentUris = ArrayList() override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -173,8 +174,7 @@ class ThreadActivity : SimpleActivity() { thread_send_message.isClickable = false thread_type_message.onTextChangeListener { - thread_send_message.isClickable = it.isNotEmpty() - thread_send_message.alpha = if (it.isEmpty()) 0.4f else 0.9f + checkSendMessageAvailability() } confirm_manage_contacts.setOnClickListener { @@ -308,6 +308,7 @@ class ThreadActivity : SimpleActivity() { } private fun addAttachment(uri: Uri) { + attachmentUris.add(uri) val roundedCornersRadius = resources.getDimension(R.dimen.medium_margin).toInt() val options = RequestOptions() .diskCacheStrategy(DiskCacheStrategy.NONE) @@ -328,13 +329,23 @@ class ThreadActivity : SimpleActivity() { override fun onResourceReady(dr: Drawable?, a: Any?, t: Target?, d: DataSource?, i: Boolean): Boolean { thread_attachment_preview.beVisible() thread_remove_attachment.beVisible() + checkSendMessageAvailability() return false } - }) .into(thread_attachment_preview) } + private fun checkSendMessageAvailability() { + if (thread_type_message.text.isNotEmpty() || attachmentUris.isNotEmpty()) { + thread_send_message.isClickable = true + thread_send_message.alpha = 0.9f + } else { + thread_send_message.isClickable = false + thread_send_message.alpha = 0.4f + } + } + // show selected contacts, properly split to new lines when appropriate // based on https://stackoverflow.com/a/13505029/1967672 private fun showSelectedContact(views: ArrayList) {