Merge "Add callback for connections to be notified when the ringer is silenced." into cw-e-dev

This commit is contained in:
Bryce Lee
2015-11-30 18:51:39 +00:00
committed by Android (Google) Code Review
3 changed files with 23 additions and 0 deletions

View File

@@ -1780,6 +1780,13 @@ public abstract class Connection extends Conferenceable {
*/
public void onReject(String replyMessage) {}
/**
* Notifies the Connection of a request to silence the ringer.
*
* @hide
*/
public void onSilence() {}
/**
* Notifies this Connection whether the user wishes to proceed with the post-dial DTMF codes.
*/

View File

@@ -102,6 +102,7 @@ public abstract class ConnectionService extends Service {
private static final int MSG_MERGE_CONFERENCE = 18;
private static final int MSG_SWAP_CONFERENCE = 19;
private static final int MSG_REJECT_WITH_MESSAGE = 20;
private static final int MSG_SILENCE = 21;
private static Connection sNullConnection;
@@ -174,6 +175,11 @@ public abstract class ConnectionService extends Service {
mHandler.obtainMessage(MSG_REJECT_WITH_MESSAGE, args).sendToTarget();
}
@Override
public void silence(String callId) {
mHandler.obtainMessage(MSG_SILENCE, callId).sendToTarget();
}
@Override
public void disconnect(String callId) {
mHandler.obtainMessage(MSG_DISCONNECT, callId).sendToTarget();
@@ -317,6 +323,9 @@ public abstract class ConnectionService extends Service {
case MSG_DISCONNECT:
disconnect((String) msg.obj);
break;
case MSG_SILENCE:
silence((String) msg.obj);
break;
case MSG_HOLD:
hold((String) msg.obj);
break;
@@ -704,6 +713,11 @@ public abstract class ConnectionService extends Service {
findConnectionForAction(callId, "reject").onReject(rejectWithMessage);
}
private void silence(String callId) {
Log.d(this, "silence %s", callId);
findConnectionForAction(callId, "silence").onSilence();
}
private void disconnect(String callId) {
Log.d(this, "disconnect %s", callId);
if (mConnectionById.containsKey(callId)) {

View File

@@ -54,6 +54,8 @@ oneway interface IConnectionService {
void disconnect(String callId);
void silence(String callId);
void hold(String callId);
void unhold(String callId);