From ee9959cf8caaea223eaa5b5e4e9170d5ddc1f22f Mon Sep 17 00:00:00 2001 From: Agnieszka C <85929121+Aga-C@users.noreply.github.com> Date: Mon, 20 Sep 2021 09:41:45 +0200 Subject: [PATCH 1/3] Added hiding read/unread conversations --- .../smsmessenger/adapters/ConversationsAdapter.kt | 2 ++ 1 file changed, 2 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 cbccb4b1..303162b4 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ConversationsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ConversationsAdapter.kt @@ -48,6 +48,8 @@ class ConversationsAdapter( findItem(R.id.cab_add_number_to_contact).isVisible = isOneItemSelected() && getSelectedItems().firstOrNull()?.isGroupConversation == false findItem(R.id.cab_dial_number).isVisible = isOneItemSelected() && getSelectedItems().firstOrNull()?.isGroupConversation == false findItem(R.id.cab_copy_number).isVisible = isOneItemSelected() && getSelectedItems().firstOrNull()?.isGroupConversation == false + findItem(R.id.cab_mark_as_read).isVisible = getSelectedItems().any { !it.read } + findItem(R.id.cab_mark_as_unread).isVisible = getSelectedItems().any { it.read} } } From 6c32a449d88b8c80f30cdb5a3b6b8487cfa71ba1 Mon Sep 17 00:00:00 2001 From: Agnieszka C <85929121+Aga-C@users.noreply.github.com> Date: Mon, 20 Sep 2021 10:13:48 +0200 Subject: [PATCH 2/3] Code style fixing --- .../smsmessenger/adapters/ConversationsAdapter.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 303162b4..b7b7f693 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ConversationsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ConversationsAdapter.kt @@ -49,7 +49,7 @@ class ConversationsAdapter( findItem(R.id.cab_dial_number).isVisible = isOneItemSelected() && getSelectedItems().firstOrNull()?.isGroupConversation == false findItem(R.id.cab_copy_number).isVisible = isOneItemSelected() && getSelectedItems().firstOrNull()?.isGroupConversation == false findItem(R.id.cab_mark_as_read).isVisible = getSelectedItems().any { !it.read } - findItem(R.id.cab_mark_as_unread).isVisible = getSelectedItems().any { it.read} + findItem(R.id.cab_mark_as_unread).isVisible = getSelectedItems().any { it.read } } } From 9f5fbd2e1e4f66839af82e65f7d53ca772b0c68e Mon Sep 17 00:00:00 2001 From: Tibor Kaputa Date: Mon, 20 Sep 2021 22:44:55 +0200 Subject: [PATCH 3/3] avoid fetching selected conversations too many times --- .../smsmessenger/adapters/ConversationsAdapter.kt | 12 +++++++----- 1 file changed, 7 insertions(+), 5 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 b7b7f693..48720bf3 100644 --- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ConversationsAdapter.kt +++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ConversationsAdapter.kt @@ -43,13 +43,15 @@ class ConversationsAdapter( override fun getActionMenuId() = R.menu.cab_conversations override fun prepareActionMode(menu: Menu) { + val selectedItems = getSelectedItems() + menu.apply { findItem(R.id.cab_block_number).isVisible = isNougatPlus() - findItem(R.id.cab_add_number_to_contact).isVisible = isOneItemSelected() && getSelectedItems().firstOrNull()?.isGroupConversation == false - findItem(R.id.cab_dial_number).isVisible = isOneItemSelected() && getSelectedItems().firstOrNull()?.isGroupConversation == false - findItem(R.id.cab_copy_number).isVisible = isOneItemSelected() && getSelectedItems().firstOrNull()?.isGroupConversation == false - findItem(R.id.cab_mark_as_read).isVisible = getSelectedItems().any { !it.read } - findItem(R.id.cab_mark_as_unread).isVisible = getSelectedItems().any { it.read } + findItem(R.id.cab_add_number_to_contact).isVisible = isOneItemSelected() && selectedItems.firstOrNull()?.isGroupConversation == false + findItem(R.id.cab_dial_number).isVisible = isOneItemSelected() && selectedItems.firstOrNull()?.isGroupConversation == false + findItem(R.id.cab_copy_number).isVisible = isOneItemSelected() && selectedItems.firstOrNull()?.isGroupConversation == false + findItem(R.id.cab_mark_as_read).isVisible = selectedItems.any { !it.read } + findItem(R.id.cab_mark_as_unread).isVisible = selectedItems.any { it.read } } }