Snap for 12397640 from d28c06ae8661b2a8588105878d7cb3dde2ecc6d3 to 24Q4-release

Change-Id: I527192a6d01e4cc9919e1c4b09e49cdc6e428b2f
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index 1004106..e4a02b3 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -534,7 +534,7 @@
     <string name="notification_voicemail_title_count" msgid="2806950319222327082">"নতুন ভয়েসমেল (<xliff:g id="COUNT">%d</xliff:g>)"</string>
     <string name="notification_voicemail_text_format" msgid="5720947141702312537">"<xliff:g id="VOICEMAIL_NUMBER">%s</xliff:g> এ ডায়াল করুন"</string>
     <string name="notification_voicemail_no_vm_number" msgid="3423686009815186750">"ভয়েসমেল নম্বর অজানা"</string>
-    <string name="notification_network_selection_title" msgid="255595526707809121">"কোনো পরিষেবা নেই"</string>
+    <string name="notification_network_selection_title" msgid="255595526707809121">"কোনও পরিষেবা নেই"</string>
     <string name="notification_network_selection_text" msgid="553288408722427659">"বেছে নেওয়া নেটওয়ার্ক (<xliff:g id="OPERATOR_NAME">%s</xliff:g>) নেই"</string>
     <string name="incall_error_power_off" product="watch" msgid="7191184639454113633">"কল করতে মোবাইল নেটওয়ার্ক চালু করুন, বিমান মোড বা ব্যাটারি সেভার বন্ধ করুন৷"</string>
     <string name="incall_error_power_off" product="default" msgid="8131672264311208673">"কল করতে বিমান মোড বন্ধ করুন৷"</string>
diff --git a/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/ImsTestServiceApp.java b/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/ImsTestServiceApp.java
index c71f4f8..6b78a30 100644
--- a/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/ImsTestServiceApp.java
+++ b/testapps/ImsTestService/src/com/android/phone/testapps/imstestapp/ImsTestServiceApp.java
@@ -19,7 +19,6 @@
 import android.app.Activity;
 import android.content.Intent;
 import android.os.Bundle;
-import android.os.UserHandle;
 import android.widget.Button;
 import android.widget.LinearLayout;
 
@@ -53,16 +52,16 @@
 
     private void launchRegistrationActivity() {
         Intent intent = new Intent(this, ImsRegistrationActivity.class);
-        startActivityAsUser(intent, UserHandle.CURRENT);
+        startActivity(intent);
     }
 
     private void launchCallingActivity() {
         Intent intent = new Intent(this, ImsCallingActivity.class);
-        startActivityAsUser(intent, UserHandle.CURRENT);
+        startActivity(intent);
     }
 
     private void launchConfigActivity() {
         Intent intent = new Intent(this, ImsConfigActivity.class);
-        startActivityAsUser(intent, UserHandle.CURRENT);
+        startActivity(intent);
     }
 }
diff --git a/testapps/SmsManagerTestApp/src/com/android/phone/testapps/smsmanagertestapp/SmsManagerTestApp.java b/testapps/SmsManagerTestApp/src/com/android/phone/testapps/smsmanagertestapp/SmsManagerTestApp.java
index 6d3460b..d599a86 100644
--- a/testapps/SmsManagerTestApp/src/com/android/phone/testapps/smsmanagertestapp/SmsManagerTestApp.java
+++ b/testapps/SmsManagerTestApp/src/com/android/phone/testapps/smsmanagertestapp/SmsManagerTestApp.java
@@ -24,7 +24,6 @@
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.os.Bundle;
-import android.os.UserHandle;
 import android.telephony.SmsManager;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
@@ -185,7 +184,7 @@
         intent.setComponent(SETTINGS_SUB_PICK_ACTIVITY);
         intent.putExtra(DIALOG_TYPE_KEY, SMS_PICK);
         try {
-            startActivityAsUser(intent, UserHandle.CURRENT);
+            startActivity(intent);
         } catch (ActivityNotFoundException anfe) {
             // If Settings is not installed, only log the error as we do not want to break
             // legacy applications.
diff --git a/testapps/TelephonyManagerTestApp/src/com/android/phone/testapps/telephonymanagertestapp/TelephonyManagerTestApp.java b/testapps/TelephonyManagerTestApp/src/com/android/phone/testapps/telephonymanagertestapp/TelephonyManagerTestApp.java
index d6e8e86..815c7e8 100644
--- a/testapps/TelephonyManagerTestApp/src/com/android/phone/testapps/telephonymanagertestapp/TelephonyManagerTestApp.java
+++ b/testapps/TelephonyManagerTestApp/src/com/android/phone/testapps/telephonymanagertestapp/TelephonyManagerTestApp.java
@@ -20,7 +20,6 @@
 import android.app.SearchManager;
 import android.content.Intent;
 import android.os.Bundle;
-import android.os.UserHandle;
 import android.telephony.TelephonyManager;
 import android.view.Menu;
 import android.view.View;
@@ -139,7 +138,7 @@
         sCurrentMethod = mFilteredMethods.get(position);
         Intent intent = new Intent(this, CallingMethodActivity.class);
 
-        startActivityAsUser(intent, UserHandle.CURRENT);
+        startActivity(intent);
     }
 
     @Override
