summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/java/com/android/internal/telephony/HTCQualcommRIL.java18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/java/com/android/internal/telephony/HTCQualcommRIL.java b/src/java/com/android/internal/telephony/HTCQualcommRIL.java
index 7e6eff5..fa3a218 100644
--- a/src/java/com/android/internal/telephony/HTCQualcommRIL.java
+++ b/src/java/com/android/internal/telephony/HTCQualcommRIL.java
@@ -50,7 +50,23 @@ public class HTCQualcommRIL extends RIL implements CommandsInterface {
@Override
protected Object
responseIccCardStatus(Parcel p) {
- Object ret = super.responseIccCardStatus(p);
+ Object ret;
+
+ boolean extraIccCardStates = needsOldRilFeature("extraicccardstates");
+
+ if (extraIccCardStates) {
+ int dataPosition = p.dataPosition();
+ int cardState = p.readInt();
+
+ if (cardState >= 3) {
+ ret = responseVoid(p);
+ } else {
+ p.setDataPosition(dataPosition);
+ ret = super.responseIccCardStatus(p);
+ }
+ } else {
+ ret = super.responseIccCardStatus(p);
+ }
// force CDMA + LTE network mode
boolean forceCdmaLte = needsOldRilFeature("forceCdmaLteNetworkType");