aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Wendt <thoemy@gmx.net>2015-02-16 00:57:51 +0100
committerNolen Johnson <johnsonnolen@gmail.com>2020-02-16 23:34:12 -0500
commit66851e74471cbccd0dc93d9bf6f0ff5eca3dcd54 (patch)
treee7cf96fd7647ba0ae99474599ed5246ef964846c
parente335f5378ab958fd1a088f4ce52d92d3366a9a49 (diff)
downloadandroid_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.java9
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;
}
}