InCallService.VideoCall.Callback

public static abstract class InCallService.VideoCall.Callback
extends Object

java.lang.Object
   ↳ android.telecom.InCallService.VideoCall.Callback


The InCallService extends this class to provide a means of receiving callbacks from the Connection.VideoProvider.

When the InCallService receives the Call.Callback.onVideoCallChanged(Call, VideoCall) callback, it should create an instance its InCallService.VideoCall.Callback implementation and set it on the InCallService.VideoCall using InCallService.VideoCall.registerCallback(Callback).

Summary

Public constructors

InCallService.VideoCall.Callback()

Public methods

abstract void onCallDataUsageChanged(long dataUsage)

Handles an update to the total data used for the current video session.

abstract void onCallSessionEvent(int event)

Handles events related to the current video session which the InCallService may wish to handle.

abstract void onCameraCapabilitiesChanged(VideoProfile.CameraCapabilities cameraCapabilities)

Handles a change in the capabilities of the currently selected camera.

abstract void onPeerDimensionsChanged(int width, int height)

Handles a change to the video dimensions from the peer device.

abstract void onSessionModifyRequestReceived(VideoProfile videoProfile)

Called when the Connection.VideoProvider receives a session modification request from the peer device.

abstract void onSessionModifyResponseReceived(int status, VideoProfile requestedProfile, VideoProfile responseProfile)

Called when the Connection.VideoProvider receives a response to a session modification request previously sent to the peer device.

abstract void onVideoQualityChanged(int videoQuality)

Handles a change to the video quality.

Inherited methods

Public constructors

InCallService.VideoCall.Callback

added in API level 23
public InCallService.VideoCall.Callback ()

Public methods

onCallDataUsageChanged

added in API level 23
public abstract void onCallDataUsageChanged (long dataUsage)

Handles an update to the total data used for the current video session.

Used by the Connection.VideoProvider in response to InCallService.VideoCall.requestCallDataUsage(). May also be called periodically by the Connection.VideoProvider.

Callback originates from Connection.VideoProvider.setCallDataUsage(long).

Parameters
dataUsage long: The updated data usage (in bytes).

onCallSessionEvent

added in API level 23
public abstract void onCallSessionEvent (int event)

Handles events related to the current video session which the InCallService may wish to handle. These are separate from requested changes to the session due to the underlying protocol or connection.

Callback originates from Connection.VideoProvider.handleCallSessionEvent(int).

Parameters
event int: The event. Valid values are: Connection.VideoProvider.SESSION_EVENT_RX_PAUSE, Connection.VideoProvider.SESSION_EVENT_RX_RESUME, Connection.VideoProvider.SESSION_EVENT_TX_START, Connection.VideoProvider.SESSION_EVENT_TX_STOP, Connection.VideoProvider.SESSION_EVENT_CAMERA_FAILURE, Connection.VideoProvider.SESSION_EVENT_CAMERA_READY, Connection.VideoProvider.SESSION_EVENT_CAMERA_PERMISSION_ERROR.

onCameraCapabilitiesChanged

added in API level 23
public abstract void onCameraCapabilitiesChanged (VideoProfile.CameraCapabilities cameraCapabilities)

Handles a change in the capabilities of the currently selected camera.

Used by the Connection.VideoProvider in response to InCallService.VideoCall.requestCameraCapabilities(). The Connection.VideoProvider may also report the camera capabilities after a call to InCallService.VideoCall.setCamera(String).

Callback originates from Connection.VideoProvider.changeCameraCapabilities(VideoProfile.CameraCapabilities).

Parameters
cameraCapabilities VideoProfile.CameraCapabilities: The changed camera capabilities.

onPeerDimensionsChanged

added in API level 23
public abstract void onPeerDimensionsChanged (int width, 
                int height)

Handles a change to the video dimensions from the peer device. This could happen if, for example, the peer changes orientation of their device, or switches cameras.

Callback originates from Connection.VideoProvider.changePeerDimensions(int, int).

Parameters
width int: The updated peer video width.

height int: The updated peer video height.

onSessionModifyRequestReceived

added in API level 23
public abstract void onSessionModifyRequestReceived (VideoProfile videoProfile)

Called when the Connection.VideoProvider receives a session modification request from the peer device.

The InCallService may potentially prompt the user to confirm whether they wish to accept the request, or decide to automatically accept the request. In either case the InCallService should call InCallService.VideoCall.sendSessionModifyResponse(VideoProfile) to indicate the video profile agreed upon.

Callback originates from Connection.VideoProvider.receiveSessionModifyRequest(VideoProfile).

Parameters
videoProfile VideoProfile: The requested video profile.

onSessionModifyResponseReceived

added in API level 23
public abstract void onSessionModifyResponseReceived (int status, 
                VideoProfile requestedProfile, 
                VideoProfile responseProfile)

Called when the Connection.VideoProvider receives a response to a session modification request previously sent to the peer device.

The new video state should not be considered active by the InCallService until the Call video state changes (the Call.Callback.onDetailsChanged(Call, Call.Details) callback is triggered when the video state changes).

Callback originates from Connection.VideoProvider.receiveSessionModifyResponse(int, VideoProfile, VideoProfile).

Parameters
status int: Status of the session modify request. Valid values are Connection.VideoProvider.SESSION_MODIFY_REQUEST_SUCCESS, Connection.VideoProvider.SESSION_MODIFY_REQUEST_FAIL, Connection.VideoProvider.SESSION_MODIFY_REQUEST_INVALID, Connection.VideoProvider.SESSION_MODIFY_REQUEST_TIMED_OUT, Connection.VideoProvider.SESSION_MODIFY_REQUEST_REJECTED_BY_REMOTE.

requestedProfile VideoProfile: The original request which was sent to the peer device.

responseProfile VideoProfile: The actual profile changes made by the peer device.

onVideoQualityChanged

added in API level 23
public abstract void onVideoQualityChanged (int videoQuality)

Handles a change to the video quality.

Callback originates from Connection.VideoProvider.changeVideoQuality(int).

Parameters
videoQuality int: The updated peer video quality. Valid values: VideoProfile.QUALITY_HIGH, VideoProfile.QUALITY_MEDIUM, VideoProfile.QUALITY_LOW, VideoProfile.QUALITY_DEFAULT.