diff options
author | Thomas Wendt <thoemy@gmx.net> | 2015-02-16 00:57:51 +0100 |
---|---|---|
committer | Nolen Johnson <johnsonnolen@gmail.com> | 2020-02-16 23:34:12 -0500 |
commit | 66851e74471cbccd0dc93d9bf6f0ff5eca3dcd54 (patch) | |
tree | e7cf96fd7647ba0ae99474599ed5246ef964846c | |
parent | e335f5378ab958fd1a088f4ce52d92d3366a9a49 (diff) | |
download | android_frameworks_opt_telephony-66851e74471cbccd0dc93d9bf6f0ff5eca3dcd54.tar.gz android_frameworks_opt_telephony-66851e74471cbccd0dc93d9bf6f0ff5eca3dcd54.tar.bz2 android_frameworks_opt_telephony-66851e74471cbccd0dc93d9bf6f0ff5eca3dcd54.zip |
Skip unknown tags instead of aborting when parsing UICC TLV data
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; } } |