From d139548f06fb618a38f227e5fb8141601502a0a0 Mon Sep 17 00:00:00 2001 From: AlbertoPellitteri Date: Sun, 5 Sep 2021 18:15:37 +0200 Subject: [PATCH] Now the conversation can be marked as read from the main message cab --- .../adapters/ConversationsAdapter.kt | 20 +++++++++++++++++++ app/src/main/res/menu/cab_conversations.xml | 4 ++++ 2 files changed, 24 insertions(+) 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 c895ea85..475d4ee0 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ConversationsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ConversationsAdapter.kt @@ -23,6 +23,7 @@ import com.simplemobiletools.commons.views.MyRecyclerView 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.helpers.refreshMessages import com.simplemobiletools.smsmessenger.models.Conversation import kotlinx.android.synthetic.main.item_conversation.view.* @@ -60,6 +61,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_read -> markAsRead() } } @@ -184,6 +186,24 @@ class ConversationsAdapter( } } + private fun markAsRead(){ + if (selectedKeys.isEmpty()) { + return + } + val conversationsMarkedAsRead = conversations.filter { selectedKeys.contains(it.hashCode()) } as ArrayList + + ensureBackgroundThread { + conversationsMarkedAsRead.forEach { + activity.markThreadMessagesRead(it.threadId) + } + activity.runOnUiThread { + refreshMessages() + finishActMode() + } + } + + } + private fun addNumberToContact() { val conversation = getSelectedItems().firstOrNull() ?: return Intent().apply { diff --git a/app/src/main/res/menu/cab_conversations.xml b/app/src/main/res/menu/cab_conversations.xml index 2be314f3..0f3acb38 100644 --- a/app/src/main/res/menu/cab_conversations.xml +++ b/app/src/main/res/menu/cab_conversations.xml @@ -29,4 +29,8 @@ android:id="@+id/cab_select_all" android:title="@string/select_all" app:showAsAction="never" /> +