Revert "Revert "Add missing unregistrations when a connection ends.""
This reverts commit 207ec8c2dd1927edb5332afcafacccebfd2ca210.
Yes, this is a revert of a revert...IOW, I'm putting the original change
back in.
Original change information:
[[
Bug: 22410282
Change-Id: Ic2698d9ae768e27a346f71c7b0cd99c9a490e801
]]
Change-Id: I796bdc35ff727a46b766056ad9b2a4aabead0814
diff --git a/src/com/android/services/telephony/TelephonyConnection.java b/src/com/android/services/telephony/TelephonyConnection.java
index 8c09a95..421fbda 100644
--- a/src/com/android/services/telephony/TelephonyConnection.java
+++ b/src/com/android/services/telephony/TelephonyConnection.java
@@ -581,10 +581,14 @@
*/
void clearOriginalConnection() {
if (mOriginalConnection != null) {
- getPhone().unregisterForPreciseCallStateChanged(mHandler);
- getPhone().unregisterForRingbackTone(mHandler);
- getPhone().unregisterForHandoverStateChanged(mHandler);
- getPhone().unregisterForDisconnect(mHandler);
+ if (getPhone() != null) {
+ getPhone().unregisterForPreciseCallStateChanged(mHandler);
+ getPhone().unregisterForRingbackTone(mHandler);
+ getPhone().unregisterForHandoverStateChanged(mHandler);
+ getPhone().unregisterForDisconnect(mHandler);
+ }
+ mOriginalConnection.removePostDialListener(mPostDialListener);
+ mOriginalConnection.removeListener(mOriginalConnectionListener);
mOriginalConnection = null;
}
}
@@ -809,12 +813,7 @@
private void close() {
Log.v(this, "close");
- if (getPhone() != null) {
- getPhone().unregisterForPreciseCallStateChanged(mHandler);
- getPhone().unregisterForRingbackTone(mHandler);
- getPhone().unregisterForHandoverStateChanged(mHandler);
- }
- mOriginalConnection = null;
+ clearOriginalConnection();
destroy();
}