From 44547b05d078192ba652c74b22f6de40fb1a0fd8 Mon Sep 17 00:00:00 2001 From: Agnieszka C <85929121+Aga-C@users.noreply.github.com> Date: Mon, 18 Oct 2021 18:19:26 +0200 Subject: [PATCH] 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) + } + } +}