Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fa5407c6 authored by SongFerng Wang's avatar SongFerng Wang Committed by Android (Google) Code Review
Browse files

Merge "Changing the condition since the esim may be removable" into tm-dev

parents 3dfcc708 948f5120
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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());
                }
            }
+2 −1
Original line number Diff line number Diff line
@@ -193,7 +193,7 @@ public class UiccSlotUtil {
                            if (slotInfo == null) {
                                return false;
                            }
                            return !slotInfo.isRemovable();
                            return slotInfo.getIsEuicc();
                        })
                .findFirst().orElse(-1);

@@ -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) {
+1 −0
Original line number Diff line number Diff line
@@ -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()
+1 −1
Original line number Diff line number Diff line
@@ -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;
            }
        }
+14 −0
Original line number Diff line number Diff line
@@ -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() {
@@ -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),