Add Connection.setCallCapabilities
This will be used to enable things like hold and conferencing. Change-Id: I90238eeefbcbfaa044881d80833b62e4474821d6
This commit is contained in:
@@ -27626,13 +27626,13 @@ package android.telecomm {
|
||||
ctor protected Connection();
|
||||
method public final boolean getAudioModeIsVoip();
|
||||
method public final android.telecomm.CallAudioState getCallAudioState();
|
||||
method public final int getCallCapabilities();
|
||||
method public final java.util.List<android.telecomm.Connection> getChildConnections();
|
||||
method public final int getFeatures();
|
||||
method public final android.net.Uri getHandle();
|
||||
method public final android.telecomm.Connection getParentConnection();
|
||||
method public final int getState();
|
||||
method public final android.telecomm.StatusHints getStatusHints();
|
||||
method public final boolean isConferenceCapable();
|
||||
method public final boolean isConferenceConnection();
|
||||
method public final boolean isRequestingRingback();
|
||||
method protected void onAbort();
|
||||
@@ -27651,13 +27651,13 @@ package android.telecomm {
|
||||
method protected void onUnhold();
|
||||
method public final void setActive();
|
||||
method public final void setAudioModeIsVoip(boolean);
|
||||
method public final void setCallCapabilities(int);
|
||||
method public final void setCallVideoProvider(android.telecomm.CallVideoProvider);
|
||||
method public final void setDestroyed();
|
||||
method public final void setDialing();
|
||||
method public final void setDisconnected(int, java.lang.String);
|
||||
method public final void setFeatures(int);
|
||||
method public final void setHandle(android.net.Uri);
|
||||
method public final void setIsConferenceCapable(boolean);
|
||||
method public final void setOnHold();
|
||||
method public final void setParentConnection(android.telecomm.Connection);
|
||||
method public final void setPostDialWait(java.lang.String);
|
||||
@@ -27814,6 +27814,7 @@ package android.telecomm {
|
||||
method public void answer();
|
||||
method public void disconnect();
|
||||
method public boolean getAudioModeIsVoip();
|
||||
method public int getCallCapabilities();
|
||||
method public int getDisconnectCause();
|
||||
method public java.lang.String getDisconnectMessage();
|
||||
method public int getFeatures();
|
||||
@@ -27830,6 +27831,7 @@ package android.telecomm {
|
||||
}
|
||||
|
||||
public static abstract interface RemoteConnection.Listener {
|
||||
method public abstract void onCallCapabilitiesChanged(android.telecomm.RemoteConnection, int);
|
||||
method public abstract void onDestroyed(android.telecomm.RemoteConnection);
|
||||
method public abstract void onDisconnected(android.telecomm.RemoteConnection, int, java.lang.String);
|
||||
method public abstract void onFeaturesChanged(android.telecomm.RemoteConnection, int);
|
||||
|
||||
@@ -41,7 +41,7 @@ public abstract class Connection {
|
||||
void onPostDialWait(Connection c, String remaining);
|
||||
void onRequestingRingback(Connection c, boolean ringback);
|
||||
void onDestroyed(Connection c);
|
||||
void onConferenceCapableChanged(Connection c, boolean isConferenceCapable);
|
||||
void onCallCapabilitiesChanged(Connection c, int callCapabilities);
|
||||
void onParentConnectionChanged(Connection c, Connection parent);
|
||||
void onSetCallVideoProvider(Connection c, CallVideoProvider callVideoProvider);
|
||||
void onSetAudioModeIsVoip(Connection c, boolean isVoip);
|
||||
@@ -76,7 +76,7 @@ public abstract class Connection {
|
||||
public void onRequestingRingback(Connection c, boolean ringback) {}
|
||||
|
||||
@Override
|
||||
public void onConferenceCapableChanged(Connection c, boolean isConferenceCapable) {}
|
||||
public void onCallCapabilitiesChanged(Connection c, int callCapabilities) {}
|
||||
|
||||
@Override
|
||||
public void onParentConnectionChanged(Connection c, Connection parent) {}
|
||||
@@ -110,7 +110,7 @@ public abstract class Connection {
|
||||
private CallAudioState mCallAudioState;
|
||||
private Uri mHandle;
|
||||
private boolean mRequestingRingback = false;
|
||||
private boolean mIsConferenceCapable = false;
|
||||
private int mCallCapabilities;
|
||||
private Connection mParentConnection;
|
||||
private boolean mAudioModeIsVoip;
|
||||
private StatusHints mStatusHints;
|
||||
@@ -279,10 +279,10 @@ public abstract class Connection {
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether this connection is capable of being conferenced.
|
||||
* Returns the connection's {@link CallCapabilities}
|
||||
*/
|
||||
public final boolean isConferenceCapable() {
|
||||
return mIsConferenceCapable;
|
||||
public final int getCallCapabilities() {
|
||||
return mCallCapabilities;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -394,13 +394,15 @@ public abstract class Connection {
|
||||
}
|
||||
|
||||
/**
|
||||
* TODO(santoscordon): Needs documentation.
|
||||
* Sets the connection's {@link CallCapabilities}.
|
||||
*
|
||||
* @param callCapabilities The new call capabilities.
|
||||
*/
|
||||
public final void setIsConferenceCapable(boolean isConferenceCapable) {
|
||||
if (mIsConferenceCapable != isConferenceCapable) {
|
||||
mIsConferenceCapable = isConferenceCapable;
|
||||
public final void setCallCapabilities(int callCapabilities) {
|
||||
if (mCallCapabilities != callCapabilities) {
|
||||
mCallCapabilities = callCapabilities;
|
||||
for (Listener l : mListeners) {
|
||||
l.onConferenceCapableChanged(this, mIsConferenceCapable);
|
||||
l.onCallCapabilitiesChanged(this, mCallCapabilities);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -346,9 +346,9 @@ public abstract class ConnectionService extends Service {
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onConferenceCapableChanged(Connection c, boolean isConferenceCapable) {
|
||||
public void onCallCapabilitiesChanged(Connection c, int callCapabilities) {
|
||||
String id = mIdByConnection.get(c);
|
||||
mAdapter.setCanConference(id, isConferenceCapable);
|
||||
mAdapter.setCallCapabilities(id, callCapabilities);
|
||||
}
|
||||
|
||||
/** ${inheritDoc} */
|
||||
|
||||
@@ -221,16 +221,10 @@ final class ConnectionServiceAdapter implements DeathRecipient {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Indicates that the specified call can conference with any of the specified list of calls.
|
||||
*
|
||||
* @param callId The unique ID of the call.
|
||||
* @param canConference Specified whether or not the call can be conferenced.
|
||||
*/
|
||||
void setCanConference(String callId, boolean canConference) {
|
||||
void setCallCapabilities(String callId, int capabilities) {
|
||||
for (IConnectionServiceAdapter adapter : mAdapters) {
|
||||
try {
|
||||
adapter.setCanConference(callId, canConference);
|
||||
adapter.setCallCapabilities(callId, capabilities);
|
||||
} catch (RemoteException ignored) {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,6 +35,7 @@ public final class RemoteConnection {
|
||||
void onStateChanged(RemoteConnection connection, int state);
|
||||
void onDisconnected(RemoteConnection connection, int cause, String message);
|
||||
void onRequestingRingback(RemoteConnection connection, boolean ringback);
|
||||
void onCallCapabilitiesChanged(RemoteConnection connection, int callCapabilities);
|
||||
void onPostDialWait(RemoteConnection connection, String remainingDigits);
|
||||
void onFeaturesChanged(RemoteConnection connection, int features);
|
||||
void onSetAudioModeIsVoip(RemoteConnection connection, boolean isVoip);
|
||||
@@ -51,6 +52,7 @@ public final class RemoteConnection {
|
||||
private String mDisconnectMessage;
|
||||
private boolean mRequestingRingback;
|
||||
private boolean mConnected;
|
||||
private int mCallCapabilities;
|
||||
private int mFeatures;
|
||||
private boolean mAudioModeIsVoip;
|
||||
private StatusHints mStatusHints;
|
||||
@@ -85,6 +87,10 @@ public final class RemoteConnection {
|
||||
return mDisconnectMessage;
|
||||
}
|
||||
|
||||
public int getCallCapabilities() {
|
||||
return mCallCapabilities;
|
||||
}
|
||||
|
||||
public int getFeatures() {
|
||||
return mFeatures;
|
||||
}
|
||||
@@ -226,6 +232,16 @@ public final class RemoteConnection {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
void setCallCapabilities(int callCapabilities) {
|
||||
mCallCapabilities = callCapabilities;
|
||||
for (Listener l : mListeners) {
|
||||
l.onCallCapabilitiesChanged(this, callCapabilities);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @hide
|
||||
*/
|
||||
|
||||
@@ -144,8 +144,10 @@ final class RemoteConnectionService implements DeathRecipient {
|
||||
|
||||
/** ${inheritDoc} */
|
||||
@Override
|
||||
public void setCanConference(String connectionId, boolean canConference) {
|
||||
// not supported for remote connections.
|
||||
public void setCallCapabilities(String connectionId, int callCapabilities) {
|
||||
if (isCurrentConnection(connectionId)) {
|
||||
mConnection.setCallCapabilities(callCapabilities);
|
||||
}
|
||||
}
|
||||
|
||||
/** ${inheritDoc} */
|
||||
|
||||
@@ -50,7 +50,7 @@ oneway interface IConnectionServiceAdapter {
|
||||
|
||||
void setRequestingRingback(String callId, boolean ringing);
|
||||
|
||||
void setCanConference(String callId, boolean canConference);
|
||||
void setCallCapabilities(String callId, int callCapabilities);
|
||||
|
||||
void setIsConferenced(String callId, String conferenceCallId);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user