diff --git a/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/ContactListActivity.java b/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/ContactListActivity.java
index 362ec83..b641606 100644
--- a/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/ContactListActivity.java
+++ b/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/ContactListActivity.java
@@ -23,7 +23,6 @@
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
-import android.os.UserHandle;
 import android.telephony.SubscriptionManager;
 import android.util.Log;
 import android.view.MenuItem;
@@ -78,7 +77,7 @@
         mStartChatButton = findViewById(R.id.start_chat_btn);
         mStartChatButton.setOnClickListener(view -> {
             Intent intent = new Intent(ContactListActivity.this, PhoneNumberActivity.class);
-            ContactListActivity.this.startActivityAsUser(intent, UserHandle.CURRENT);
+            ContactListActivity.this.startActivity(intent);
         });
         setButtonClickable(false);
 
@@ -188,7 +187,7 @@
                 Intent intent = new Intent(ContactListActivity.this, ChatActivity.class);
                 intent.putExtra(ChatActivity.EXTRA_REMOTE_PHONE_NUMBER,
                         mContactList.get(position).phoneNumber);
-                ContactListActivity.this.startActivityAsUser(intent, UserHandle.CURRENT);
+                ContactListActivity.this.startActivity(intent);
             });
         } else {
             mListview.setOnItemClickListener(null);
diff --git a/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/MainActivity.java b/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/MainActivity.java
index 7b9a7c4..5d2db73 100644
--- a/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/MainActivity.java
+++ b/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/MainActivity.java
@@ -21,7 +21,6 @@
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
 import android.os.Bundle;
-import android.os.UserHandle;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.MenuItem;
@@ -63,30 +62,30 @@
         mCarrierLockModeListBtn = findViewById(R.id.setCarrierLockMode);
         mProvisionButton.setOnClickListener(view -> {
             Intent intent = new Intent(this, ProvisioningActivity.class);
-            MainActivity.this.startActivityAsUser(intent, UserHandle.CURRENT);
+            MainActivity.this.startActivity(intent);
         });
 
         mDelegateButton.setOnClickListener(view -> {
             Intent intent = new Intent(this, DelegateActivity.class);
-            MainActivity.this.startActivityAsUser(intent, UserHandle.CURRENT);
+            MainActivity.this.startActivity(intent);
         });
 
         mUceButton.setOnClickListener(view -> {
             Intent intent = new Intent(this, UceActivity.class);
-            MainActivity.this.startActivityAsUser(intent, UserHandle.CURRENT);
+            MainActivity.this.startActivity(intent);
         });
 
         mGbaButton.setOnClickListener(view -> {
             Intent intent = new Intent(this, GbaActivity.class);
-            MainActivity.this.startActivityAsUser(intent, UserHandle.CURRENT);
+            MainActivity.this.startActivity(intent);
         });
         mMessageClientButton.setOnClickListener(view -> {
             Intent intent = new Intent(this, ContactListActivity.class);
-            MainActivity.this.startActivityAsUser(intent, UserHandle.CURRENT);
+            MainActivity.this.startActivity(intent);
         });
         mFileUploadButton.setOnClickListener(view -> {
             Intent intent = new Intent(this, FileUploadActivity.class);
-            MainActivity.this.startActivityAsUser(intent, UserHandle.CURRENT);
+            MainActivity.this.startActivity(intent);
         });
 
         String appVersionName = getVersionCode(getPackageName());
@@ -98,7 +97,7 @@
 
         mCarrierLockModeListBtn.setOnClickListener(view -> {
             Intent intent = new Intent(this, CarrieLockModeListActivity.class);
-            MainActivity.this.startActivityAsUser(intent, UserHandle.CURRENT);
+            MainActivity.this.startActivity(intent);
         });
     }
 
