Add SIM Depersonalisation interface

Add new interface API to perform SIM depersonalisation
for all the supported Perso types.

Bug: 69389695
Change-Id: I1756fc3ce9d49863cb92c82d14aaa1b03efe39ec
This commit is contained in:
Nazish Tabassum
2019-12-13 02:19:39 +05:30
parent b89ad206e8
commit 79f575e679
6 changed files with 66 additions and 3 deletions

View File

@@ -631,10 +631,10 @@ c9273429fcf98d797d3bb07fdba6f1be95bf960f9255cde169fd1ca4db85f856 android.hardwar
##
# BEGIN Radio HAL Merge Conflict Avoidance Buffer - STOPSHIP if present
##
73b5418353fe52721267d64592d4d4c1b77fbd1ef4261d964865de88e62ee0be android.hardware.radio@1.5::types
996f98ffe508a2f6f1755c1511b50067f7883f7c445dea9f3e931385f020b7ab android.hardware.radio@1.5::IRadio
275a01e456f3c988ac9736d26ceaf3e95fb7b3c333a8a7fe983de6bae39df58a android.hardware.radio@1.5::types
c1f45964562445008d3c5b4a6c1694cfe5d14a453ad00d9157cc82585979ac0c android.hardware.radio@1.5::IRadio
20d52e66fd548f89bcb98cda42749a591ce8f439a2a7148617adac0c967ad937 android.hardware.radio@1.5::IRadioIndication
1512f6e1198e1aa0ebcbdb1694d0ed500a3e7791d6f305327866112331d82b66 android.hardware.radio@1.5::IRadioResponse
838c7b1420874a1a7d0bb3568fef9c8347d11ac8fd439ca2b5c50720cfa8c195 android.hardware.radio@1.5::IRadioResponse
55f0a15642869ec98a55ea0a5ac049d3e1a6245ff7750deb6bcb7182057eee83 android.hardware.radio.config@1.3::types
b27ab0cd40b0b078cdcd024bfe1061c4c4c065f3519eeb9347fa359a3268a5ae android.hardware.radio.config@1.3::IRadioConfig
742360c775313438b0f82256eac62fb5bbc76a6ae6f388573f3aa142fb2c1eea android.hardware.radio.config@1.3::IRadioConfigIndication

View File

@@ -25,6 +25,7 @@ import @1.5::DataProfileInfo;
import @1.5::IndicationFilter;
import @1.5::LinkAddress;
import @1.5::NetworkScanRequest;
import @1.5::PersoSubstate;
import @1.5::RadioAccessSpecifier;
import @1.5::SignalThresholdInfo;
@@ -245,4 +246,15 @@ interface IRadio extends @1.4::IRadio {
* Response callback is IRadioResponse.getBarringInfoResponse()
*/
oneway getBarringInfo(int32_t serial);
/**
* Requests that deactivates one category of the device personalization.
*
* @param serial Serial number of request.
* @param persoType SIM personalization type.
* @param controlKey depersonalization code corresponding to persoType
*
* Response function is IRadioResponse.supplySimDepersonalizationResponse()
*/
oneway supplySimDepersonalization(int32_t serial, PersoSubstate persoType, string controlKey);
};

View File

@@ -20,6 +20,8 @@ import @1.0::RadioResponseInfo;
import @1.4::IRadioResponse;
import @1.5::BarringInfo;
import @1.5::SetupDataCallResult;
import @1.4::SetupDataCallResult;
import @1.5::PersoSubstate;
/**
* Interface declaring response functions to solicited radio requests.
@@ -170,4 +172,26 @@ interface IRadioResponse extends @1.4::IRadioResponse {
* RadioError:MODEM_ERR
*/
oneway getBarringInfoResponse(RadioResponseInfo info, vec<BarringInfo> barringInfos);
/**
* @param info Response info struct containing response type, serial no. and error
* @param persoType SIM Personalisation type
* @param remainingRetries Positive values indicates number of retries remaining,
* must be equal to -1 if number of retries are infinite.
*
* Valid errors returned:
* RadioError:NONE
* RadioError:RADIO_NOT_AVAILABLE
* RadioError:PASSWORD_INCORRECT (code is invalid)
* RadioError:NO_MEMORY
* RadioError:INVALID_SIM_STATE
* RadioError:INTERNAL_ERR
* RadioError:SYSTEM_ERR
* RadioError:MODEM_ERR
* RadioError:INVALID_ARGUMENTS
* RadioError:NO_RESOURCES
* RadioError:REQUEST_NOT_SUPPORTED
*/
oneway supplySimDepersonalizationResponse(RadioResponseInfo info,
PersoSubstate persoType, int32_t remainingRetries);
};

View File

@@ -16,6 +16,7 @@
package android.hardware.radio@1.5;
import @1.0::PersoSubstate;
import @1.1::EutranBands;
import @1.1::GeranBands;
import @1.1::RadioAccessNetworks;
@@ -553,3 +554,19 @@ enum IndicationFilter : @1.2::IndicationFilter {
/** Control the unsolicited sending of barring info updates via onBarringInfo */
BARRING_INFO = 1 << 6,
};
/**
* Additional personalization categories in addition to those specified in 3GPP TS 22.022 and 3GPP2 C.S0068-0.
*/
enum PersoSubstate : @1.0::PersoSubstate {
SIM_SPN,
SIM_SPN_PUK,
SIM_SP_EHPLMN, // Equivalent Home PLMN
SIM_SP_EHPLMN_PUK,
SIM_ICCID,
SIM_ICCID_PUK,
SIM_IMPI,
SIM_IMPI_PUK,
SIM_NS_SP, // Network subset service provider
SIM_NS_SP_PUK,
};

View File

@@ -114,6 +114,9 @@ class RadioResponse_v1_5 : public ::android::hardware::radio::V1_5::IRadioRespon
Return<void> supplyNetworkDepersonalizationResponse(const RadioResponseInfo& info,
int32_t remainingRetries);
Return<void> supplySimDepersonalizationResponse(const RadioResponseInfo& info,
::android::hardware::radio::V1_5::PersoSubstate persoType, int32_t remainingRetries);
Return<void> getCurrentCallsResponse(
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<::android::hardware::radio::V1_0::Call>& calls);

View File

@@ -62,6 +62,13 @@ Return<void> RadioResponse_v1_5::supplyNetworkDepersonalizationResponse(
return Void();
}
Return<void> RadioResponse_v1_5::supplySimDepersonalizationResponse(
const RadioResponseInfo& /*info*/,
::android::hardware::radio::V1_5::PersoSubstate /*persoType*/,
int32_t /*remainingRetries*/) {
return Void();
}
Return<void> RadioResponse_v1_5::getCurrentCallsResponse(
const RadioResponseInfo& /*info*/,
const ::android::hardware::hidl_vec<::android::hardware::radio::V1_0::Call>& /*calls*/) {