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

Commit dd911609 authored by Nazanin Bakhshi's avatar Nazanin Bakhshi Committed by Android (Google) Code Review
Browse files

Merge "add certs to carrier configs and store them as UiccAccessRules" into qt-qpr1-dev

parents c42e2b68 89580325
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -381,6 +381,8 @@ public class SubscriptionController extends ISub.Stub {
        } else {
            accessRules = null;
        }
        UiccAccessRule[] carrierConfigAccessRules = UiccAccessRule.decodeRules(cursor.getBlob(
            cursor.getColumnIndexOrThrow(SubscriptionManager.ACCESS_RULES_FROM_CARRIER_CONFIGS)));
        boolean isOpportunistic = cursor.getInt(cursor.getColumnIndexOrThrow(
                SubscriptionManager.IS_OPPORTUNISTIC)) == 1;
        String groupUUID = cursor.getString(cursor.getColumnIndexOrThrow(
@@ -401,6 +403,7 @@ public class SubscriptionController extends ISub.Stub {
                    + " dataRoaming:" + dataRoaming + " mcc:" + mcc + " mnc:" + mnc
                    + " countIso:" + countryIso + " isEmbedded:"
                    + isEmbedded + " accessRules:" + Arrays.toString(accessRules)
                    + " carrierConfigAccessRules: " + Arrays.toString(carrierConfigAccessRules)
                    + " cardId:" + cardIdToPrint + " publicCardId:" + publicCardId
                    + " isOpportunistic:" + isOpportunistic + " groupUUID:" + groupUUID
                    + " profileClass:" + profileClass + " subscriptionType: " + subType);
@@ -415,7 +418,7 @@ public class SubscriptionController extends ISub.Stub {
                carrierName, nameSource, iconTint, number, dataRoaming, iconBitmap, mcc, mnc,
                countryIso, isEmbedded, accessRules, cardId, publicCardId, isOpportunistic,
                groupUUID, false /* isGroupDisabled */, carrierId, profileClass, subType,
                groupOwner);
                groupOwner, carrierConfigAccessRules);
        info.setAssociatedPlmns(ehplmns, hplmns);
        return info;
    }
+19 −0
Original line number Diff line number Diff line
@@ -65,6 +65,8 @@ import com.android.internal.telephony.uicc.UiccSlot;

import java.io.FileDescriptor;
import java.io.PrintWriter;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.List;

@@ -967,6 +969,23 @@ public class SubscriptionInfoUpdater extends Handler {
            cv.put(SubscriptionManager.IS_OPPORTUNISTIC, isOpportunistic ? "1" : "0");
        }

        String[] certs = config.getStringArray(
            CarrierConfigManager.KEY_CARRIER_CERTIFICATE_STRING_ARRAY);
        if (certs != null) {
            UiccAccessRule[] carrierConfigAccessRules = new UiccAccessRule[certs.length];
            try {
                for (int i = 0; i < certs.length; i++) {
                    carrierConfigAccessRules[i] = new UiccAccessRule(
                        MessageDigest.getInstance("SHA-256").digest(certs[i].getBytes()), null, 0);
                }
            } catch (NoSuchAlgorithmException e) {
                throw new RuntimeException("for setCarrierConfigAccessRules, SHA-256 must exist",
                    e);
            }
            cv.put(SubscriptionManager.ACCESS_RULES_FROM_CARRIER_CONFIGS,
                    UiccAccessRule.encodeRules(carrierConfigAccessRules));
        }

        String groupUuidString =
                config.getString(CarrierConfigManager.KEY_SUBSCRIPTION_GROUP_UUID_STRING, "");
        ParcelUuid groupUuid = null;
+2 −0
Original line number Diff line number Diff line
@@ -489,6 +489,8 @@ public class UiccCarrierPrivilegeRules extends Handler {
                            mRules += IccUtils.bytesToHexString(response.payload)
                                    .toUpperCase(Locale.US);
                            if (isDataComplete()) {
                                //TODO: here's where AccessRules are being updated from the psim
                                // b/139133814
                                mAccessRules.addAll(parseRules(mRules));
                                if (mAIDInUse == ARAD) {
                                    mCheckedRules = true;
+3 −2
Original line number Diff line number Diff line
@@ -109,8 +109,9 @@ public class FakeTelephonyProvider extends MockContentProvider {
                    + SubscriptionManager.SUBSCRIPTION_TYPE + " INTEGER DEFAULT 0,"
                    + SubscriptionManager.WHITE_LISTED_APN_DATA + " INTEGER DEFAULT 0,"
                    + SubscriptionManager.GROUP_OWNER + " TEXT,"
                    + SubscriptionManager.DATA_ENABLED_OVERRIDE_RULES + " TEXT"
                    + SubscriptionManager.IMSI + " TEXT"
                    + SubscriptionManager.DATA_ENABLED_OVERRIDE_RULES + " TEXT,"
                    + SubscriptionManager.IMSI + " TEXT,"
                    + SubscriptionManager.ACCESS_RULES_FROM_CARRIER_CONFIGS + " BLOB"
                    + ");";
        }

+3 −3
Original line number Diff line number Diff line
@@ -83,19 +83,19 @@ public class MultiSimSettingControllerTest extends TelephonyTest {
            "T-mobile", 0, 255, "12345", 0, null, "310", "260",
            "156", false, null, null, -1, false, mGroupUuid1.toString(), false,
            TelephonyManager.UNKNOWN_CARRIER_ID, SubscriptionManager.PROFILE_CLASS_DEFAULT,
            SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, null);
            SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, null, null);

    private SubscriptionInfo mSubInfo3 = new SubscriptionInfo(3, "subInfo3 IccId", -1, "T-mobile",
            "T-mobile", 0, 255, "12345", 0, null, "310", "260",
            "156", false, null, null, -1, false, mGroupUuid1.toString(), false,
            TelephonyManager.UNKNOWN_CARRIER_ID, SubscriptionManager.PROFILE_CLASS_DEFAULT,
            SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, null);
            SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, null, null);

    private SubscriptionInfo mSubInfo4 = new SubscriptionInfo(4, "subInfo4 IccId", -1, "T-mobile",
            "T-mobile", 0, 255, "12345", 0, null, "310", "260",
            "156", false, null, null, -1, false, mGroupUuid1.toString(), false,
            TelephonyManager.UNKNOWN_CARRIER_ID, SubscriptionManager.PROFILE_CLASS_DEFAULT,
            SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, null);
            SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM, null, null);

    @Before
    public void setUp() throws Exception {
Loading