diff options
Diffstat (limited to 'src/java/com/android/internal/telephony/HTCQualcommRIL.java')
-rw-r--r-- | src/java/com/android/internal/telephony/HTCQualcommRIL.java | 18 |
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"); |