public final class RemoteConference extends Object
ConnectionService
by another ConnectionService
through
ConnectionService.conferenceRemoteConnections(android.telecom.RemoteConnection, android.telecom.RemoteConnection)
. Once created, a RemoteConference
can be used to control the conference call or monitor changes through
RemoteConnection.Callback
.Modifier and Type | Class and Description |
---|---|
static class |
RemoteConference.Callback
Callback base class for
RemoteConference . |
Modifier and Type | Method and Description |
---|---|
void |
disconnect()
Disconnects the conference call as well as the child
RemoteConnection s. |
List<RemoteConnection> |
getConferenceableConnections()
Returns a list of independent connections that can me merged with this conference.
|
int |
getConnectionCapabilities()
Returns the capabilities of the conference.
|
int |
getConnectionProperties()
Returns the properties of the conference.
|
List<RemoteConnection> |
getConnections()
Returns the list of
RemoteConnection s contained in this conference. |
DisconnectCause |
getDisconnectCause()
Returns the
DisconnectCause for the conference if it is in the state
Connection.STATE_DISCONNECTED . |
Bundle |
getExtras()
Obtain the extras associated with this
RemoteConnection . |
int |
getState()
Gets the state of the conference call.
|
void |
hold()
Puts the conference on hold.
|
void |
merge()
Merges all
RemoteConnection s of this conference into a single call. |
void |
playDtmfTone(char digit)
Requests that the conference start playing the specified DTMF tone.
|
void |
registerCallback(RemoteConference.Callback callback)
Register a callback through which to receive state updates for this conference.
|
void |
registerCallback(RemoteConference.Callback callback,
Handler handler)
Registers a callback through which to receive state updates for this conference.
|
void |
separate(RemoteConnection connection)
Removes the specified
RemoteConnection from the conference. |
void |
setAudioState(AudioState state)
Deprecated.
Use
setCallAudioState(CallAudioState) instead. |
void |
setCallAudioState(CallAudioState state)
Request to change the conference's audio routing to the specified state.
|
void |
stopDtmfTone()
Stops the most recent request to play a DTMF tone.
|
void |
swap()
Swaps the active audio stream between the conference's child
RemoteConnection s. |
void |
unhold()
Unholds the conference call.
|
void |
unregisterCallback(RemoteConference.Callback callback)
Unregisters a previously registered callback.
|
public final List<RemoteConnection> getConnections()
RemoteConnection
s contained in this conference.public final int getState()
Connection
for valid values.public final int getConnectionCapabilities()
CAPABILITY_*
constants in class
Connection
for valid values.public final int getConnectionProperties()
PROPERTY_*
constants in class
Connection
for valid values.public final Bundle getExtras()
RemoteConnection
.public void disconnect()
RemoteConnection
s.public void separate(RemoteConnection connection)
RemoteConnection
from the conference. This causes the
RemoteConnection
to become a standalone connection. This is a no-op if the
RemoteConnection
does not belong to this conference.connection
- The remote-connection to remove.public void merge()
RemoteConnection
s of this conference into a single call. This should be
invoked only if the conference contains the capability
Connection.CAPABILITY_MERGE_CONFERENCE
, otherwise it is a no-op. The presence of said
capability indicates that the connections of this conference, despite being part of the
same conference object, are yet to have their audio streams merged; this is a common pattern
for CDMA conference calls, but the capability is not used for GSM and SIP conference calls.
Invoking this method will cause the unmerged child connections to merge their audio
streams.public void swap()
RemoteConnection
s.
This should be invoked only if the conference contains the capability
Connection.CAPABILITY_SWAP_CONFERENCE
, otherwise it is a no-op. This is only used by
ConnectionService
s that create conferences for connections that do not yet have
their audio streams merged; this is a common pattern for CDMA conference calls, but the
capability is not used for GSM and SIP conference calls. Invoking this method will change the
active audio stream to a different child connection.public void hold()
public void unhold()
public DisconnectCause getDisconnectCause()
DisconnectCause
for the conference if it is in the state
Connection.STATE_DISCONNECTED
. If the conference is not disconnected, this will
return null.public void playDtmfTone(char digit)
digit
- The digit for which to play a DTMF tone.public void stopDtmfTone()
playDtmfTone(char)
@Deprecated public void setAudioState(AudioState state)
setCallAudioState(CallAudioState)
instead.AudioState
public void setCallAudioState(CallAudioState state)
public List<RemoteConnection> getConferenceableConnections()
public final void registerCallback(RemoteConference.Callback callback)
callback
- The callback to notify of state changes.public final void registerCallback(RemoteConference.Callback callback, Handler handler)
callback
- The callback to notify of state changes.handler
- The handler on which to execute the callbacks.public final void unregisterCallback(RemoteConference.Callback callback)
callback
- The callback to unregister.registerCallback(android.telecom.RemoteConference.Callback)