Loading src/com/android/settings/network/EnableMultiSimSidecar.java +2 −1 Original line number Diff line number Diff line Loading @@ -190,7 +190,8 @@ public class EnableMultiSimSidecar extends AsyncTaskSidecar<Void, Boolean> { Set<Integer> activeRemovableLogicalSlotIds = new ArraySet<>(); for (UiccSlotInfo info : infos) { for (UiccPortInfo portInfo :info.getPorts()) { if (info != null && portInfo.isActive() && info.isRemovable()) { if (info != null && portInfo.isActive() && info.isRemovable() && !info.getIsEuicc()) { activeRemovableLogicalSlotIds.add(portInfo.getLogicalSlotIndex()); } } Loading src/com/android/settings/network/UiccSlotUtil.java +2 −1 Original line number Diff line number Diff line Loading @@ -193,7 +193,7 @@ public class UiccSlotUtil { if (slotInfo == null) { return false; } return !slotInfo.isRemovable(); return slotInfo.getIsEuicc(); }) .findFirst().orElse(-1); Loading Loading @@ -249,6 +249,7 @@ public class UiccSlotUtil { if (slotId == INVALID_PHYSICAL_SLOT_ID) { for (int i = 0; i < slots.length; i++) { if (slots[i].isRemovable() && !slots[i].getIsEuicc() && !slots[i].getPorts().stream().findFirst().get().isActive() && slots[i].getCardStateInfo() != UiccSlotInfo.CARD_STATE_INFO_ERROR && slots[i].getCardStateInfo() != UiccSlotInfo.CARD_STATE_INFO_RESTRICTED) { Loading src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java +1 −0 Original line number Diff line number Diff line Loading @@ -592,6 +592,7 @@ public class ToggleSubscriptionDialogActivity extends SubscriptionActionDialogAc .anyMatch( slot -> slot != null && slot.isRemovable() && !slot.getIsEuicc() && slot.getPorts().stream().anyMatch( port -> port.isActive()) && slot.getCardStateInfo() Loading src/com/android/settings/sim/receivers/SimSlotChangeHandler.java +1 −1 Original line number Diff line number Diff line Loading @@ -294,7 +294,7 @@ public class SimSlotChangeHandler { return null; } for (UiccSlotInfo slotInfo : slotInfos) { if (slotInfo != null && slotInfo.isRemovable()) { if (slotInfo != null && slotInfo.isRemovable() && !slotInfo.getIsEuicc()) { return slotInfo; } } Loading tests/unit/src/com/android/settings/network/UiccSlotUtilTest.java +14 −0 Original line number Diff line number Diff line Loading @@ -92,6 +92,14 @@ public class UiccSlotUtilTest { assertThat(testSlot).isEqualTo(0); } @Test public void getEsimSlotId_twoSimSlotsDeviceAndRemovableEsimIsSlot1_returnTheCorrectEsimSlot() { when(mTelephonyManager.getUiccSlotsInfo()).thenReturn( twoSimSlotsDeviceActivePsimActiveRemovableEsim()); int testSlot = UiccSlotUtil.getEsimSlotId(mContext); assertThat(testSlot).isEqualTo(1); } @Test public void getEsimSlotId_twoSimSlotsDeviceAndEsimIsSlot1_returnTheCorrectEsimSlot() { Loading Loading @@ -729,6 +737,12 @@ public class UiccSlotUtilTest { createUiccSlotInfo(true, false, 1, true)}; } private UiccSlotInfo[] twoSimSlotsDeviceActivePsimActiveRemovableEsim() { return new UiccSlotInfo[]{ createUiccSlotInfo(false, true, 0, true), createUiccSlotInfo(true, true, 1, true)}; } private UiccSlotInfo[] twoSimSlotsDeviceActiveEsimActivePsim() { return new UiccSlotInfo[]{ createUiccSlotInfo(true, false, 0, true), Loading Loading
src/com/android/settings/network/EnableMultiSimSidecar.java +2 −1 Original line number Diff line number Diff line Loading @@ -190,7 +190,8 @@ public class EnableMultiSimSidecar extends AsyncTaskSidecar<Void, Boolean> { Set<Integer> activeRemovableLogicalSlotIds = new ArraySet<>(); for (UiccSlotInfo info : infos) { for (UiccPortInfo portInfo :info.getPorts()) { if (info != null && portInfo.isActive() && info.isRemovable()) { if (info != null && portInfo.isActive() && info.isRemovable() && !info.getIsEuicc()) { activeRemovableLogicalSlotIds.add(portInfo.getLogicalSlotIndex()); } } Loading
src/com/android/settings/network/UiccSlotUtil.java +2 −1 Original line number Diff line number Diff line Loading @@ -193,7 +193,7 @@ public class UiccSlotUtil { if (slotInfo == null) { return false; } return !slotInfo.isRemovable(); return slotInfo.getIsEuicc(); }) .findFirst().orElse(-1); Loading Loading @@ -249,6 +249,7 @@ public class UiccSlotUtil { if (slotId == INVALID_PHYSICAL_SLOT_ID) { for (int i = 0; i < slots.length; i++) { if (slots[i].isRemovable() && !slots[i].getIsEuicc() && !slots[i].getPorts().stream().findFirst().get().isActive() && slots[i].getCardStateInfo() != UiccSlotInfo.CARD_STATE_INFO_ERROR && slots[i].getCardStateInfo() != UiccSlotInfo.CARD_STATE_INFO_RESTRICTED) { Loading
src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java +1 −0 Original line number Diff line number Diff line Loading @@ -592,6 +592,7 @@ public class ToggleSubscriptionDialogActivity extends SubscriptionActionDialogAc .anyMatch( slot -> slot != null && slot.isRemovable() && !slot.getIsEuicc() && slot.getPorts().stream().anyMatch( port -> port.isActive()) && slot.getCardStateInfo() Loading
src/com/android/settings/sim/receivers/SimSlotChangeHandler.java +1 −1 Original line number Diff line number Diff line Loading @@ -294,7 +294,7 @@ public class SimSlotChangeHandler { return null; } for (UiccSlotInfo slotInfo : slotInfos) { if (slotInfo != null && slotInfo.isRemovable()) { if (slotInfo != null && slotInfo.isRemovable() && !slotInfo.getIsEuicc()) { return slotInfo; } } Loading
tests/unit/src/com/android/settings/network/UiccSlotUtilTest.java +14 −0 Original line number Diff line number Diff line Loading @@ -92,6 +92,14 @@ public class UiccSlotUtilTest { assertThat(testSlot).isEqualTo(0); } @Test public void getEsimSlotId_twoSimSlotsDeviceAndRemovableEsimIsSlot1_returnTheCorrectEsimSlot() { when(mTelephonyManager.getUiccSlotsInfo()).thenReturn( twoSimSlotsDeviceActivePsimActiveRemovableEsim()); int testSlot = UiccSlotUtil.getEsimSlotId(mContext); assertThat(testSlot).isEqualTo(1); } @Test public void getEsimSlotId_twoSimSlotsDeviceAndEsimIsSlot1_returnTheCorrectEsimSlot() { Loading Loading @@ -729,6 +737,12 @@ public class UiccSlotUtilTest { createUiccSlotInfo(true, false, 1, true)}; } private UiccSlotInfo[] twoSimSlotsDeviceActivePsimActiveRemovableEsim() { return new UiccSlotInfo[]{ createUiccSlotInfo(false, true, 0, true), createUiccSlotInfo(true, true, 1, true)}; } private UiccSlotInfo[] twoSimSlotsDeviceActiveEsimActivePsim() { return new UiccSlotInfo[]{ createUiccSlotInfo(true, false, 0, true), Loading