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 860d6d85..0713b7aa 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ConversationsAdapter.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ConversationsAdapter.kt
@@ -39,6 +39,7 @@ class ConversationsAdapter(activity: SimpleActivity, var conversations: ArrayLis
menu.apply {
findItem(R.id.cab_add_number_to_contact).isVisible = isOneItemSelected() && getSelectedItems().firstOrNull()?.isGroupConversation == false
findItem(R.id.cab_block_number).isVisible = isNougatPlus()
+ findItem(R.id.cab_copy_number).isVisible = isOneItemSelected() && getSelectedItems().firstOrNull()?.isGroupConversation == false
}
}
@@ -50,6 +51,7 @@ class ConversationsAdapter(activity: SimpleActivity, var conversations: ArrayLis
when (id) {
R.id.cab_add_number_to_contact -> addNumberToContact()
R.id.cab_block_number -> askConfirmBlock()
+ R.id.cab_copy_number -> copyNumberToClipboard()
R.id.cab_select_all -> selectAll()
R.id.cab_delete -> askConfirmDelete()
}
@@ -110,6 +112,12 @@ class ConversationsAdapter(activity: SimpleActivity, var conversations: ArrayLis
}
}
+ private fun copyNumberToClipboard() {
+ val conversation = getSelectedItems().firstOrNull() ?: return
+ activity.copyToClipboard(conversation.phoneNumber)
+ finishActMode()
+ }
+
private fun askConfirmDelete() {
val itemsCnt = selectedKeys.size
val items = resources.getQuantityString(R.plurals.delete_conversations, itemsCnt, itemsCnt)
diff --git a/app/src/main/res/menu/cab_conversations.xml b/app/src/main/res/menu/cab_conversations.xml
index 84e02dc5..8085dcde 100644
--- a/app/src/main/res/menu/cab_conversations.xml
+++ b/app/src/main/res/menu/cab_conversations.xml
@@ -11,6 +11,10 @@
android:icon="@drawable/ic_minus_circle_vector"
android:title="@string/block_number"
app:showAsAction="ifRoom" />
+