Now the conversation can be marked as read from the main message cab

This commit is contained in:
AlbertoPellitteri 2021-09-05 18:15:37 +02:00
parent 72833f6f16
commit d139548f06
2 changed files with 24 additions and 0 deletions

View File

@ -23,6 +23,7 @@ import com.simplemobiletools.commons.views.MyRecyclerView
import com.simplemobiletools.smsmessenger.R import com.simplemobiletools.smsmessenger.R
import com.simplemobiletools.smsmessenger.activities.SimpleActivity import com.simplemobiletools.smsmessenger.activities.SimpleActivity
import com.simplemobiletools.smsmessenger.extensions.deleteConversation import com.simplemobiletools.smsmessenger.extensions.deleteConversation
import com.simplemobiletools.smsmessenger.extensions.markThreadMessagesRead
import com.simplemobiletools.smsmessenger.helpers.refreshMessages import com.simplemobiletools.smsmessenger.helpers.refreshMessages
import com.simplemobiletools.smsmessenger.models.Conversation import com.simplemobiletools.smsmessenger.models.Conversation
import kotlinx.android.synthetic.main.item_conversation.view.* import kotlinx.android.synthetic.main.item_conversation.view.*
@ -60,6 +61,7 @@ class ConversationsAdapter(
R.id.cab_copy_number -> copyNumberToClipboard() R.id.cab_copy_number -> copyNumberToClipboard()
R.id.cab_delete -> askConfirmDelete() R.id.cab_delete -> askConfirmDelete()
R.id.cab_select_all -> selectAll() 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<Conversation>
ensureBackgroundThread {
conversationsMarkedAsRead.forEach {
activity.markThreadMessagesRead(it.threadId)
}
activity.runOnUiThread {
refreshMessages()
finishActMode()
}
}
}
private fun addNumberToContact() { private fun addNumberToContact() {
val conversation = getSelectedItems().firstOrNull() ?: return val conversation = getSelectedItems().firstOrNull() ?: return
Intent().apply { Intent().apply {

View File

@ -29,4 +29,8 @@
android:id="@+id/cab_select_all" android:id="@+id/cab_select_all"
android:title="@string/select_all" android:title="@string/select_all"
app:showAsAction="never" /> app:showAsAction="never" />
<item
android:id="@+id/cab_mark_as_read"
android:title="@string/mark_as_read"
app:showAsAction="never" />
</menu> </menu>