From 2f815dfe389cf032b1d2c1b2ade8f785cbea0f96 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 11 Dec 2017 21:00:32 +0100 Subject: [PATCH] add handling for StartCall intent --- app/build.gradle | 2 +- app/src/main/AndroidManifest.xml | 1 + .../contacts/activities/ContactActivity.kt | 11 ++++----- .../contacts/extensions/Activity.kt | 23 +++++++++++++++++++ 4 files changed, 29 insertions(+), 8 deletions(-) create mode 100644 app/src/main/kotlin/com/simplemobiletools/contacts/extensions/Activity.kt diff --git a/app/build.gradle b/app/build.gradle index d6bfdc40..3ccbe364 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -32,5 +32,5 @@ android { } dependencies { - implementation 'com.simplemobiletools:commons:3.2.13' + implementation 'com.simplemobiletools:commons:3.2.14' } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index a130b7d2..7420855b 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -5,6 +5,7 @@ package="com.simplemobiletools.contacts" android:installLocation="auto"> + diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/ContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/ContactActivity.kt index 66752571..11d2832f 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/ContactActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/ContactActivity.kt @@ -20,6 +20,7 @@ import com.simplemobiletools.contacts.R import com.simplemobiletools.contacts.extensions.config import com.simplemobiletools.contacts.extensions.sendEmailIntent import com.simplemobiletools.contacts.extensions.sendSMSIntent +import com.simplemobiletools.contacts.extensions.startCallIntent import com.simplemobiletools.contacts.helpers.CONTACT_ID import com.simplemobiletools.contacts.helpers.ContactsHelper import com.simplemobiletools.contacts.models.Contact @@ -95,13 +96,9 @@ class ContactActivity : SimpleActivity() { contact_email_image.applyColorFilter(textColor) contact_photo.setOnClickListener { } - contact_send_sms.setOnClickListener { - sendSMSIntent(contact!!.number) - } - contact_start_call.setOnClickListener { } - contact_send_email.setOnClickListener { - sendEmailIntent(contact!!.email) - } + contact_send_sms.setOnClickListener { sendSMSIntent(contact!!.number) } + contact_start_call.setOnClickListener { startCallIntent(contact!!.number) } + contact_send_email.setOnClickListener { sendEmailIntent(contact!!.email) } updateTextColors(contact_scrollview) wasActivityInitialized = true diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/extensions/Activity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/extensions/Activity.kt new file mode 100644 index 00000000..ecc232ad --- /dev/null +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/extensions/Activity.kt @@ -0,0 +1,23 @@ +package com.simplemobiletools.contacts.extensions + +import android.content.Intent +import android.net.Uri +import com.simplemobiletools.commons.R +import com.simplemobiletools.commons.extensions.toast +import com.simplemobiletools.commons.helpers.PERMISSION_CALL_PHONE +import com.simplemobiletools.contacts.activities.SimpleActivity + +fun SimpleActivity.startCallIntent(recipient: String) { + handlePermission(PERMISSION_CALL_PHONE) { + if (it) { + Intent(Intent.ACTION_CALL).apply { + data = Uri.fromParts("tel", recipient, null) + if (resolveActivity(packageManager) != null) { + startActivity(this) + } else { + toast(R.string.no_app_found) + } + } + } + } +}