diff --git a/telephony/java/com/android/internal/telephony/PhoneProxy.java b/telephony/java/com/android/internal/telephony/PhoneProxy.java index 77f1e6c855e1b..e1892ee531fcc 100644 --- a/telephony/java/com/android/internal/telephony/PhoneProxy.java +++ b/telephony/java/com/android/internal/telephony/PhoneProxy.java @@ -36,6 +36,7 @@ import com.android.internal.telephony.gsm.GSMPhone; import com.android.internal.telephony.gsm.NetworkInfo; import com.android.internal.telephony.gsm.GsmDataConnection; import com.android.internal.telephony.test.SimulatedRadioControl; +import com.android.internal.telephony.CallManager; import java.util.List; @@ -88,6 +89,7 @@ public class PhoneProxy extends Handler implements Phone { if(mOutgoingPhone.equals("GSM")) { logd("Make a new CDMAPhone and destroy the old GSMPhone."); + CallManager.getInstance().unregisterPhone(mActivePhone); ((GSMPhone)mActivePhone).dispose(); Phone oldPhone = mActivePhone; @@ -100,9 +102,11 @@ public class PhoneProxy extends Handler implements Phone { mActivePhone = PhoneFactory.getCdmaPhone(); ((GSMPhone)oldPhone).removeReferences(); + CallManager.getInstance().registerPhone(mActivePhone); oldPhone = null; } else { logd("Make a new GSMPhone and destroy the old CDMAPhone."); + CallManager.getInstance().unregisterPhone(mActivePhone); ((CDMAPhone)mActivePhone).dispose(); //mActivePhone = null; @@ -116,6 +120,7 @@ public class PhoneProxy extends Handler implements Phone { mActivePhone = PhoneFactory.getGsmPhone(); ((CDMAPhone)oldPhone).removeReferences(); + CallManager.getInstance().registerPhone(mActivePhone); oldPhone = null; }