diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/DialerActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/DialerActivity.kt index 9e23396e..a9f79510 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/DialerActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/DialerActivity.kt @@ -11,6 +11,7 @@ import android.telecom.TelecomManager import com.simplemobiletools.commons.extensions.showErrorToast import com.simplemobiletools.commons.extensions.toast import com.simplemobiletools.contacts.pro.R +import com.simplemobiletools.contacts.pro.extensions.isDefaultDialer import com.simplemobiletools.contacts.pro.extensions.telecomManager @TargetApi(Build.VERSION_CODES.M) @@ -25,7 +26,7 @@ class DialerActivity : SimpleActivity() { callNumber = intent.data // make sure Simple Contacts is the default Phone app before initiating an outgoing call - if (telecomManager.defaultDialerPackage != packageName) { + if (!isDefaultDialer()) { val intent = Intent(TelecomManager.ACTION_CHANGE_DEFAULT_DIALER).putExtra(TelecomManager.EXTRA_CHANGE_DEFAULT_DIALER_PACKAGE_NAME, packageName) startActivityForResult(intent, REQUEST_CODE_SET_DEFAULT_DIALER) } else { @@ -56,7 +57,7 @@ class DialerActivity : SimpleActivity() { override fun onActivityResult(requestCode: Int, resultCode: Int, resultData: Intent?) { super.onActivityResult(requestCode, resultCode, resultData) if (requestCode == REQUEST_CODE_SET_DEFAULT_DIALER) { - if (telecomManager.defaultDialerPackage != packageName) { + if (!isDefaultDialer()) { finish() } else { initOutgoingCall() diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/extensions/Context.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/extensions/Context.kt index 0c1bb722..3fe4c8ad 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/extensions/Context.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/extensions/Context.kt @@ -338,3 +338,6 @@ fun Context.deleteBlockedNumber(number: String) { val uri = contentResolver.insert(BlockedNumbers.CONTENT_URI, values) contentResolver.delete(uri, null, null) } + +@TargetApi(Build.VERSION_CODES.M) +fun Context.isDefaultDialer() = telecomManager.defaultDialerPackage != packageName diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/fragments/RecentsFragment.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/fragments/RecentsFragment.kt index 9be66792..689e62f6 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/fragments/RecentsFragment.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/fragments/RecentsFragment.kt @@ -14,8 +14,8 @@ import com.simplemobiletools.commons.helpers.isMarshmallowPlus import com.simplemobiletools.contacts.pro.activities.EditContactActivity import com.simplemobiletools.contacts.pro.adapters.RecentCallsAdapter import com.simplemobiletools.contacts.pro.extensions.contactClicked +import com.simplemobiletools.contacts.pro.extensions.isDefaultDialer import com.simplemobiletools.contacts.pro.extensions.normalizeNumber -import com.simplemobiletools.contacts.pro.extensions.telecomManager import com.simplemobiletools.contacts.pro.helpers.IS_FROM_SIMPLE_CONTACTS import com.simplemobiletools.contacts.pro.helpers.KEY_PHONE import com.simplemobiletools.contacts.pro.helpers.RECENTS_TAB_MASK @@ -28,7 +28,7 @@ class RecentsFragment(context: Context, attributeSet: AttributeSet) : MyViewPage @TargetApi(Build.VERSION_CODES.M) override fun placeholderClicked() { - if (!isMarshmallowPlus() || (isMarshmallowPlus() && context.telecomManager.defaultDialerPackage == context.packageName)) { + if (!isMarshmallowPlus() || (isMarshmallowPlus() && context.isDefaultDialer())) { activity!!.handlePermission(PERMISSION_WRITE_CALL_LOG) { if (it) { activity!!.handlePermission(PERMISSION_READ_CALL_LOG) {