diff --git a/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/PhoneNumberActivity.java b/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/PhoneNumberActivity.java
index 34f63c9..b432979 100644
--- a/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/PhoneNumberActivity.java
+++ b/testapps/TestRcsApp/TestApp/src/com/google/android/sample/rcsclient/PhoneNumberActivity.java
@@ -18,7 +18,6 @@
 
 import android.content.Intent;
 import android.os.Bundle;
-import android.os.UserHandle;
 import android.util.Log;
 import android.view.MenuItem;
 import android.widget.Button;
@@ -52,7 +51,7 @@
             if (formattedNumber != null) {
                 Intent intent = new Intent(PhoneNumberActivity.this, ChatActivity.class);
                 intent.putExtra(ChatActivity.EXTRA_REMOTE_PHONE_NUMBER, formattedNumber);
-                PhoneNumberActivity.this.startActivityAsUser(intent, UserHandle.CURRENT);
+                PhoneNumberActivity.this.startActivity(intent);
             } else {
                 Toast.makeText(this, "Invalid Number format!",
                         Toast.LENGTH_LONG).show();
diff --git a/testapps/TestSatelliteApp/AndroidManifest.xml b/testapps/TestSatelliteApp/AndroidManifest.xml
index 9c52ead..eaddf95 100644
--- a/testapps/TestSatelliteApp/AndroidManifest.xml
+++ b/testapps/TestSatelliteApp/AndroidManifest.xml
@@ -20,7 +20,6 @@
     <uses-permission android:name="android.permission.BIND_SATELLITE_SERVICE"/>
     <uses-permission android:name="android.permission.SATELLITE_COMMUNICATION"/>
     <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"/>
-    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS"/>
     <application android:label="SatelliteTestApp">
         <activity android:name=".SatelliteTestApp"
              android:label="SatelliteTestApp"
diff --git a/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/Datagram.java b/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/Datagram.java
index 9d34532..6c0b227 100644
--- a/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/Datagram.java
+++ b/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/Datagram.java
@@ -29,7 +29,6 @@
 import android.content.Intent;
 import android.content.SharedPreferences;
 import android.os.Bundle;
-import android.os.UserHandle;
 import android.telephony.satellite.EnableRequestAttributes;
 import android.telephony.satellite.PointingInfo;
 import android.telephony.satellite.SatelliteDatagram;
@@ -109,8 +108,7 @@
         findViewById(R.id.Back).setOnClickListener(new OnClickListener() {
             @Override
             public void onClick(View view) {
-                startActivityAsUser(new Intent(Datagram.this, SatelliteTestApp.class),
-                        UserHandle.CURRENT);
+                startActivity(new Intent(Datagram.this, SatelliteTestApp.class));
             }
         });
     }
diff --git a/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/MultipleSendReceive.java b/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/MultipleSendReceive.java
index f8fd412..723f690 100644
--- a/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/MultipleSendReceive.java
+++ b/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/MultipleSendReceive.java
@@ -19,7 +19,6 @@
 import android.app.Activity;
 import android.content.Intent;
 import android.os.Bundle;
-import android.os.UserHandle;
 import android.telephony.satellite.EnableRequestAttributes;
 import android.telephony.satellite.SatelliteDatagram;
 import android.telephony.satellite.SatelliteManager;
@@ -57,8 +56,7 @@
         findViewById(R.id.Back).setOnClickListener(new OnClickListener() {
             @Override
             public void onClick(View view) {
-                startActivityAsUser(new Intent(MultipleSendReceive.this, SatelliteTestApp.class),
-                        UserHandle.CURRENT);
+                startActivity(new Intent(MultipleSendReceive.this, SatelliteTestApp.class));
             }
         });
     }
diff --git a/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/NbIotSatellite.java b/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/NbIotSatellite.java
index 192f81a..17646f0 100644
--- a/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/NbIotSatellite.java
+++ b/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/NbIotSatellite.java
@@ -24,7 +24,6 @@
 import android.content.SharedPreferences;
 import android.os.Bundle;
 import android.os.OutcomeReceiver;
-import android.os.UserHandle;
 import android.telephony.satellite.SatelliteManager;
 import android.telephony.satellite.SatelliteSupportedStateCallback;
 import android.util.Log;
@@ -70,8 +69,7 @@
         findViewById(R.id.Back).setOnClickListener(new OnClickListener() {
             @Override
             public void onClick(View view) {
-                startActivityAsUser(new Intent(NbIotSatellite.this, SatelliteTestApp.class),
-                        UserHandle.CURRENT);
+                startActivity(new Intent(NbIotSatellite.this, SatelliteTestApp.class));
             }
         });
 
