Add further Connection-side APIs for RTT (part 2)

Add methods and callbacks to facilitate local and remote RTT initiation
and termination in the middle of a call. Adds @hide Connection-side APIs
to communicate with the ConnectionService, as well as plumbing for
RemoteConnections.

Test: manual, through telecom testapps
Change-Id: Ia80604b7dff8586ff222dbccdbe55e91aab02178
This commit is contained in:
Hall Liu
2017-02-06 10:49:48 -08:00
parent 78eed31d2d
commit 57006aa82a
17 changed files with 670 additions and 20 deletions

View File

@@ -77,6 +77,7 @@ public abstract class InCallService extends Service {
private static final int MSG_SILENCE_RINGER = 8;
private static final int MSG_ON_CONNECTION_EVENT = 9;
private static final int MSG_ON_RTT_UPGRADE_REQUEST = 10;
private static final int MSG_ON_RTT_INITIATION_FAILURE = 11;
/** Default Handler used to consolidate binder method calls onto a single thread. */
private final Handler mHandler = new Handler(Looper.getMainLooper()) {
@@ -140,6 +141,12 @@ public abstract class InCallService extends Service {
mPhone.internalOnRttUpgradeRequest(callId, requestId);
break;
}
case MSG_ON_RTT_INITIATION_FAILURE: {
String callId = (String) msg.obj;
int reason = msg.arg1;
mPhone.internalOnRttInitiationFailure(callId, reason);
break;
}
default:
break;
}
@@ -210,6 +217,11 @@ public abstract class InCallService extends Service {
public void onRttUpgradeRequest(String callId, int id) {
mHandler.obtainMessage(MSG_ON_RTT_UPGRADE_REQUEST, id, 0, callId).sendToTarget();
}
@Override
public void onRttInitiationFailure(String callId, int reason) {
mHandler.obtainMessage(MSG_ON_RTT_INITIATION_FAILURE, reason, 0, callId).sendToTarget();
}
}
private Phone.Listener mPhoneListener = new Phone.Listener() {