diff --git a/src/com/android/settings/deviceinfo/PhoneNumberPreferenceController.java b/src/com/android/settings/deviceinfo/PhoneNumberPreferenceController.java index ddc3ad6643e..537c705d0bf 100644 --- a/src/com/android/settings/deviceinfo/PhoneNumberPreferenceController.java +++ b/src/com/android/settings/deviceinfo/PhoneNumberPreferenceController.java @@ -120,7 +120,7 @@ public class PhoneNumberPreferenceController extends BasePreferenceController { private CharSequence getFirstPhoneNumber() { final List subscriptionInfoList = mSubscriptionManager.getActiveSubscriptionInfoList(true); - if (subscriptionInfoList == null) { + if (subscriptionInfoList == null || subscriptionInfoList.isEmpty()) { return mContext.getText(R.string.device_info_default); } diff --git a/tests/robotests/src/com/android/settings/deviceinfo/PhoneNumberPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/PhoneNumberPreferenceControllerTest.java index 023135d4d7f..3e6e4360f37 100644 --- a/tests/robotests/src/com/android/settings/deviceinfo/PhoneNumberPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/deviceinfo/PhoneNumberPreferenceControllerTest.java @@ -149,6 +149,16 @@ public class PhoneNumberPreferenceControllerTest { assertThat(primaryNumber).isEqualTo(mContext.getString(R.string.device_info_default)); } + @Test + public void getSummary_getEmptySubscriptionInfo_shouldShowUnknown() { + List infos = new ArrayList<>(); + when(mSubscriptionManager.getActiveSubscriptionInfoList(eq(true))).thenReturn(infos); + + CharSequence primaryNumber = mController.getSummary(); + + assertThat(primaryNumber).isEqualTo(mContext.getString(R.string.device_info_default)); + } + @Test public void isSliceable_shouldBeTrue() { assertThat(mController.isSliceable()).isTrue();