From e28b8ddae0dae9ba0b217ab4a1db971c5f6c61f5 Mon Sep 17 00:00:00 2001 From: Tibor Kaputa Date: Wed, 8 Sep 2021 15:18:24 +0200 Subject: [PATCH] Update ConversationsAdapter.kt --- .../adapters/ConversationsAdapter.kt | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ConversationsAdapter.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ConversationsAdapter.kt index 600b6a7a..c13136fe 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ConversationsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ConversationsAdapter.kt @@ -24,6 +24,7 @@ import com.simplemobiletools.smsmessenger.R import com.simplemobiletools.smsmessenger.activities.SimpleActivity import com.simplemobiletools.smsmessenger.extensions.deleteConversation import com.simplemobiletools.smsmessenger.extensions.markThreadMessagesRead +import com.simplemobiletools.smsmessenger.extensions.markThreadMessagesUnread import com.simplemobiletools.smsmessenger.helpers.refreshMessages import com.simplemobiletools.smsmessenger.models.Conversation import kotlinx.android.synthetic.main.item_conversation.view.* @@ -61,6 +62,7 @@ class ConversationsAdapter( R.id.cab_copy_number -> copyNumberToClipboard() R.id.cab_delete -> askConfirmDelete() R.id.cab_select_all -> selectAll() + R.id.cab_mark_as_unread -> markAsUnread() R.id.cab_mark_as_read -> markAsRead() } } @@ -186,21 +188,34 @@ class ConversationsAdapter( } } - private fun markAsRead(){ + private fun markAsRead() { if (selectedKeys.isEmpty()) { return } - val conversationsMarkedAsRead = conversations.filter { selectedKeys.contains(it.hashCode()) } as ArrayList + + val conversationsMarkedAsRead = conversations.filter { selectedKeys.contains(it.hashCode()) } as ArrayList ensureBackgroundThread { - conversationsMarkedAsRead.filter{el -> !el.read}.forEach { + conversationsMarkedAsRead.filter { conversation -> !conversation.read }.forEach { activity.markThreadMessagesRead(it.threadId) } + activity.runOnUiThread { refreshMessages() finishActMode() } } + } + private fun markAsUnread() { + if (selectedKeys.isEmpty()) { + return + } + val conversationsMarkedAsUnread = conversations.filter { selectedKeys.contains(it.hashCode()) } as ArrayList + ensureBackgroundThread { + conversationsMarkedAsUnread.filter { conversation -> conversation.read }.forEach { + activity.markThreadMessagesUnread(it.threadId) + } + } } private fun addNumberToContact() {