Mis Telecomm API changes - telephony
This CL fixes up Telephony to work with the API changes
in ag/501321.
Change-Id: Iaffe0b84cea6003f2a9b9d8b30676743d2b236d4
diff --git a/sip/src/com/android/services/telephony/sip/SipConnection.java b/sip/src/com/android/services/telephony/sip/SipConnection.java
index c6e1be6..5b065fd 100644
--- a/sip/src/com/android/services/telephony/sip/SipConnection.java
+++ b/sip/src/com/android/services/telephony/sip/SipConnection.java
@@ -174,6 +174,12 @@
}
@Override
+ protected void onSwapWithBackgroundCall() {
+ if (VERBOSE) log("onSwapWithBackgroundCall");
+ // TODO(sail): Implement swap.
+ }
+
+ @Override
protected void onChildrenChanged(List<Connection> children) {
if (VERBOSE) log("onChildrenChanged, children: " + children);
}
@@ -260,6 +266,10 @@
if (VERBOSE) log("onAddedToCallService");
updateCallCapabilities();
setAudioModeIsVoip(true);
+ if (mOriginalConnection != null) {
+ setCallerDisplayName(mOriginalConnection.getCnapName(),
+ mOriginalConnection.getCnapNamePresentation());
+ }
}
private void close() {
diff --git a/sip/src/com/android/services/telephony/sip/SipConnectionService.java b/sip/src/com/android/services/telephony/sip/SipConnectionService.java
index 1dc78e3..513fbfd 100644
--- a/sip/src/com/android/services/telephony/sip/SipConnectionService.java
+++ b/sip/src/com/android/services/telephony/sip/SipConnectionService.java
@@ -119,7 +119,7 @@
if (VERBOSE) log("onCreateIncomingConnection, new connection: " + originalConnection);
if (originalConnection != null) {
SipConnection connection = new SipConnection(originalConnection);
- response.onResult(getConnectionRequestForIncomingCall(request, sipAudioCall),
+ response.onResult(getConnectionRequestForIncomingCall(request, originalConnection),
connection);
} else {
if (VERBOSE) log("onCreateIncomingConnection, takingIncomingCall failed");
@@ -195,15 +195,10 @@
}
private ConnectionRequest getConnectionRequestForIncomingCall(ConnectionRequest request,
- SipAudioCall audioCall) {
- SipProfile callee = audioCall.getPeerProfile();
- String domain = callee.getSipDomain();
- if (domain.endsWith(":5060")) {
- domain = domain.substring(0, domain.length() - 5);
- }
- Uri uri = Uri.fromParts(SipUtil.SCHEME_SIP, callee.getUserName() + "@" + domain, null);
+ com.android.internal.telephony.Connection connection) {
+ Uri uri = Uri.fromParts(SipUtil.SCHEME_SIP, connection.getAddress(), null);
return new ConnectionRequest(request.getAccount(), request.getCallId(), uri,
- request.getExtras(), 0);
+ connection.getNumberPresentation(), request.getExtras(), 0);
}
private static void log(String msg) {
diff --git a/src/com/android/services/telephony/GsmConferenceController.java b/src/com/android/services/telephony/GsmConferenceController.java
index 138aa8e..593c2dc 100644
--- a/src/com/android/services/telephony/GsmConferenceController.java
+++ b/src/com/android/services/telephony/GsmConferenceController.java
@@ -30,8 +30,7 @@
*/
public class GsmConferenceController {
- private final Connection.Listener mConnectionListener =
- new Connection.ListenerBase() {
+ private final Connection.Listener mConnectionListener = new Connection.Listener() {
@Override
public void onStateChanged(Connection c, int state) {
// No need to recalculate for conference calls, just traditional calls.
@@ -42,13 +41,11 @@
/** ${inheritDoc} */
@Override
- public void onDisconnected(
- Connection c, int cause, String message) {
+ public void onDisconnected(Connection c, int cause, String message) {
// When a connection disconnects, make sure to release its parent reference
// so that the parent can move to disconnected as well.
c.setParentConnection(null);
}
-
};
/** The known GSM connections. */
diff --git a/src/com/android/services/telephony/PstnConnectionService.java b/src/com/android/services/telephony/PstnConnectionService.java
index f60cd73..a38fc8d 100644
--- a/src/com/android/services/telephony/PstnConnectionService.java
+++ b/src/com/android/services/telephony/PstnConnectionService.java
@@ -145,7 +145,12 @@
}
respondWithResult(
- new ConnectionRequest(request.getCallId(), handle, request.getExtras(),
+ new ConnectionRequest(
+ request.getAccount(),
+ request.getCallId(),
+ handle,
+ connection.getNumberPresentation(),
+ request.getExtras(),
request.getVideoState()),
response,
telephonyConnection);
@@ -160,6 +165,13 @@
super.onCreateIncomingConnection(request, response);
}
+ @Override
+ protected void onConnectionAdded(Connection connection) {
+ if (connection instanceof TelephonyConnection) {
+ ((TelephonyConnection) connection).onAddedToCallService();
+ }
+ }
+
/** {@inheritDoc} */
@Override
protected boolean canCall(Uri handle) {
@@ -176,7 +188,7 @@
case TelephonyManager.PHONE_TYPE_GSM: {
final GsmConnection gsmConn = new GsmConnection(phone, connection);
mGsmConferenceController.add(gsmConn);
- gsmConn.addConnectionListener(new Connection.ListenerBase() {
+ gsmConn.addConnectionListener(new Connection.Listener() {
@Override
public void onDestroyed(Connection c) {
mGsmConferenceController.remove(gsmConn);
diff --git a/src/com/android/services/telephony/TelephonyConnection.java b/src/com/android/services/telephony/TelephonyConnection.java
index 17ab1c9..551e018 100644
--- a/src/com/android/services/telephony/TelephonyConnection.java
+++ b/src/com/android/services/telephony/TelephonyConnection.java
@@ -144,6 +144,15 @@
}
}
+ final void onAddedToCallService() {
+ updateCallCapabilities();
+ if (mOriginalConnection != null) {
+ setCallerDisplayName(
+ mOriginalConnection.getCnapName(),
+ mOriginalConnection.getCnapNamePresentation());
+ }
+ }
+
protected void hangup(int disconnectCause) {
if (mOriginalConnection != null) {
try {
diff --git a/src/com/android/services/telephony/TelephonyConnectionService.java b/src/com/android/services/telephony/TelephonyConnectionService.java
index 0cefab6..9a0d5a4 100644
--- a/src/com/android/services/telephony/TelephonyConnectionService.java
+++ b/src/com/android/services/telephony/TelephonyConnectionService.java
@@ -111,7 +111,6 @@
final TelephonyConnection telephonyConnection =
createTelephonyConnection(request, phone, connection);
respondWithResult(request, response, telephonyConnection);
- telephonyConnection.updateCallCapabilities();
final com.android.internal.telephony.Connection connectionFinal = connection;
PostDialListener postDialListener = new PostDialListener() {
@@ -215,7 +214,7 @@
final TelephonyConnection telephonyConnection =
onCreateTelephonyConnection(request, phone, connection);
sKnownConnections.add(connection);
- telephonyConnection.addConnectionListener(new Connection.ListenerBase() {
+ telephonyConnection.addConnectionListener(new Connection.Listener() {
@Override
public void onDestroyed(Connection c) {
telephonyConnection.removeConnectionListener(this);