Loading src/java/com/android/internal/telephony/uicc/CarrierTestOverride.java +13 −0 Original line number Diff line number Diff line Loading @@ -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 = Loading @@ -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; Loading Loading @@ -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; Loading src/java/com/android/internal/telephony/uicc/IccRecords.java +44 −13 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 Loading Loading @@ -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; Loading Loading @@ -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 Loading @@ -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 : ""); } Loading Loading @@ -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); } } Loading Loading @@ -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); Loading Loading @@ -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"); Loading Loading @@ -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 Loading Loading @@ -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(); } Loading src/java/com/android/internal/telephony/uicc/SIMRecords.java +7 −4 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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; } } Loading Loading @@ -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)); Loading Loading
src/java/com/android/internal/telephony/uicc/CarrierTestOverride.java +13 −0 Original line number Diff line number Diff line Loading @@ -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 = Loading @@ -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; Loading Loading @@ -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; Loading
src/java/com/android/internal/telephony/uicc/IccRecords.java +44 −13 Original line number Diff line number Diff line Loading @@ -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; Loading Loading @@ -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 Loading Loading @@ -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; Loading Loading @@ -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 Loading @@ -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 : ""); } Loading Loading @@ -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); } } Loading Loading @@ -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); Loading Loading @@ -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"); Loading Loading @@ -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 Loading Loading @@ -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(); } Loading
src/java/com/android/internal/telephony/uicc/SIMRecords.java +7 −4 Original line number Diff line number Diff line Loading @@ -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 Loading Loading @@ -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; } } Loading Loading @@ -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)); Loading