Correctly Destroy a Connection when there is an Error
We were disconnecting but not destroying the Connections
correctly, which led to "stuck" calls in Telecom.
Bug: 77921103
Test: Manual
Merged-In: I935b9edb0c33d21cd691707837e3a911466aab15
Change-Id: I79d31b2de1f88bfbdceef658f6400b3e9401f1d3
diff --git a/src/com/android/services/telephony/TelephonyConnectionService.java b/src/com/android/services/telephony/TelephonyConnectionService.java
index b3369b5..c7b2096 100644
--- a/src/com/android/services/telephony/TelephonyConnectionService.java
+++ b/src/com/android/services/telephony/TelephonyConnectionService.java
@@ -1037,6 +1037,8 @@
}
connection.setDisconnected(DisconnectCauseUtil.toTelecomDisconnectCause(
cause, e.getMessage()));
+ connection.clearOriginalConnection();
+ connection.destroy();
return;
}
@@ -1059,6 +1061,8 @@
Log.d(this, "placeOutgoingConnection, phone.dial returned null");
connection.setDisconnected(DisconnectCauseUtil.toTelecomDisconnectCause(
telephonyDisconnectCause, "Connection is null"));
+ connection.clearOriginalConnection();
+ connection.destroy();
} else {
connection.setOriginalConnection(originalConnection);
}