CallControlCallback
public 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 void | onAnswer(int videoState, Consumer<Boolean> wasCompleted) Telecom is informing the client to answer an incoming call and set it to active. |
abstract void | onCallStreamingStarted(Consumer<Boolean> wasCompleted) Telecom is informing the client to set the call in streaming. |
abstract void | onDisconnect(DisconnectCause disconnectCause, Consumer<Boolean> wasCompleted) Telecom is informing the client to disconnect the call |
abstract void | onSetActive(Consumer<Boolean> wasCompleted) Telecom is informing the client to set the call active |
abstract void | onSetInactive(Consumer<Boolean> wasCompleted) Telecom is informing the client to set the call inactive. |
Public methods
onAnswer
public abstract void onAnswer (int videoState, Consumer<Boolean> wasCompleted)
Telecom is informing the client to answer an incoming call and set it to active.
| Parameters | |
|---|---|
videoState | int: the video state Value is CallAttributes.AUDIO_CALL, or CallAttributes.VIDEO_CALL |
wasCompleted | Consumer: 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
public abstract void onCallStreamingStarted (Consumer<Boolean> wasCompleted)
Telecom is informing the client to set the call in streaming.
| Parameters | |
|---|---|
wasCompleted | Consumer: 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
public abstract void onDisconnect (DisconnectCause disconnectCause, Consumer<Boolean> wasCompleted)
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: 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
public abstract void onSetActive (Consumer<Boolean> wasCompleted)
Telecom is informing the client to set the call active
| Parameters | |
|---|---|
wasCompleted | Consumer: 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
public abstract void onSetInactive (Consumer<Boolean> wasCompleted)
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: 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. |