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

Commit a4f93640 authored by Chen Xu's avatar Chen Xu Committed by Gerrit Code Review
Browse files

Merge "eSIM deprecated API test Refactoring"

parents c4795988 dbe31b8e
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -631,7 +631,7 @@ public class SimStatusDialogController implements LifecycleObserver {
                final List<UiccCardInfo> infos = mTelephonyManager.getUiccCardsInfo();

                for (UiccCardInfo info : infos) {
                    if (info.getSlotIndex() == pSlotId) {
                    if (info.getPhysicalSlotIndex() == pSlotId) {
                        if (info.isEuicc()) {
                            shouldHaveEid = true;
                            eid = info.getEid();
+20 −14
Original line number Diff line number Diff line
@@ -24,6 +24,7 @@ import android.content.IntentFilter;
import android.provider.Settings;
import android.telephony.CarrierConfigManager;
import android.telephony.TelephonyManager;
import android.telephony.UiccPortInfo;
import android.telephony.UiccSlotInfo;
import android.util.ArraySet;
import android.util.Log;
@@ -62,23 +63,23 @@ public class EnableMultiSimSidecar extends AsyncTaskSidecar<Void, Boolean> {
                @Override
                public void onReceive(Context context, Intent intent) {
                    int readySimsCount = getReadySimsCount();
                    int activeSlotsCount = getActiveSlotsCount();
                    // If the number of ready SIM count and active slots equal to the number of SIMs
                    int activePortsCount = getActivePortsCount();
                    // If the number of ready SIM count and active ports equal to the number of SIMs
                    // need to be activated, the device is successfully switched to multiple active
                    // SIM mode.
                    if (readySimsCount == mNumOfActiveSim && activeSlotsCount == mNumOfActiveSim) {
                    if (readySimsCount == mNumOfActiveSim && activePortsCount == mNumOfActiveSim) {
                        Log.i(
                                TAG,
                                String.format("%d slots are active and ready.", mNumOfActiveSim));
                                String.format("%d ports are active and ready.", mNumOfActiveSim));
                        mSimCardStateChangedLatch.countDown();
                        return;
                    }
                    Log.i(
                            TAG,
                            String.format(
                                    "%d slots are active and %d SIMs are ready. Keep waiting until"
                                    "%d ports are active and %d SIMs are ready. Keep waiting until"
                                            + " timeout.",
                                    activeSlotsCount, readySimsCount));
                                    activePortsCount, readySimsCount));
                }
            };

@@ -162,19 +163,22 @@ public class EnableMultiSimSidecar extends AsyncTaskSidecar<Void, Boolean> {
        return readyCardsCount;
    }

    // Get active slots count from {@code TelephonyManager#getUiccSlotsInfo}.
    private int getActiveSlotsCount() {
    // Get active port count from {@code TelephonyManager#getUiccSlotsInfo}.
    private int getActivePortsCount() {
        UiccSlotInfo[] slotsInfo = mTelephonyManager.getUiccSlotsInfo();
        if (slotsInfo == null) {
            return 0;
        }
        int activeSlots = 0;
        int activePorts = 0;
        for (UiccSlotInfo slotInfo : slotsInfo) {
            if (slotInfo != null && slotInfo.getIsActive()) {
                activeSlots++;
            for (UiccPortInfo portInfo : slotInfo.getPorts()) {
                if (slotInfo != null && portInfo.isActive()) {
                    activePorts++;
                }
            }
        return activeSlots;

        }
        return activePorts;
    }

    /** Returns a list of active removable logical slot ids. */
@@ -185,8 +189,10 @@ public class EnableMultiSimSidecar extends AsyncTaskSidecar<Void, Boolean> {
        }
        Set<Integer> activeRemovableLogicalSlotIds = new ArraySet<>();
        for (UiccSlotInfo info : infos) {
            if (info != null && info.getIsActive() && info.isRemovable()) {
                activeRemovableLogicalSlotIds.add(info.getLogicalSlotIdx());
            for (UiccPortInfo portInfo :info.getPorts()) {
                if (info != null && portInfo.isActive() && info.isRemovable()) {
                    activeRemovableLogicalSlotIds.add(portInfo.getLogicalSlotIndex());
                }
            }
        }
        return activeRemovableLogicalSlotIds;
+5 −4
Original line number Diff line number Diff line
@@ -87,8 +87,8 @@ public class SubscriptionUtil {
        if (slotInfo == null)  {
            return false;
        }
        return !slotInfo.getIsEuicc() && !slotInfo.getIsActive() &&
                slotInfo.getCardStateInfo() == CARD_STATE_INFO_PRESENT;
        return !slotInfo.getIsEuicc() && !slotInfo.getPorts().stream().findFirst().get()
                .isActive() && slotInfo.getCardStateInfo() == CARD_STATE_INFO_PRESENT;
    }

    /**
@@ -179,7 +179,8 @@ public class SubscriptionUtil {
            // verify if subscription is inserted within slot
            for (UiccSlotInfo slotInfo : slotsInfo) {
                if ((slotInfo != null) && (!slotInfo.getIsEuicc())
                        && (slotInfo.getLogicalSlotIdx() == subInfo.getSimSlotIndex())) {
                        && (slotInfo.getPorts().stream().findFirst().get().getLogicalSlotIndex()
                        == subInfo.getSimSlotIndex())) {
                    return true;
                }
            }
@@ -576,7 +577,7 @@ public class SubscriptionUtil {
            if (!cardInfo.isRemovable()
                    || cardInfo.getCardId() == TelephonyManager.UNSUPPORTED_CARD_ID) {
                Log.i(TAG, "Skip embedded card or invalid cardId on slot: "
                        + cardInfo.getSlotIndex());
                        + cardInfo.getPhysicalSlotIndex());
                continue;
            }
            Log.i(TAG, "Target removable cardId :" + cardInfo.getCardId());
+2 −2
Original line number Diff line number Diff line
@@ -96,7 +96,7 @@ public class UiccSlotUtil {
        if (slotId == INVALID_PHYSICAL_SLOT_ID) {
            for (int i = 0; i < slots.length; i++) {
                if (slots[i].isRemovable()
                        && !slots[i].getIsActive()
                        && !slots[i].getPorts().stream().findFirst().get().isActive()
                        && slots[i].getCardStateInfo() != UiccSlotInfo.CARD_STATE_INFO_ERROR
                        && slots[i].getCardStateInfo() != UiccSlotInfo.CARD_STATE_INFO_RESTRICTED) {
                    performSwitchToRemovableSlot(i, context);
@@ -107,7 +107,7 @@ public class UiccSlotUtil {
            if (slotId >= slots.length || !slots[slotId].isRemovable()) {
                throw new UiccSlotsException("The given slotId is not a removable slot: " + slotId);
            }
            if (!slots[slotId].getIsActive()) {
            if (!slots[slotId].getPorts().stream().findFirst().get().isActive()) {
                performSwitchToRemovableSlot(slotId, context);
            }
        }
+3 −2
Original line number Diff line number Diff line
@@ -462,7 +462,8 @@ public class ToggleSubscriptionDialogActivity extends SubscriptionActionDialogAc
                                slot ->
                                        slot != null
                                                && slot.isRemovable()
                                                && slot.getIsActive()
                                                && slot.getPorts().stream().anyMatch(
                                                        port -> port.isActive())
                                                && slot.getCardStateInfo()
                                                        == UiccSlotInfo.CARD_STATE_INFO_PRESENT);
        if (mIsEsimOperation && isRemovableSimEnabled) {
Loading