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

Commit e7c7c2a7 authored by Jordan Liu's avatar Jordan Liu Committed by Automerger Merge Worker
Browse files

Merge "Do not overwrite default eUICC when not needed" into rvc-dev am:...

Merge "Do not overwrite default eUICC when not needed" into rvc-dev am: 29e6226f am: 2ae2afde am: 711aeca1 am: dddbd0ba

Change-Id: I7367e3ce0d3550f469a65359751526378e48b834
parents 59a0a2d1 dddbd0ba
Loading
Loading
Loading
Loading
+25 −5
Original line number Diff line number Diff line
@@ -1001,7 +1001,7 @@ public class UiccController extends Handler {
                    if (!TextUtils.isEmpty(eid)) {
                        isDefaultEuiccCardIdSet = true;
                        mDefaultEuiccCardId = convertToPublicCardId(eid);
                        log("Using eid=" + eid + " from removable eUICC in slot="
                        logWithLocalLog("Using eid=" + eid + " from removable eUICC in slot="
                                + i + " to set mDefaultEuiccCardId=" + mDefaultEuiccCardId);
                        break;
                    }
@@ -1010,17 +1010,37 @@ public class UiccController extends Handler {
        }

        if (mHasBuiltInEuicc && !anyEuiccIsActive && !isDefaultEuiccCardIdSet) {
            log("onGetSlotStatusDone: setting TEMPORARILY_UNSUPPORTED_CARD_ID");
            logWithLocalLog(
                    "onGetSlotStatusDone: mDefaultEuiccCardId=TEMPORARILY_UNSUPPORTED_CARD_ID");
            isDefaultEuiccCardIdSet = true;
            mDefaultEuiccCardId = TEMPORARILY_UNSUPPORTED_CARD_ID;
        }


        if (!isDefaultEuiccCardIdSet) {
            if (mDefaultEuiccCardId >= 0) {
                // if mDefaultEuiccCardId has already been set to an actual eUICC,
                // don't overwrite mDefaultEuiccCardId unless that eUICC is no longer inserted
                boolean defaultEuiccCardIdIsStillInserted = false;
                String cardString = mCardStrings.get(mDefaultEuiccCardId);
                for (UiccSlot slot : mUiccSlots) {
                    if (cardString.equals(IccUtils.stripTrailingFs(slot.getEid()))) {
                        defaultEuiccCardIdIsStillInserted = true;
                    }
                }
                if (!defaultEuiccCardIdIsStillInserted) {
                    logWithLocalLog("onGetSlotStatusDone: mDefaultEuiccCardId="
                            + mDefaultEuiccCardId
                            + " is no longer inserted. Setting mDefaultEuiccCardId=UNINITIALIZED");
                    mDefaultEuiccCardId = UNINITIALIZED_CARD_ID;
                }
            } else {
                // no known eUICCs at all (it's possible that an eUICC is inserted and we just don't
                // know it's EID)
                logWithLocalLog("onGetSlotStatusDone: mDefaultEuiccCardId=UNINITIALIZED");
                mDefaultEuiccCardId = UNINITIALIZED_CARD_ID;
            }
        }

        if (VDBG) logPhoneIdToSlotIdMapping();