From 8b29f9c10fde0fb29a22f81459b920d38ad9189a Mon Sep 17 00:00:00 2001 From: tibbi Date: Sat, 4 Aug 2018 23:16:05 +0200 Subject: [PATCH] allow editing contacts without permissions if our app triggers the editor --- .../contacts/activities/EditContactActivity.kt | 3 ++- .../simplemobiletools/contacts/fragments/RecentsFragment.kt | 2 ++ .../kotlin/com/simplemobiletools/contacts/helpers/Constants.kt | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt index 8d674368..12f7e4b3 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/activities/EditContactActivity.kt @@ -58,7 +58,8 @@ class EditContactActivity : ContactActivity() { val action = intent.action isThirdPartyIntent = action == Intent.ACTION_EDIT || action == Intent.ACTION_INSERT_OR_EDIT || action == Intent.ACTION_INSERT - if (isThirdPartyIntent) { + val isFromSimpleContacts = intent.getBooleanExtra(IS_FROM_SIMPLE_CONTACTS, false) + if (isThirdPartyIntent && !isFromSimpleContacts) { handlePermission(PERMISSION_READ_CONTACTS) { if (it) { handlePermission(PERMISSION_WRITE_CONTACTS) { diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/fragments/RecentsFragment.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/fragments/RecentsFragment.kt index 30b16f79..a6f14702 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/fragments/RecentsFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/fragments/RecentsFragment.kt @@ -10,6 +10,7 @@ import com.simplemobiletools.commons.helpers.PERMISSION_WRITE_CALL_LOG import com.simplemobiletools.contacts.activities.EditContactActivity import com.simplemobiletools.contacts.adapters.RecentCallsAdapter import com.simplemobiletools.contacts.extensions.contactClicked +import com.simplemobiletools.contacts.helpers.IS_FROM_SIMPLE_CONTACTS import com.simplemobiletools.contacts.helpers.KEY_PHONE import com.simplemobiletools.contacts.helpers.PHONE_NUMBER_PATTERN import com.simplemobiletools.contacts.helpers.RECENTS_TAB_MASK @@ -55,6 +56,7 @@ class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPage Intent(context, EditContactActivity::class.java).apply { action = Intent.ACTION_INSERT putExtra(KEY_PHONE, recentCall) + putExtra(IS_FROM_SIMPLE_CONTACTS, true) context.startActivity(this) } } diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt index f433e558..0ee6468e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/helpers/Constants.kt @@ -22,6 +22,7 @@ const val IS_PRIVATE = "is_private" const val GROUP = "group" const val FIRST_GROUP_ID = 10000 const val PHONE_NUMBER_PATTERN = "\\D+" +const val IS_FROM_SIMPLE_CONTACTS = "is_from_simple_contacts" // extras used at third party intents const val KEY_PHONE = "phone"