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

Commit 373f57e7 authored by Chen Xu's avatar Chen Xu Committed by android-build-merger
Browse files

Merge "new IccRecord APIs to get plmn and registerForSpnUpdate"

am: 964fa687

Change-Id: I701fd1d7deca5812bd375cedb030f379220dbded
parents a065f905 964fa687
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -47,6 +47,7 @@ public class CarrierTestOverride {
       <carrierTestOverride key="gid2" value="ffffffffffffffff"/>
       <carrierTestOverride key="imsi" value="310010123456789"/>
       <carrierTestOverride key="spn" value="Verizon"/>
       <carrierTestOverride key="pnn" value="Verizon network"/>
       </carrierTestOverrides>
     */
    static final String DATA_CARRIER_TEST_OVERRIDE_PATH =
@@ -60,6 +61,7 @@ public class CarrierTestOverride {
    static final String CARRIER_TEST_XML_ITEM_KEY_STRING_GID2 = "gid2";
    static final String CARRIER_TEST_XML_ITEM_KEY_STRING_IMSI = "imsi";
    static final String CARRIER_TEST_XML_ITEM_KEY_STRING_SPN = "spn";
    static final String CARRIER_TEST_XML_ITEM_KEY_STRING_PNN = "pnn";

    private HashMap<String, String> mCarrierTestParamMap;

@@ -118,6 +120,17 @@ public class CarrierTestOverride {
        }
    }

    String getFakePnnHomeName() {
        try {
            String pnn = mCarrierTestParamMap.get(CARRIER_TEST_XML_ITEM_KEY_STRING_PNN);
            Rlog.d(LOG_TAG, "reading pnn from CarrierTestConfig file: " + pnn);
            return pnn;
        } catch (NullPointerException e) {
            Rlog.w(LOG_TAG, "No pnn in CarrierTestConfig file ");
            return null;
        }
    }

    private void loadCarrierTestOverrides() {

        FileReader carrierTestConfigReader;
+44 −13
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.os.RegistrantList;
import android.telephony.Rlog;
import android.telephony.SubscriptionInfo;
import android.telephony.TelephonyManager;
import android.text.TextUtils;

import com.android.internal.telephony.CommandsInterface;
import com.android.internal.telephony.uicc.IccCardApplicationStatus.AppState;
@@ -57,6 +58,7 @@ public abstract class IccRecords extends Handler implements IccConstants {
    protected RegistrantList mRecordsEventsRegistrants = new RegistrantList();
    protected RegistrantList mNewSmsRegistrants = new RegistrantList();
    protected RegistrantList mNetworkSelectionModeAutomaticRegistrants = new RegistrantList();
    protected RegistrantList mSpnUpdatedRegistrants = new RegistrantList();

    protected int mRecordsToLoad;  // number of pending load requests

@@ -92,6 +94,9 @@ public abstract class IccRecords extends Handler implements IccConstants {
    protected String mGid2;
    protected String mFakeGid2;

    protected String mPnnHomeName;
    protected String mFakePnnHomeName;

    protected String mPrefLang;

    protected PlmnActRecord[] mHplmnActRecords;
@@ -146,12 +151,6 @@ public abstract class IccRecords extends Handler implements IccConstants {
                + " mCi=" + mCi
                + " mFh=" + mFh
                + " mParentApp=" + mParentApp
                + " recordsLoadedRegistrants=" + mRecordsLoadedRegistrants
                + " mImsiReadyRegistrants=" + mImsiReadyRegistrants
                + " mRecordsEventsRegistrants=" + mRecordsEventsRegistrants
                + " mNewSmsRegistrants=" + mNewSmsRegistrants
                + " mNetworkSelectionModeAutomaticRegistrants="
                        + mNetworkSelectionModeAutomaticRegistrants
                + " recordsToLoad=" + mRecordsToLoad
                + " adnCache=" + mAdnCache
                + " recordsRequested=" + mRecordsRequested
@@ -164,13 +163,11 @@ public abstract class IccRecords extends Handler implements IccConstants {
                + " isVoiceMailFixed=" + mIsVoiceMailFixed
                + " mImsi=" + ((mImsi != null) ?
                mImsi.substring(0, 6) + Rlog.pii(VDBG, mImsi.substring(6)) : "null")
                + (mCarrierTestOverride.isInTestMode()
                ? (" mFakeImsi=" + ((mFakeImsi != null) ? mFakeImsi : "null")) : "")
                + (mCarrierTestOverride.isInTestMode() ? " mFakeImsi=" + mFakeImsi : "")
                + " mncLength=" + mMncLength
                + " mailboxIndex=" + mMailboxIndex
                + " spn=" + mSpn
                + (mCarrierTestOverride.isInTestMode()
                ? (" mFakeSpn=" + ((mFakeSpn != null) ? mFakeSpn : "null")) : "");
                + (mCarrierTestOverride.isInTestMode() ? " mFakeSpn=" + mFakeSpn : "");

    }

@@ -213,6 +210,9 @@ public abstract class IccRecords extends Handler implements IccConstants {

            mFakeSpn = mCarrierTestOverride.getFakeSpn();
            log("load mFakeSpn: " + mFakeSpn);

            mFakePnnHomeName = mCarrierTestOverride.getFakePnnHomeName();
            log("load mFakePnnHomeName: " + mFakePnnHomeName);
        }
    }

@@ -314,6 +314,22 @@ public abstract class IccRecords extends Handler implements IccConstants {
        mImsiReadyRegistrants.remove(h);
    }

    public void registerForSpnUpdate(Handler h, int what, Object obj) {
        if (mDestroyed.get()) {
            return;
        }

        Registrant r = new Registrant(h, what, obj);
        mSpnUpdatedRegistrants.add(r);

        if (!TextUtils.isEmpty(mSpn)) {
            r.notifyRegistrant(new AsyncResult(null, null, null));
        }
    }
    public void unregisterForSpnUpdate(Handler h) {
        mSpnUpdatedRegistrants.remove(h);
    }

    public void registerForRecordsEvents(Handler h, int what, Object obj) {
        Registrant r = new Registrant (h, what, obj);
        mRecordsEventsRegistrants.add(r);
@@ -406,6 +422,18 @@ public abstract class IccRecords extends Handler implements IccConstants {
        }
    }

    /**
     * Get the PLMN network name on a SIM.
     * @return null if SIM is not yet ready
     */
    public String getPnnHomeName() {
        if (mCarrierTestOverride.isInTestMode() && mFakePnnHomeName != null) {
            return mFakePnnHomeName;
        } else {
            return mPnnHomeName;
        }
    }

    public void setMsisdnNumber(String alphaTag, String number,
            Message onComplete) {
        loge("setMsisdn() should not be invoked on base IccRecords");
@@ -457,8 +485,11 @@ public abstract class IccRecords extends Handler implements IccConstants {
    }

    protected void setServiceProviderName(String spn) {
        if (!TextUtils.equals(mSpn, spn)) {
            mSpnUpdatedRegistrants.notifyRegistrants();
            mSpn = spn;
        }
    }

    /**
     * Set voice mail number to SIM record
@@ -821,13 +852,13 @@ public abstract class IccRecords extends Handler implements IccConstants {
        pw.println(" mImsi=" + ((mImsi != null) ?
                mImsi.substring(0, 6) + Rlog.pii(VDBG, mImsi.substring(6)) : "null"));
        if (mCarrierTestOverride.isInTestMode()) {
            pw.println(" mFakeImsi=" + ((mFakeImsi != null) ? mFakeImsi : "null"));
            pw.println(" mFakeImsi=" + mFakeImsi);
        }
        pw.println(" mMncLength=" + mMncLength);
        pw.println(" mMailboxIndex=" + mMailboxIndex);
        pw.println(" mSpn=" + mSpn);
        if (mCarrierTestOverride.isInTestMode()) {
            pw.println(" mFakeSpn=" + ((mFakeSpn != null) ? mFakeSpn : "null"));
            pw.println(" mFakeSpn=" + mFakeSpn);
        }
        pw.flush();
    }
+7 −4
Original line number Diff line number Diff line
@@ -91,8 +91,6 @@ public class SIMRecords extends IccRecords {
    // Numeric network codes listed in TS 51.011 EF[SPDI]
    ArrayList<String> mSpdiNetworks = null;

    String mPnnHomeName = null;

    UsimServiceTable mUsimServiceTable;

    @Override
@@ -1073,6 +1071,7 @@ public class SIMRecords extends IccRecords {
                        if (tlv.getTag() == TAG_FULL_NETWORK_NAME) {
                            mPnnHomeName = IccUtils.networkNameToString(
                                    tlv.getData(), 0, tlv.getData().length);
                            log("PNN: " + mPnnHomeName);
                            break;
                        }
                    }
@@ -2215,11 +2214,15 @@ public class SIMRecords extends IccRecords {
        pw.println(" mUsimServiceTable=" + mUsimServiceTable);
        pw.println(" mGid1=" + mGid1);
        if (mCarrierTestOverride.isInTestMode()) {
            pw.println(" mFakeGid1=" + ((mFakeGid1 != null) ? mFakeGid1 : "null"));
            pw.println(" mFakeGid1=" + mFakeGid1);
        }
        pw.println(" mGid2=" + mGid2);
        if (mCarrierTestOverride.isInTestMode()) {
            pw.println(" mFakeGid2=" + ((mFakeGid2 != null) ? mFakeGid2 : "null"));
            pw.println(" mFakeGid2=" + mFakeGid2);
        }
        pw.println(" mPnnHomeName=" + mPnnHomeName);
        if (mCarrierTestOverride.isInTestMode()) {
            pw.println(" mFakePnnHomeName=" + mFakePnnHomeName);
        }
        pw.println(" mPlmnActRecords[]=" + Arrays.toString(mPlmnActRecords));
        pw.println(" mOplmnActRecords[]=" + Arrays.toString(mOplmnActRecords));