mirror of
https://github.com/SimpleMobileTools/Simple-Contacts.git
synced 2025-06-05 21:59:27 +02:00
adding the call confirmation dialog
This commit is contained in:
@ -0,0 +1,30 @@
|
||||
package com.simplemobiletools.contacts.dialogs
|
||||
|
||||
import android.support.v7.app.AlertDialog
|
||||
import android.view.animation.AnimationUtils
|
||||
import com.simplemobiletools.commons.activities.BaseSimpleActivity
|
||||
import com.simplemobiletools.commons.extensions.setupDialogStuff
|
||||
import com.simplemobiletools.contacts.R
|
||||
import com.simplemobiletools.contacts.models.Contact
|
||||
import kotlinx.android.synthetic.main.dialog_call_confirmation.view.*
|
||||
|
||||
class CallConfirmationDialog(val activity: BaseSimpleActivity, val contact: Contact, private val callback: () -> Unit) {
|
||||
private var view = activity.layoutInflater.inflate(R.layout.dialog_call_confirmation, null)
|
||||
|
||||
init {
|
||||
AlertDialog.Builder(activity)
|
||||
.setNegativeButton(R.string.cancel, null)
|
||||
.create().apply {
|
||||
val title = String.format(activity.getString(R.string.call_person), contact.getFullName())
|
||||
activity.setupDialogStuff(view, this, titleText = title) {
|
||||
view.call_confirm_phone.apply {
|
||||
startAnimation(AnimationUtils.loadAnimation(activity, R.anim.pulsing_animation))
|
||||
setOnClickListener {
|
||||
callback.invoke()
|
||||
dismiss()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -14,6 +14,7 @@ import com.simplemobiletools.commons.models.RadioItem
|
||||
import com.simplemobiletools.contacts.BuildConfig
|
||||
import com.simplemobiletools.contacts.R
|
||||
import com.simplemobiletools.contacts.activities.SimpleActivity
|
||||
import com.simplemobiletools.contacts.dialogs.CallConfirmationDialog
|
||||
import com.simplemobiletools.contacts.helpers.ContactsHelper
|
||||
import com.simplemobiletools.contacts.helpers.SMT_PRIVATE
|
||||
import com.simplemobiletools.contacts.helpers.VcfExporter
|
||||
@ -36,6 +37,16 @@ fun SimpleActivity.startCallIntent(recipient: String) {
|
||||
}
|
||||
|
||||
fun SimpleActivity.tryStartCall(contact: Contact) {
|
||||
if (config.showCallConfirmation) {
|
||||
CallConfirmationDialog(this, contact) {
|
||||
startCall(contact)
|
||||
}
|
||||
} else {
|
||||
startCall(contact)
|
||||
}
|
||||
}
|
||||
|
||||
fun SimpleActivity.startCall(contact: Contact) {
|
||||
val numbers = contact.phoneNumbers
|
||||
if (numbers.size == 1) {
|
||||
startCallIntent(numbers.first().value)
|
||||
|
Reference in New Issue
Block a user