diff --git a/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/Provisioning.java b/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/Provisioning.java
index da4070e..15c8fd8 100644
--- a/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/Provisioning.java
+++ b/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/Provisioning.java
@@ -22,7 +22,6 @@
 import android.os.Bundle;
 import android.os.CancellationSignal;
 import android.os.OutcomeReceiver;
-import android.os.UserHandle;
 import android.telephony.satellite.SatelliteManager;
 import android.telephony.satellite.SatelliteProvisionStateCallback;
 import android.telephony.satellite.stub.SatelliteResult;
@@ -70,8 +69,7 @@
         findViewById(R.id.Back).setOnClickListener(new OnClickListener() {
             @Override
             public void onClick(View view) {
-                startActivityAsUser(new Intent(Provisioning.this, SatelliteTestApp.class),
-                        UserHandle.CURRENT);
+                startActivity(new Intent(Provisioning.this, SatelliteTestApp.class));
             }
         });
     }
diff --git a/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/SatelliteControl.java b/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/SatelliteControl.java
index efad3aa..379fc74 100644
--- a/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/SatelliteControl.java
+++ b/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/SatelliteControl.java
@@ -20,7 +20,6 @@
 import android.content.Intent;
 import android.os.Bundle;
 import android.os.OutcomeReceiver;
-import android.os.UserHandle;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.satellite.EnableRequestAttributes;
@@ -96,8 +95,7 @@
         findViewById(R.id.Back).setOnClickListener(new OnClickListener() {
             @Override
             public void onClick(View view) {
-                startActivityAsUser(new Intent(SatelliteControl.this, SatelliteTestApp.class),
-                        UserHandle.CURRENT);
+                startActivity(new Intent(SatelliteControl.this, SatelliteTestApp.class));
             }
         });
     }
diff --git a/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/SatelliteTestApp.java b/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/SatelliteTestApp.java
index d686cd6..7c4ae00 100644
--- a/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/SatelliteTestApp.java
+++ b/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/SatelliteTestApp.java
@@ -23,7 +23,6 @@
 import android.content.ServiceConnection;
 import android.os.Bundle;
 import android.os.IBinder;
-import android.os.UserHandle;
 import android.telephony.satellite.stub.SatelliteDatagram;
 import android.util.Log;
 import android.view.View;
@@ -59,49 +58,49 @@
             @Override
             public void onClick(View view) {
                 Intent intent = new Intent(SatelliteTestApp.this, SatelliteControl.class);
-                startActivityAsUser(intent, UserHandle.CURRENT);
+                startActivity(intent);
             }
         });
         findViewById(R.id.Datagram).setOnClickListener(new OnClickListener() {
             @Override
             public void onClick(View view) {
                 Intent intent = new Intent(SatelliteTestApp.this, Datagram.class);
-                startActivityAsUser(intent, UserHandle.CURRENT);
+                startActivity(intent);
             }
         });
         findViewById(R.id.Provisioning).setOnClickListener(new OnClickListener() {
             @Override
             public void onClick(View view) {
                 Intent intent = new Intent(SatelliteTestApp.this, Provisioning.class);
-                startActivityAsUser(intent, UserHandle.CURRENT);
+                startActivity(intent);
             }
         });
         findViewById(R.id.MultipleSendReceive).setOnClickListener(new OnClickListener() {
             @Override
             public void onClick(View view) {
                 Intent intent = new Intent(SatelliteTestApp.this, MultipleSendReceive.class);
-                startActivityAsUser(intent, UserHandle.CURRENT);
+                startActivity(intent);
             }
         });
         findViewById(R.id.SendReceive).setOnClickListener(new OnClickListener() {
             @Override
             public void onClick(View view) {
                 Intent intent = new Intent(SatelliteTestApp.this, SendReceive.class);
-                startActivityAsUser(intent, UserHandle.CURRENT);
+                startActivity(intent);
             }
         });
         findViewById(R.id.NbIotSatellite).setOnClickListener(new OnClickListener() {
             @Override
             public void onClick(View view) {
                 Intent intent = new Intent(SatelliteTestApp.this, NbIotSatellite.class);
-                startActivityAsUser(intent, UserHandle.CURRENT);
+                startActivity(intent);
             }
         });
         findViewById(R.id.TestSatelliteWrapper).setOnClickListener(new OnClickListener() {
             @Override
             public void onClick(View view) {
                 Intent intent = new Intent(SatelliteTestApp.this, TestSatelliteWrapper.class);
-                startActivityAsUser(intent, UserHandle.CURRENT);
+                startActivity(intent);
             }
         });
     }
