KlteRIL: add support for sprint non-standard SIM
* Problem: There is only one app on Sprint SIM (gsm/lte app), Sprint stores stuff on NV and store ICC ID, MNC, MCC in GSM app. * Fixes ICC ID not showing up and fixes alot cruft that telephony framework may be missing for it to function properly. Change-Id: I5c339ab19efb7de669106114eb6b03e397b97e46
This commit is contained in:
parent
46d620ec04
commit
abcaea9ffe
|
@ -87,7 +87,7 @@ public class KlteRIL extends RIL {
|
|||
@Override
|
||||
protected Object
|
||||
responseIccCardStatus(Parcel p) {
|
||||
IccCardApplicationStatus appStatus;
|
||||
IccCardApplicationStatus appStatus = null;
|
||||
|
||||
IccCardStatus cardStatus = new IccCardStatus();
|
||||
cardStatus.setCardState(p.readInt());
|
||||
|
@ -122,6 +122,40 @@ public class KlteRIL extends RIL {
|
|||
|
||||
cardStatus.mApplications[i] = appStatus;
|
||||
}
|
||||
|
||||
// For Sprint LTE only SIM
|
||||
if (appStatus != null
|
||||
&& numApplications == 1
|
||||
&& !mIsGsm
|
||||
&& appStatus.app_type == appStatus.AppTypeFromRILInt(2)) {
|
||||
cardStatus.mApplications = new IccCardApplicationStatus[3];
|
||||
cardStatus.mApplications[0] = appStatus;
|
||||
cardStatus.mGsmUmtsSubscriptionAppIndex = 0;
|
||||
cardStatus.mCdmaSubscriptionAppIndex = 1;
|
||||
cardStatus.mImsSubscriptionAppIndex = 2;
|
||||
|
||||
IccCardApplicationStatus appStatus2 = new IccCardApplicationStatus();
|
||||
appStatus2.app_type = appStatus2.AppTypeFromRILInt(4); // csim state
|
||||
appStatus2.app_state = appStatus.app_state;
|
||||
appStatus2.perso_substate = appStatus.perso_substate;
|
||||
appStatus2.aid = appStatus.aid;
|
||||
appStatus2.app_label = appStatus.app_label;
|
||||
appStatus2.pin1_replaced = appStatus.pin1_replaced;
|
||||
appStatus2.pin1 = appStatus.pin1;
|
||||
appStatus2.pin2 = appStatus.pin2;
|
||||
cardStatus.mApplications[cardStatus.mCdmaSubscriptionAppIndex] = appStatus2;
|
||||
|
||||
IccCardApplicationStatus appStatus3 = new IccCardApplicationStatus();
|
||||
appStatus3.app_type = appStatus3.AppTypeFromRILInt(5); // ims state
|
||||
appStatus3.app_state = appStatus.app_state;
|
||||
appStatus3.perso_substate = appStatus.perso_substate;
|
||||
appStatus3.aid = appStatus.aid;
|
||||
appStatus3.app_label = appStatus.app_label;
|
||||
appStatus3.pin1_replaced = appStatus.pin1_replaced;
|
||||
appStatus3.pin1 = appStatus.pin1;
|
||||
appStatus3.pin2 = appStatus.pin2;
|
||||
cardStatus.mApplications[cardStatus.mImsSubscriptionAppIndex] = appStatus3;
|
||||
}
|
||||
return cardStatus;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue