Don't show SIM selection and swap SIM for emergency calls.

TEST=TAP
Bug: 73012833,73718978
Test: TAP
PiperOrigin-RevId: 194110263
Change-Id: I54dbbaada89e4974030e0b3a397040d4d686bcae
diff --git a/java/com/android/dialer/precall/impl/CallingAccountSelector.java b/java/com/android/dialer/precall/impl/CallingAccountSelector.java
index 56b392b..16e7641 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.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 @@
     if (builder.getPhoneAccountHandle() != null) {
       return false;
     }
+    if (PhoneNumberUtils.isEmergencyNumber(builder.getUri().getSchemeSpecificPart())) {
+      return false;
+    }
+
     TelecomManager telecomManager = context.getSystemService(TelecomManager.class);
     List<PhoneAccountHandle> accounts = telecomManager.getCallCapablePhoneAccounts();
     if (accounts.size() <= 1) {
diff --git a/java/com/android/incallui/CallButtonPresenter.java b/java/com/android/incallui/CallButtonPresenter.java
index a22a258..e30c70f 100644
--- a/java/com/android/incallui/CallButtonPresenter.java
+++ b/java/com/android/incallui/CallButtonPresenter.java
@@ -485,7 +485,8 @@
 
     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.