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);
         }