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 0713b7aa..a5ab8207 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ConversationsAdapter.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ConversationsAdapter.kt
@@ -2,6 +2,7 @@ package com.simplemobiletools.smsmessenger.adapters
import android.content.Intent
import android.graphics.Typeface
+import android.net.Uri
import android.text.TextUtils
import android.util.TypedValue
import android.view.Menu
@@ -37,8 +38,9 @@ class ConversationsAdapter(activity: SimpleActivity, var conversations: ArrayLis
override fun prepareActionMode(menu: Menu) {
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_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
}
}
@@ -51,6 +53,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_dial_number -> dialNumber()
R.id.cab_copy_number -> copyNumberToClipboard()
R.id.cab_select_all -> selectAll()
R.id.cab_delete -> askConfirmDelete()
@@ -112,6 +115,20 @@ class ConversationsAdapter(activity: SimpleActivity, var conversations: ArrayLis
}
}
+ private fun dialNumber() {
+ val conversation = getSelectedItems().firstOrNull() ?: return
+ Intent(Intent.ACTION_DIAL).apply {
+ data = Uri.fromParts("tel", conversation.phoneNumber, null)
+
+ if (resolveActivity(activity.packageManager) != null) {
+ activity.startActivity(this)
+ finishActMode()
+ } else {
+ activity.toast(R.string.no_app_found)
+ }
+ }
+ }
+
private fun copyNumberToClipboard() {
val conversation = getSelectedItems().firstOrNull() ?: return
activity.copyToClipboard(conversation.phoneNumber)
diff --git a/app/src/main/res/menu/cab_conversations.xml b/app/src/main/res/menu/cab_conversations.xml
index 8085dcde..a870e35c 100644
--- a/app/src/main/res/menu/cab_conversations.xml
+++ b/app/src/main/res/menu/cab_conversations.xml
@@ -11,6 +11,11 @@
android:icon="@drawable/ic_minus_circle_vector"
android:title="@string/block_number"
app:showAsAction="ifRoom" />
+