Loading src/java/com/android/internal/telephony/uicc/UiccController.java +20 −5 Original line number Diff line number Diff line Loading @@ -135,6 +135,9 @@ public class UiccController extends Handler { private static final int INVALID_CARD_ID = TelephonyManager.INVALID_CARD_ID; // GSM SGP.02 section 2.2.2 states that the EID is always 32 digits long private static final int EID_LENGTH = 32; // SharedPreference key for saving the known card strings (ICCIDs and EIDs) ordered by card ID private static final String CARD_STRINGS = "card_strings"; Loading Loading @@ -561,10 +564,6 @@ public class UiccController extends Handler { UiccCard card = mUiccSlots[slotId].getUiccCard(); if (card != null && (card.getCardState() == CardState.CARDSTATE_PRESENT)) { String cardString = card.getCardId(); if (!mUiccSlots[slotId].isEuicc()) { // getCardId() returns the raw ICCID for a UICC, so we strip it manually cardString = IccUtils.stripTrailingFs(cardString); } addCardId(cardString); } Loading @@ -572,10 +571,17 @@ public class UiccController extends Handler { mIccChangedRegistrants.notifyRegistrants(new AsyncResult(null, index, null)); } /** * Add a cardString to mCardStrings. If this is an ICCID, trailing Fs will be automatically * stripped. */ private void addCardId(String cardString) { if (TextUtils.isEmpty(cardString)) { return; } if (cardString.length() < EID_LENGTH) { cardString = IccUtils.stripTrailingFs(cardString); } if (!mCardStrings.contains(cardString)) { mCardStrings.add(cardString); saveCardStrings(); Loading @@ -584,9 +590,18 @@ public class UiccController extends Handler { /** * Converts the card string (the ICCID/EID, formerly named card ID) to the public int cardId. * Returns INVALID_CARD_ID if the card string does not map to a cardId. * If the given cardString is an ICCID, trailing Fs will be automatically stripped before trying * to match to a card ID. * * @return the matching cardId, or INVALID_CARD_ID if the card string does not map to a cardId */ public int convertToPublicCardId(String cardString) { if (TextUtils.isEmpty(cardString)) { return INVALID_CARD_ID; } if (cardString.length() < EID_LENGTH) { cardString = IccUtils.stripTrailingFs(cardString); } int id = mCardStrings.indexOf(cardString); if (id == -1) { return INVALID_CARD_ID; Loading src/java/com/android/internal/telephony/uicc/UiccSlot.java +1 −1 Original line number Diff line number Diff line Loading @@ -399,6 +399,7 @@ public class UiccSlot extends Handler { pw.println("UiccSlot:"); pw.println(" mCi=" + mCi); pw.println(" mActive=" + mActive); pw.println(" mIsEuicc=" + mIsEuicc); pw.println(" mLastRadioState=" + mLastRadioState); pw.println(" mIccId=" + mIccId); pw.println(" mCardState=" + mCardState); Loading @@ -410,6 +411,5 @@ public class UiccSlot extends Handler { } pw.println(); pw.flush(); pw.flush(); } } src/java/com/android/internal/telephony/uicc/euicc/EuiccCard.java +9 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,8 @@ import com.android.internal.telephony.uicc.euicc.apdu.RequestProvider; import com.android.internal.telephony.uicc.euicc.async.AsyncResultCallback; import com.android.internal.telephony.uicc.euicc.async.AsyncResultHelper; import java.io.FileDescriptor; import java.io.PrintWriter; import java.util.Arrays; import java.util.List; Loading Loading @@ -1352,4 +1354,11 @@ public class EuiccCard extends UiccCard { Rlog.d(LOG_TAG, message); } } @Override public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { super.dump(fd, pw, args); pw.println("EuiccCard:"); pw.println(" mEid=" + mEid); } } tests/telephonytests/src/com/android/internal/telephony/uicc/UiccControllerTest.java +14 −0 Original line number Diff line number Diff line Loading @@ -239,6 +239,20 @@ public class UiccControllerTest extends TelephonyTest { assertEquals(0, mUiccControllerUT.convertToPublicCardId(ics.eid)); } @Test public void testConvertNullCardId() { // trying to convert a null string should return -1 assertEquals(TelephonyManager.INVALID_CARD_ID, mUiccControllerUT.convertToPublicCardId(null)); } @Test public void testConvertEmptyCardId() { // trying to convert an empty string should return -1 assertEquals(TelephonyManager.INVALID_CARD_ID, mUiccControllerUT.convertToPublicCardId("")); } @Test public void testCardIdFromSlotStatus() { // Give UiccController a real context so it can use shared preferences Loading Loading
src/java/com/android/internal/telephony/uicc/UiccController.java +20 −5 Original line number Diff line number Diff line Loading @@ -135,6 +135,9 @@ public class UiccController extends Handler { private static final int INVALID_CARD_ID = TelephonyManager.INVALID_CARD_ID; // GSM SGP.02 section 2.2.2 states that the EID is always 32 digits long private static final int EID_LENGTH = 32; // SharedPreference key for saving the known card strings (ICCIDs and EIDs) ordered by card ID private static final String CARD_STRINGS = "card_strings"; Loading Loading @@ -561,10 +564,6 @@ public class UiccController extends Handler { UiccCard card = mUiccSlots[slotId].getUiccCard(); if (card != null && (card.getCardState() == CardState.CARDSTATE_PRESENT)) { String cardString = card.getCardId(); if (!mUiccSlots[slotId].isEuicc()) { // getCardId() returns the raw ICCID for a UICC, so we strip it manually cardString = IccUtils.stripTrailingFs(cardString); } addCardId(cardString); } Loading @@ -572,10 +571,17 @@ public class UiccController extends Handler { mIccChangedRegistrants.notifyRegistrants(new AsyncResult(null, index, null)); } /** * Add a cardString to mCardStrings. If this is an ICCID, trailing Fs will be automatically * stripped. */ private void addCardId(String cardString) { if (TextUtils.isEmpty(cardString)) { return; } if (cardString.length() < EID_LENGTH) { cardString = IccUtils.stripTrailingFs(cardString); } if (!mCardStrings.contains(cardString)) { mCardStrings.add(cardString); saveCardStrings(); Loading @@ -584,9 +590,18 @@ public class UiccController extends Handler { /** * Converts the card string (the ICCID/EID, formerly named card ID) to the public int cardId. * Returns INVALID_CARD_ID if the card string does not map to a cardId. * If the given cardString is an ICCID, trailing Fs will be automatically stripped before trying * to match to a card ID. * * @return the matching cardId, or INVALID_CARD_ID if the card string does not map to a cardId */ public int convertToPublicCardId(String cardString) { if (TextUtils.isEmpty(cardString)) { return INVALID_CARD_ID; } if (cardString.length() < EID_LENGTH) { cardString = IccUtils.stripTrailingFs(cardString); } int id = mCardStrings.indexOf(cardString); if (id == -1) { return INVALID_CARD_ID; Loading
src/java/com/android/internal/telephony/uicc/UiccSlot.java +1 −1 Original line number Diff line number Diff line Loading @@ -399,6 +399,7 @@ public class UiccSlot extends Handler { pw.println("UiccSlot:"); pw.println(" mCi=" + mCi); pw.println(" mActive=" + mActive); pw.println(" mIsEuicc=" + mIsEuicc); pw.println(" mLastRadioState=" + mLastRadioState); pw.println(" mIccId=" + mIccId); pw.println(" mCardState=" + mCardState); Loading @@ -410,6 +411,5 @@ public class UiccSlot extends Handler { } pw.println(); pw.flush(); pw.flush(); } }
src/java/com/android/internal/telephony/uicc/euicc/EuiccCard.java +9 −0 Original line number Diff line number Diff line Loading @@ -52,6 +52,8 @@ import com.android.internal.telephony.uicc.euicc.apdu.RequestProvider; import com.android.internal.telephony.uicc.euicc.async.AsyncResultCallback; import com.android.internal.telephony.uicc.euicc.async.AsyncResultHelper; import java.io.FileDescriptor; import java.io.PrintWriter; import java.util.Arrays; import java.util.List; Loading Loading @@ -1352,4 +1354,11 @@ public class EuiccCard extends UiccCard { Rlog.d(LOG_TAG, message); } } @Override public void dump(FileDescriptor fd, PrintWriter pw, String[] args) { super.dump(fd, pw, args); pw.println("EuiccCard:"); pw.println(" mEid=" + mEid); } }
tests/telephonytests/src/com/android/internal/telephony/uicc/UiccControllerTest.java +14 −0 Original line number Diff line number Diff line Loading @@ -239,6 +239,20 @@ public class UiccControllerTest extends TelephonyTest { assertEquals(0, mUiccControllerUT.convertToPublicCardId(ics.eid)); } @Test public void testConvertNullCardId() { // trying to convert a null string should return -1 assertEquals(TelephonyManager.INVALID_CARD_ID, mUiccControllerUT.convertToPublicCardId(null)); } @Test public void testConvertEmptyCardId() { // trying to convert an empty string should return -1 assertEquals(TelephonyManager.INVALID_CARD_ID, mUiccControllerUT.convertToPublicCardId("")); } @Test public void testCardIdFromSlotStatus() { // Give UiccController a real context so it can use shared preferences Loading