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 1/5] 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" />
+
-
Date: Mon, 18 Oct 2021 18:19:26 +0200
Subject: [PATCH 2/5] Dialing number refactor
---
.../smsmessenger/activities/ThreadActivity.kt | 12 +----------
.../adapters/ConversationsAdapter.kt | 13 +-----------
.../smsmessenger/extensions/Context.kt | 21 ++++++++++++++-----
3 files changed, 18 insertions(+), 28 deletions(-)
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 437df63a..7dc03292 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt
@@ -493,17 +493,7 @@ 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)
- }
- }
+ dialNumber(phoneNumber)
}
private fun managePeople() {
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 40e0eb26..ae52fca1 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ConversationsAdapter.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ConversationsAdapter.kt
@@ -129,18 +129,7 @@ class ConversationsAdapter(
private fun dialNumber() {
val conversation = getSelectedItems().firstOrNull() ?: return
- Intent(Intent.ACTION_DIAL).apply {
- data = Uri.fromParts("tel", conversation.phoneNumber, null)
-
- try {
- activity.startActivity(this)
- finishActMode()
- } catch (e: ActivityNotFoundException) {
- activity.toast(R.string.no_app_found)
- } catch (e: Exception) {
- activity.showErrorToast(e)
- }
- }
+ activity.dialNumber(conversation.phoneNumber) { finishActMode() }
}
private fun copyNumberToClipboard() {
diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt
index c67adaf8..5b4609f3 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt
@@ -5,10 +5,7 @@ import android.app.Notification
import android.app.NotificationChannel
import android.app.NotificationManager
import android.app.PendingIntent
-import android.content.ContentResolver
-import android.content.ContentValues
-import android.content.Context
-import android.content.Intent
+import android.content.*
import android.database.Cursor
import android.graphics.Bitmap
import android.media.AudioAttributes
@@ -40,7 +37,6 @@ import com.simplemobiletools.smsmessenger.receivers.MarkAsReadReceiver
import java.io.FileNotFoundException
import java.util.*
import kotlin.collections.ArrayList
-import java.text.Normalizer
import me.leolin.shortcutbadger.ShortcutBadger
val Context.config: Config get() = Config.newInstance(applicationContext)
@@ -897,3 +893,18 @@ fun Context.getFileSizeFromUri(uri: Uri): Long {
return FILE_SIZE_NONE
}
}
+
+fun Context.dialNumber(phoneNumber: String, callback: () -> Unit = fun() {}) {
+ Intent(Intent.ACTION_DIAL).apply {
+ data = Uri.fromParts("tel", phoneNumber, null)
+
+ try {
+ startActivity(this)
+ callback()
+ } catch (e: ActivityNotFoundException) {
+ toast(R.string.no_app_found)
+ } catch (e: Exception) {
+ showErrorToast(e)
+ }
+ }
+}
From ea637c529aca7d75b9cece07c2bb7d101ef845cd Mon Sep 17 00:00:00 2001
From: Tibor Kaputa
Date: Mon, 18 Oct 2021 18:35:10 +0200
Subject: [PATCH 3/5] removing an unused import
---
.../simplemobiletools/smsmessenger/activities/ThreadActivity.kt | 1 -
1 file changed, 1 deletion(-)
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 7dc03292..2d58515b 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/activities/ThreadActivity.kt
@@ -2,7 +2,6 @@ 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
From 636c7cb8c5928b46de61d45e2ef6448dd655181d Mon Sep 17 00:00:00 2001
From: Tibor Kaputa
Date: Mon, 18 Oct 2021 18:35:31 +0200
Subject: [PATCH 4/5] minor code style update + imports
---
.../smsmessenger/adapters/ConversationsAdapter.kt | 6 +++---
1 file changed, 3 insertions(+), 3 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 ae52fca1..5332f2b5 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ConversationsAdapter.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/adapters/ConversationsAdapter.kt
@@ -1,9 +1,7 @@
package com.simplemobiletools.smsmessenger.adapters
-import android.content.ActivityNotFoundException
import android.content.Intent
import android.graphics.Typeface
-import android.net.Uri
import android.text.TextUtils
import android.util.TypedValue
import android.view.Menu
@@ -129,7 +127,9 @@ class ConversationsAdapter(
private fun dialNumber() {
val conversation = getSelectedItems().firstOrNull() ?: return
- activity.dialNumber(conversation.phoneNumber) { finishActMode() }
+ activity.dialNumber(conversation.phoneNumber) {
+ finishActMode()
+ }
}
private fun copyNumberToClipboard() {
From 580fc7d35b9961a4d67ffba040c9c7fa3caa802e Mon Sep 17 00:00:00 2001
From: Tibor Kaputa
Date: Mon, 18 Oct 2021 18:36:00 +0200
Subject: [PATCH 5/5] make dialNumber callback nullable for easier reading
---
.../simplemobiletools/smsmessenger/extensions/Context.kt | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt
index 5b4609f3..18bc4878 100644
--- a/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt
+++ b/app/src/main/kotlin/com/simplemobiletools/smsmessenger/extensions/Context.kt
@@ -34,10 +34,10 @@ import com.simplemobiletools.smsmessenger.interfaces.MessagesDao
import com.simplemobiletools.smsmessenger.models.*
import com.simplemobiletools.smsmessenger.receivers.DirectReplyReceiver
import com.simplemobiletools.smsmessenger.receivers.MarkAsReadReceiver
+import me.leolin.shortcutbadger.ShortcutBadger
import java.io.FileNotFoundException
import java.util.*
import kotlin.collections.ArrayList
-import me.leolin.shortcutbadger.ShortcutBadger
val Context.config: Config get() = Config.newInstance(applicationContext)
@@ -894,13 +894,13 @@ fun Context.getFileSizeFromUri(uri: Uri): Long {
}
}
-fun Context.dialNumber(phoneNumber: String, callback: () -> Unit = fun() {}) {
+fun Context.dialNumber(phoneNumber: String, callback: (() -> Unit)? = null) {
Intent(Intent.ACTION_DIAL).apply {
data = Uri.fromParts("tel", phoneNumber, null)
try {
startActivity(this)
- callback()
+ callback?.invoke()
} catch (e: ActivityNotFoundException) {
toast(R.string.no_app_found)
} catch (e: Exception) {