diff options
author | Thomas Wendt <thoemy@gmx.net> | 2015-02-16 00:57:51 +0100 |
---|---|---|
committer | Rashed Abdel-Tawab <rashedabdeltawab@gmail.com> | 2019-04-11 06:10:03 +0200 |
commit | 29230931e21376f18eba0e39008ee915266a5cb3 (patch) | |
tree | d2b6df080a4f825d474ba18e0bc5336340b76623 | |
parent | 64f87575de449734eac641188785142d5c6a11a6 (diff) | |
download | android_frameworks_opt_telephony-lineage-15.1.tar.gz android_frameworks_opt_telephony-lineage-15.1.tar.bz2 android_frameworks_opt_telephony-lineage-15.1.zip |
Skip unknown tags instead of aborting when parsing UICC TLV datalineage-15.1
This fixes issues like broken mobile data and no outgoing calls for SIM
cards that return unkown tags (at least F1 has been seen in the wild).
Change-Id: I4fe5ddc7992b1b3bb025f2a5f9e2b3f410d54841
-rw-r--r-- | src/java/com/android/internal/telephony/uicc/UiccTlvData.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/java/com/android/internal/telephony/uicc/UiccTlvData.java b/src/java/com/android/internal/telephony/uicc/UiccTlvData.java index 5f35e41d6..17f594c0f 100644 --- a/src/java/com/android/internal/telephony/uicc/UiccTlvData.java +++ b/src/java/com/android/internal/telephony/uicc/UiccTlvData.java @@ -1,9 +1,12 @@ package com.android.internal.telephony.uicc; +import android.telephony.Rlog; + /** * UICC TLV Data Parser according to ETSI TS 102 221 spec. */ public class UiccTlvData { + private static final String LOG_TAG = "UiccTlvData"; private static final int TLV_FORMAT_ID = 0x62; @@ -82,9 +85,9 @@ public class UiccTlvData { break; default: - //Unknown TAG - throw new IccFileTypeMismatch(); - + Rlog.d(LOG_TAG, "Unknown tag 0x" + String.format("%02X", currentTag)); + currentLocation = parsedData.parseSomeTag(data, currentLocation); + break; } } |