aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Wendt <thoemy@gmx.net>2015-02-16 00:57:51 +0100
committerRashed Abdel-Tawab <rashedabdeltawab@gmail.com>2019-04-11 06:10:03 +0200
commit29230931e21376f18eba0e39008ee915266a5cb3 (patch)
treed2b6df080a4f825d474ba18e0bc5336340b76623
parent64f87575de449734eac641188785142d5c6a11a6 (diff)
downloadandroid_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.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;
}
}