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

Commit 81119bcc authored by Chen Xu's avatar Chen Xu Committed by Automerger Merge Worker
Browse files

Merge "[MEP] Framework initial support for eSim Multiple Enabled Profiles." am: 6fb53a2d

Original change: https://android-review.googlesource.com/c/platform/frameworks/opt/telephony/+/1893464

Change-Id: I3601333057b41c7c8a91c12b135809367d78c8d3
parents a3169e7f 6fb53a2d
Loading
Loading
Loading
Loading
+7 −5
Original line number Diff line number Diff line
@@ -58,7 +58,7 @@ import android.util.IntArray;
import android.util.LocalLog;

import com.android.internal.telephony.uicc.IccUtils;
import com.android.internal.telephony.uicc.UiccCard;
import com.android.internal.telephony.uicc.UiccPort;
import com.android.internal.telephony.uicc.UiccProfile;
import com.android.telephony.Rlog;

@@ -351,14 +351,16 @@ public class CarrierPrivilegesTracker extends Handler {
        if (!mTelephonyManager.hasIccCard(mPhone.getPhoneId())) {
            return Collections.EMPTY_LIST;
        }
        UiccCard uiccCard = mPhone.getUiccCard();
        if (uiccCard == null) {

        UiccPort uiccPort = mPhone.getUiccPort();
        if (uiccPort == null) {
            Rlog.w(
                    TAG,
                    "Null UiccCard, but hasIccCard was true for phoneId " + mPhone.getPhoneId());
                    "Null UiccPort, but hasIccCard was present for phoneId " + mPhone.getPhoneId());
            return Collections.EMPTY_LIST;
        }
        UiccProfile uiccProfile = uiccCard.getUiccProfile();

        UiccProfile uiccProfile = uiccPort.getUiccProfile();
        if (uiccProfile == null) {
            Rlog.w(
                    TAG,
+4 −4
Original line number Diff line number Diff line
@@ -31,8 +31,8 @@ import android.telephony.AnomalyReporter;
import android.util.LocalLog;

import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.telephony.uicc.UiccCard;
import com.android.internal.telephony.uicc.UiccController;
import com.android.internal.telephony.uicc.UiccPort;
import com.android.telephony.Rlog;

import java.util.ArrayList;
@@ -143,9 +143,9 @@ public class CarrierServicesSmsFilter {

    private Optional<String> getCarrierAppPackageForFiltering() {
        List<String> carrierPackages = null;
        UiccCard card = UiccController.getInstance().getUiccCard(mPhone.getPhoneId());
        if (card != null) {
            carrierPackages = card.getCarrierPackageNamesForIntent(
        UiccPort port = UiccController.getInstance().getUiccPort(mPhone.getPhoneId());
        if (port != null) {
            carrierPackages = port.getCarrierPackageNamesForIntent(
                    mContext.getPackageManager(),
                    new Intent(CarrierMessagingService.SERVICE_INTERFACE));
        } else {
+4 −4
Original line number Diff line number Diff line
@@ -112,9 +112,9 @@ import com.android.internal.telephony.uicc.IsimRecords;
import com.android.internal.telephony.uicc.IsimUiccRecords;
import com.android.internal.telephony.uicc.RuimRecords;
import com.android.internal.telephony.uicc.SIMRecords;
import com.android.internal.telephony.uicc.UiccCard;
import com.android.internal.telephony.uicc.UiccCardApplication;
import com.android.internal.telephony.uicc.UiccController;
import com.android.internal.telephony.uicc.UiccPort;
import com.android.internal.telephony.uicc.UiccProfile;
import com.android.internal.telephony.uicc.UiccSlot;
import com.android.internal.telephony.util.ArrayUtils;
@@ -4228,12 +4228,12 @@ public class GsmCdmaPhone extends Phone {
            return false;
        }

        UiccCard card = mUiccController.getUiccCard(getPhoneId());
        if (card == null) {
        UiccPort port = mUiccController.getUiccPort(getPhoneId());
        if (port == null) {
            return false;
        }

        boolean status = card.setOperatorBrandOverride(brand);
        boolean status = port.setOperatorBrandOverride(brand);

        // Refresh.
        if (status) {
+9 −0
Original line number Diff line number Diff line
@@ -93,6 +93,7 @@ import com.android.internal.telephony.uicc.IsimRecords;
import com.android.internal.telephony.uicc.UiccCard;
import com.android.internal.telephony.uicc.UiccCardApplication;
import com.android.internal.telephony.uicc.UiccController;
import com.android.internal.telephony.uicc.UiccPort;
import com.android.internal.telephony.uicc.UsimServiceTable;
import com.android.internal.telephony.util.TelephonyUtils;
import com.android.internal.util.XmlUtils;
@@ -3930,6 +3931,14 @@ public abstract class Phone extends Handler implements PhoneInternalInterface {
        return mUiccController.getUiccCard(mPhoneId);
    }

    /**
     * Gets the Uicc port corresponding to this phone.
     * @return the UiccPort object corresponding to the phone ID.
     */
    public UiccPort getUiccPort() {
        return mUiccController.getUiccPort(mPhoneId);
    }

    /**
     * Get P-CSCF address from PCO after data connection is established or modified.
     * @param apnType the apnType, "ims" for IMS APN, "emergency" for EMERGENCY APN
+5 −5
Original line number Diff line number Diff line
@@ -37,8 +37,8 @@ import android.telephony.SubscriptionManager;
import android.telephony.TelephonyFrameworkInitializer;

import com.android.internal.telephony.uicc.IsimRecords;
import com.android.internal.telephony.uicc.UiccCard;
import com.android.internal.telephony.uicc.UiccCardApplication;
import com.android.internal.telephony.uicc.UiccPort;
import com.android.telephony.Rlog;

public class PhoneSubInfoController extends IPhoneSubInfo.Stub {
@@ -408,13 +408,13 @@ public class PhoneSubInfoController extends IPhoneSubInfo.Stub {
    public String getIccSimChallengeResponse(int subId, int appType, int authType, String data,
            String callingPackage, String callingFeatureId) throws RemoteException {
        CallPhoneMethodHelper<String> toExecute = (phone)-> {
            UiccCard uiccCard = phone.getUiccCard();
            if (uiccCard == null) {
                loge("getIccSimChallengeResponse() UiccCard is null");
            UiccPort uiccPort = phone.getUiccPort();
            if (uiccPort == null) {
                loge("getIccSimChallengeResponse() uiccPort is null");
                return null;
            }

            UiccCardApplication uiccApp = uiccCard.getApplicationByType(appType);
            UiccCardApplication uiccApp = uiccPort.getApplicationByType(appType);
            if (uiccApp == null) {
                loge("getIccSimChallengeResponse() no app with specified type -- " + appType);
                return null;
Loading