diff --git a/radio/1.0/IRadio.hal b/radio/1.0/IRadio.hal index 04d93db8bc..bda7d65e95 100644 --- a/radio/1.0/IRadio.hal +++ b/radio/1.0/IRadio.hal @@ -1571,6 +1571,20 @@ interface IRadio { */ oneway setIndicationFilter(int32_t serial, bitfield indicationFilter); + /* + * Set SIM card power state. + * Request is equivalent to inserting or removing the card. + * + * The radio modem must generate IRadioIndication.simStatusChanged() as if the SIM had been + * inserted or removed. + * + * @param serial Serial number of request + * @param powerUp True if powering up the sim card + * + * Response callback is IRadioResponse.setSimCardPowerResponse() + */ + oneway setSimCardPower(int32_t serial, bool powerUp); + /* * When response type received from a radio indication or radio response is * RadioIndicationType:UNSOLICITED_ACK_EXP or RadioResponseType:SOLICITED_ACK_EXP respectively, diff --git a/radio/1.0/IRadioResponse.hal b/radio/1.0/IRadioResponse.hal index dafd264350..637f697831 100644 --- a/radio/1.0/IRadioResponse.hal +++ b/radio/1.0/IRadioResponse.hal @@ -1967,6 +1967,18 @@ interface IRadioResponse { */ oneway setIndicationFilterResponse(RadioResponseInfo info); + /* + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:SIM_ABSENT + * RadioError:INVALID_ARGUMENTS + */ + oneway setSimCardPowerResponse(RadioResponseInfo info); + /* * Acknowledge the receipt of radio request sent to the vendor. This must be sent only for * radio request which take long time to respond. diff --git a/radio/1.0/vts/Radio.vts b/radio/1.0/vts/Radio.vts index 74bdb8dcbb..68cf62062f 100644 --- a/radio/1.0/vts/Radio.vts +++ b/radio/1.0/vts/Radio.vts @@ -1502,6 +1502,18 @@ interface: { } } + api: { + name: "setSimCardPower" + arg: { + type: TYPE_SCALAR + scalar_type: "int32_t" + } + arg: { + type: TYPE_SCALAR + scalar_type: "bool_t" + } + } + api: { name: "responseAcknowledgement" } diff --git a/radio/1.0/vts/RadioResponse.vts b/radio/1.0/vts/RadioResponse.vts index 99c953c634..915a0532f1 100644 --- a/radio/1.0/vts/RadioResponse.vts +++ b/radio/1.0/vts/RadioResponse.vts @@ -1388,6 +1388,14 @@ interface: { } } + api: { + name: "setSimCardPowerResponse" + arg: { + type: TYPE_STRUCT + predefined_type: "::android::hardware::radio::V1_0::RadioResponseInfo" + } + } + api: { name: "acknowledgeRequest" arg: {