Merge "Add Connection.setAudioModeIsVoip"
This commit is contained in:
committed by
Android (Google) Code Review
commit
24ae29623f
@@ -27611,6 +27611,7 @@ package android.telecomm {
|
||||
|
||||
public abstract class Connection {
|
||||
ctor protected Connection();
|
||||
method public final boolean getAudioModeIsVoip();
|
||||
method public final android.telecomm.CallAudioState getCallAudioState();
|
||||
method public final java.util.List<android.telecomm.Connection> getChildConnections();
|
||||
method public final int getFeatures();
|
||||
@@ -27635,6 +27636,7 @@ package android.telecomm {
|
||||
method protected void onStopDtmfTone();
|
||||
method protected void onUnhold();
|
||||
method public final void setActive();
|
||||
method public final void setAudioModeIsVoip(boolean);
|
||||
method public final void setCallVideoProvider(android.telecomm.CallVideoProvider);
|
||||
method public final void setDestroyed();
|
||||
method public final void setDialing();
|
||||
@@ -27795,6 +27797,7 @@ package android.telecomm {
|
||||
method public void addListener(android.telecomm.RemoteConnection.Listener);
|
||||
method public void answer();
|
||||
method public void disconnect();
|
||||
method public boolean getAudioModeIsVoip();
|
||||
method public int getDisconnectCause();
|
||||
method public java.lang.String getDisconnectMessage();
|
||||
method public int getFeatures();
|
||||
@@ -27815,6 +27818,7 @@ package android.telecomm {
|
||||
method public abstract void onFeaturesChanged(android.telecomm.RemoteConnection, int);
|
||||
method public abstract void onPostDialWait(android.telecomm.RemoteConnection, java.lang.String);
|
||||
method public abstract void onRequestingRingback(android.telecomm.RemoteConnection, boolean);
|
||||
method public abstract void onSetAudioModeIsVoip(android.telecomm.RemoteConnection, boolean);
|
||||
method public abstract void onStateChanged(android.telecomm.RemoteConnection, int);
|
||||
}
|
||||
|
||||
|
||||
@@ -44,6 +44,7 @@ public abstract class Connection {
|
||||
void onConferenceCapableChanged(Connection c, boolean isConferenceCapable);
|
||||
void onParentConnectionChanged(Connection c, Connection parent);
|
||||
void onSetCallVideoProvider(Connection c, CallVideoProvider callVideoProvider);
|
||||
void onSetAudioModeIsVoip(Connection c, boolean isVoip);
|
||||
}
|
||||
|
||||
/** @hide */
|
||||
@@ -81,6 +82,9 @@ public abstract class Connection {
|
||||
|
||||
@Override
|
||||
public void onSetCallVideoProvider(Connection c, CallVideoProvider callVideoProvider) {}
|
||||
|
||||
@Override
|
||||
public void onSetAudioModeIsVoip(Connection c, boolean isVoip) {}
|
||||
}
|
||||
|
||||
public final class State {
|
||||
@@ -104,6 +108,7 @@ public abstract class Connection {
|
||||
private boolean mRequestingRingback = false;
|
||||
private boolean mIsConferenceCapable = false;
|
||||
private Connection mParentConnection;
|
||||
private boolean mAudioModeIsVoip;
|
||||
|
||||
/**
|
||||
* Create a new Connection.
|
||||
@@ -164,6 +169,13 @@ public abstract class Connection {
|
||||
return !mChildConnections.isEmpty();
|
||||
}
|
||||
|
||||
/**
|
||||
* @return True if the connection's audio mode is VOIP.
|
||||
*/
|
||||
public final boolean getAudioModeIsVoip() {
|
||||
return mAudioModeIsVoip;
|
||||
}
|
||||
|
||||
/**
|
||||
* Assign a listener to be notified of state changes.
|
||||
*
|
||||
@@ -407,6 +419,18 @@ public abstract class Connection {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Requests that the framework use VOIP audio mode for this connection.
|
||||
*
|
||||
* @param isVoip True if the audio mode is VOIP.
|
||||
*/
|
||||
public final void setAudioModeIsVoip(boolean isVoip) {
|
||||
mAudioModeIsVoip = isVoip;
|
||||
for (Listener l : mListeners) {
|
||||
l.onSetAudioModeIsVoip(this, isVoip);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Notifies this Connection and listeners that the {@link #getCallAudioState()} property
|
||||
* has a new value.
|
||||
|
||||
@@ -364,6 +364,12 @@ public abstract class ConnectionService extends Service {
|
||||
String id = mIdByConnection.get(c);
|
||||
mAdapter.setCallVideoProvider(id, callVideoProvider);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSetAudioModeIsVoip(Connection c, boolean isVoip) {
|
||||
String id = mIdByConnection.get(c);
|
||||
mAdapter.setAudioModeIsVoip(id, isVoip);
|
||||
}
|
||||
};
|
||||
|
||||
/** {@inheritDoc} */
|
||||
|
||||
@@ -320,6 +320,21 @@ final class ConnectionServiceAdapter implements DeathRecipient {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Requests that the framework use VOIP audio mode for this connection.
|
||||
*
|
||||
* @param callId The unique ID of the call to set with the given call video provider.
|
||||
* @param isVoip True if the audio mode is VOIP.
|
||||
*/
|
||||
void setAudioModeIsVoip(String callId, boolean isVoip) {
|
||||
for (IConnectionServiceAdapter adapter : mAdapters) {
|
||||
try {
|
||||
adapter.setAudioModeIsVoip(callId, isVoip);
|
||||
} catch (RemoteException e) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the features associated with the given call.
|
||||
* Features are defined in {@link android.telecomm.CallFeatures} and are passed in as a
|
||||
|
||||
@@ -37,6 +37,7 @@ public final class RemoteConnection {
|
||||
void onRequestingRingback(RemoteConnection connection, boolean ringback);
|
||||
void onPostDialWait(RemoteConnection connection, String remainingDigits);
|
||||
void onFeaturesChanged(RemoteConnection connection, int features);
|
||||
void onSetAudioModeIsVoip(RemoteConnection connection, boolean isVoip);
|
||||
void onDestroyed(RemoteConnection connection);
|
||||
}
|
||||
|
||||
@@ -50,6 +51,7 @@ public final class RemoteConnection {
|
||||
private boolean mRequestingRingback;
|
||||
private boolean mConnected;
|
||||
private int mFeatures;
|
||||
private boolean mAudioModeIsVoip;
|
||||
|
||||
/**
|
||||
* @hide
|
||||
@@ -85,6 +87,10 @@ public final class RemoteConnection {
|
||||
return mFeatures;
|
||||
}
|
||||
|
||||
public boolean getAudioModeIsVoip() {
|
||||
return mAudioModeIsVoip;
|
||||
}
|
||||
|
||||
public void abort() {
|
||||
try {
|
||||
if (mConnected) {
|
||||
@@ -252,4 +258,12 @@ public final class RemoteConnection {
|
||||
l.onFeaturesChanged(this, features);
|
||||
}
|
||||
}
|
||||
|
||||
/** @hide */
|
||||
void setAudioModeIsVoip(boolean isVoip) {
|
||||
mAudioModeIsVoip = isVoip;
|
||||
for (Listener l : mListeners) {
|
||||
l.onSetAudioModeIsVoip(this, isVoip);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -193,6 +193,14 @@ final class RemoteConnectionService implements DeathRecipient {
|
||||
mConnection.setFeatures(features);
|
||||
}
|
||||
}
|
||||
|
||||
/** ${inheritDoc} */
|
||||
@Override
|
||||
public final void setAudioModeIsVoip(String connectionId, boolean isVoip) {
|
||||
if (isCurrentConnection(connectionId)) {
|
||||
mConnection.setAudioModeIsVoip(isVoip);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
RemoteConnectionService(ComponentName componentName, IConnectionService connectionService)
|
||||
|
||||
@@ -64,4 +64,6 @@ oneway interface IConnectionServiceAdapter {
|
||||
void setCallVideoProvider(String callId, ICallVideoProvider callVideoProvider);
|
||||
|
||||
void setFeatures(String callId, int features);
|
||||
|
||||
void setAudioModeIsVoip(String callId, boolean isVoip);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user