Callback
abstract class Callback
kotlin.Any | |
↳ | android.telecom.Call.Callback |
Defines callbacks which inform the InCallService
of changes to a Call
. These callbacks can originate from the Telecom framework, or a ConnectionService
implementation.
You can handle these callbacks by extending the Callback
class and overriding the callbacks that your InCallService
is interested in. The callback methods include the Call
for which the callback applies, allowing reuse of a single instance of your Callback
implementation, if desired.
Use Call.registerCallback(Callback)
to register your callback(s). Ensure Call.unregisterCallback(Callback)
is called when you no longer require callbacks (typically in InCallService.onCallRemoved(Call)
). Note: Callbacks which occur before you call Call.registerCallback(Callback)
will not reach your implementation of Callback
, so it is important to register your callback as soon as your InCallService
is notified of a new call via InCallService.onCallAdded(Call)
.
Summary
Constants | |
---|---|
static Int |
Handover failure reason returned via |
static Int |
Handover failure reason returned via |
static Int |
Handover failure reason returned via |
static Int |
Handover failure reason returned via |
static Int |
Handover failure reason returned via |
Public constructors | |
---|---|
Callback() |
Public methods | |
---|---|
open Unit |
onCallDestroyed(call: Call!) Invoked when the |
open Unit |
onCannedTextResponsesLoaded(call: Call!, cannedTextResponses: MutableList<String!>!) Invoked when the text messages that can be used as responses to the incoming |
open Unit |
onChildrenChanged(call: Call!, children: MutableList<Call!>!) Invoked when the children of this |
open Unit |
onConferenceableCallsChanged(call: Call!, conferenceableCalls: MutableList<Call!>!) Invoked upon changes to the set of |
open Unit |
onConnectionEvent(call: Call!, event: String!, extras: Bundle!) Invoked when a |
open Unit |
onDetailsChanged(call: Call!, details: Call.Details!) Invoked when the details of this |
open Unit |
onHandoverComplete(call: Call!) Invoked when Call handover from one |
open Unit |
onHandoverFailed(call: Call!, failureReason: Int) Invoked when Call handover from one |
open Unit |
onParentChanged(call: Call!, parent: Call!) Invoked when the parent of this |
open Unit |
onPostDialWait(call: Call!, remainingPostDialSequence: String!) Invoked when the post-dial sequence in the outgoing |
open Unit |
onRttInitiationFailure(call: Call!, reason: Int) Invoked when the RTT session failed to initiate for some reason, including rejection by the remote party. |
open Unit |
onRttModeChanged(call: Call!, mode: Int) Invoked when the RTT mode changes for this call. |
open Unit |
onRttRequest(call: Call!, id: Int) Invoked when the remote end of the connection has requested that an RTT communication channel be opened. |
open Unit |
onRttStatusChanged(call: Call!, enabled: Boolean, rttCall: Call.RttCall!) Invoked when the call's RTT status changes, either from off to on or from on to off. |
open Unit |
onStateChanged(call: Call!, state: Int) Invoked when the state of this |
open Unit |
onVideoCallChanged(call: Call!, videoCall: InCallService.VideoCall!) Invoked when the |
Constants
HANDOVER_FAILURE_DEST_APP_REJECTED
static val HANDOVER_FAILURE_DEST_APP_REJECTED: Int
Handover failure reason returned via onHandoverFailed(android.telecom.Call,int)
when the app to handover the call to rejects the handover request.
Will be returned when Call.handoverTo(PhoneAccountHandle, int, Bundle)
is called and the destination PhoneAccountHandle
's ConnectionService
returns a null
Connection
from ConnectionService.onCreateOutgoingHandoverConnection(PhoneAccountHandle,
.
For more information on call handovers, see handoverTo(android.telecom.PhoneAccountHandle,int,android.os.Bundle)
.
Value: 1
HANDOVER_FAILURE_NOT_SUPPORTED
static val HANDOVER_FAILURE_NOT_SUPPORTED: Int
Handover failure reason returned via onHandoverFailed(android.telecom.Call,int)
when a handover is initiated but the source or destination app does not support handover.
Will be returned when a handover is requested via handoverTo(android.telecom.PhoneAccountHandle,int,android.os.Bundle)
and the destination PhoneAccountHandle
does not declare PhoneAccount.EXTRA_SUPPORTS_HANDOVER_TO
. May also be returned when a handover is requested at the PhoneAccountHandle
for the current call (i.e. the source call's Details.getAccountHandle()
) does not declare PhoneAccount.EXTRA_SUPPORTS_HANDOVER_FROM
.
For more information on call handovers, see handoverTo(android.telecom.PhoneAccountHandle,int,android.os.Bundle)
.
Value: 2
HANDOVER_FAILURE_ONGOING_EMERGENCY_CALL
static val HANDOVER_FAILURE_ONGOING_EMERGENCY_CALL: Int
Handover failure reason returned via onHandoverFailed(android.telecom.Call,int)
when there is ongoing emergency call.
This error code is returned when handoverTo(android.telecom.PhoneAccountHandle,int,android.os.Bundle)
is called on an emergency call, or if any other call is an emergency call.
Handovers are not permitted while there are ongoing emergency calls.
For more information on call handovers, see handoverTo(android.telecom.PhoneAccountHandle,int,android.os.Bundle)
.
Value: 4
HANDOVER_FAILURE_UNKNOWN
static val HANDOVER_FAILURE_UNKNOWN: Int
Handover failure reason returned via onHandoverFailed(android.telecom.Call,int)
when a handover fails for an unknown reason.
For more information on call handovers, see handoverTo(android.telecom.PhoneAccountHandle,int,android.os.Bundle)
.
Value: 5
HANDOVER_FAILURE_USER_REJECTED
static val HANDOVER_FAILURE_USER_REJECTED: Int
Handover failure reason returned via onHandoverFailed(android.telecom.Call,int)
when the remote user rejects the handover request.
For more information on call handovers, see handoverTo(android.telecom.PhoneAccountHandle,int,android.os.Bundle)
.
Value: 3
Public constructors
Callback
Callback()
Public methods
onCallDestroyed
open fun onCallDestroyed(call: Call!): Unit
Invoked when the Call
is destroyed. Clients should refrain from cleaning up their UI for the Call
in response to state transitions. Specifically, clients should not assume that a onStateChanged(android.telecom.Call,int)
with a state of STATE_DISCONNECTED
is the final notification the Call
will send. Rather, clients should wait for this method to be invoked.
Parameters | |
---|---|
call |
Call!: The Call being destroyed. |
onCannedTextResponsesLoaded
open fun onCannedTextResponsesLoaded(
call: Call!,
cannedTextResponses: MutableList<String!>!
): Unit
Invoked when the text messages that can be used as responses to the incoming Call
are loaded from the relevant database. See getCannedTextResponses()
.
Parameters | |
---|---|
call |
Call!: The Call invoking this method. |
cannedTextResponses |
MutableList<String!>!: The text messages useable as responses. |
onChildrenChanged
open fun onChildrenChanged(
call: Call!,
children: MutableList<Call!>!
): Unit
Invoked when the children of this Call
have changed. See getChildren()
.
Parameters | |
---|---|
call |
Call!: The Call invoking this method. |
children |
MutableList<Call!>!: The new children of the Call . |
onConferenceableCallsChanged
open fun onConferenceableCallsChanged(
call: Call!,
conferenceableCalls: MutableList<Call!>!
): Unit
Invoked upon changes to the set of Call
s with which this Call
can be conferenced.
Parameters | |
---|---|
call |
Call!: The Call being updated. |
conferenceableCalls |
MutableList<Call!>!: The Call s with which this Call can be conferenced. |
onConnectionEvent
open fun onConnectionEvent(
call: Call!,
event: String!,
extras: Bundle!
): Unit
Invoked when a Call
receives an event from its associated Connection
or Conference
.
Where possible, the Call should make an attempt to handle Connection
events which are part of the android.telecom.*
namespace. The Call should ignore any events it does not wish to handle. Unexpected events should be handled gracefully, as it is possible that a ConnectionService
has defined its own Connection events which a Call is not aware of.
See Connection.sendConnectionEvent(String, Bundle)
, Conference.sendConferenceEvent(String, Bundle)
.
Parameters | |
---|---|
call |
Call!: The Call receiving the event. |
event |
String!: The event. |
extras |
Bundle!: Extras associated with the connection event. |
onDetailsChanged
open fun onDetailsChanged(
call: Call!,
details: Call.Details!
): Unit
Invoked when the details of this Call
have changed. See getDetails()
.
Parameters | |
---|---|
call |
Call!: The Call invoking this method. |
details |
Call.Details!: A Details object describing the Call . |
onHandoverComplete
open fun onHandoverComplete(call: Call!): Unit
Invoked when Call handover from one PhoneAccount
to other PhoneAccount
has completed successfully.
For a full discussion of the handover process and the APIs involved, see android.telecom.Call#handoverTo(PhoneAccountHandle, int, Bundle)
.
Parameters | |
---|---|
call |
Call!: The call which had initiated handover. |
onHandoverFailed
open fun onHandoverFailed(
call: Call!,
failureReason: Int
): Unit
Invoked when Call handover from one PhoneAccount
to other PhoneAccount
has failed.
For a full discussion of the handover process and the APIs involved, see android.telecom.Call#handoverTo(PhoneAccountHandle, int, Bundle)
.
Parameters | |
---|---|
call |
Call!: The call which had initiated handover. |
failureReason |
Int: Error reason for failure. Value is android.telecom.Call.Callback#HANDOVER_FAILURE_DEST_APP_REJECTED , android.telecom.Call.Callback#HANDOVER_FAILURE_NOT_SUPPORTED , android.telecom.Call.Callback#HANDOVER_FAILURE_USER_REJECTED , android.telecom.Call.Callback#HANDOVER_FAILURE_ONGOING_EMERGENCY_CALL , or android.telecom.Call.Callback#HANDOVER_FAILURE_UNKNOWN |
onParentChanged
open fun onParentChanged(
call: Call!,
parent: Call!
): Unit
Invoked when the parent of this Call
has changed. See getParent()
.
Parameters | |
---|---|
call |
Call!: The Call invoking this method. |
parent |
Call!: The new parent of the Call . |
onPostDialWait
open fun onPostDialWait(
call: Call!,
remainingPostDialSequence: String!
): Unit
Invoked when the post-dial sequence in the outgoing Call
has reached a pause character. This causes the post-dial signals to stop pending user confirmation. An implementation should present this choice to the user and invoke postDialContinue(boolean)
when the user makes the choice.
Parameters | |
---|---|
call |
Call!: The Call invoking this method. |
remainingPostDialSequence |
String!: The post-dial characters that remain to be sent. |
onRttInitiationFailure
open fun onRttInitiationFailure(
call: Call!,
reason: Int
): Unit
Invoked when the RTT session failed to initiate for some reason, including rejection by the remote party.
This callback will ONLY be invoked to report a failure related to a user initiated session modification request (i.e. Call.sendRttRequest()
).
If a call is initiated with TelecomManager.EXTRA_START_CALL_WITH_RTT
specified, the availability of RTT can be determined by checking Details.PROPERTY_RTT
once the call enters state Details.STATE_ACTIVE
.
Parameters | |
---|---|
call |
Call!: The call which the RTT initiation failure occurred on. |
reason |
Int: One of the status codes defined in android.telecom.Connection.RttModifyStatus , with the exception of android.telecom.Connection.RttModifyStatus#SESSION_MODIFY_REQUEST_SUCCESS . Value is android.telecom.Connection.RttModifyStatus#SESSION_MODIFY_REQUEST_SUCCESS , android.telecom.Connection.RttModifyStatus#SESSION_MODIFY_REQUEST_FAIL , android.telecom.Connection.RttModifyStatus#SESSION_MODIFY_REQUEST_INVALID , android.telecom.Connection.RttModifyStatus#SESSION_MODIFY_REQUEST_TIMED_OUT , or android.telecom.Connection.RttModifyStatus#SESSION_MODIFY_REQUEST_REJECTED_BY_REMOTE |
onRttModeChanged
open fun onRttModeChanged(
call: Call!,
mode: Int
): Unit
Invoked when the RTT mode changes for this call.
Parameters | |
---|---|
call |
Call!: The call whose RTT mode has changed. |
mode |
Int: the new RTT mode, one of RttCall.RTT_MODE_FULL , RttCall.RTT_MODE_HCO , or RttCall.RTT_MODE_VCO |
onRttRequest
open fun onRttRequest(
call: Call!,
id: Int
): Unit
Invoked when the remote end of the connection has requested that an RTT communication channel be opened. A response to this should be sent via respondToRttRequest
with the same ID that this method is invoked with.
Parameters | |
---|---|
call |
Call!: The call which the RTT request was placed on |
id |
Int: The ID of the request. |
onRttStatusChanged
open fun onRttStatusChanged(
call: Call!,
enabled: Boolean,
rttCall: Call.RttCall!
): Unit
Invoked when the call's RTT status changes, either from off to on or from on to off.
Parameters | |
---|---|
call |
Call!: The call whose RTT status has changed. |
enabled |
Boolean: whether RTT is now enabled or disabled |
rttCall |
Call.RttCall!: the RttCall object to use for reading and writing if RTT is now on, null otherwise. |
onStateChanged
open fun onStateChanged(
call: Call!,
state: Int
): Unit
Invoked when the state of this Call
has changed. See getState()
.
Parameters | |
---|---|
call |
Call!: The Call invoking this method. |
state |
Int: The new state of the Call . Value is android.telecom.Call#STATE_NEW , android.telecom.Call#STATE_DIALING , android.telecom.Call#STATE_RINGING , android.telecom.Call#STATE_HOLDING , android.telecom.Call#STATE_ACTIVE , android.telecom.Call#STATE_DISCONNECTED , android.telecom.Call#STATE_SELECT_PHONE_ACCOUNT , android.telecom.Call#STATE_CONNECTING , android.telecom.Call#STATE_DISCONNECTING , android.telecom.Call#STATE_PULLING_CALL , android.telecom.Call#STATE_AUDIO_PROCESSING , or android.telecom.Call#STATE_SIMULATED_RINGING |
onVideoCallChanged
open fun onVideoCallChanged(
call: Call!,
videoCall: InCallService.VideoCall!
): Unit
Invoked when the Call.VideoCall
of the Call
has changed.
Parameters | |
---|---|
call |
Call!: The Call invoking this method. |
videoCall |
InCallService.VideoCall!: The Call.VideoCall associated with the Call . |