CallControlCallback
interface CallControlCallback
android.telecom.CallControlCallback |
CallControlCallback relays call updates (that require a response) from the Telecom framework out to the application.This can include operations which the app must implement on a Call due to the presence of other calls on the device, requests relayed from a Bluetooth device, or from another calling surface.
All CallControlCallbacks are transactional, meaning that a client must complete the Consumer
via Consumer.accept(Object)
in order to complete the CallControlCallbacks. If a CallControlCallbacks can be completed, the Consumer.accept(Object)
should be called with Boolean.TRUE
. Otherwise, Consumer.accept(Object)
should be called with Boolean.FALSE
to represent the CallControlCallbacks cannot be completed on the client side.
Note: Each CallEventCallback has a timeout of 5000 milliseconds. Failing to complete the Consumer
before the timeout will result in a failed transaction.
Summary
Public methods | |
---|---|
abstract Unit |
Telecom is informing the client to answer an incoming call and set it to active. |
abstract Unit |
onCallStreamingStarted(wasCompleted: Consumer<Boolean!>) Telecom is informing the client to set the call in streaming. |
abstract Unit |
onDisconnect(disconnectCause: DisconnectCause, wasCompleted: Consumer<Boolean!>) Telecom is informing the client to disconnect the call |
abstract Unit |
onSetActive(wasCompleted: Consumer<Boolean!>) Telecom is informing the client to set the call active |
abstract Unit |
onSetInactive(wasCompleted: Consumer<Boolean!>) Telecom is informing the client to set the call inactive. |
Public methods
onAnswer
abstract fun onAnswer(
videoState: Int,
wasCompleted: Consumer<Boolean!>
): Unit
Telecom is informing the client to answer an incoming call and set it to active.
Parameters | |
---|---|
videoState |
Int: the video state Value is android.telecom.CallAttributes#AUDIO_CALL , or android.telecom.CallAttributes#VIDEO_CALL |
wasCompleted |
Consumer<Boolean!>: The Consumer to be completed. If the client can answer the call on their end, Consumer.accept(Object) should be called with Boolean.TRUE . Otherwise,Consumer.accept(Object) should be called with Boolean.FALSE . However, Telecom will still disconnect the call and remove it from tracking. This value cannot be null . |
onCallStreamingStarted
abstract fun onCallStreamingStarted(wasCompleted: Consumer<Boolean!>): Unit
Telecom is informing the client to set the call in streaming.
Parameters | |
---|---|
wasCompleted |
Consumer<Boolean!>: The Consumer to be completed. If the client can stream the call on their end, Consumer.accept(Object) should be called with Boolean.TRUE . Otherwise, Consumer.accept(Object) should be called with Boolean.FALSE . This value cannot be null . |
onDisconnect
abstract fun onDisconnect(
disconnectCause: DisconnectCause,
wasCompleted: Consumer<Boolean!>
): Unit
Telecom is informing the client to disconnect the call
Parameters | |
---|---|
disconnectCause |
DisconnectCause: represents the cause for disconnecting the call. This value cannot be null . |
wasCompleted |
Consumer<Boolean!>: The Consumer to be completed. If the client can disconnect the call on their end, Consumer.accept(Object) should be called with Boolean.TRUE . Otherwise,Consumer.accept(Object) should be called with Boolean.FALSE . However, Telecom will still disconnect the call and remove it from tracking. This value cannot be null . |
onSetActive
abstract fun onSetActive(wasCompleted: Consumer<Boolean!>): Unit
Telecom is informing the client to set the call active
Parameters | |
---|---|
wasCompleted |
Consumer<Boolean!>: The Consumer to be completed. If the client can set the call active on their end, the Consumer.accept(Object) should be called with Boolean.TRUE . Otherwise, Consumer.accept(Object) should be called with Boolean.FALSE . Telecom will effectively ignore the remote setActive request and the call will remain in whatever state it is in. This value cannot be null . |
onSetInactive
abstract fun onSetInactive(wasCompleted: Consumer<Boolean!>): Unit
Telecom is informing the client to set the call inactive. This is the same as holding a call for two endpoints but can be extended to setting a meeting inactive.
Parameters | |
---|---|
wasCompleted |
Consumer<Boolean!>: The Consumer to be completed. If the client can set the call inactive on their end, the Consumer.accept(Object) should be called with Boolean.TRUE . Otherwise, Consumer.accept(Object) should be called with Boolean.FALSE . Telecom will effectively ignore the remote setInactive request and the call will remain in whatever state it is in. This value cannot be null . |