diff options
author | Brad Ebinger <breadley@google.com> | 2016-03-23 19:44:38 -0700 |
---|---|---|
committer | Brad Ebinger <breadley@google.com> | 2016-04-04 14:28:59 -0700 |
commit | d3edc2292d969ecf8df96281c50e1a8f7a3fc777 (patch) | |
tree | daafcc4f45e7e60fd7b947fd1d5eda050be5c169 /sip | |
parent | 0e2238b6d7ed8cb14891e71642c8a29af5f9c416 (diff) | |
download | android_packages_services_Telephony-d3edc2292d969ecf8df96281c50e1a8f7a3fc777.tar.gz android_packages_services_Telephony-d3edc2292d969ecf8df96281c50e1a8f7a3fc777.tar.bz2 android_packages_services_Telephony-d3edc2292d969ecf8df96281c50e1a8f7a3fc777.zip |
Use Emergency PhoneAccount for MT ECM Call on no SIM
Use the correct Emergency PhoneAccount for a MT call on a phone with no
SIM that is in ECM. Also, reject incoming SIP calls that are received on
a disabled PhoneAccount instead of crashing the Phone process.
Bug: 27820226
Change-Id: Iab81df05ba9c4f94f08576baee47475d59760a13
Diffstat (limited to 'sip')
-rw-r--r-- | sip/src/com/android/services/telephony/sip/SipBroadcastReceiver.java | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sip/src/com/android/services/telephony/sip/SipBroadcastReceiver.java b/sip/src/com/android/services/telephony/sip/SipBroadcastReceiver.java index ea7e6ea15..b49591741 100644 --- a/sip/src/com/android/services/telephony/sip/SipBroadcastReceiver.java +++ b/sip/src/com/android/services/telephony/sip/SipBroadcastReceiver.java @@ -22,6 +22,7 @@ import android.content.Intent; import android.net.sip.SipManager; import android.os.Bundle; import android.os.UserHandle; +import android.telecom.PhoneAccount; import android.telecom.PhoneAccountHandle; import android.telecom.TelecomManager; import android.util.Log; @@ -83,7 +84,13 @@ public class SipBroadcastReceiver extends BroadcastReceiver { if (accountHandle != null) { Bundle extras = new Bundle(); extras.putParcelable(SipUtil.EXTRA_INCOMING_CALL_INTENT, intent); - TelecomManager.from(context).addNewIncomingCall(accountHandle, extras); + TelecomManager tm = TelecomManager.from(context); + PhoneAccount phoneAccount = tm.getPhoneAccount(accountHandle); + if(phoneAccount != null && phoneAccount.isEnabled()) { + tm.addNewIncomingCall(accountHandle, extras); + } else { + log("takeCall, PhoneAccount is disabled. Not accepting incoming call..."); + } } } |