From 41114e5f2c0e8b86f1f0f09e4d10c369fa928e97 Mon Sep 17 00:00:00 2001
From: Agnieszka C <85929121+Aga-C@users.noreply.github.com>
Date: Mon, 18 Oct 2021 15:45:20 +0200
Subject: [PATCH] Added calling contact in conversation (#230)
---
.../smsmessenger/activities/ThreadActivity.kt | 18 ++++++++++++++++++
app/src/main/res/menu/menu_thread.xml | 5 +++++
2 files changed, 23 insertions(+)
diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt
index d40ac05d..437df63a 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt
@@ -2,6 +2,7 @@ package com.simplemobiletools.smsmessenger.activities
import android.annotation.SuppressLint
import android.app.Activity
+import android.content.ActivityNotFoundException
import android.content.Intent
import android.graphics.BitmapFactory
import android.graphics.drawable.Drawable
@@ -143,6 +144,7 @@ class ThreadActivity : SimpleActivity() {
menu.apply {
findItem(R.id.delete).isVisible = threadItems.isNotEmpty()
findItem(R.id.block_number).isVisible = isNougatPlus()
+ findItem(R.id.dial_number).isVisible = participants.size == 1
}
updateMenuItemColors(menu)
@@ -157,6 +159,7 @@ class ThreadActivity : SimpleActivity() {
when (item.itemId) {
R.id.block_number -> blockNumber()
R.id.delete -> askConfirmDelete()
+ R.id.dial_number -> dialNumber()
R.id.manage_people -> managePeople()
R.id.mark_as_unread -> markAsUnread()
else -> return super.onOptionsItemSelected(item)
@@ -488,6 +491,21 @@ class ThreadActivity : SimpleActivity() {
}
}
+ private fun dialNumber() {
+ val phoneNumber = participants.first().phoneNumbers.first()
+ Intent(Intent.ACTION_DIAL).apply {
+ data = Uri.fromParts("tel", phoneNumber, null)
+
+ try {
+ startActivity(this)
+ } catch (e: ActivityNotFoundException) {
+ toast(R.string.no_app_found)
+ } catch (e: Exception) {
+ showErrorToast(e)
+ }
+ }
+ }
+
private fun managePeople() {
if (thread_add_contacts.isVisible()) {
hideKeyboard()
diff --git a/app/src/main/res/menu/menu_thread.xml b/app/src/main/res/menu/menu_thread.xml
index dd4d0bd2..ae5ec9cf 100644
--- a/app/src/main/res/menu/menu_thread.xml
+++ b/app/src/main/res/menu/menu_thread.xml
@@ -11,6 +11,11 @@
android:icon="@drawable/ic_add_person_vector"
android:title="@string/add_person"
app:showAsAction="ifRoom" />
+