# RemoteConnection.VideoProvider.Callback

Added in[API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Summary:[Ctors](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider.Callback#pubctors)\|[Methods](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider.Callback#pubmethods)\|[Inherited Methods](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider.Callback#inhmethods)  

# RemoteConnection.VideoProvider.Callback

*** ** * ** ***

[Kotlin](https://developer.android.com/reference/kotlin/android/telecom/RemoteConnection.VideoProvider.Callback "View this page in Kotlin")\|Java

`
public
static

abstract
class
RemoteConnection.VideoProvider.Callback
`  
`

extends `[Object](https://developer.android.com/reference/java/lang/Object)`


``


`

|---|---------------------------------------------------------|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.telecom.RemoteConnection.VideoProvider.Callback |

<br />

*** ** * ** ***

Callback class used by the[RemoteConnection.VideoProvider](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider)to relay events from the[Connection.VideoProvider](https://developer.android.com/reference/android/telecom/Connection.VideoProvider).

## Summary

|                                                      ### Public constructors                                                      ||
|--------------------------------------------------------------------------------------------------------------------------------|---|
| ` `[Callback](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider.Callback#Callback())`() ` |

|                                                                                                                                                                                                                                                                                                                                                                                                                                                                         ### Public methods                                                                                                                                                                                                                                                                                                                                                                                                                                                                          ||
|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` void` | ` `[onCallDataUsageChanged](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider.Callback#onCallDataUsageChanged(android.telecom.RemoteConnection.VideoProvider,%20long))`(`[RemoteConnection.VideoProvider](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider)` videoProvider, long dataUsage) ` Reports a change in the data usage (in bytes) received from the[Connection.VideoProvider](https://developer.android.com/reference/android/telecom/Connection.VideoProvider)associated with a[RemoteConnection](https://developer.android.com/reference/android/telecom/RemoteConnection).                                                                                                                                                                                                                                                                                         |
| ` void` | ` `[onCallSessionEvent](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider.Callback#onCallSessionEvent(android.telecom.RemoteConnection.VideoProvider,%20int))`(`[RemoteConnection.VideoProvider](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider)` videoProvider, int event) ` Reports a call session event received from the[Connection.VideoProvider](https://developer.android.com/reference/android/telecom/Connection.VideoProvider)associated with a[RemoteConnection](https://developer.android.com/reference/android/telecom/RemoteConnection).                                                                                                                                                                                                                                                                                                                        |
| ` void` | ` `[onCameraCapabilitiesChanged](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider.Callback#onCameraCapabilitiesChanged(android.telecom.RemoteConnection.VideoProvider,%20android.telecom.VideoProfile.CameraCapabilities))`(`[RemoteConnection.VideoProvider](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider)` videoProvider, `[VideoProfile.CameraCapabilities](https://developer.android.com/reference/android/telecom/VideoProfile.CameraCapabilities)` cameraCapabilities) ` Reports a change in the capabilities of the current camera, received from the[Connection.VideoProvider](https://developer.android.com/reference/android/telecom/Connection.VideoProvider)associated with a[RemoteConnection](https://developer.android.com/reference/android/telecom/RemoteConnection).                                                                                     |
| ` void` | ` `[onPeerDimensionsChanged](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider.Callback#onPeerDimensionsChanged(android.telecom.RemoteConnection.VideoProvider,%20int,%20int))`(`[RemoteConnection.VideoProvider](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider)` videoProvider, int width, int height) ` Reports a change in the peer video dimensions received from the[Connection.VideoProvider](https://developer.android.com/reference/android/telecom/Connection.VideoProvider)associated with a[RemoteConnection](https://developer.android.com/reference/android/telecom/RemoteConnection).                                                                                                                                                                                                                                                                          |
| ` void` | ` `[onSessionModifyRequestReceived](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider.Callback#onSessionModifyRequestReceived(android.telecom.RemoteConnection.VideoProvider,%20android.telecom.VideoProfile))`(`[RemoteConnection.VideoProvider](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider)` videoProvider, `[VideoProfile](https://developer.android.com/reference/android/telecom/VideoProfile)` videoProfile) ` Reports a session modification request received from the[Connection.VideoProvider](https://developer.android.com/reference/android/telecom/Connection.VideoProvider)associated with a[RemoteConnection](https://developer.android.com/reference/android/telecom/RemoteConnection).                                                                                                                                                                   |
| ` void` | ` `[onSessionModifyResponseReceived](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider.Callback#onSessionModifyResponseReceived(android.telecom.RemoteConnection.VideoProvider,%20int,%20android.telecom.VideoProfile,%20android.telecom.VideoProfile))`(`[RemoteConnection.VideoProvider](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider)` videoProvider, int status, `[VideoProfile](https://developer.android.com/reference/android/telecom/VideoProfile)` requestedProfile, `[VideoProfile](https://developer.android.com/reference/android/telecom/VideoProfile)` responseProfile) ` Reports a session modification response received from the[Connection.VideoProvider](https://developer.android.com/reference/android/telecom/Connection.VideoProvider)associated with a[RemoteConnection](https://developer.android.com/reference/android/telecom/RemoteConnection). |
| ` void` | ` `[onVideoQualityChanged](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider.Callback#onVideoQualityChanged(android.telecom.RemoteConnection.VideoProvider,%20int))`(`[RemoteConnection.VideoProvider](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider)` videoProvider, int videoQuality) ` Reports a change in the video quality received from the[Connection.VideoProvider](https://developer.android.com/reference/android/telecom/Connection.VideoProvider)associated with a[RemoteConnection](https://developer.android.com/reference/android/telecom/RemoteConnection).                                                                                                                                                                                                                                                                                                  |

| ### Inherited methods |
|-----------------------|---|
| From class` `[java.lang.Object](https://developer.android.com/reference/java/lang/Object)` ` |--------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | ` `[Object](https://developer.android.com/reference/java/lang/Object)          | ` `[clone](https://developer.android.com/reference/java/lang/Object#clone())`() ` Creates and returns a copy of this object.                                                                                                                                                      | | ` boolean`                                                                     | ` `[equals](https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object))`(`[Object](https://developer.android.com/reference/java/lang/Object)` obj) ` Indicates whether some other object is "equal to" this one.                                           | | ` void`                                                                        | ` `[finalize](https://developer.android.com/reference/java/lang/Object#finalize())`() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.                                                          | | ` final `[Class](https://developer.android.com/reference/java/lang/Class)`<?>` | ` `[getClass](https://developer.android.com/reference/java/lang/Object#getClass())`() ` Returns the runtime class of this`Object`.                                                                                                                                                | | ` int`                                                                         | ` `[hashCode](https://developer.android.com/reference/java/lang/Object#hashCode())`() ` Returns a hash code value for the object.                                                                                                                                                 | | ` final void`                                                                  | ` `[notify](https://developer.android.com/reference/java/lang/Object#notify())`() ` Wakes up a single thread that is waiting on this object's monitor.                                                                                                                            | | ` final void`                                                                  | ` `[notifyAll](https://developer.android.com/reference/java/lang/Object#notifyAll())`() ` Wakes up all threads that are waiting on this object's monitor.                                                                                                                         | | ` `[String](https://developer.android.com/reference/java/lang/String)          | ` `[toString](https://developer.android.com/reference/java/lang/Object#toString())`() ` Returns a string representation of the object.                                                                                                                                            | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long,%20int))`(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed. | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait(long))`(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*, or until a certain amount of real time has elapsed.                   | | ` final void`                                                                  | ` `[wait](https://developer.android.com/reference/java/lang/Object#wait())`() ` Causes the current thread to wait until it is awakened, typically by being*notified* or*interrupted*.                                                                                             | ||

## Public constructors

### Callback

```
public Callback ()
```

<br />

<br />

## Public methods

### onCallDataUsageChanged

Added in[API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void onCallDataUsageChanged (RemoteConnection.VideoProvider videoProvider, 
                long dataUsage)
```

Reports a change in the data usage (in bytes) received from the[Connection.VideoProvider](https://developer.android.com/reference/android/telecom/Connection.VideoProvider)associated with a[RemoteConnection](https://developer.android.com/reference/android/telecom/RemoteConnection).

<br />

|                                                                                                 Parameters                                                                                                 ||
|-----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `videoProvider` | `RemoteConnection.VideoProvider`: The[RemoteConnection.VideoProvider](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider)invoking this method. <br /> |
| `dataUsage`     | `long`: The updated data usage (in bytes). <br />                                                                                                                                         |

**See also:**

- [InCallService.VideoCall.Callback.onCallDataUsageChanged(long)](https://developer.android.com/reference/android/telecom/InCallService.VideoCall.Callback#onCallDataUsageChanged(long))
- [Connection.VideoProvider.setCallDataUsage(long)](https://developer.android.com/reference/android/telecom/Connection.VideoProvider#setCallDataUsage(long))  

### onCallSessionEvent

Added in[API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void onCallSessionEvent (RemoteConnection.VideoProvider videoProvider, 
                int event)
```

Reports a call session event received from the[Connection.VideoProvider](https://developer.android.com/reference/android/telecom/Connection.VideoProvider)associated with a[RemoteConnection](https://developer.android.com/reference/android/telecom/RemoteConnection).

<br />

|                                                                                                 Parameters                                                                                                 ||
|-----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `videoProvider` | `RemoteConnection.VideoProvider`: The[RemoteConnection.VideoProvider](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider)invoking this method. <br /> |
| `event`         | `int`: The event. <br />                                                                                                                                                                  |

**See also:**

- [InCallService.VideoCall.Callback.onCallSessionEvent(int)](https://developer.android.com/reference/android/telecom/InCallService.VideoCall.Callback#onCallSessionEvent(int))
- [Connection.VideoProvider.handleCallSessionEvent(int)](https://developer.android.com/reference/android/telecom/Connection.VideoProvider#handleCallSessionEvent(int))  

### onCameraCapabilitiesChanged

Added in[API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void onCameraCapabilitiesChanged (RemoteConnection.VideoProvider videoProvider, 
                VideoProfile.CameraCapabilities cameraCapabilities)
```

Reports a change in the capabilities of the current camera, received from the[Connection.VideoProvider](https://developer.android.com/reference/android/telecom/Connection.VideoProvider)associated with a[RemoteConnection](https://developer.android.com/reference/android/telecom/RemoteConnection).

<br />

|                                                                                                   Parameters                                                                                                    ||
|----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `videoProvider`      | `RemoteConnection.VideoProvider`: The[RemoteConnection.VideoProvider](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider)invoking this method. <br /> |
| `cameraCapabilities` | `VideoProfile.CameraCapabilities`: The changed camera capabilities. <br />                                                                                                                |

**See also:**

- [InCallService.VideoCall.Callback.onCameraCapabilitiesChanged(VideoProfile.CameraCapabilities)](https://developer.android.com/reference/android/telecom/InCallService.VideoCall.Callback#onCameraCapabilitiesChanged(android.telecom.VideoProfile.CameraCapabilities))
- [Connection.VideoProvider.changeCameraCapabilities(VideoProfile.CameraCapabilities)](https://developer.android.com/reference/android/telecom/Connection.VideoProvider#changeCameraCapabilities(android.telecom.VideoProfile.CameraCapabilities))  

### onPeerDimensionsChanged

Added in[API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void onPeerDimensionsChanged (RemoteConnection.VideoProvider videoProvider, 
                int width, 
                int height)
```

Reports a change in the peer video dimensions received from the[Connection.VideoProvider](https://developer.android.com/reference/android/telecom/Connection.VideoProvider)associated with a[RemoteConnection](https://developer.android.com/reference/android/telecom/RemoteConnection).

<br />

|                                                                                                 Parameters                                                                                                 ||
|-----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `videoProvider` | `RemoteConnection.VideoProvider`: The[RemoteConnection.VideoProvider](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider)invoking this method. <br /> |
| `width`         | `int`: The updated peer video width. <br />                                                                                                                                               |
| `height`        | `int`: The updated peer video height. <br />                                                                                                                                              |

**See also:**

- [InCallService.VideoCall.Callback.onPeerDimensionsChanged(int, int)](https://developer.android.com/reference/android/telecom/InCallService.VideoCall.Callback#onPeerDimensionsChanged(int,%20int))
- [Connection.VideoProvider.changePeerDimensions(int, int)](https://developer.android.com/reference/android/telecom/Connection.VideoProvider#changePeerDimensions(int,%20int))  

### onSessionModifyRequestReceived

Added in[API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void onSessionModifyRequestReceived (RemoteConnection.VideoProvider videoProvider, 
                VideoProfile videoProfile)
```

Reports a session modification request received from the[Connection.VideoProvider](https://developer.android.com/reference/android/telecom/Connection.VideoProvider)associated with a[RemoteConnection](https://developer.android.com/reference/android/telecom/RemoteConnection).

<br />

|                                                                                                 Parameters                                                                                                 ||
|-----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `videoProvider` | `RemoteConnection.VideoProvider`: The[RemoteConnection.VideoProvider](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider)invoking this method. <br /> |
| `videoProfile`  | `VideoProfile`: The requested video call profile. <br />                                                                                                                                  |

**See also:**

- [InCallService.VideoCall.Callback.onSessionModifyRequestReceived(VideoProfile)](https://developer.android.com/reference/android/telecom/InCallService.VideoCall.Callback#onSessionModifyRequestReceived(android.telecom.VideoProfile))
- [Connection.VideoProvider.receiveSessionModifyRequest(VideoProfile)](https://developer.android.com/reference/android/telecom/Connection.VideoProvider#receiveSessionModifyRequest(android.telecom.VideoProfile))  

### onSessionModifyResponseReceived

Added in[API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void onSessionModifyResponseReceived (RemoteConnection.VideoProvider videoProvider, 
                int status, 
                VideoProfile requestedProfile, 
                VideoProfile responseProfile)
```

Reports a session modification response received from the[Connection.VideoProvider](https://developer.android.com/reference/android/telecom/Connection.VideoProvider)associated with a[RemoteConnection](https://developer.android.com/reference/android/telecom/RemoteConnection).

<br />

|                                                                                                  Parameters                                                                                                   ||
|--------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `videoProvider`    | `RemoteConnection.VideoProvider`: The[RemoteConnection.VideoProvider](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider)invoking this method. <br /> |
| `status`           | `int`: Status of the session modify request. <br />                                                                                                                                       |
| `requestedProfile` | `VideoProfile`: The original request which was sent to the peer device. <br />                                                                                                            |
| `responseProfile`  | `VideoProfile`: The actual profile changes made by the peer device. <br />                                                                                                                |

**See also:**

- [InCallService.VideoCall.Callback.onSessionModifyResponseReceived(int, VideoProfile, VideoProfile)](https://developer.android.com/reference/android/telecom/InCallService.VideoCall.Callback#onSessionModifyResponseReceived(int,%20android.telecom.VideoProfile,%20android.telecom.VideoProfile))
- [Connection.VideoProvider.receiveSessionModifyResponse(int, VideoProfile, VideoProfile)](https://developer.android.com/reference/android/telecom/Connection.VideoProvider#receiveSessionModifyResponse(int,%20android.telecom.VideoProfile,%20android.telecom.VideoProfile))  

### onVideoQualityChanged

Added in[API level 23](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public void onVideoQualityChanged (RemoteConnection.VideoProvider videoProvider, 
                int videoQuality)
```

Reports a change in the video quality received from the[Connection.VideoProvider](https://developer.android.com/reference/android/telecom/Connection.VideoProvider)associated with a[RemoteConnection](https://developer.android.com/reference/android/telecom/RemoteConnection).

<br />

|                                                                                                 Parameters                                                                                                 ||
|-----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `videoProvider` | `RemoteConnection.VideoProvider`: The[RemoteConnection.VideoProvider](https://developer.android.com/reference/android/telecom/RemoteConnection.VideoProvider)invoking this method. <br /> |
| `videoQuality`  | `int`: The updated peer video quality. <br />                                                                                                                                             |

**See also:**

- [InCallService.VideoCall.Callback.onVideoQualityChanged(int)](https://developer.android.com/reference/android/telecom/InCallService.VideoCall.Callback#onVideoQualityChanged(int))
- [Connection.VideoProvider.changeVideoQuality(int)](https://developer.android.com/reference/android/telecom/Connection.VideoProvider#changeVideoQuality(int))