From ea3b162a8d99fb08654c1b8ca69f47ca7a733649 Mon Sep 17 00:00:00 2001 From: twyen Date: Tue, 24 Apr 2018 10:45:08 -0700 Subject: Don't show SIM selection and swap SIM for emergency calls. TEST=TAP Bug: 73012833,73718978 Test: TAP PiperOrigin-RevId: 194110263 Change-Id: I54dbbaada89e4974030e0b3a397040d4d686bcae --- java/com/android/dialer/precall/impl/CallingAccountSelector.java | 5 +++++ java/com/android/incallui/CallButtonPresenter.java | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'java') diff --git a/java/com/android/dialer/precall/impl/CallingAccountSelector.java b/java/com/android/dialer/precall/impl/CallingAccountSelector.java index 56b392b19..16e7641ba 100644 --- a/java/com/android/dialer/precall/impl/CallingAccountSelector.java +++ b/java/com/android/dialer/precall/impl/CallingAccountSelector.java @@ -25,6 +25,7 @@ import android.support.annotation.VisibleForTesting; import android.telecom.PhoneAccount; import android.telecom.PhoneAccountHandle; import android.telecom.TelecomManager; +import android.telephony.PhoneNumberUtils; import com.android.contacts.common.widget.SelectPhoneAccountDialogFragment; import com.android.contacts.common.widget.SelectPhoneAccountDialogFragment.SelectPhoneAccountListener; import com.android.dialer.callintent.CallIntentBuilder; @@ -65,6 +66,10 @@ public class CallingAccountSelector implements PreCallAction { if (builder.getPhoneAccountHandle() != null) { return false; } + if (PhoneNumberUtils.isEmergencyNumber(builder.getUri().getSchemeSpecificPart())) { + return false; + } + TelecomManager telecomManager = context.getSystemService(TelecomManager.class); List accounts = telecomManager.getCallCapablePhoneAccounts(); if (accounts.size() <= 1) { diff --git a/java/com/android/incallui/CallButtonPresenter.java b/java/com/android/incallui/CallButtonPresenter.java index a22a2581f..e30c70fec 100644 --- a/java/com/android/incallui/CallButtonPresenter.java +++ b/java/com/android/incallui/CallButtonPresenter.java @@ -485,7 +485,8 @@ public class CallButtonPresenter otherAccount = TelecomUtil.getOtherAccount(getContext(), call.getAccountHandle()); boolean showSwapSim = - otherAccount != null + !call.isEmergencyCall() + && otherAccount != null && !call.isVoiceMailNumber() && DialerCall.State.isDialing(call.getState()) // Most devices cannot make calls on 2 SIMs at the same time. -- cgit v1.2.3