diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/CallActivity.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/CallActivity.kt index a2980290..7ca4170e 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/CallActivity.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/activities/CallActivity.kt @@ -17,10 +17,14 @@ import android.view.WindowManager import android.widget.RemoteViews import androidx.core.app.NotificationCompat import com.simplemobiletools.commons.extensions.* -import com.simplemobiletools.commons.helpers.* +import com.simplemobiletools.commons.helpers.MINUTE_SECONDS +import com.simplemobiletools.commons.helpers.isOreoMr1Plus +import com.simplemobiletools.commons.helpers.isOreoPlus +import com.simplemobiletools.commons.helpers.isQPlus import com.simplemobiletools.contacts.pro.R import com.simplemobiletools.contacts.pro.extensions.audioManager import com.simplemobiletools.contacts.pro.extensions.config +import com.simplemobiletools.contacts.pro.extensions.startCallIntent import com.simplemobiletools.contacts.pro.helpers.ACCEPT_CALL import com.simplemobiletools.contacts.pro.helpers.CallManager import com.simplemobiletools.contacts.pro.helpers.DECLINE_CALL @@ -201,8 +205,10 @@ class CallActivity : SimpleActivity() { } private fun showPhoneAccountPicker() { - if (!hasPermission(PERMISSION_READ_PHONE_STATE)) { - return + if (callContact == null || callContact!!.number.isEmpty()) { + toast(R.string.unknown_error_occurred) + } else { + startCallIntent(callContact!!.number) } } diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/CallManager.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/CallManager.kt index 3be9e194..27074a07 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/CallManager.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/helpers/CallManager.kt @@ -46,7 +46,7 @@ class CallManager { } fun getCallContact(context: Context): CallContact? { - val callContact = CallContact("", "") + val callContact = CallContact("", "", "") if (call == null) { return callContact } @@ -54,6 +54,7 @@ class CallManager { val uri = Uri.decode(call!!.details.handle.toString()) if (uri.startsWith("tel:")) { val number = uri.substringAfter("tel:") + callContact.number = number callContact.name = context.getNameFromPhoneNumber(number) callContact.photoUri = context.getPhotoUriFromPhoneNumber(number) } diff --git a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/models/CallContact.kt b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/models/CallContact.kt index 86a3ae69..2390f8b7 100644 --- a/app/src/main/kotlin/com/simplemobiletools/contacts/pro/models/CallContact.kt +++ b/app/src/main/kotlin/com/simplemobiletools/contacts/pro/models/CallContact.kt @@ -1,4 +1,4 @@ package com.simplemobiletools.contacts.pro.models // a simpler Contact model containing just info needed at the call screen -data class CallContact(var name: String, var photoUri: String) +data class CallContact(var name: String, var photoUri: String, var number: String)