Fix Settings crashing while displaying phone number slice.
Check if the SubscriptionInfo list is empty to avoid the IndexOutOfBoundsException. Fixes: 133258244 Test: maunal & robotest Change-Id: I837f6761ba2b53823f0126f734f65875a30e34dd
This commit is contained in:
@@ -120,7 +120,7 @@ public class PhoneNumberPreferenceController extends BasePreferenceController {
|
||||
private CharSequence getFirstPhoneNumber() {
|
||||
final List<SubscriptionInfo> subscriptionInfoList =
|
||||
mSubscriptionManager.getActiveSubscriptionInfoList(true);
|
||||
if (subscriptionInfoList == null) {
|
||||
if (subscriptionInfoList == null || subscriptionInfoList.isEmpty()) {
|
||||
return mContext.getText(R.string.device_info_default);
|
||||
}
|
||||
|
||||
|
@@ -149,6 +149,16 @@ public class PhoneNumberPreferenceControllerTest {
|
||||
assertThat(primaryNumber).isEqualTo(mContext.getString(R.string.device_info_default));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void getSummary_getEmptySubscriptionInfo_shouldShowUnknown() {
|
||||
List<SubscriptionInfo> 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();
|
||||
|
Reference in New Issue
Block a user