From ebb11be2c30f300251cd0f5004279119aeba44e4 Mon Sep 17 00:00:00 2001 From: tibbi Date: Mon, 11 Dec 2017 19:24:15 +0100 Subject: [PATCH] launch email intent on pressing the icon --- .../contacts/activities/ContactActivity.kt | 18 ++++++++++-------- .../contacts/extensions/Context.kt | 14 ++++++++++++++ 2 files changed, 24 insertions(+), 8 deletions(-) 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 0cec5eb6..580e21b5 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/ContactActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/ContactActivity.kt @@ -5,13 +5,11 @@ import android.os.Bundle import android.view.Menu import android.view.MenuItem import android.view.WindowManager -import com.simplemobiletools.commons.extensions.applyColorFilter -import com.simplemobiletools.commons.extensions.getContrastColor -import com.simplemobiletools.commons.extensions.toast -import com.simplemobiletools.commons.extensions.updateTextColors +import com.simplemobiletools.commons.extensions.* import com.simplemobiletools.commons.helpers.PERMISSION_WRITE_CONTACTS import com.simplemobiletools.contacts.R import com.simplemobiletools.contacts.extensions.config +import com.simplemobiletools.contacts.extensions.sendEmail import com.simplemobiletools.contacts.helpers.CONTACT_ID import com.simplemobiletools.contacts.helpers.ContactsHelper import com.simplemobiletools.contacts.models.Contact @@ -47,12 +45,14 @@ class ContactActivity : SimpleActivity() { } } - if (contact != null) { - setupEditContact() - } else { + if (contact == null) { setupNewContact() + } else { + setupEditContact() } + contact_send_email.beVisibleIf(contact!!.email.isNotEmpty()) + contact_photo.applyColorFilter(config.primaryColor.getContrastColor()) contact_photo.background = ColorDrawable(config.primaryColor) @@ -67,7 +67,9 @@ class ContactActivity : SimpleActivity() { contact_photo.setOnClickListener { } contact_send_sms.setOnClickListener { } contact_start_call.setOnClickListener { } - contact_email.setOnClickListener { } + contact_send_email.setOnClickListener { + sendEmail(contact!!.email) + } updateTextColors(contact_scrollview) wasActivityInitialized = true diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/extensions/Context.kt index 1d949958..96bd1d40 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/extensions/Context.kt @@ -1,6 +1,20 @@ package com.simplemobiletools.contacts.extensions import android.content.Context +import android.content.Intent +import android.net.Uri +import com.simplemobiletools.commons.R +import com.simplemobiletools.commons.extensions.toast import com.simplemobiletools.contacts.helpers.Config val Context.config: Config get() = Config.newInstance(applicationContext) + +fun Context.sendEmail(recipient: String) { + Intent(Intent.ACTION_SENDTO, Uri.fromParts("mailto", recipient, null)).apply { + if (resolveActivity(packageManager) != null) { + startActivity(this) + } else { + toast(R.string.no_app_found) + } + } +}