From 8cc0cb4a5802abcf0dc3bcdaaa58122580156c26 Mon Sep 17 00:00:00 2001 From: tibbi Date: Sun, 29 Apr 2018 10:32:18 +0200 Subject: [PATCH] add an Open With menu button to contacts --- .../contacts/activities/ViewContactActivity.kt | 17 +++++++++++++++++ app/src/main/res/menu/menu_view_contact.xml | 4 ++++ 2 files changed, 21 insertions(+) diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/ViewContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/ViewContactActivity.kt index 80e754d8..8650d636 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/ViewContactActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/ViewContactActivity.kt @@ -2,6 +2,7 @@ package com.simplemobiletools.contacts.activities import android.content.Intent import android.graphics.drawable.ColorDrawable +import android.net.Uri import android.os.Bundle import android.provider.ContactsContract import android.view.Menu @@ -49,13 +50,18 @@ class ViewContactActivity : ContactActivity() { override fun onCreateOptionsMenu(menu: Menu): Boolean { menuInflater.inflate(R.menu.menu_view_contact, menu) + menu.apply { + findItem(R.id.open_with).isVisible = contact?.source != SMT_PRIVATE + } return true } + override fun onOptionsItemSelected(item: MenuItem): Boolean { when (item.itemId) { R.id.edit -> editContact(contact!!) R.id.share -> shareContact() + R.id.open_with -> openWith() R.id.delete -> deleteContact() else -> return super.onOptionsItemSelected(item) } @@ -151,6 +157,17 @@ class ViewContactActivity : ContactActivity() { setupContactSource() } + private fun openWith() { + val lookupKey = ContactsHelper(this).getContactLookupKey(contact?.id.toString()) + val uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_LOOKUP_URI, lookupKey) + + Intent().apply { + action = ContactsContract.QuickContact.ACTION_QUICK_CONTACT + data = uri + startActivity(this) + } + } + private fun setupFavorite() { contact_toggle_favorite.apply { beVisible() diff --git a/app/src/main/res/menu/menu_view_contact.xml b/app/src/main/res/menu/menu_view_contact.xml index 4da28f74..a4436f7f 100644 --- a/app/src/main/res/menu/menu_view_contact.xml +++ b/app/src/main/res/menu/menu_view_contact.xml @@ -11,6 +11,10 @@ android:icon="@drawable/ic_share" android:title="@string/share" app:showAsAction="ifRoom"/> +