aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Wendt <thoemy@gmx.net>2015-02-16 00:57:51 +0100
committerEthan Chen <intervigil@gmail.com>2016-08-24 21:40:48 -0700
commit26de2377e1a3becfdeb22720835a34b96e32e161 (patch)
treecc723074cc5f11412dc41b2c278fe556a5e0b406
parent70a14292e926db8694c03ac21956eb1c8c0b9cc5 (diff)
downloadandroid_frameworks_opt_telephony-26de2377e1a3becfdeb22720835a34b96e32e161.tar.gz
android_frameworks_opt_telephony-26de2377e1a3becfdeb22720835a34b96e32e161.tar.bz2
android_frameworks_opt_telephony-26de2377e1a3becfdeb22720835a34b96e32e161.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;
}
}