diff --git a/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/SendReceive.java b/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/SendReceive.java
index 5ce2b65..ede2377 100644
--- a/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/SendReceive.java
+++ b/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/SendReceive.java
@@ -21,7 +21,6 @@
 import android.os.Bundle;
 import android.os.CancellationSignal;
 import android.os.OutcomeReceiver;
-import android.os.UserHandle;
 import android.telephony.satellite.EnableRequestAttributes;
 import android.telephony.satellite.PointingInfo;
 import android.telephony.satellite.SatelliteCapabilities;
@@ -73,8 +72,7 @@
         findViewById(R.id.Back).setOnClickListener(new OnClickListener() {
             @Override
             public void onClick(View view) {
-                startActivityAsUser(new Intent(SendReceive.this, SatelliteTestApp.class),
-                        UserHandle.CURRENT);
+                startActivity(new Intent(SendReceive.this, SatelliteTestApp.class));
             }
         });
     }
diff --git a/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/TestSatelliteWrapper.java b/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/TestSatelliteWrapper.java
index ff1c5fa..d8e6e7c 100644
--- a/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/TestSatelliteWrapper.java
+++ b/testapps/TestSatelliteApp/src/com/android/phone/testapps/satellitetestapp/TestSatelliteWrapper.java
@@ -21,7 +21,6 @@
 import android.content.Intent;
 import android.os.Bundle;
 import android.os.OutcomeReceiver;
-import android.os.UserHandle;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.satellite.wrapper.CarrierRoamingNtnModeListenerWrapper2;
@@ -122,8 +121,7 @@
         findViewById(R.id.Back).setOnClickListener(new OnClickListener() {
             @Override
             public void onClick(View view) {
-                startActivityAsUser(new Intent(TestSatelliteWrapper.this, SatelliteTestApp.class),
-                        UserHandle.CURRENT);
+                startActivity(new Intent(TestSatelliteWrapper.this, SatelliteTestApp.class));
             }
         });
         findViewById(R.id.ClearLog).setOnClickListener(new OnClickListener() {
diff --git a/tests/src/com/android/services/telephony/TelecomAccountRegistryTest.java b/tests/src/com/android/services/telephony/TelecomAccountRegistryTest.java
index 13166a6..fc544b0 100644
--- a/tests/src/com/android/services/telephony/TelecomAccountRegistryTest.java
+++ b/tests/src/com/android/services/telephony/TelecomAccountRegistryTest.java
@@ -217,6 +217,30 @@
                 PhoneAccount.CAPABILITY_EMERGENCY_CALLS_ONLY)).isTrue();
     }
 
+    @Test
+    public void onLocaleChanged_withSubVoiceCapable_shouldNotRegisterEmergencyOnlyAccount() {
+        overrideSubscriptionServiceCapabilities(
+                new int[]{SubscriptionManager.SERVICE_CAPABILITY_VOICE});
+        onLocaleChanged();
+
+        PhoneAccount phoneAccount = verifyAndCaptureRegisteredPhoneAccount();
+
+        assertThat(phoneAccount.hasCapabilities(
+                PhoneAccount.CAPABILITY_EMERGENCY_CALLS_ONLY)).isFalse();
+    }
+
+    @Test
+    public void onLocaleChanged_withSubNotVoiceCapable_shouldRegisterEmergencyOnlyAccount() {
+        overrideSubscriptionServiceCapabilities(
+                new int[]{SubscriptionManager.SERVICE_CAPABILITY_DATA});
+        onLocaleChanged();
+
+        PhoneAccount phoneAccount = verifyAndCaptureRegisteredPhoneAccount();
+
+        assertThat(phoneAccount.hasCapabilities(
+                PhoneAccount.CAPABILITY_EMERGENCY_CALLS_ONLY)).isTrue();
+    }
+
     private PhoneAccount verifyAndCaptureRegisteredPhoneAccount() {
         ArgumentCaptor<PhoneAccount> phoneAccountArgumentCaptor =
                 ArgumentCaptor.forClass(PhoneAccount.class);
@@ -278,4 +302,13 @@
         Intent intent = new Intent(TelephonyManager.ACTION_NETWORK_COUNTRY_CHANGED);
         mLocaleChangedBroadcastReceiver.onReceive(mMockedContext, intent);
     }
+
+    private void overrideSubscriptionServiceCapabilities(int[] capabilities) {
+        PersistableBundle bundle = new PersistableBundle();
+        bundle.putIntArray(CarrierConfigManager.KEY_CELLULAR_SERVICE_CAPABILITIES_INT_ARRAY,
+                capabilities);
+
+        when(mPhoneGlobals.getCarrierConfigForSubId(anyInt())).thenReturn(bundle);
+        mTestableLooper.processAllMessages();
+    }
 }