From 640e56433fa8e1c3be917e597eefc65b2f9a04b4 Mon Sep 17 00:00:00 2001 From: Malcolm Chen Date: Wed, 15 Jan 2020 14:54:06 -0800 Subject: [PATCH] Remove logic to manually search inactive pSIM. Nowe inserted inactive pSIM will be included in Telephony's get available and get selectable subInfo list so that logic is no longer needed. Bug: 147128878 Test: unittest Change-Id: Icd131f133e47dae0770a4da71c51de3c2a94b42b --- .../settings/network/SubscriptionUtil.java | 29 ----------------- .../network/SubscriptionUtilTest.java | 32 ------------------- 2 files changed, 61 deletions(-) diff --git a/src/com/android/settings/network/SubscriptionUtil.java b/src/com/android/settings/network/SubscriptionUtil.java index 6220d455e61..22c47a6d70b 100644 --- a/src/com/android/settings/network/SubscriptionUtil.java +++ b/src/com/android/settings/network/SubscriptionUtil.java @@ -80,39 +80,10 @@ public class SubscriptionUtil { return sAvailableResultsForTesting; } final SubscriptionManager subMgr = context.getSystemService(SubscriptionManager.class); - final TelephonyManager telMgr = context.getSystemService(TelephonyManager.class); final List subscriptions = new ArrayList<>(emptyIfNull(subMgr.getSelectableSubscriptionInfoList())); - // Look for inactive but present physical SIMs that are missing from the selectable list. - final List missing = new ArrayList<>(); - final UiccSlotInfo[] slotsInfo = telMgr.getUiccSlotsInfo(); - for (int i = 0; slotsInfo != null && i < slotsInfo.length; i++) { - final UiccSlotInfo slotInfo = slotsInfo[i]; - if (isInactiveInsertedPSim(slotInfo)) { - final int index = slotInfo.getLogicalSlotIdx(); - final String cardId = slotInfo.getCardId(); - - final boolean found = subscriptions.stream().anyMatch(info -> - index == info.getSimSlotIndex() && cardId.equals(info.getCardString())); - if (!found) { - missing.add(slotInfo); - } - } - } - if (missing.isEmpty()) { - return subscriptions; - } - for (SubscriptionInfo info : subMgr.getAllSubscriptionInfoList()) { - for (UiccSlotInfo slotInfo : missing) { - if (info.getSimSlotIndex() == slotInfo.getLogicalSlotIdx() - && info.getCardString().equals(slotInfo.getCardId())) { - subscriptions.add(info); - break; - } - } - } return subscriptions; } diff --git a/tests/robotests/src/com/android/settings/network/SubscriptionUtilTest.java b/tests/robotests/src/com/android/settings/network/SubscriptionUtilTest.java index 79609061381..7df88e645ab 100644 --- a/tests/robotests/src/com/android/settings/network/SubscriptionUtilTest.java +++ b/tests/robotests/src/com/android/settings/network/SubscriptionUtilTest.java @@ -38,7 +38,6 @@ import org.mockito.Mock; import org.mockito.MockitoAnnotations; import org.robolectric.RobolectricTestRunner; -import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -87,37 +86,6 @@ public class SubscriptionUtilTest { assertThat(subs).hasSize(2); } - @Test - public void getAvailableSubscriptions_oneSelectableOneDisabledPSim_twoResults() { - final SubscriptionInfo info1 = mock(SubscriptionInfo.class); - final SubscriptionInfo info2 = mock(SubscriptionInfo.class); - - when(info1.getSubscriptionId()).thenReturn(111); - when(info1.getSimSlotIndex()).thenReturn(-1); - when(info1.getCardString()).thenReturn("info1_cardid"); - - when(info2.getSubscriptionId()).thenReturn(222); - when(info2.getSimSlotIndex()).thenReturn(0); - when(info2.getCardString()).thenReturn("info2_cardid"); - - when(mSubMgr.getSelectableSubscriptionInfoList()).thenReturn(Arrays.asList(info1)); - when(mSubMgr.getAllSubscriptionInfoList()).thenReturn(Arrays.asList(info1, info2)); - - final UiccSlotInfo info2slot = mock(UiccSlotInfo.class); - when(info2slot.getCardStateInfo()).thenReturn(CARD_STATE_INFO_PRESENT); - when(info2slot.getLogicalSlotIdx()).thenReturn(0); - when(info2slot.getCardId()).thenReturn("info2_cardid"); - - final UiccSlotInfo[] slotInfos = {info2slot}; - when(mTelMgr.getUiccSlotsInfo()).thenReturn(slotInfos); - - final List subs = SubscriptionUtil.getAvailableSubscriptions(mContext); - assertThat(subs).hasSize(2); - assertThat(subs.get(0).getSubscriptionId()).isEqualTo(111); - assertThat(subs.get(1).getSubscriptionId()).isEqualTo(222); - } - - @Test public void getAvailableSubscriptions_oneSelectableTwoDisabledPSimsOneAbsent_twoResults() { final SubscriptionInfo info1 = mock(SubscriptionInfo.class);