merge from open-source master
Change-Id: Ia8a5ab84bb9957b4a3daf92a9a21905212867a95
This commit is contained in:
@@ -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));
|
||||
}
|
||||
|
||||
@@ -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
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user