Remove onConnectionAdded/Removed from ConnectionService API (2/2)
These methods are no longer needed because they are redundant. Refactor
SipConnectionService and TelephonyConnectionService to accommodate.
Bug: 17262026
Change-Id: If134e2785f1fa2cff59157b23710d1a3053f17e4
diff --git a/sip/src/com/android/services/telephony/sip/SipConnectionService.java b/sip/src/com/android/services/telephony/sip/SipConnectionService.java
index 78c0440..ffaf64d 100644
--- a/sip/src/com/android/services/telephony/sip/SipConnectionService.java
+++ b/sip/src/com/android/services/telephony/sip/SipConnectionService.java
@@ -90,6 +90,7 @@
final SipConnection connection = new SipConnection();
connection.setHandle(request.getHandle(), PropertyPresentation.ALLOWED);
connection.setInitializing();
+ connection.onAddedToCallService();
boolean attemptCall = true;
if (!SipUtil.isVoipSupported(this)) {
@@ -181,6 +182,7 @@
if (originalConnection != null) {
SipConnection sipConnection = new SipConnection();
sipConnection.initialize(originalConnection);
+ sipConnection.onAddedToCallService();
return sipConnection;
} else {
if (VERBOSE) log("onCreateIncomingConnection, takingIncomingCall failed");
@@ -190,19 +192,6 @@
return Connection.createFailedConnection(DisconnectCause.ERROR_UNSPECIFIED, null);
}
- @Override
- public void onConnectionAdded(Connection connection) {
- if (VERBOSE) log("onConnectionAdded, connection: " + connection);
- if (connection instanceof SipConnection) {
- ((SipConnection) connection).onAddedToCallService();
- }
- }
-
- @Override
- public void onConnectionRemoved(Connection connection) {
- if (VERBOSE) log("onConnectionRemoved, connection: " + connection);
- }
-
private com.android.internal.telephony.Connection createConnectionForProfile(
SipProfile profile,
ConnectionRequest request) {
diff --git a/src/com/android/services/telephony/GsmConferenceController.java b/src/com/android/services/telephony/GsmConferenceController.java
index 894e5bb..5cc27a7 100644
--- a/src/com/android/services/telephony/GsmConferenceController.java
+++ b/src/com/android/services/telephony/GsmConferenceController.java
@@ -33,17 +33,22 @@
*/
final class GsmConferenceController {
private final Connection.Listener mConnectionListener = new Connection.Listener() {
- @Override
- public void onStateChanged(Connection c, int state) {
- recalculate();
- }
+ @Override
+ public void onStateChanged(Connection c, int state) {
+ recalculate();
+ }
- /** ${inheritDoc} */
- @Override
- public void onDisconnected(Connection c, int cause, String message) {
- recalculate();
- }
- };
+ /** ${inheritDoc} */
+ @Override
+ public void onDisconnected(Connection c, int cause, String message) {
+ recalculate();
+ }
+
+ @Override
+ public void onDestroyed(Connection connection) {
+ remove((GsmConnection) connection);
+ }
+ };
/** The known GSM connections. */
private final List<GsmConnection> mGsmConnections = new ArrayList<>();
diff --git a/src/com/android/services/telephony/TelephonyConnectionService.java b/src/com/android/services/telephony/TelephonyConnectionService.java
index 851269d..3d085ca 100644
--- a/src/com/android/services/telephony/TelephonyConnectionService.java
+++ b/src/com/android/services/telephony/TelephonyConnectionService.java
@@ -203,20 +203,6 @@
}
- @Override
- public void onConnectionAdded(Connection connection) {
- if (connection instanceof GsmConnection) {
- mGsmConferenceController.add((GsmConnection) connection);
- }
- }
-
- @Override
- public void onConnectionRemoved(Connection connection) {
- if (connection instanceof GsmConnection) {
- mGsmConferenceController.remove((GsmConnection) connection);
- }
- }
-
private void placeOutgoingConnection(
TelephonyConnection connection, Phone phone, ConnectionRequest request) {
String number = connection.getHandle().getSchemeSpecificPart();
@@ -253,7 +239,9 @@
Phone phone, com.android.internal.telephony.Connection originalConnection) {
int phoneType = phone.getPhoneType();
if (phoneType == TelephonyManager.PHONE_TYPE_GSM) {
- return new GsmConnection(originalConnection);
+ GsmConnection connection = new GsmConnection(originalConnection);
+ mGsmConferenceController.add(connection);
+ return connection;
} else if (phoneType == TelephonyManager.PHONE_TYPE_CDMA) {
boolean allowMute = allowMute(phone);
return new CdmaConnection(originalConnection, allowMute);