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

Commit 36a2ef54 authored by Xiangyu/Malcolm Chen's avatar Xiangyu/Malcolm Chen Committed by android-build-merger
Browse files

Merge "Make sure IS_EMBEDDED is set properly when adding new subscription." am: 55cd6e08

am: c7402777

Change-Id: I59834730d78bed15175a70f6d8637e112919f823
parents ce077604 c7402777
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -549,22 +549,29 @@ public class SubscriptionInfoUpdater extends Handler {
        List<SubscriptionInfo> subInfos = SubscriptionController.getInstance()
                .getSubInfoUsingSlotIndexPrivileged(slotIndex, false);
        if (subInfos != null) {
            boolean changed = false;
            for (int i = 0; i < subInfos.size(); i++) {
                SubscriptionInfo temp = subInfos.get(i);
                ContentValues value = new ContentValues(1);

                String msisdn = TelephonyManager.getDefault().getLine1Number(
                        temp.getSubscriptionId());
                if (msisdn != null) {

                UiccSlot uiccSlot = UiccController.getInstance().getUiccSlotForPhone(slotIndex);
                boolean isEuicc = (uiccSlot != null && uiccSlot.isEuicc());
                if (isEuicc != temp.isEmbedded() || !TextUtils.equals(msisdn, temp.getNumber())) {
                    value.put(SubscriptionManager.IS_EMBEDDED, isEuicc);
                    value.put(SubscriptionManager.NUMBER, msisdn);
                    mContext.getContentResolver().update(SubscriptionManager.getUriForSubscriptionId(
                            temp.getSubscriptionId()), value, null, null);

                    changed = true;
                }
            }
            if (changed) {
                // refresh Cached Active Subscription Info List
                SubscriptionController.getInstance().refreshCachedActiveSubscriptionInfoList();
            }
        }
        }

        // TODO investigate if we can update for each slot separately.
        if (isAllIccIdQueryDone()) {
+2 −1
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.os.Handler;
import android.os.Message;
import android.telephony.Rlog;
import android.telephony.TelephonyManager;
import android.text.TextUtils;

import com.android.internal.telephony.CommandsInterface;
import com.android.internal.telephony.TelephonyComponentFactory;
@@ -489,7 +490,7 @@ public class UiccCard {
     * card or the EID of the card for an eUICC card.
     */
    public String getCardId() {
        if (mCardId != null) {
        if (!TextUtils.isEmpty(mCardId)) {
            return mCardId;
        } else if (mUiccProfile != null) {
            return mUiccProfile.getIccId();