Loading telephony/java/com/android/internal/telephony/IccUtils.java +2 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,8 @@ public class IccUtils { ret.append((char)('0' + v)); v = (data[i] >> 4) & 0xf; // Some PLMNs have 'f' as high nibble, ignore it if (v == 0xf) continue; if (v > 9) break; ret.append((char)('0' + v)); } Loading telephony/java/com/android/internal/telephony/gsm/SIMRecords.java +6 −1 Original line number Diff line number Diff line Loading @@ -93,6 +93,7 @@ public final class SIMRecords extends IccRecords { static final int SPN_RULE_SHOW_PLMN = 0x02; // From TS 51.011 EF[SPDI] section static final int TAG_SPDI = 0xA3; static final int TAG_SPDI_PLMN_LIST = 0x80; // Full Name IEI from TS 24.008 Loading Loading @@ -1426,8 +1427,12 @@ public final class SIMRecords extends IccRecords { byte[] plmnEntries = null; // There should only be one TAG_SPDI_PLMN_LIST for ( ; tlv.isValidObject() ; tlv.nextObject()) { // Skip SPDI tag, if existant if (tlv.getTag() == TAG_SPDI) { tlv = new SimTlv(tlv.getData(), 0, tlv.getData().length); } // There should only be one TAG_SPDI_PLMN_LIST if (tlv.getTag() == TAG_SPDI_PLMN_LIST) { plmnEntries = tlv.getData(); break; Loading Loading
telephony/java/com/android/internal/telephony/IccUtils.java +2 −0 Original line number Diff line number Diff line Loading @@ -51,6 +51,8 @@ public class IccUtils { ret.append((char)('0' + v)); v = (data[i] >> 4) & 0xf; // Some PLMNs have 'f' as high nibble, ignore it if (v == 0xf) continue; if (v > 9) break; ret.append((char)('0' + v)); } Loading
telephony/java/com/android/internal/telephony/gsm/SIMRecords.java +6 −1 Original line number Diff line number Diff line Loading @@ -93,6 +93,7 @@ public final class SIMRecords extends IccRecords { static final int SPN_RULE_SHOW_PLMN = 0x02; // From TS 51.011 EF[SPDI] section static final int TAG_SPDI = 0xA3; static final int TAG_SPDI_PLMN_LIST = 0x80; // Full Name IEI from TS 24.008 Loading Loading @@ -1426,8 +1427,12 @@ public final class SIMRecords extends IccRecords { byte[] plmnEntries = null; // There should only be one TAG_SPDI_PLMN_LIST for ( ; tlv.isValidObject() ; tlv.nextObject()) { // Skip SPDI tag, if existant if (tlv.getTag() == TAG_SPDI) { tlv = new SimTlv(tlv.getData(), 0, tlv.getData().length); } // There should only be one TAG_SPDI_PLMN_LIST if (tlv.getTag() == TAG_SPDI_PLMN_LIST) { plmnEntries = tlv.getData(); break; Loading