mirror of
https://github.com/SimpleMobileTools/Simple-Contacts.git
synced 2025-06-05 21:59:27 +02:00
handle call/sms/email actions if a contact has multiple emails/numbers
This commit is contained in:
@ -3,9 +3,12 @@ package com.simplemobiletools.contacts.extensions
|
||||
import android.content.Intent
|
||||
import android.net.Uri
|
||||
import com.simplemobiletools.commons.R
|
||||
import com.simplemobiletools.commons.dialogs.RadioGroupDialog
|
||||
import com.simplemobiletools.commons.extensions.toast
|
||||
import com.simplemobiletools.commons.helpers.PERMISSION_CALL_PHONE
|
||||
import com.simplemobiletools.commons.models.RadioItem
|
||||
import com.simplemobiletools.contacts.activities.SimpleActivity
|
||||
import com.simplemobiletools.contacts.models.Contact
|
||||
|
||||
fun SimpleActivity.startCallIntent(recipient: String) {
|
||||
handlePermission(PERMISSION_CALL_PHONE) {
|
||||
@ -21,3 +24,19 @@ fun SimpleActivity.startCallIntent(recipient: String) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fun SimpleActivity.tryStartCall(contact: Contact) {
|
||||
val numbers = contact.phoneNumbers
|
||||
if (numbers.size == 1) {
|
||||
startCallIntent(numbers.first().value)
|
||||
} else if (numbers.size > 1) {
|
||||
val items = ArrayList<RadioItem>()
|
||||
numbers.forEachIndexed { index, phoneNumber ->
|
||||
items.add(RadioItem(index, phoneNumber.value, phoneNumber.value))
|
||||
}
|
||||
|
||||
RadioGroupDialog(this, items) {
|
||||
startCallIntent(it as String)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user