Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 79f575e6 authored by Nazish Tabassum's avatar Nazish Tabassum
Browse files

Add SIM Depersonalisation interface

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

Bug: 69389695
Change-Id: I1756fc3ce9d49863cb92c82d14aaa1b03efe39ec
parent b89ad206
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -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
+12 −0
Original line number Diff line number Diff line
@@ -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);
};
+24 −0
Original line number Diff line number Diff line
@@ -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);
};
+17 −0
Original line number Diff line number Diff line
@@ -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,
};
+3 −0
Original line number Diff line number Diff line
@@ -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);
Loading