template call service

This commit is contained in:
nganhkhoa 2024-07-16 21:35:14 +07:00
parent 59bf1ade88
commit 10e4018ac1
2 changed files with 48 additions and 0 deletions

View File

@ -0,0 +1,26 @@
package com.bshield.caller
import android.telecom.Connection
import android.telecom.DisconnectCause
class CallConnection() : Connection() {
// private var clientManager = ClientManager.getInstance(context)
// init {
// audioModeIsVoip = true
// }
// override fun onDisconnect() {
// clientManager.endCall(this)
// }
//
// override fun onAnswer() {
// setActive()
// clientManager.answerCall(this)
// }
//
// override fun onReject() {
// clientManager.rejectCall(this)
// }
}

View File

@ -0,0 +1,22 @@
package com.bshield.caller
import android.net.Uri
import android.telecom.Connection
import android.telecom.ConnectionRequest
import android.telecom.ConnectionService
import android.telecom.PhoneAccountHandle
import android.telecom.TelecomManager
class CallConnectionService : ConnectionService() {
override fun onCreateIncomingConnection(
connectionManagerPhoneAccount: PhoneAccountHandle?,
request: ConnectionRequest?
): Connection {
val from = request?.extras?.getString("from")
val connection = CallConnection()
connection.setAddress(Uri.parse("tel:$from"), TelecomManager.PRESENTATION_ALLOWED)
connection.connectionProperties = Connection.PROPERTY_SELF_MANAGED
connection.setRinging()
return connection
}
}