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

# Conference

*** ** * ** ***

` public abstract class Conference `   
` ` ` extends https://developer.android.com/reference/android/telecom/Conferenceable ` ` `

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) |||
| ↳ | [android.telecom.Conferenceable](https://developer.android.com/reference/android/telecom/Conferenceable) ||
|   | ↳ | android.telecom.Conference |

<br />

*** ** * ** ***

Represents a conference call which can contain any number of `https://developer.android.com/reference/android/telecom/Connection` objects.

## Summary

| ### Constants ||
|---|---|
| `long` | `https://developer.android.com/reference/android/telecom/Conference#CONNECT_TIME_NOT_SPECIFIED` Used to indicate that the conference connection time is not specified. |

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/telecom/Conference#Conference(android.telecom.PhoneAccountHandle)(https://developer.android.com/reference/android/telecom/PhoneAccountHandle phoneAccount) ` Constructs a new Conference with a mandatory `https://developer.android.com/reference/android/telecom/PhoneAccountHandle` |

| ### Public methods ||
|---|---|
| ` final boolean` | ` https://developer.android.com/reference/android/telecom/Conference#addConnection(android.telecom.Connection)(https://developer.android.com/reference/android/telecom/Connection connection) ` Adds the specified connection as a child of this conference. |
| ` static https://developer.android.com/reference/android/telecom/Conference` | ` https://developer.android.com/reference/android/telecom/Conference#createFailedConference(android.telecom.DisconnectCause,%20android.telecom.PhoneAccountHandle)(https://developer.android.com/reference/android/telecom/DisconnectCause disconnectCause, https://developer.android.com/reference/android/telecom/PhoneAccountHandle phoneAccount) ` Return a `Conference` which represents a failed conference attempt. |
| ` final void` | ` https://developer.android.com/reference/android/telecom/Conference#destroy()() ` Tears down the conference object and any of its current connections. |
| ` final https://developer.android.com/reference/android/telecom/CallAudioState` | ` https://developer.android.com/reference/android/telecom/Conference#getCallAudioState()() ` *This method was deprecated in API level 34. Use `https://developer.android.com/reference/android/telecom/Conference#getCurrentCallEndpoint()`, `https://developer.android.com/reference/android/telecom/Conference#onAvailableCallEndpointsChanged(java.util.List<android.telecom.CallEndpoint>)` and `https://developer.android.com/reference/android/telecom/Conference#onMuteStateChanged(boolean)` instead.* |
| ` final https://developer.android.com/reference/java/util/List<https://developer.android.com/reference/android/telecom/Connection>` | ` https://developer.android.com/reference/android/telecom/Conference#getConferenceableConnections()() ` Returns the connections with which this connection can be conferenced. |
| ` final https://developer.android.com/reference/java/util/List<https://developer.android.com/reference/android/telecom/Conferenceable>` | ` https://developer.android.com/reference/android/telecom/Conference#getConferenceables()() ` Returns the `https://developer.android.com/reference/android/telecom/Connection`s or `https://developer.android.com/reference/android/telecom/Conference`s with which this `https://developer.android.com/reference/android/telecom/Conference` can be merged / conferenced. |
| ` final int` | ` https://developer.android.com/reference/android/telecom/Conference#getConnectionCapabilities()() ` Returns the capabilities of the conference. |
| ` final int` | ` https://developer.android.com/reference/android/telecom/Conference#getConnectionProperties()() ` Returns the properties of the conference. |
| ` final long` | ` https://developer.android.com/reference/android/telecom/Conference#getConnectionStartElapsedRealtimeMillis()() ` Retrieves the connection start time of the `https://developer.android.com/reference/android/telecom/Conference`, if specified. |
| ` final long` | ` https://developer.android.com/reference/android/telecom/Conference#getConnectionTime()() ` Retrieves the connection start time of the `Conference`, if specified. |
| ` final https://developer.android.com/reference/java/util/List<https://developer.android.com/reference/android/telecom/Connection>` | ` https://developer.android.com/reference/android/telecom/Conference#getConnections()() ` Returns the list of connections currently associated with the conference call. |
| ` final https://developer.android.com/reference/android/telecom/CallEndpoint` | ` https://developer.android.com/reference/android/telecom/Conference#getCurrentCallEndpoint()() ` Obtains the current CallEndpoint. |
| ` final https://developer.android.com/reference/android/telecom/DisconnectCause` | ` https://developer.android.com/reference/android/telecom/Conference#getDisconnectCause()() ` |
| ` final https://developer.android.com/reference/android/os/Bundle` | ` https://developer.android.com/reference/android/telecom/Conference#getExtras()() ` Returns the extras associated with this conference. |
| ` final https://developer.android.com/reference/android/telecom/PhoneAccountHandle` | ` https://developer.android.com/reference/android/telecom/Conference#getPhoneAccountHandle()() ` Returns the `https://developer.android.com/reference/android/telecom/PhoneAccountHandle` the conference call is being placed through. |
| ` final int` | ` https://developer.android.com/reference/android/telecom/Conference#getState()() ` Gets the state of the conference call. |
| ` final https://developer.android.com/reference/android/telecom/StatusHints` | ` https://developer.android.com/reference/android/telecom/Conference#getStatusHints()() ` |
| ` https://developer.android.com/reference/android/telecom/Connection.VideoProvider` | ` https://developer.android.com/reference/android/telecom/Conference#getVideoProvider()() ` Returns VideoProvider of the primary call. |
| ` int` | ` https://developer.android.com/reference/android/telecom/Conference#getVideoState()() ` Returns video state of the primary call. |
| ` final boolean` | ` https://developer.android.com/reference/android/telecom/Conference#isRingbackRequested()() ` Returns whether this conference is requesting that the system play a ringback tone on its behalf. |
| ` void` | ` https://developer.android.com/reference/android/telecom/Conference#notifyConferenceMergeFailed()() ` Called by a `https://developer.android.com/reference/android/telecom/ConnectionService` to notify Telecom that a `https://developer.android.com/reference/android/telecom/Conference#onMerge()` request failed. |
| ` void` | ` https://developer.android.com/reference/android/telecom/Conference#onAddConferenceParticipants(java.util.List<android.net.Uri>)(https://developer.android.com/reference/java/util/List<https://developer.android.com/reference/android/net/Uri> participants) ` Notifies the `https://developer.android.com/reference/android/telecom/Conference` of a request to add a new participants to the conference call |
| ` void` | ` https://developer.android.com/reference/android/telecom/Conference#onAnswer(int)(int videoState) ` Notifies this Conference, which is in `STATE_RINGING`, of a request to accept. |
| ` void` | ` https://developer.android.com/reference/android/telecom/Conference#onAvailableCallEndpointsChanged(java.util.List<android.telecom.CallEndpoint>)(https://developer.android.com/reference/java/util/List<https://developer.android.com/reference/android/telecom/CallEndpoint> availableEndpoints) ` Notifies the `https://developer.android.com/reference/android/telecom/Conference` that the available call endpoints have been changed. |
| ` void` | ` https://developer.android.com/reference/android/telecom/Conference#onCallAudioStateChanged(android.telecom.CallAudioState)(https://developer.android.com/reference/android/telecom/CallAudioState state) ` *This method was deprecated in API level 34. Use `https://developer.android.com/reference/android/telecom/Conference#onCallEndpointChanged(android.telecom.CallEndpoint)`, `https://developer.android.com/reference/android/telecom/Conference#onAvailableCallEndpointsChanged(java.util.List<android.telecom.CallEndpoint>)` and `https://developer.android.com/reference/android/telecom/Conference#onMuteStateChanged(boolean)` instead.* |
| ` void` | ` https://developer.android.com/reference/android/telecom/Conference#onCallEndpointChanged(android.telecom.CallEndpoint)(https://developer.android.com/reference/android/telecom/CallEndpoint callEndpoint) ` Notifies the `https://developer.android.com/reference/android/telecom/Conference` that the audio endpoint has been changed. |
| ` void` | ` https://developer.android.com/reference/android/telecom/Conference#onConnectionAdded(android.telecom.Connection)(https://developer.android.com/reference/android/telecom/Connection connection) ` Notifies the `https://developer.android.com/reference/android/telecom/Conference` that a `https://developer.android.com/reference/android/telecom/Connection` has been added to it. |
| ` void` | ` https://developer.android.com/reference/android/telecom/Conference#onDisconnect()() ` Notifies the `https://developer.android.com/reference/android/telecom/Conference` when the Conference and all it's `https://developer.android.com/reference/android/telecom/Connection`s should be disconnected. |
| ` void` | ` https://developer.android.com/reference/android/telecom/Conference#onExtrasChanged(android.os.Bundle)(https://developer.android.com/reference/android/os/Bundle extras) ` Notifies this `https://developer.android.com/reference/android/telecom/Conference` of a change to the extras made outside the `https://developer.android.com/reference/android/telecom/ConnectionService`. |
| ` void` | ` https://developer.android.com/reference/android/telecom/Conference#onHold()() ` Notifies the `https://developer.android.com/reference/android/telecom/Conference` when it should be put on hold. |
| ` void` | ` https://developer.android.com/reference/android/telecom/Conference#onMerge(android.telecom.Connection)(https://developer.android.com/reference/android/telecom/Connection connection) ` Notifies the `https://developer.android.com/reference/android/telecom/Conference` when the specified `https://developer.android.com/reference/android/telecom/Connection` should merged with the conference call. |
| ` void` | ` https://developer.android.com/reference/android/telecom/Conference#onMerge()() ` Notifies the `https://developer.android.com/reference/android/telecom/Conference` when the child calls should be merged. |
| ` void` | ` https://developer.android.com/reference/android/telecom/Conference#onMerge(android.telecom.Conference)(https://developer.android.com/reference/android/telecom/Conference conference) ` Notifies the `https://developer.android.com/reference/android/telecom/Conference` when the specified `https://developer.android.com/reference/android/telecom/Conference` should be merged with the conference call. |
| ` void` | ` https://developer.android.com/reference/android/telecom/Conference#onMuteStateChanged(boolean)(boolean isMuted) ` Notifies the `https://developer.android.com/reference/android/telecom/Conference` that its audio mute state has been changed. |
| ` void` | ` https://developer.android.com/reference/android/telecom/Conference#onPlayDtmfTone(char)(char c) ` Notifies the `https://developer.android.com/reference/android/telecom/Conference` of a request to play a DTMF tone. |
| ` void` | ` https://developer.android.com/reference/android/telecom/Conference#onReject()() ` Notifies this Conference, which is in `STATE_RINGING`, of a request to reject. |
| ` void` | ` https://developer.android.com/reference/android/telecom/Conference#onSeparate(android.telecom.Connection)(https://developer.android.com/reference/android/telecom/Connection connection) ` Notifies the `https://developer.android.com/reference/android/telecom/Conference` when the specified `https://developer.android.com/reference/android/telecom/Connection` should be separated from the conference call. |
| ` void` | ` https://developer.android.com/reference/android/telecom/Conference#onStopDtmfTone()() ` Notifies the `https://developer.android.com/reference/android/telecom/Conference` of a request to stop any currently playing DTMF tones. |
| ` void` | ` https://developer.android.com/reference/android/telecom/Conference#onSwap()() ` Notifies the `https://developer.android.com/reference/android/telecom/Conference` when the child calls should be swapped. |
| ` void` | ` https://developer.android.com/reference/android/telecom/Conference#onUnhold()() ` Notifies the `https://developer.android.com/reference/android/telecom/Conference` when it should be moved from a held to active state. |
| ` final void` | ` https://developer.android.com/reference/android/telecom/Conference#putExtras(android.os.Bundle)(https://developer.android.com/reference/android/os/Bundle extras) ` Adds some extras to this `https://developer.android.com/reference/android/telecom/Conference`. |
| ` final void` | ` https://developer.android.com/reference/android/telecom/Conference#removeConnection(android.telecom.Connection)(https://developer.android.com/reference/android/telecom/Connection connection) ` Removes the specified connection as a child of this conference. |
| ` final void` | ` https://developer.android.com/reference/android/telecom/Conference#removeExtras(java.util.List<java.lang.String>)(https://developer.android.com/reference/java/util/List<https://developer.android.com/reference/java/lang/String> keys) ` Removes extras from this `https://developer.android.com/reference/android/telecom/Conference`. |
| ` final void` | ` https://developer.android.com/reference/android/telecom/Conference#removeExtras(java.lang.String[])(https://developer.android.com/reference/java/lang/String keys) ` Removes extras from this `https://developer.android.com/reference/android/telecom/Conference`. |
| ` void` | ` https://developer.android.com/reference/android/telecom/Conference#sendConferenceEvent(java.lang.String,%20android.os.Bundle)(https://developer.android.com/reference/java/lang/String event, https://developer.android.com/reference/android/os/Bundle extras) ` Sends an event associated with this `https://developer.android.com/reference/android/telecom/Conference` with associated event extras to the `https://developer.android.com/reference/android/telecom/InCallService`. |
| ` final void` | ` https://developer.android.com/reference/android/telecom/Conference#setActive()() ` Sets state to be active. |
| ` final void` | ` https://developer.android.com/reference/android/telecom/Conference#setConferenceableConnections(java.util.List<android.telecom.Connection>)(https://developer.android.com/reference/java/util/List<https://developer.android.com/reference/android/telecom/Connection> conferenceableConnections) ` *This method was deprecated in API level 37. Use `https://developer.android.com/reference/android/telecom/Conference#setConferenceables(java.util.List<android.telecom.Conferenceable>)` instead.* |
| ` final void` | ` https://developer.android.com/reference/android/telecom/Conference#setConferenceables(java.util.List<android.telecom.Conferenceable>)(https://developer.android.com/reference/java/util/List<https://developer.android.com/reference/android/telecom/Conferenceable> conferenceables) ` Sets a list of connections or conferences with which this conference can be conferenced. |
| ` final void` | ` https://developer.android.com/reference/android/telecom/Conference#setConnectionCapabilities(int)(int connectionCapabilities) ` Sets the capabilities of a conference. |
| ` final void` | ` https://developer.android.com/reference/android/telecom/Conference#setConnectionProperties(int)(int connectionProperties) ` Sets the properties of a conference. |
| ` final void` | ` https://developer.android.com/reference/android/telecom/Conference#setConnectionStartElapsedRealTime(long)(long connectionStartElapsedRealTime) ` *This method was deprecated in API level 30. use `https://developer.android.com/reference/android/telecom/Conference#setConnectionStartElapsedRealtimeMillis(long)` instead.* |
| ` final void` | ` https://developer.android.com/reference/android/telecom/Conference#setConnectionStartElapsedRealtimeMillis(long)(long connectionStartElapsedRealTime) ` Sets the start time of the `https://developer.android.com/reference/android/telecom/Conference` which is the basis for the determining the duration of the `https://developer.android.com/reference/android/telecom/Conference`. |
| ` final void` | ` https://developer.android.com/reference/android/telecom/Conference#setConnectionTime(long)(long connectionTimeMillis) ` Sets the connection start time of the `Conference`. |
| ` final void` | ` https://developer.android.com/reference/android/telecom/Conference#setDialing()() ` Sets state to be dialing. |
| ` final void` | ` https://developer.android.com/reference/android/telecom/Conference#setDisconnected(android.telecom.DisconnectCause)(https://developer.android.com/reference/android/telecom/DisconnectCause disconnectCause) ` Sets state to disconnected. |
| ` final void` | ` https://developer.android.com/reference/android/telecom/Conference#setExtras(android.os.Bundle)(https://developer.android.com/reference/android/os/Bundle extras) ` Replaces all the extras associated with this `Conference`. |
| ` final void` | ` https://developer.android.com/reference/android/telecom/Conference#setOnHold()() ` Sets state to be on hold. |
| ` final void` | ` https://developer.android.com/reference/android/telecom/Conference#setRingbackRequested(boolean)(boolean ringback) ` Requests that the framework play a ringback tone. |
| ` final void` | ` https://developer.android.com/reference/android/telecom/Conference#setRinging()() ` Sets state to be ringing. |
| ` final void` | ` https://developer.android.com/reference/android/telecom/Conference#setStatusHints(android.telecom.StatusHints)(https://developer.android.com/reference/android/telecom/StatusHints statusHints) ` Sets the label and icon status to display in the InCall UI. |
| ` final void` | ` https://developer.android.com/reference/android/telecom/Conference#setVideoProvider(android.telecom.Connection,%20android.telecom.Connection.VideoProvider)(https://developer.android.com/reference/android/telecom/Connection c, https://developer.android.com/reference/android/telecom/Connection.VideoProvider videoProvider) ` Sets the video connection provider. |
| ` final void` | ` https://developer.android.com/reference/android/telecom/Conference#setVideoState(android.telecom.Connection,%20int)(https://developer.android.com/reference/android/telecom/Connection c, int videoState) ` Set the video state for the conference. |
| ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/android/telecom/Conference#toString()() ` Returns a string representation of the object. |

### Inherited methods

From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` 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 https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` 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` ` 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` ` 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*.

## Constants

### CONNECT_TIME_NOT_SPECIFIED

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

```
public static final long CONNECT_TIME_NOT_SPECIFIED
```

Used to indicate that the conference connection time is not specified. If not specified, Telecom will set the connect time.

<br />

Constant Value: 0 (0x0000000000000000)

## Public constructors

### Conference

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

```
public Conference (PhoneAccountHandle phoneAccount)
```

Constructs a new Conference with a mandatory `https://developer.android.com/reference/android/telecom/PhoneAccountHandle`

<br />

| Parameters ||
|---|---|
| `phoneAccount` | `PhoneAccountHandle`: The `PhoneAccountHandle` associated with the conference. <br /> |

## Public methods

### addConnection

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

```
public final boolean addConnection (Connection connection)
```

Adds the specified connection as a child of this conference.

<br />

| Parameters ||
|---|---|
| `connection` | `Connection`: The connection to add. <br /> |

| Returns ||
|---|---|
| `boolean` | True if the connection was successfully added. <br /> |

### createFailedConference

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

```
public static Conference createFailedConference (DisconnectCause disconnectCause, 
                PhoneAccountHandle phoneAccount)
```

Return a `Conference` which represents a failed conference attempt. The returned `Conference` will have a `https://developer.android.com/reference/android/telecom/DisconnectCause` and as specified, and a `https://developer.android.com/reference/android/telecom/Conference#getState()` of `STATE_DISCONNECTED`.

The returned `Conference` can be assumed to `https://developer.android.com/reference/android/telecom/Conference#destroy()` itself when appropriate, so users of this method need not maintain a reference to its return value to destroy it.

<br />

| Parameters ||
|---|---|
| `disconnectCause` | `DisconnectCause`: The disconnect cause, (see `https://developer.android.com/`). This value cannot be `null`. <br /> |
| `phoneAccount` | `PhoneAccountHandle`: This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telecom/Conference` | A `Conference` which indicates failure. This value cannot be `null`. <br /> |

### destroy

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

```
public final void destroy ()
```

Tears down the conference object and any of its current connections.

<br />

### getCallAudioState

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

```
public final CallAudioState getCallAudioState ()
```

<br />

**This method was deprecated in API level 34.**   

Use `https://developer.android.com/reference/android/telecom/Conference#getCurrentCallEndpoint()`, `https://developer.android.com/reference/android/telecom/Conference#onAvailableCallEndpointsChanged(java.util.List<android.telecom.CallEndpoint>)` and `https://developer.android.com/reference/android/telecom/Conference#onMuteStateChanged(boolean)` instead.

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telecom/CallAudioState` | The audio state of the conference, describing how its audio is currently being routed by the system. This is `null` if this Conference does not directly know about its audio state. <br /> |

### getConferenceableConnections

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

```
public final List<Connection> getConferenceableConnections ()
```

Returns the connections with which this connection can be conferenced.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/util/List<https://developer.android.com/reference/android/telecom/Connection>` | <br /> |

### getConferenceables

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

```
public final List<Conferenceable> getConferenceables ()
```

Returns the `https://developer.android.com/reference/android/telecom/Connection`s or `https://developer.android.com/reference/android/telecom/Conference`s with which this `https://developer.android.com/reference/android/telecom/Conference` can be merged / conferenced.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/util/List<https://developer.android.com/reference/android/telecom/Conferenceable>` | This value cannot be `null`. <br /> |

### getConnectionCapabilities

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

```
public final int getConnectionCapabilities ()
```

Returns the capabilities of the conference. See `CAPABILITY_*` constants in class `https://developer.android.com/reference/android/telecom/Connection` for valid values.

<br />

| Returns ||
|---|---|
| `int` | A bitmask of the capabilities of the conference call. <br /> |

### getConnectionProperties

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

```
public final int getConnectionProperties ()
```

Returns the properties of the conference. See `PROPERTY_*` constants in class `https://developer.android.com/reference/android/telecom/Connection` for valid values.

<br />

| Returns ||
|---|---|
| `int` | A bitmask of the properties of the conference call. <br /> |

### getConnectionStartElapsedRealtimeMillis

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

```
public final long getConnectionStartElapsedRealtimeMillis ()
```

Retrieves the connection start time of the `https://developer.android.com/reference/android/telecom/Conference`, if specified. A value of `https://developer.android.com/reference/android/telecom/Conference#CONNECT_TIME_NOT_SPECIFIED` indicates that Telecom should determine the start time of the conference.

This is based on the value of `https://developer.android.com/reference/android/os/SystemClock#elapsedRealtime()` to ensure that it is not impacted by wall clock changes (user initiated, network initiated, time zone change, etc).

Note: This is only exposed for use by the Telephony framework which needs it to copy conference start times among conference participants. It is exposed as a system API since it has no general use other than to the Telephony framework.   

Value is a non-negative timestamp in the `https://developer.android.com/reference/android/os/SystemClock#elapsedRealtime()` time base.

<br />

| Returns ||
|---|---|
| `long` | The elapsed time at which the `https://developer.android.com/reference/android/telecom/Conference` was connected. Value is a non-negative timestamp in the `https://developer.android.com/reference/android/os/SystemClock#elapsedRealtime()` time base. <br /> |

### getConnectionTime

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

```
public final long getConnectionTime ()
```

Retrieves the connection start time of the `Conference`, if specified. A value of `https://developer.android.com/reference/android/telecom/Conference#CONNECT_TIME_NOT_SPECIFIED` indicates that Telecom should determine the start time of the conference.

<br />

| Returns ||
|---|---|
| `long` | The time at which the `Conference` was connected. Value is 0 or greater <br /> |

### getConnections

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

```
public final List<Connection> getConnections ()
```

Returns the list of connections currently associated with the conference call.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/util/List<https://developer.android.com/reference/android/telecom/Connection>` | A list of `Connection` objects which represent the children of the conference. <br /> |

### getCurrentCallEndpoint

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

```
public final CallEndpoint getCurrentCallEndpoint ()
```

Obtains the current CallEndpoint.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telecom/CallEndpoint` | An object encapsulating the CallEndpoint. This value cannot be `null`. <br /> |

### getDisconnectCause

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

```
public final DisconnectCause getDisconnectCause ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telecom/DisconnectCause` | The `https://developer.android.com/reference/android/telecom/DisconnectCause` for this connection. <br /> |

### getExtras

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

```
public final Bundle getExtras ()
```

Returns the extras associated with this conference.

Extras should be updated using `https://developer.android.com/reference/android/telecom/Conference#putExtras(android.os.Bundle)` and `https://developer.android.com/reference/android/telecom/Conference#removeExtras(java.util.List<java.lang.String>)`.

Telecom or an `https://developer.android.com/reference/android/telecom/InCallService` can also update the extras via `https://developer.android.com/reference/android/telecom/Call#putExtras(android.os.Bundle)`, and `https://developer.android.com/reference/android/telecom/Call#removeExtras(java.util.List<java.lang.String>)`.

The conference is notified of changes to the extras made by Telecom or an `https://developer.android.com/reference/android/telecom/InCallService` by `https://developer.android.com/reference/android/telecom/Conference#onExtrasChanged(android.os.Bundle)`.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/os/Bundle` | The extras associated with this connection. <br /> |

### getPhoneAccountHandle

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

```
public final PhoneAccountHandle getPhoneAccountHandle ()
```

Returns the `https://developer.android.com/reference/android/telecom/PhoneAccountHandle` the conference call is being placed through.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telecom/PhoneAccountHandle` | A `PhoneAccountHandle` object representing the PhoneAccount of the conference. <br /> |

### getState

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

```
public final int getState ()
```

Gets the state of the conference call. See `https://developer.android.com/reference/android/telecom/Connection` for valid values.

<br />

| Returns ||
|---|---|
| `int` | A constant representing the state the conference call is currently in. <br /> |

### getStatusHints

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

```
public final StatusHints getStatusHints ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telecom/StatusHints` | The status hints for this conference. <br /> |

### getVideoProvider

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

```
public Connection.VideoProvider getVideoProvider ()
```

Returns VideoProvider of the primary call. This can be null.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/telecom/Connection.VideoProvider` | <br /> |

### getVideoState

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

```
public int getVideoState ()
```

Returns video state of the primary call.

<br />

| Returns ||
|---|---|
| `int` | <br /> |

### isRingbackRequested

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

```
public final boolean isRingbackRequested ()
```

Returns whether this conference is requesting that the system play a ringback tone on its behalf. A ringback tone may be played when an outgoing conference is in the process of connecting to give the user an audible indication of that process.

<br />

| Returns ||
|---|---|
| `boolean` | <br /> |

### notifyConferenceMergeFailed

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

```
public void notifyConferenceMergeFailed ()
```

Called by a `https://developer.android.com/reference/android/telecom/ConnectionService` to notify Telecom that a `https://developer.android.com/reference/android/telecom/Conference#onMerge()` request failed.

<br />

### onAddConferenceParticipants

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

```
public void onAddConferenceParticipants (List<Uri> participants)
```

Notifies the `https://developer.android.com/reference/android/telecom/Conference` of a request to add a new participants to the conference call

<br />

| Parameters ||
|---|---|
| `participants` | `List`: that will be added to this conference call. This value cannot be `null`. <br /> |

### onAnswer

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

```
public void onAnswer (int videoState)
```

Notifies this Conference, which is in `STATE_RINGING`, of a request to accept. For managed `https://developer.android.com/reference/android/telecom/ConnectionService`s, this will be called when the user answers a call via the default dialer's `https://developer.android.com/reference/android/telecom/InCallService`.

<br />

| Parameters ||
|---|---|
| `videoState` | `int`: The video state in which to answer the connection. Value is either `0` or a combination of the following: - `https://developer.android.com/reference/android/telecom/VideoProfile#STATE_AUDIO_ONLY` - `https://developer.android.com/reference/android/telecom/VideoProfile#STATE_TX_ENABLED` - `https://developer.android.com/reference/android/telecom/VideoProfile#STATE_RX_ENABLED` - `https://developer.android.com/reference/android/telecom/VideoProfile#STATE_BIDIRECTIONAL` - `https://developer.android.com/reference/android/telecom/VideoProfile#STATE_PAUSED` |

### onAvailableCallEndpointsChanged

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

```
public void onAvailableCallEndpointsChanged (List<CallEndpoint> availableEndpoints)
```

Notifies the `https://developer.android.com/reference/android/telecom/Conference` that the available call endpoints have been changed.

<br />

| Parameters ||
|---|---|
| `availableEndpoints` | `List`: The available call endpoints. This value cannot be `null`. <br /> |

### onCallAudioStateChanged

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

```
public void onCallAudioStateChanged (CallAudioState state)
```

<br />

**This method was deprecated in API level 34.**   

Use `https://developer.android.com/reference/android/telecom/Conference#onCallEndpointChanged(android.telecom.CallEndpoint)`, `https://developer.android.com/reference/android/telecom/Conference#onAvailableCallEndpointsChanged(java.util.List<android.telecom.CallEndpoint>)` and `https://developer.android.com/reference/android/telecom/Conference#onMuteStateChanged(boolean)` instead.

Notifies the `https://developer.android.com/reference/android/telecom/Conference` that the `https://developer.android.com/reference/android/telecom/Conference#getCallAudioState()` property has a new value.

<br />

| Parameters ||
|---|---|
| `state` | `CallAudioState`: The new call audio state. <br /> |

### onCallEndpointChanged

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

```
public void onCallEndpointChanged (CallEndpoint callEndpoint)
```

Notifies the `https://developer.android.com/reference/android/telecom/Conference` that the audio endpoint has been changed.

<br />

| Parameters ||
|---|---|
| `callEndpoint` | `CallEndpoint`: The new call endpoint. This value cannot be `null`. <br /> |

### onConnectionAdded

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

```
public void onConnectionAdded (Connection connection)
```

Notifies the `https://developer.android.com/reference/android/telecom/Conference` that a `https://developer.android.com/reference/android/telecom/Connection` has been added to it.

<br />

| Parameters ||
|---|---|
| `connection` | `Connection`: The newly added connection. <br /> |

### onDisconnect

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

```
public void onDisconnect ()
```

Notifies the `https://developer.android.com/reference/android/telecom/Conference` when the Conference and all it's `https://developer.android.com/reference/android/telecom/Connection`s should be disconnected.

<br />

### onExtrasChanged

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

```
public void onExtrasChanged (Bundle extras)
```

Notifies this `https://developer.android.com/reference/android/telecom/Conference` of a change to the extras made outside the `https://developer.android.com/reference/android/telecom/ConnectionService`.

These extras changes can originate from Telecom itself, or from an `https://developer.android.com/reference/android/telecom/InCallService` via `https://developer.android.com/reference/android/telecom/Call#putExtras(android.os.Bundle)`, and `https://developer.android.com/reference/android/telecom/Call#removeExtras(java.util.List<java.lang.String>)`.

<br />

| Parameters ||
|---|---|
| `extras` | `Bundle`: The new extras bundle. <br /> |

### onHold

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

```
public void onHold ()
```

Notifies the `https://developer.android.com/reference/android/telecom/Conference` when it should be put on hold.

<br />

### onMerge

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

```
public void onMerge (Connection connection)
```

Notifies the `https://developer.android.com/reference/android/telecom/Conference` when the specified `https://developer.android.com/reference/android/telecom/Connection` should merged with the conference call.

<br />

| Parameters ||
|---|---|
| `connection` | `Connection`: The `Connection` to merge. <br /> |

### onMerge

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

```
public void onMerge ()
```

Notifies the `https://developer.android.com/reference/android/telecom/Conference` when the child calls should be merged. Only invoked if the conference contains the capability `https://developer.android.com/reference/android/telecom/Connection#CAPABILITY_MERGE_CONFERENCE`.

<br />

### onMerge

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

```
public void onMerge (Conference conference)
```

Notifies the `https://developer.android.com/reference/android/telecom/Conference` when the specified `https://developer.android.com/reference/android/telecom/Conference` should be merged with the conference call.

<br />

| Parameters ||
|---|---|
| `conference` | `Conference`: The `Conference` to merge. This value cannot be `null`. <br /> |

### onMuteStateChanged

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

```
public void onMuteStateChanged (boolean isMuted)
```

Notifies the `https://developer.android.com/reference/android/telecom/Conference` that its audio mute state has been changed.

<br />

| Parameters ||
|---|---|
| `isMuted` | `boolean`: The new mute state. <br /> |

### onPlayDtmfTone

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

```
public void onPlayDtmfTone (char c)
```

Notifies the `https://developer.android.com/reference/android/telecom/Conference` of a request to play a DTMF tone.

<br />

| Parameters ||
|---|---|
| `c` | `char`: A DTMF character. <br /> |

### onReject

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

```
public void onReject ()
```

Notifies this Conference, which is in `STATE_RINGING`, of a request to reject. For managed `https://developer.android.com/reference/android/telecom/ConnectionService`s, this will be called when the user rejects a call via the default dialer's `https://developer.android.com/reference/android/telecom/InCallService`.

<br />

### onSeparate

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

```
public void onSeparate (Connection connection)
```

Notifies the `https://developer.android.com/reference/android/telecom/Conference` when the specified `https://developer.android.com/reference/android/telecom/Connection` should be separated from the conference call.

<br />

| Parameters ||
|---|---|
| `connection` | `Connection`: The connection to separate. <br /> |

### onStopDtmfTone

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

```
public void onStopDtmfTone ()
```

Notifies the `https://developer.android.com/reference/android/telecom/Conference` of a request to stop any currently playing DTMF tones.

<br />

### onSwap

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

```
public void onSwap ()
```

Notifies the `https://developer.android.com/reference/android/telecom/Conference` when the child calls should be swapped. Only invoked if the conference contains the capability `https://developer.android.com/reference/android/telecom/Connection#CAPABILITY_SWAP_CONFERENCE`.

<br />

### onUnhold

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

```
public void onUnhold ()
```

Notifies the `https://developer.android.com/reference/android/telecom/Conference` when it should be moved from a held to active state.

<br />

### putExtras

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

```
public final void putExtras (Bundle extras)
```

Adds some extras to this `https://developer.android.com/reference/android/telecom/Conference`. Existing keys are replaced and new ones are added.

No assumptions should be made as to how an In-Call UI or service will handle these extras. Keys should be fully qualified (e.g., com.example.MY_EXTRA) to avoid conflicts.

<br />

| Parameters ||
|---|---|
| `extras` | `Bundle`: The extras to add. This value cannot be `null`. <br /> |

### removeConnection

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

```
public final void removeConnection (Connection connection)
```

Removes the specified connection as a child of this conference.

<br />

| Parameters ||
|---|---|
| `connection` | `Connection`: The connection to remove. <br /> |

### removeExtras

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

```
public final void removeExtras (List<String> keys)
```

Removes extras from this `https://developer.android.com/reference/android/telecom/Conference`.

<br />

| Parameters ||
|---|---|
| `keys` | `List`: The keys of the extras to remove. <br /> |

### removeExtras

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

```
public final void removeExtras (String... keys)
```

Removes extras from this `https://developer.android.com/reference/android/telecom/Conference`.

<br />

| Parameters ||
|---|---|
| `keys` | `String`: The keys of the extras to remove. <br /> |

### sendConferenceEvent

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

```
public void sendConferenceEvent (String event, 
                Bundle extras)
```

Sends an event associated with this `https://developer.android.com/reference/android/telecom/Conference` with associated event extras to the `https://developer.android.com/reference/android/telecom/InCallService`.

Connection events are used to communicate point in time information from a `https://developer.android.com/reference/android/telecom/ConnectionService` to an `https://developer.android.com/reference/android/telecom/InCallService` implementation. An example of a custom connection event includes notifying the UI when a WIFI call has been handed over to LTE, which the InCall UI might use to inform the user that billing charges may apply. The Android Telephony framework will send the `https://developer.android.com/reference/android/telecom/Connection#EVENT_MERGE_COMPLETE` connection event when a call to `https://developer.android.com/reference/android/telecom/Call#mergeConference()` has completed successfully.

Events are exposed to `https://developer.android.com/reference/android/telecom/InCallService` implementations via `https://developer.android.com/reference/android/telecom/Call.Callback#onConnectionEvent(android.telecom.Call,%20java.lang.String,%20android.os.Bundle)`.

No assumptions should be made as to how an In-Call UI or service will handle these events. The `https://developer.android.com/reference/android/telecom/ConnectionService` must assume that the In-Call UI could even chose to ignore some events altogether.

Events should be fully qualified (e.g. `com.example.event.MY_EVENT`) to avoid conflicts between `https://developer.android.com/reference/android/telecom/ConnectionService` implementations. Further, custom `https://developer.android.com/reference/android/telecom/ConnectionService` implementations shall not re-purpose events in the `android.*` namespace, nor shall they define new event types in this namespace. When defining a custom event type, ensure the contents of the extras `https://developer.android.com/reference/android/os/Bundle` is clearly defined. Extra keys for this bundle should be named similar to the event type (e.g. `com.example.extra.MY_EXTRA`).

When defining events and the associated extras, it is important to keep their behavior consistent when the associated `https://developer.android.com/reference/android/telecom/ConnectionService` is updated. Support for deprecated events/extras should me maintained to ensure backwards compatibility with older `https://developer.android.com/reference/android/telecom/InCallService` implementations which were built to support the older behavior.

Expected connection events from the Telephony stack are:

<br />

- `https://developer.android.com/reference/android/telecom/Connection#EVENT_CALL_HOLD_FAILED` with `null` `extras` when the `https://developer.android.com/reference/android/telecom/Conference` could not be held.
- `https://developer.android.com/reference/android/telecom/Connection#EVENT_MERGE_START` with `null` `extras` when a new call is being merged into the conference.
- `https://developer.android.com/reference/android/telecom/Connection#EVENT_MERGE_COMPLETE` with `null` `extras` a new call has completed being merged into the conference.
- `https://developer.android.com/reference/android/telecom/Connection#EVENT_CALL_MERGE_FAILED` with `null` `extras` a new call has failed to merge into the conference (the dialer app can determine which call failed to merge based on the fact that the call still exists outside of the conference at the end of the merge process).

<br />

<br />

| Parameters ||
|---|---|
| `event` | `String`: The conference event. This value cannot be `null`. <br /> |
| `extras` | `Bundle`: Optional bundle containing extra information associated with the event. This value may be `null`. <br /> |

### setActive

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

```
public final void setActive ()
```

Sets state to be active.

<br />

### setConferenceableConnections

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

```
public final void setConferenceableConnections (List<Connection> conferenceableConnections)
```

<br />

**This method was deprecated in API level 37.**   

Use `https://developer.android.com/reference/android/telecom/Conference#setConferenceables(java.util.List<android.telecom.Conferenceable>)` instead.

Sets the connections with which this connection can be conferenced.

<br />

| Parameters ||
|---|---|
| `conferenceableConnections` | `List`: The set of connections this conference can conference with. <br /> |

### setConferenceables

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

```
public final void setConferenceables (List<Conferenceable> conferenceables)
```

Sets a list of connections or conferences with which this conference can be conferenced.

<br />

| Parameters ||
|---|---|
| `conferenceables` | `List`: The set of conferenceables this conference can conference with. This value cannot be `null`. <br /> |

### setConnectionCapabilities

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

```
public final void setConnectionCapabilities (int connectionCapabilities)
```

Sets the capabilities of a conference. See `CAPABILITY_*` constants of class `https://developer.android.com/reference/android/telecom/Connection` for valid values.

<br />

| Parameters ||
|---|---|
| `connectionCapabilities` | `int`: A bitmask of the `Capabilities` of the conference call. <br /> |

### setConnectionProperties

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

```
public final void setConnectionProperties (int connectionProperties)
```

Sets the properties of a conference. See `PROPERTY_*` constants of class `https://developer.android.com/reference/android/telecom/Connection` for valid values.

<br />

| Parameters ||
|---|---|
| `connectionProperties` | `int`: A bitmask of the `Properties` of the conference call. <br /> |

### setConnectionStartElapsedRealTime

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

```
public final void setConnectionStartElapsedRealTime (long connectionStartElapsedRealTime)
```

<br />

**This method was deprecated in API level 30.**   

use `https://developer.android.com/reference/android/telecom/Conference#setConnectionStartElapsedRealtimeMillis(long)` instead.

Sets the start time of the `https://developer.android.com/reference/android/telecom/Conference` which is the basis for the determining the duration of the `https://developer.android.com/reference/android/telecom/Conference`.

You should use a value returned by `https://developer.android.com/reference/android/os/SystemClock#elapsedRealtime()` to ensure that time zone changes do not impact the conference duration.

When setting this, you should also set the connection time via `https://developer.android.com/reference/android/telecom/Conference#setConnectionTime(long)`.

<br />

| Parameters ||
|---|---|
| `connectionStartElapsedRealTime` | `long`: The connection time, as measured by `https://developer.android.com/reference/android/os/SystemClock#elapsedRealtime()`. <br /> |

### setConnectionStartElapsedRealtimeMillis

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

```
public final void setConnectionStartElapsedRealtimeMillis (long connectionStartElapsedRealTime)
```

Sets the start time of the `https://developer.android.com/reference/android/telecom/Conference` which is the basis for the determining the duration of the `https://developer.android.com/reference/android/telecom/Conference`.

You should use a value returned by `https://developer.android.com/reference/android/os/SystemClock#elapsedRealtime()` to ensure that time zone changes do not impact the conference duration.

When setting this, you should also set the connection time via `https://developer.android.com/reference/android/telecom/Conference#setConnectionTime(long)`.

<br />

| Parameters ||
|---|---|
| `connectionStartElapsedRealTime` | `long`: The connection time, as measured by `https://developer.android.com/reference/android/os/SystemClock#elapsedRealtime()`. Value is a non-negative timestamp in the `https://developer.android.com/reference/android/os/SystemClock#elapsedRealtime()` time base. <br /> |

### setConnectionTime

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

```
public final void setConnectionTime (long connectionTimeMillis)
```

Sets the connection start time of the `Conference`. This is used in the call log to indicate the date and time when the conference took place.

Should be specified in wall-clock time returned by `https://developer.android.com/reference/java/lang/System#currentTimeMillis()`.

When setting the connection time, you should always set the connection elapsed time via `https://developer.android.com/reference/android/telecom/Conference#setConnectionStartElapsedRealtimeMillis(long)` to ensure the duration is reflected.

<br />

| Parameters ||
|---|---|
| `connectionTimeMillis` | `long`: The connection time, in milliseconds, as returned by `https://developer.android.com/reference/java/lang/System#currentTimeMillis()`. Value is 0 or greater <br /> |

### setDialing

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

```
public final void setDialing ()
```

Sets state to be dialing.

<br />

### setDisconnected

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

```
public final void setDisconnected (DisconnectCause disconnectCause)
```

Sets state to disconnected.

<br />

| Parameters ||
|---|---|
| `disconnectCause` | `DisconnectCause`: The reason for the disconnection, as described by `https://developer.android.com/reference/android/telecom/DisconnectCause`. <br /> |

### setExtras

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

```
public final void setExtras (Bundle extras)
```

Replaces all the extras associated with this `Conference`.

New or existing keys are replaced in the `Conference` extras. Keys which are no longer in the new extras, but were present the last time `setExtras` was called are removed.

Alternatively you may use the `https://developer.android.com/reference/android/telecom/Conference#putExtras(android.os.Bundle)`, and `https://developer.android.com/reference/android/telecom/Conference#removeExtras(java.lang.String[])` methods to modify the extras.

No assumptions should be made as to how an In-Call UI or service will handle these extras. Keys should be fully qualified (e.g., com.example.extras.MY_EXTRA) to avoid conflicts.

<br />

| Parameters ||
|---|---|
| `extras` | `Bundle`: The extras associated with this `Conference`. This value may be `null`. <br /> |

### setOnHold

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

```
public final void setOnHold ()
```

Sets state to be on hold.

<br />

### setRingbackRequested

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

```
public final void setRingbackRequested (boolean ringback)
```

Requests that the framework play a ringback tone. This is to be invoked by implementations that do not play a ringback tone themselves in the conference's audio stream.

<br />

| Parameters ||
|---|---|
| `ringback` | `boolean`: Whether the ringback tone is to be played. <br /> |

### setRinging

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

```
public final void setRinging ()
```

Sets state to be ringing.

<br />

### setStatusHints

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

```
public final void setStatusHints (StatusHints statusHints)
```

Sets the label and icon status to display in the InCall UI.

<br />

| Parameters ||
|---|---|
| `statusHints` | `StatusHints`: The status label and icon to set. <br /> |

### setVideoProvider

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

```
public final void setVideoProvider (Connection c, 
                Connection.VideoProvider videoProvider)
```

Sets the video connection provider.

<br />

| Parameters ||
|---|---|
| `c` | `Connection` <br /> |
| `videoProvider` | `Connection.VideoProvider`: The video provider. <br /> |

### setVideoState

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

```
public final void setVideoState (Connection c, 
                int videoState)
```

Set the video state for the conference. Valid values: `https://developer.android.com/reference/android/telecom/VideoProfile#STATE_AUDIO_ONLY`, `https://developer.android.com/reference/android/telecom/VideoProfile#STATE_BIDIRECTIONAL`, `https://developer.android.com/reference/android/telecom/VideoProfile#STATE_TX_ENABLED`, `https://developer.android.com/reference/android/telecom/VideoProfile#STATE_RX_ENABLED`.

<br />

| Parameters ||
|---|---|
| `c` | `Connection` <br /> |
| `videoState` | `int`: The new video state. <br /> |

### toString

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

```
public String toString ()
```

Returns a string representation of the object.

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/String` | a string representation of the object. <br /> |