diff options
author | Steve Kondik <steve@cyngn.com> | 2015-11-15 02:13:34 +0100 |
---|---|---|
committer | Steve Kondik <steve@cyngn.com> | 2015-11-15 02:13:34 +0100 |
commit | 21b2d36446b30552684868c6e64d2dd703493cae (patch) | |
tree | 9795925ac4d88d5974cf05c2498e5d261d06fa12 | |
parent | 69c96ca1d1d2951d342c99b571fdf7550bb0b04a (diff) | |
parent | cdfadb674b8872370157265f981d0bf7afb571f8 (diff) | |
download | android_hardware_ril-21b2d36446b30552684868c6e64d2dd703493cae.tar.gz android_hardware_ril-21b2d36446b30552684868c6e64d2dd703493cae.tar.bz2 android_hardware_ril-21b2d36446b30552684868c6e64d2dd703493cae.zip |
Merge branch 'LA.BF.1.1.3_rb1.3' of git://codeaurora.org/platform/hardware/ril into cm-13.0
-rw-r--r-- | include/telephony/ril.h | 22 | ||||
-rwxr-xr-x | libril/ril.cpp | 7 | ||||
-rw-r--r-- | libril/ril_commands.h | 1 |
3 files changed, 26 insertions, 4 deletions
diff --git a/include/telephony/ril.h b/include/telephony/ril.h index bd3d2ed..dae869b 100644 --- a/include/telephony/ril.h +++ b/include/telephony/ril.h @@ -4026,7 +4026,7 @@ typedef struct { * RIL_REQUEST_VOICE_RADIO_TECH * * Query the radio technology type (3GPP/3GPP2) used for voice. Query is valid only - * when radio state is RADIO_STATE_ON + * when radio state is not RADIO_STATE_UNAVAILABLE * * "data" is NULL * "response" is int * @@ -4526,6 +4526,26 @@ typedef struct { */ #define RIL_REQUEST_GET_ACTIVITY_INFO 135 +/** + * RIL_REQUEST_SIM_GET_ATR + * + * Get the ATR from SIM Card + * + * Only valid when radio state is "RADIO_STATE_ON" + * + * "data" is const int * + * ((const int *)data)[0] contains the slot index on the SIM from which ATR is requested. + * + * "response" is a const char * containing the ATR, See ETSI 102.221 8.1 and ISO/IEC 7816 3 + * + * Valid errors: + * + * SUCCESS + * RADIO_NOT_AVAILABLE (radio resetting) + * GENERIC_FAILURE + */ +#define RIL_REQUEST_SIM_GET_ATR 136 + /***********************************************************************/ diff --git a/libril/ril.cpp b/libril/ril.cpp index 0fadfe0..42cd0ff 100755 --- a/libril/ril.cpp +++ b/libril/ril.cpp @@ -1650,12 +1650,12 @@ static void dispatchDataCall(Parcel& p, RequestInfo *pRI) { static void dispatchVoiceRadioTech(Parcel& p, RequestInfo *pRI) { RIL_RadioState state = CALL_ONSTATEREQUEST((RIL_SOCKET_ID)pRI->socket_id); - if ((RADIO_STATE_UNAVAILABLE == state) || (RADIO_STATE_OFF == state)) { + if (RADIO_STATE_UNAVAILABLE == state) { RIL_onRequestComplete(pRI, RIL_E_RADIO_NOT_AVAILABLE, NULL, 0); } - // RILs that support RADIO_STATE_ON should support this request. - if (RADIO_STATE_ON == state) { + // If radio is available then RIL should support this request. + if ((RADIO_STATE_ON == state) || (RADIO_STATE_OFF == state)){ dispatchVoid(p, pRI); return; } @@ -5167,6 +5167,7 @@ requestToString(int request) { case RIL_REQUEST_SIM_TRANSMIT_APDU_CHANNEL: return "SIM_TRANSMIT_APDU_CHANNEL"; case RIL_REQUEST_GET_RADIO_CAPABILITY: return "RIL_REQUEST_GET_RADIO_CAPABILITY"; case RIL_REQUEST_SET_RADIO_CAPABILITY: return "RIL_REQUEST_SET_RADIO_CAPABILITY"; + case RIL_REQUEST_SIM_GET_ATR: return "SIM_GET_ATR"; case RIL_REQUEST_SET_UICC_SUBSCRIPTION: return "SET_UICC_SUBSCRIPTION"; case RIL_REQUEST_ALLOW_DATA: return "ALLOW_DATA"; case RIL_REQUEST_GET_HARDWARE_CONFIG: return "GET_HARDWARE_CONFIG"; diff --git a/libril/ril_commands.h b/libril/ril_commands.h index 163aa46..50e649a 100644 --- a/libril/ril_commands.h +++ b/libril/ril_commands.h @@ -150,3 +150,4 @@ {RIL_REQUEST_STOP_LCE, dispatchVoid, responseLceStatus}, {RIL_REQUEST_PULL_LCEDATA, dispatchVoid, responseLceData}, {RIL_REQUEST_GET_ACTIVITY_INFO, dispatchVoid, responseActivityData}, + {RIL_REQUEST_SIM_GET_ATR, dispatchInts, responseString}, |