Provide information about the barring status of the cell for the user. The information - * provided should describe all barring configurations that are applicable to the current user, - * even if the user is not currently barred (due to conditional barring). This informs Android - * of likely future (statistical) barring for specific services. - * - *
This indication should be sent whenever the cell’s barring config changes for the current - * user, or if the user’s conditional barring status changes due to re-evaluation of the - * barring conditions. Barring status will likely change when the device camps for service, - * when PLMN selection is completed, when the device attempts to access a conditionally barred - * service, and when the System Information including barring info for a camped cell is updated. - */ - void barringInfoChanged(in RadioIndicationType type, in CellIdentity cellIdentity, - in BarringInfo[] barringInfos); - - /** - * Ring indication for an incoming call (eg, RING or CRING event). There must be at least one - * callRing() at the beginning of a call and sending multiple is optional. If the system - * property ro.telephony.call_ring.multiple is false then the upper layers must generate the - * multiple events internally. Otherwise the vendor code must generate multiple callRing() if - * ro.telephony.call_ring.multiple is true or if it is absent. - * The rate of these events is controlled by ro.telephony.call_ring.delay and has a default - * value of 3000 (3 seconds) if absent. - * - * @param type Type of radio indication - * @param isGsm true for GSM & false for CDMA - * @param record Cdma Signal Information - */ - void callRing(in RadioIndicationType type, in boolean isGsm, in CdmaSignalInfoRecord record); - - /** - * Indicates when call state has changed. Callee must invoke IRadio.getCurrentCalls(). Must be - * invoked on, for example, "RING", "BUSY", "NO CARRIER", and also call state transitions - * (DIALING->ALERTING ALERTING->ACTIVE). Redundent or extraneous invocations are tolerated. - * - * @param type Type of radio indication - */ - void callStateChanged(in RadioIndicationType type); - - /** - * Indicates that the modem requires the Carrier info for IMSI/IMPI encryption. This might - * happen when the modem restarts or for some reason it's cache has been invalidated. - * - * @param type Type of radio indication - */ - void carrierInfoForImsiEncryption(in RadioIndicationType info); - - /** - * Indicates when CDMA radio receives a call waiting indication. - * - * @param type Type of radio indication - * @param callWaitingRecord Cdma CallWaiting information - */ - void cdmaCallWaiting(in RadioIndicationType type, in CdmaCallWaiting callWaitingRecord); - - /** - * Indicates when CDMA radio receives one or more info recs. - * - * @param type Type of radio indication - * @param records New Cdma Information - */ - void cdmaInfoRec(in RadioIndicationType type, in CdmaInformationRecords records); - - /** - * Indicates when new CDMA SMS is received. Callee must subsequently confirm the receipt of the - * SMS with acknowledgeLastIncomingCdmaSms(). Server must not send cdmaNewSms() messages until - * acknowledgeLastIncomingCdmaSms() has been received. - * - * @param type Type of radio indication - * @param msg Cdma Sms Message - */ - void cdmaNewSms(in RadioIndicationType type, in CdmaSmsMessage msg); - - /** - * Indicates when CDMA radio receives an update of the progress of an OTASP/OTAPA call. - * - * @param type Type of radio indication - * @param status Cdma OTA provision status - */ - void cdmaOtaProvisionStatus(in RadioIndicationType type, in CdmaOtaProvisionStatus status); - - /** - * Indicates when PRL (preferred roaming list) changes. - * - * @param type Type of radio indication - * @param version PRL version after PRL changes - */ - void cdmaPrlChanged(in RadioIndicationType type, in int version); - - /** - * Indicates that SMS storage on the RUIM is full. Messages cannot be saved on the RUIM until - * space is freed. - * - * @param type Type of radio indication - */ - void cdmaRuimSmsStorageFull(in RadioIndicationType type); - - /** - * Indicates when CDMA subscription source changed. - * - * @param type Type of radio indication - * @param cdmaSource New Cdma SubscriptionSource - */ - void cdmaSubscriptionSourceChanged( - in RadioIndicationType type, in CdmaSubscriptionSource cdmaSource); - - /** - * Report all of the current cell information known to the radio. - * - * @param type Type of radio indication - * @param records Current cell information - */ - void cellInfoList(in RadioIndicationType type, in CellInfo[] records); - - /** - * Report the current list of emergency numbers. Each emergency number in the emergency number - * list contains a dialing number, zero or more service category(s), zero or more emergency - * uniform resource names, mobile country code, mobile network code, and source(s) that indicate - * where it comes from. - * Radio must report all the valid emergency numbers with known mobile country code, mobile - * network code, emergency service categories, and emergency uniform resource names from all - * available sources including network signaling, sim, modem/oem configuration, and default - * configuration (112 and 911 must be always available; additionally, 000, 08, 110, 999, 118 - * and 119 must be available when sim is not present). Radio shall not report emergency numbers - * that are invalid in the current locale. The reported emergency number list must not have - * duplicate EmergencyNumber entries. Please refer the documentation of EmergencyNumber to - * construct each emergency number to report. - * Radio must report the complete list of emergency numbers whenever the emergency numbers in - * the list are changed or whenever the client and the radio server are connected. - * - * Reference: 3gpp 22.101, Section 10 - Emergency Calls; - * 3gpp 24.008, Section 9.2.13.4 - Emergency Number List - * - * @param type Type of radio indication - * @param emergencyNumberList Current list of emergency numbers known to radio. - */ - void currentEmergencyNumberList( - in RadioIndicationType type, in EmergencyNumber[] emergencyNumberList); - - /** - * Indicates current link capacity estimate. This indication is sent whenever the reporting - * criteria, as set by IRadio.setLinkCapacityReportingCriteria, are met and the indication is - * not suppressed by IRadio.setIndicationFilter(). - * - * @param type Type of radio indication - * @param lce LinkCapacityEstimate - */ - void currentLinkCapacityEstimate(in RadioIndicationType type, in LinkCapacityEstimate lce); - - /** - * Indicates physical channel configurations. An empty configs list shall be returned when the - * radio is in idle mode (i.e. RRC idle). - * - * @param type Type of radio indication - * @param configs Vector of PhysicalChannelConfigs - */ - void currentPhysicalChannelConfigs( - in RadioIndicationType type, in PhysicalChannelConfig[] configs); - - /** - * Indicates current signal strength of the radio. - * - * @param type Type of radio indication - * @param signalStrength SignalStrength information - */ - void currentSignalStrength(in RadioIndicationType type, in SignalStrength signalStrength); - - /** - * Indicates data call contexts have changed. - * - * @param type Type of radio indication - * @param dcList Array of SetupDataCallResult identical to that returned by - * IRadio.getDataCallList(). It is the complete list of current data contexts including - * new contexts that have been activated. A data call is only removed from this list - * when any of the below conditions is matched: - * - The framework sends a IRadio.deactivateDataCall(). - * - The radio is powered off/on. - * - Unsolicited disconnect from either modem or network side. - */ - void dataCallListChanged(in RadioIndicationType type, in SetupDataCallResult[] dcList); - - /** - * Indicates that the radio system selection module has autonomously entered emergency - * callback mode. - * - * @param type Type of radio indication - */ - void enterEmergencyCallbackMode(in RadioIndicationType type); - - /** - * Indicates when Emergency Callback Mode Ends. Indicates that the radio system selection module - * has proactively exited emergency callback mode. - * - * @param type Type of radio indication - */ - void exitEmergencyCallbackMode(in RadioIndicationType type); - - /** - * Indicates when the hardware configuration associated with the RILd changes. - * - * @param type Type of radio indication - * @param configs Array of hardware configs - */ - void hardwareConfigChanged(in RadioIndicationType type, in HardwareConfig[] configs); - - /** - * Indicates when IMS registration state has changed. To get IMS registration state and IMS SMS - * format, callee needs to invoke getImsRegistrationState(). - * - * @param type Type of radio indication - */ - void imsNetworkStateChanged(in RadioIndicationType type); - - /** - * Indicates that nework doesn't have in-band information, need to play out-band tone. - * - * @param type Type of radio indication - * @param start true = start play ringback tone, false = stop playing ringback tone - */ - void indicateRingbackTone(in RadioIndicationType type, in boolean start); - - /** - * Indicates a status update for a particular Keepalive session. This must include a handle for - * a previous session and should include a status update regarding the state of a keepalive. - * Unsolicited keepalive status reports should never be PENDING as unsolicited status should - * only be sent when known. - * - * @param type Type of radio indication - * @param status Status information for a Keepalive session - */ - void keepaliveStatus(in RadioIndicationType type, in KeepaliveStatus status); - - /** - * Indicates when there is an incoming Link Capacity Estimate (LCE) info report. - * - * @param type Type of radio indication - * @param lce LceData information - * - * DEPRECATED in @1.2 and above, use IRadioIndication.currentLinkCapacityEstimate() instead. - */ - void lceData(in RadioIndicationType type, in LceDataInfo lce); - - /** - * Indicates when there is a modem reset. - * When modem restarts, one of the following radio state transitions must happen - * 1) RadioState:ON->RadioState:UNAVAILABLE->RadioState:ON or - * 2) RadioState:OFF->RadioState:UNAVAILABLE->RadioState:OFF - * This message must be sent either just before the Radio State changes to - * RadioState:UNAVAILABLE or just after but must never be sent after the Radio State changes - * from RadioState:UNAVAILABLE to RadioState:ON/RadioState:OFF again. It must NOT be sent after - * the Radio state changes to RadioState:ON/RadioState:OFF after the modem restart as that may - * be interpreted as a second modem reset by the framework. - * - * @param type Type of radio indication - * @param reason the reason for the reset. It may be a crash signature if the restart was due to - * a crash or some string such as "user-initiated restart" or "AT command initiated - * restart" that explains the cause of the modem restart - */ - void modemReset(in RadioIndicationType type, in String reason); - - /** - * Incremental network scan results. - * - * @param type Type of radio indication - * @param result the result of the network scan - */ - void networkScanResult(in RadioIndicationType type, in NetworkScanResult result); - - /** - * Indicates when voice or data network state changed. Callee must invoke - * IRadio.getVoiceRegistrationState(), IRadio.getDataRegistrationState(), and - * IRadio.getOperator() - * - * @param type Type of radio indication - */ - void networkStateChanged(in RadioIndicationType type); - - /** - * Indicates when new Broadcast SMS is received - * - * @param type Type of radio indication - * @param data If received from GSM network, "data" is byte array of 88 bytes which indicates - * each page of a CBS Message sent to the MS by the BTS as coded in 3GPP 23.041 Section - * 9.4.1.2. If received from UMTS network, "data" is byte array of 90 up to 1252 bytes - * which contain between 1 and 15 CBS Message pages sent as one packet to the MS by the - * BTS as coded in 3GPP 23.041 Section 9.4.2.2 - */ - void newBroadcastSms(in RadioIndicationType type, in byte[] data); - - /** - * Indicates when new SMS is received. Callee must subsequently confirm the receipt of the SMS - * with a acknowledgeLastIncomingGsmSms(). Server must not send newSms() or newSmsStatusReport() - * messages until an acknowledgeLastIncomingGsmSms() has been received. - * - * @param type Type of radio indication - * @param pdu PDU of SMS-DELIVER represented as byte array. - * The PDU starts with the SMSC address per TS 27.005 (+CMT:) - */ - void newSms(in RadioIndicationType type, in byte[] pdu); - - /** - * Indicates when new SMS has been stored on SIM card - * - * @param type Type of radio indication - * @param recordNumber Record number on the sim - */ - void newSmsOnSim(in RadioIndicationType type, in int recordNumber); - - /** - * Indicates when new SMS Status Report is received. Callee must subsequently confirm the - * receipt of the SMS with a acknowledgeLastIncomingGsmSms(). Server must not send newSms() or - * newSmsStatusReport() messages until an acknowledgeLastIncomingGsmSms() has been received - * - * @param type Type of radio indication - * @param pdu PDU of SMS-STATUS-REPORT represented as byte array. - * The PDU starts with the SMSC address per TS 27.005 (+CMT:) - */ - void newSmsStatusReport(in RadioIndicationType type, in byte[] pdu); - - /** - * Indicates when radio has received a NITZ time message. - * - * @param type Type of radio indication - * @param nitzTime NITZ time string in the form "yy/mm/dd,hh:mm:ss(+/-)tz,dt" - * @param receivedTime milliseconds since boot that the NITZ time was received - */ - void nitzTimeReceived(in RadioIndicationType type, in String nitzTime, in long receivedTime); - - /** - * Indicates when Supplementary service(SS) response is received when DIAL/USSD/SS is changed to - * SS by call control. - * - * @param type Type of radio indication - */ - void onSupplementaryServiceIndication(in RadioIndicationType type, in StkCcUnsolSsResult ss); - - /** - * Indicates when a new USSD message is received. The USSD session is assumed to persist if the - * type code is REQUEST, otherwise the current session (if any) is assumed to have terminated. - * - * @param type Type of radio indication - * @param modeType USSD type code - * @param msg Message string in UTF-8, if applicable - */ - void onUssd(in RadioIndicationType type, in UssdModeType modeType, in String msg); - - /** - * Indicates when there is new Carrier PCO data received for a data call. Ideally only new data - * must be forwarded, though this is not required. Multiple boxes of carrier PCO data for a - * given call must result in a series of pcoData() calls. - * - * @param type Type of radio indication - * @param pco New PcoData - */ - void pcoData(in RadioIndicationType type, in PcoDataInfo pco); - - /** - * Sent when setRadioCapability() completes. Returns the phone radio capability exactly as - * getRadioCapability() and must be the same set as sent by setRadioCapability(). - * - * @param type Type of radio indication - * @param rc Current radio capability - */ - void radioCapabilityIndication(in RadioIndicationType type, in RadioCapability rc); - - /** - * Indicates when radio state changes. - * - * @param type Type of radio indication - * @param radioState Current radio state - */ - void radioStateChanged(in RadioIndicationType type, in RadioState radioState); - - /** - * Report that Registration or a Location/Routing/Tracking Area update has failed. - * - *
Indicate whenever a registration procedure, including a location, routing, or tracking - * area update fails. This includes procedures that do not necessarily result in a change of - * the modem's registration status. If the modem's registration status changes, that is - * reflected in the onNetworkStateChanged() and subsequent get{Voice/Data}RegistrationState(). - * - * @param cellIdentity the CellIdentity, which must include the globally unique identifier for - * the cell (for example, all components of the CGI or ECGI). - * @param chosenPlmn a 5 or 6 digit alphanumeric PLMN (MCC|MNC) among those broadcast by the - * cell that was chosen for the failed registration attempt. - * @param domain Domain::CS, Domain::PS, or both in case of a combined procedure. - * @param causeCode the primary failure cause code of the procedure. - * For GSM/UMTS (MM), values are in TS 24.008 Sec 10.5.95 - * For GSM/UMTS (GMM), values are in TS 24.008 Sec 10.5.147 - * For LTE (EMM), cause codes are TS 24.301 Sec 9.9.3.9 - * For NR (5GMM), cause codes are TS 24.501 Sec 9.11.3.2 - * MAX_INT if this value is unused. - * @param additionalCauseCode the cause code of any secondary/combined procedure if appropriate. - * For UMTS, if a combined attach succeeds for PS only, then the GMM cause code shall be - * included as an additionalCauseCode. - * For LTE (ESM), cause codes are in TS 24.301 9.9.4.4 - * MAX_INT if this value is unused. - */ - void registrationFailed(in RadioIndicationType type, in CellIdentity cellIdentity, - in String chosenPlmn, in Domain domain, in int causeCode, in int additionalCauseCode); - - /** - * Indicates that framework/application must reset the uplink mute state. - * - * @param type Type of radio indication - */ - void resendIncallMute(in RadioIndicationType type); - - /** - * Indicates a restricted state change (eg, for Domain Specific Access Control). - * Radio must send this msg after radio off/on cycle no matter it is changed or not. - * - * @param type Type of radio indication - * @param state Bitmask of restricted state as defined by PhoneRestrictedState - */ - void restrictedStateChanged(in RadioIndicationType type, in PhoneRestrictedState state); - - /** - * Indicates the ril connects and returns the version - * - * @param type Type of radio indication - */ - void rilConnected(in RadioIndicationType type); - - /** - * Indicates whether SIM phonebook is changed. This indication is sent whenever the SIM - * phonebook is changed, including SIM is inserted or removed and updated by - * IRadio.updateSimPhonebookRecords. - * - * @param type Type of radio indication - */ - void simPhonebookChanged(in RadioIndicationType type); - - /** - * Indicates the content of all the used records in the SIM phonebook. This indication is - * associated with the API getSimPhonebookRecords and might be received more than once that is - * replying on the record count. - * - * @param type Type of radio indication - * @param status Status of PbReceivedStatus - * @param records Vector of PhonebookRecordInfo - */ - void simPhonebookRecordsReceived(in RadioIndicationType type, in PbReceivedStatus status, - in PhonebookRecordInfo[] records); - - /** - * Indicates that file(s) on the SIM have been updated, or the SIM has been reinitialized. - * If the SIM state changes as a result of the SIM refresh (eg, SIM_READY -> - * SIM_LOCKED_OR_ABSENT), simStatusChanged() must be sent. - * - * @param type Type of radio indication - * @param refreshResult Result of sim refresh - */ - void simRefresh(in RadioIndicationType type, in SimRefreshResult refreshResult); - - /** - * Indicates that SMS storage on the SIM is full. Sent when the network attempts to deliver a - * new SMS message. Messages cannot be saved on the SIM until space is freed. In particular, - * incoming Class 2 messages must not be stored. - * - * @param type Type of radio indication - */ - void simSmsStorageFull(in RadioIndicationType type); - - /** - * Indicates that SIM state changes. Callee must invoke getIccCardStatus(). - * - * @param type Type of radio indication - */ - void simStatusChanged(in RadioIndicationType type); - - /** - * Indicates when Single Radio Voice Call Continuity (SRVCC) progress state has changed. - * - * @param type Type of radio indication - * @param state New Srvcc State - */ - void srvccStateNotify(in RadioIndicationType type, in SrvccState state); - - /** - * Indicates when there is an ALPHA from UICC during Call Control. - * - * @param type Type of radio indication - * @param alpha ALPHA string from UICC in UTF-8 format - */ - void stkCallControlAlphaNotify(in RadioIndicationType type, in String alpha); - - /** - * Indicates when SIM wants application to setup a voice call. - * - * @param type Type of radio indication - * @param timeout Timeout value in millisec for setting up voice call - */ - void stkCallSetup(in RadioIndicationType type, in long timeout); - - /** - * Indicates when SIM notifies applcations some event happens. - * - * @param type Type of radio indication - * @param cmd SAT/USAT commands or responses sent by ME to SIM or commands handled by ME, - * represented as byte array starting with first byte of response data for command tag. - * Refer to TS 102.223 section 9.4 for command types - */ - void stkEventNotify(in RadioIndicationType type, in String cmd); - - /** - * Indicates when SIM issue a STK proactive command to applications - * - * @param type Type of radio indication - * @param cmd SAT/USAT proactive represented as byte array starting with command tag. - * Refer to TS 102.223 section 9.4 for command types - */ - void stkProactiveCommand(in RadioIndicationType type, in String cmd); - - /** - * Indicates when STK session is terminated by SIM. - * - * @param type Type of radio indication - */ - void stkSessionEnd(in RadioIndicationType type); - - /** - * Indicated when there is a change in subscription status. - * This event must be sent in the following scenarios - * - subscription readiness at modem, which was selected by telephony layer - * - when subscription is deactivated by modem due to UICC card removal - * - when network invalidates the subscription i.e. attach reject due to authentication reject - * - * @param type Type of radio indication - * @param activate false for subscription deactivated, true for subscription activated - */ - void subscriptionStatusChanged(in RadioIndicationType type, in boolean activate); - - /** - * Reports supplementary service related notification from the network. - * - * @param type Type of radio indication - * @param suppSvc SuppSvcNotification as defined in types.hal - */ - void suppSvcNotify(in RadioIndicationType type, in SuppSvcNotification suppSvc); - - /** - * Report change of whether uiccApplications are enabled, or disabled. - * - * @param type Type of radio indication - * @param enabled whether uiccApplications are enabled, or disabled - */ - void uiccApplicationsEnablementChanged(in RadioIndicationType type, in boolean enabled); - - /** - * The modem can explicitly set SetupDataCallResult::suggestedRetryTime after a failure in - * IRadio.SetupDataCall. During that time, no new calls are allowed to IRadio.SetupDataCall that - * use the same APN. When IRadioIndication.unthrottleApn is sent, AOSP will no longer throttle - * calls to IRadio.SetupDataCall for the given APN. - * - * @param type Type of radio indication - * @param apn Apn to unthrottle - */ - void unthrottleApn(in RadioIndicationType type, in String apn); - - /** - * Indicates that voice technology has changed. Responds with new rat. - * - * @param type Type of radio indication - * @param rat Current new voice rat - */ - void voiceRadioTechChanged(in RadioIndicationType type, in RadioTechnology rat); -} diff --git a/radio/aidl/android/hardware/radio/IRadioResponse.aidl b/radio/aidl/android/hardware/radio/IRadioResponse.aidl deleted file mode 100644 index 4447bb121d..0000000000 --- a/radio/aidl/android/hardware/radio/IRadioResponse.aidl +++ /dev/null @@ -1,3039 +0,0 @@ -/* - * Copyright (C) 2021 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.hardware.radio; - -import android.hardware.radio.ActivityStatsInfo; -import android.hardware.radio.BarringInfo; -import android.hardware.radio.Call; -import android.hardware.radio.CallForwardInfo; -import android.hardware.radio.CardStatus; -import android.hardware.radio.CarrierRestrictions; -import android.hardware.radio.CdmaBroadcastSmsConfigInfo; -import android.hardware.radio.CdmaRoamingType; -import android.hardware.radio.CdmaSubscriptionSource; -import android.hardware.radio.CellIdentity; -import android.hardware.radio.CellInfo; -import android.hardware.radio.ClipStatus; -import android.hardware.radio.DataRegStateResult; -import android.hardware.radio.GsmBroadcastSmsConfigInfo; -import android.hardware.radio.HardwareConfig; -import android.hardware.radio.IccIoResult; -import android.hardware.radio.KeepaliveStatus; -import android.hardware.radio.LastCallFailCauseInfo; -import android.hardware.radio.LceDataInfo; -import android.hardware.radio.LceStatusInfo; -import android.hardware.radio.NeighboringCell; -import android.hardware.radio.OperatorInfo; -import android.hardware.radio.PersoSubstate; -import android.hardware.radio.PhonebookCapacity; -import android.hardware.radio.PreferredNetworkType; -import android.hardware.radio.RadioAccessFamily; -import android.hardware.radio.RadioAccessSpecifier; -import android.hardware.radio.RadioBandMode; -import android.hardware.radio.RadioCapability; -import android.hardware.radio.RadioResponseInfo; -import android.hardware.radio.RadioTechnology; -import android.hardware.radio.RadioTechnologyFamily; -import android.hardware.radio.RegStateResult; -import android.hardware.radio.SendSmsResult; -import android.hardware.radio.SetupDataCallResult; -import android.hardware.radio.SignalStrength; -import android.hardware.radio.SimLockMultiSimPolicy; -import android.hardware.radio.SlicingConfig; -import android.hardware.radio.TtyMode; -import android.hardware.radio.VoiceRegStateResult; - -/** - * Interface declaring response functions to solicited radio requests. - */ -@VintfStability -oneway interface IRadioResponse { - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_STATE - * RadioError:NO_MEMORY - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:INVALID_CALL_ID - * RadioError:INVALID_ARGUMENTS - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void acceptCallResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:REQUEST_NOT_SUPPORTED - */ - void acknowledgeIncomingGsmSmsWithPduResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_SMS_TO_ACK - * RadioError:INVALID_STATE - * RadioError:NO_MEMORY - * RadioError:REQUEST_RATE_LIMITED - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:NETWORK_NOT_READY - * RadioError:INVALID_MODEM_STATE - * RadioError:INTERNAL_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void acknowledgeLastIncomingCdmaSmsResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:REQUEST_NOT_SUPPORTED - */ - void acknowledgeLastIncomingGsmSmsResponse(in 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. For more details, refer - * https://source.android.com/devices/tech/connect/ril.html - * - * @param serial Serial no. of the request whose acknowledgement is sent. - */ - void acknowledgeRequest(in int serial); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param id The allocated id. On an error, this is set to 0. - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:NO_RESOURCES- Indicates that no pdu session ids are available - * RadioError:REQUEST_NOT_SUPPORTED - */ - void allocatePduSessionIdResponse(in RadioResponseInfo info, in int id); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param enabled whether Uicc applications are enabled. - * - * Valid errors returned: - * RadioError:NONE - * RadioError:SIM_ABSENT - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - */ - void areUiccApplicationsEnabledResponse(in RadioResponseInfo info, in boolean enabled); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param dcResponse Attributes of data call - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:NO_RESOURCES - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_CALL_ID - */ - void cancelHandoverResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SIM_BUSY - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:INVALID_STATE - * RadioError:INVALID_ARGUMENTS - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_MODEM_STATE - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void cancelPendingUssdResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown. - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE (radio resetting) - * RadioError:PASSWORD_INCORRECT (old PIN2 is invalid) - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:INVALID_ARGUMENTS - * RadioError:INVALID_SIM_STATE - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:SIM_PUK2 - */ - void changeIccPin2ForAppResponse(in RadioResponseInfo info, in int remainingRetries); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown. - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE (radio resetting) - * RadioError:PASSWORD_INCORRECT - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:INVALID_ARGUMENTS - * RadioError:INVALID_SIM_STATE - * RadioError:REQUEST_NOT_SUPPORTED - */ - void changeIccPinForAppResponse(in RadioResponseInfo info, in int remainingRetries); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE (radio resetting) - * RadioError:NO_MEMORY - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:INVALID_STATE - * RadioError:INVALID_CALL_ID - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:INVALID_ARGUMENTS - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_MODEM_STATE - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void conferenceResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:REQUEST_NOT_SUPPORTED may be returned when HAL 1.2 or higher is supported. - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_CALL_ID - * RadioError:INVALID_STATE - * RadioError:INVALID_ARGUMENTS - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:SIM_ABSENT - */ - void deactivateDataCallResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:NO_SUCH_ENTRY - * RadioError:INTERNAL_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:INVALID_MODEM_STATE - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:SIM_ABSENT - */ - void deleteSmsOnRuimResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SIM_FULL - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:NO_SUCH_ENTRY - * RadioError:INTERNAL_ERR - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:INVALID_MODEM_STATE - * RadioError:SIM_ABSENT - */ - void deleteSmsOnSimResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE (radio resetting) - * RadioError:DIAL_MODIFIED_TO_USSD - * RadioError:DIAL_MODIFIED_TO_SS - * RadioError:DIAL_MODIFIED_TO_DIAL - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:INVALID_STATE - * RadioError:NO_RESOURCES - * RadioError:INTERNAL_ERR - * RadioError:FDN_CHECK_FAILURE - * RadioError:MODEM_ERR - * RadioError:NO_SUBSCRIPTION - * RadioError:NO_NETWORK_FOUND - * RadioError:INVALID_CALL_ID - * RadioError:DEVICE_IN_USE - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:ABORTED - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_MODEM_STATE - * RadioError:CANCELLED - */ - void dialResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE (radio resetting) - * RadioError:DIAL_MODIFIED_TO_USSD - * RadioError:DIAL_MODIFIED_TO_SS - * RadioError:DIAL_MODIFIED_TO_DIAL - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_RESOURCES - * RadioError:INTERNAL_ERR - * RadioError:FDN_CHECK_FAILURE - * RadioError:MODEM_ERR - * RadioError:NO_SUBSCRIPTION - * RadioError:NO_NETWORK_FOUND - * RadioError:INVALID_CALL_ID - * RadioError:DEVICE_IN_USE - * RadioError:ABORTED - * RadioError:INVALID_MODEM_STATE - */ - void emergencyDialResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:MODEM_ERR - * RadioError:INVALID_STATE: this is for the case that the API is called in a single-sim - * mode, or when there is only one modem available, as this API should only - * be called in multi sim status. - */ - void enableModemResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:SIM_ABSENT - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:BUSY - */ - void enableUiccApplicationsResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:OPERATION_NO_ALLOWED - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:SYSTEM_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:MODEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:SIM_ABSENT - */ - void exitEmergencyCallbackModeResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:INVALID_STATE - * RadioError:NO_RESOURCES - * RadioError:NO_MEMORY - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:INVALID_CALL_ID - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_MODEM_STATE - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void explicitCallTransferResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param carriers Carrier restriction information. - * @param multiSimPolicy Policy used for devices with multiple SIM cards. - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:REQUEST_NOT_SUPPORTED - */ - void getAllowedCarriersResponse(in RadioResponseInfo info, in CarrierRestrictions carriers, - in SimLockMultiSimPolicy multiSimPolicy); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param networkTypeBitmap a 32-bit bitmap of RadioAccessFamily. - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:MODE_NOT_SUPPORTED - * RadioError:INTERNAL_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:MODEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - */ - void getAllowedNetworkTypesBitmapResponse( - in RadioResponseInfo info, in RadioAccessFamily networkTypeBitmap); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param bandModes List of RadioBandMode listing supported modes - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void getAvailableBandModesResponse(in RadioResponseInfo info, in RadioBandMode[] bandModes); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param networkInfos List of network operator information as OperatorInfos defined in - * types.hal - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:ABORTED - * RadioError:DEVICE_IN_USE - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:MODEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:CANCELLED - * RadioError:NO_RESOURCES - * RadioError:INTERNAL_ERR - */ - void getAvailableNetworksResponse(in RadioResponseInfo info, in OperatorInfo[] networkInfos); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param cellIdentity CellIdentity for the barring infos. - * @param barringInfos a vector of barring info for all barring service types - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:MODEM_ERR - */ - void getBarringInfoResponse( - in RadioResponseInfo info, in CellIdentity cellIdentity, in BarringInfo[] barringInfos); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param version string containing version string for log reporting - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:EMPTY_RECORD - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:NOT_PROVISIONED - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void getBasebandVersionResponse(in RadioResponseInfo info, in String version); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param mdn MDN if CDMA subscription is available - * @param hSid is a comma separated list of H_SID (Home SID) if CDMA subscription is available, - * in decimal format - * @param hNid is a comma separated list of H_NID (Home NID) if CDMA subscription is available, - * in decimal format - * @param min MIN (10 digits, MIN2+MIN1) if CDMA subscription is available - * @param prl PRL version if CDMA subscription is available - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SUBSCRIPTION_NOT_AVAILABLE - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:MODEM_ERR - * RadioError:NOT_PROVISIONED - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:SIM_ABSENT - */ - void getCDMASubscriptionResponse(in RadioResponseInfo info, in String mdn, in String hSid, - in String hNid, in String min, in String prl); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param callForwardInfos points to a vector of CallForwardInfo, one for each distinct - * registered phone number. For example, if data is forwarded to +18005551212 and voice - * is forwarded to +18005559999, then two separate CallForwardInfo's must be returned. - * However, if both data and voice are forwarded to +18005551212, then a single - * CallForwardInfo must be returned with the service class set to "data + voice = 3". - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SS_MODIFIED_TO_DIAL - * RadioError:SS_MODIFIED_TO_USSD - * RadioError:SS_MODIFIED_TO_SS - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:FDN_CHECK_FAILURE - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:SYSTEM_ERR - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void getCallForwardStatusResponse( - in RadioResponseInfo info, in CallForwardInfo[] callForwardInfos); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param enable If current call waiting state is disabled, enable = false else true - * @param serviceClass If enable, then callWaitingResp[1] must follow, with the TS 27.007 - * service class bit vector of services for which call waiting is enabled. For example, - * if callWaitingResp[0] is 1 and callWaitingResp[1] is 3, then call waiting is enabled - * for data and voice and disabled for everything else. - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SS_MODIFIED_TO_DIAL - * RadioError:SS_MODIFIED_TO_USSD - * RadioError:SS_MODIFIED_TO_SS - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:FDN_CHECK_FAILURE - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void getCallWaitingResponse(in RadioResponseInfo info, in boolean enable, in int serviceClass); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param configs Vector of CDMA Broadcast SMS configs. - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:INVALID_STATE - * RadioError:NO_MEMORY - * RadioError:REQUEST_RATE_LIMITED - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:NO_RESOURCES - * RadioError:INTERNAL_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:INVALID_MODEM_STATE - */ - void getCdmaBroadcastConfigResponse( - in RadioResponseInfo info, in CdmaBroadcastSmsConfigInfo[] configs); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param type CdmaRoamingType defined in types.hal - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:SIM_ABSENT - */ - void getCdmaRoamingPreferenceResponse(in RadioResponseInfo info, in CdmaRoamingType type); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param source CDMA subscription source - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SUBSCRIPTION_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:SIM_ABSENT - */ - void getCdmaSubscriptionSourceResponse( - in RadioResponseInfo info, in CdmaSubscriptionSource source); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param cellInfo List of current cell information known to radio - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - */ - void getCellInfoListResponse(in RadioResponseInfo info, in CellInfo[] cellInfo); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param status indicates CLIP status - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:FDN_CHECK_FAILURE - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void getClipResponse(in RadioResponseInfo info, in ClipStatus status); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param n is "n" parameter from TS 27.007 7.7 - * @param m is "m" parameter from TS 27.007 7.7 - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SS_MODIFIED_TO_DIAL - * RadioError:SS_MODIFIED_TO_USSD - * RadioError:SS_MODIFIED_TO_SS - * RadioError:NO_MEMORY - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:FDN_CHECK_FAILURE - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void getClirResponse(in RadioResponseInfo info, in int n, in int m); - - /** - * @param info Response info struct containing respontype, serial no. and error - * @param calls Current call list - * - * Valid errors returned: - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void getCurrentCallsResponse(in RadioResponseInfo info, in Call[] calls); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param dcResponse List of SetupDataCallResult as defined in types.hal - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:SIM_ABSENT - */ - void getDataCallListResponse(in RadioResponseInfo info, in SetupDataCallResult[] dcResponse); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param dataRegResponse Current Data registration response as defined by RegStateResult in - * types.hal - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:NOT_PROVISIONED - */ - void getDataRegistrationStateResponse( - in RadioResponseInfo info, in RegStateResult dataRegResponse); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param imei IMEI if GSM subscription is available - * @param imeisv IMEISV if GSM subscription is available - * @param esn ESN if CDMA subscription is available - * @param meid MEID if CDMA subscription is available - * - * If a empty string value is returned for any of the device id, it means that there was error - * accessing the device. - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:MODEM_ERR - * RadioError:NOT_PROVISIONED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:REQUEST_NOT_SUPPORTED - */ - void getDeviceIdentityResponse(in RadioResponseInfo info, in String imei, in String imeisv, - in String esn, in String meid); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param response 0 is the TS 27.007 service class bit vector of services for which the - * specified barring facility is active. "0" means "disabled for all" - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SS_MODIFIED_TO_DIAL - * RadioError:SS_MODIFIED_TO_USSD - * RadioError:SS_MODIFIED_TO_SS - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:FDN_CHECK_FAILURE - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void getFacilityLockForAppResponse(in RadioResponseInfo info, in int response); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param configs Vector of GSM/WCDMA Cell broadcast configs - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:INVALID_STATE - * RadioError:NO_MEMORY - * RadioError:REQUEST_RATE_LIMITED - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:NO_RESOURCES - * RadioError:INTERNAL_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:INVALID_MODEM_STATE - */ - void getGsmBroadcastConfigResponse( - in RadioResponseInfo info, in GsmBroadcastSmsConfigInfo[] configs); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param config Array of HardwareConfig of the radio. - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:REQUEST_NOT_SUPPORTED - */ - void getHardwareConfigResponse(in RadioResponseInfo info, in HardwareConfig[] config); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param imsi String containing the IMSI - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE (radio resetting) - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:INVALID_SIM_STATE - * RadioError:SIM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - */ - void getIMSIForAppResponse(in RadioResponseInfo info, in String imsi); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param cardStatus ICC card status as defined by CardStatus in types.hal - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:NO_RESOURCES - * RadioError:REQUEST_NOT_SUPPORTED - */ - void getIccCardStatusResponse(in RadioResponseInfo info, in CardStatus cardStatus); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param isRegistered false = not registered, true = registered - * @param ratFamily RadioTechnologyFamily as defined in types.hal. This value is valid only if - * isRegistered is true. - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:INVALID_MODEM_STATE - * RadioError:REQUEST_NOT_SUPPORTED - */ - void getImsRegistrationStateResponse( - in RadioResponseInfo info, in boolean isRegistered, in RadioTechnologyFamily ratFamily); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param failCauseInfo Contains LastCallFailCause and vendor cause code. - * - * The vendor cause code must be used for debugging purpose only. The implementation must return - * one of the values of LastCallFailCause as mentioned below. - * GSM failure reasons codes for the cause codes defined in TS 24.008 Annex H where possible. - * CDMA failure reasons codes for the possible call failure scenarios described in the - * "CDMA IS-2000 Release A (C.S0005-A v6.0)" standard. - * Any of the following reason codes if the call is failed or dropped due to reason mentioned - * with in the braces. - * LastCallFailCause:RADIO_OFF (Radio is OFF) - * LastCallFailCause:OUT_OF_SERVICE (No cell coverage) - * LastCallFailCause:NO_VALID_SIM (No valid SIM) - * LastCallFailCause:RADIO_INTERNAL_ERROR (Modem hit unexpected error scenario) - * LastCallFailCause:NETWORK_RESP_TIMEOUT (No response from network) - * LastCallFailCause:NETWORK_REJECT (Explicit network reject) - * LastCallFailCause:RADIO_ACCESS_FAILURE (RRC connection failure. Eg.RACH) - * LastCallFailCause:RADIO_LINK_FAILURE (Radio Link Failure) - * LastCallFailCause:RADIO_LINK_LOST (Radio link lost due to poor coverage) - * LastCallFailCause:RADIO_UPLINK_FAILURE (Radio uplink failure) - * LastCallFailCause:RADIO_SETUP_FAILURE (RRC connection setup failure) - * LastCallFailCause:RADIO_RELEASE_NORMAL (RRC connection release, normal) - * LastCallFailCause:RADIO_RELEASE_ABNORMAL (RRC connection release, abnormal) - * LastCallFailCause:ACCESS_CLASS_BLOCKED (Access class barring) - * LastCallFailCause:NETWORK_DETACH (Explicit network detach) - * OEM causes (LastCallFailCause:OEM_CAUSE_XX) must be used for debug purpose only - * - * If the implementation does not have access to the exact cause codes, then it must return one - * of the values listed in LastCallFailCause, as the UI layer needs to distinguish these cases - * for tone generation or error notification. - * - * Valid errors returned: - * RadioError:NONE - * RadioError:NO_MEMORY - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SYSTEM_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:INTERNAL_ERR - * RadioError:MODEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void getLastCallFailCauseResponse( - in RadioResponseInfo info, in LastCallFailCauseInfo failCauseinfo); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param activityInfo modem activity information - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:NOT_PROVISIONED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:REQUEST_NOT_SUPPORTED - */ - void getModemActivityInfoResponse(in RadioResponseInfo info, in ActivityStatsInfo activityInfo); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:MODEM_ERR - */ - void getModemStackStatusResponse(in RadioResponseInfo info, in boolean isEnabled); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param enable true for "mute enabled" and false for "mute disabled" - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SS_MODIFIED_TO_DIAL - * RadioError:SS_MODIFIED_TO_USSD - * RadioError:SS_MODIFIED_TO_SS - * RadioError:NO_MEMORY - * RadioError:REQUEST_RATE_LIMITED - * RadioError:INVALID_ARGUMENTS - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void getMuteResponse(in RadioResponseInfo info, in boolean enable); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param cells Vector of neighboring radio cell - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:NO_NETWORK_FOUND - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void getNeighboringCidsResponse(in RadioResponseInfo info, in NeighboringCell[] cells); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param selection false for automatic selection, true for manual selection - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:MODEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void getNetworkSelectionModeResponse(in RadioResponseInfo info, in boolean manual); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param longName is long alpha ONS or EONS or empty string if unregistered - * @param shortName is short alpha ONS or EONS or empty string if unregistered - * @param numeric is 5 or 6 digit numeric code (MCC + MNC) or empty string if unregistered - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void getOperatorResponse( - in RadioResponseInfo info, in String longName, in String shortName, in String numeric); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param networkTypeBitmap a 32-bit bitmap of RadioAccessFamily. - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:MODEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - */ - void getPreferredNetworkTypeBitmapResponse( - in RadioResponseInfo info, in RadioAccessFamily networkTypeBitmap); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param nwType RadioPreferredNetworkType defined in types.hal - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:MODEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void getPreferredNetworkTypeResponse(in RadioResponseInfo info, in PreferredNetworkType nwType); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param enable false for Standard Privacy Mode (Public Long Code Mask) - * true for Enhanced Privacy Mode (Private Long Code Mask) - * - * Valid errors: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void getPreferredVoicePrivacyResponse(in RadioResponseInfo info, in boolean enable); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param rc Radio capability as defined by RadioCapability in types.hal - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:INVALID_STATE - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void getRadioCapabilityResponse(in RadioResponseInfo info, in RadioCapability rc); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param signalStrength Current signal strength - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - */ - void getSignalStrengthResponse(in RadioResponseInfo info, in SignalStrength signalStrength); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param capacity Response capacity enum indicating response processing status - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_ARGUMENTS - * RadioError:INVALID_SIM_STATE - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * REQUEST_NOT_SUPPORTED may only be returned on devices that don't support this API, - * indicated by the HAL capability CAPABILITY_SIM_PHONEBOOK_IN_MODEM. - */ - void getSimPhonebookCapacityResponse(in RadioResponseInfo info, in PhonebookCapacity capacity); - - /** - * @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:INVALID_ARGUMENTS - * RadioError:INVALID_SIM_STATE - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * REQUEST_NOT_SUPPORTED may only be returned on devices that don't support this API, - * indicated by the HAL capability CAPABILITY_SIM_PHONEBOOK_IN_MODEM. - */ - void getSimPhonebookRecordsResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param slicingConfig Current slicing configuration - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:MODEM_ERR - */ - void getSlicingConfigResponse(in RadioResponseInfo info, in SlicingConfig slicingConfig); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param smsc Short Message Service Center address on the device - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_RATE_LIMITED - * RadioError:MODEM_ERR - * RadioError:INVALID_MODEM_STATE - * RadioError:NOT_PROVISIONED - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:SIM_ABSENT - */ - void getSmscAddressResponse(in RadioResponseInfo info, in String smsc); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param specifiers List of RadioAccessSpecifiers that are scanned. - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:INVALID_ARGUMENTS - */ - void getSystemSelectionChannelsResponse( - in RadioResponseInfo info, in RadioAccessSpecifier[] specifiers); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param mode TtyMode - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void getTTYModeResponse(in RadioResponseInfo info, in TtyMode mode); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param rat Current voice RAT - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:REQUEST_NOT_SUPPORTED - */ - void getVoiceRadioTechnologyResponse(in RadioResponseInfo info, in RadioTechnology rat); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param voiceRegResponse Current Voice registration response as defined by RegStateResult - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - */ - void getVoiceRegistrationStateResponse( - in RadioResponseInfo info, in RegStateResult voiceRegResponse); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:SIM_ABSENT - */ - void handleStkCallSetupRequestFromSimResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE (radio resetting) - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:INVALID_STATE - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:INVALID_CALL_ID - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:REQUEST_NOT_SUPPORTED - */ - void hangupConnectionResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE (radio resetting) - * RadioError:INVALID_STATE - * RadioError:NO_MEMORY - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:INVALID_CALL_ID - * RadioError:NO_RESOURCES - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:INVALID_ARGUMENTS - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void hangupForegroundResumeBackgroundResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE (radio resetting) - * RadioError:INVALID_STATE - * RadioError:NO_MEMORY - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:INVALID_CALL_ID - * RadioError:NO_RESOURCES - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:INVALID_ARGUMENTS - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:CANCELLED - */ - void hangupWaitingOrBackgroundResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:REQUEST_NOT_SUPPORTED - */ - void iccCloseLogicalChannelResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param iccIo ICC io operation response as defined by IccIoResult in types.hal - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SIM_PIN2 - * RadioError:SIM_PUK2 - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:INVALID_SIM_STATE - * RadioError:SIM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - */ - void iccIOForAppResponse(in RadioResponseInfo info, in IccIoResult iccIo); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param channelId session id of the logical channel. - * @param selectResponse Contains the select response for the open channel command with one - * byte per integer - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:MISSING_RESOURCE - * RadioError:NO_SUCH_ELEMENT - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:SIM_ERR - * RadioError:INVALID_SIM_STATE - * RadioError:MISSING_RESOURCE - * RadioError:REQUEST_NOT_SUPPORTED - */ - void iccOpenLogicalChannelResponse( - in RadioResponseInfo info, in int channelId, in byte[] selectResponse); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param result IccIoResult as defined in types.hal - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:REQUEST_NOT_SUPPORTED - */ - void iccTransmitApduBasicChannelResponse(in RadioResponseInfo info, in IccIoResult result); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param result IccIoResult as defined in types.hal - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:REQUEST_NOT_SUPPORTED - */ - void iccTransmitApduLogicalChannelResponse(in RadioResponseInfo info, in IccIoResult result); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param isEnabled Indicates whether NR dual connectivity is enabled or not, True if enabled - * else false. - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:REQUEST_NOT_SUPPORTED - */ - void isNrDualConnectivityEnabledResponse(in RadioResponseInfo info, in boolean isEnabled); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param result string containing the contents of the NV item - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:REQUEST_NOT_SUPPORTED - */ - void nvReadItemResponse(in RadioResponseInfo info, in String result); - - /** - * @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 - */ - void nvResetConfigResponse(in 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 - */ - void nvWriteCdmaPrlResponse(in 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 - */ - void nvWriteItemResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param lceInfo LceDataInfo indicating LCE data - * - * Valid errors returned: - * RadioError:REQUEST_NOT_SUPPORTED may be returned when HAL 1.2 or higher is supported. - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:LCE_NOT_SUPPORTED - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:SIM_ABSENT - */ - void pullLceDataResponse(in RadioResponseInfo info, in LceDataInfo lceInfo); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE (radio resetting) - * RadioError:INVALID_STATE - * RadioError:NO_RESOURCES - * RadioError:NO_MEMORY - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:INVALID_CALL_ID - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:INVALID_ARGUMENTS - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_MODEM_STATE - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void rejectCallResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:NO_RESOURCES - * RadioError:REQUEST_NOT_SUPPORTED - */ - void releasePduSessionIdResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_RATE_LIMITED - * RadioError:MODEM_ERR - * RadioError:INVALID_STATE - * RadioError:INTERNAL_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:SIM_ABSENT - */ - void reportSmsMemoryStatusResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:REQUEST_NOT_SUPPORTED - */ - void reportStkServiceIsRunningResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param result IccIoResult as defined in types.hal - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:INVALID_MODEM_STATE - * RadioError:SIM_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:REQUEST_NOT_SUPPORTED - */ - void requestIccSimAuthenticationResponse(in RadioResponseInfo info, in IccIoResult result); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param response response string of the challenge/response algo for ISIM auth in base64 format - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:INVALID_MODEM_STATE - * RadioError:INVALID_ARGUMENTS - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:SIM_ABSENT - */ - void requestIsimAuthenticationResponse(in RadioResponseInfo info, in String response); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void requestShutdownResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:INVALID_CALL_ID - * RadioError:INVALID_STATE - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:INVALID_MODEM_STATE - * RadioError:OPERATION_NOT_ALLOWED - */ - void sendBurstDtmfResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:INVALID_CALL_ID - * RadioError:INVALID_STATE - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_MODEM_STATE - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:OPERATION_NOT_ALLOWED - */ - void sendCDMAFeatureCodeResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param sms Response to sms sent as defined by SendSmsResult in types.hal - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SMS_SEND_FAIL_RETRY - * RadioError:NETWORK_REJECT - * RadioError:INVALID_STATE - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:REQUEST_RATE_LIMITED - * RadioError:INVALID_SMS_FORMAT - * RadioError:SYSTEM_ERR - * RadioError:FDN_CHECK_FAILURE - * RadioError:ENCODING_ERR - * RadioError:INVALID_SMSC_ADDRESS - * RadioError:MODEM_ERR - * RadioError:NETWORK_ERR - * RadioError:INTERNAL_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_MODEM_STATE - * RadioError:NETWORK_NOT_READY - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:SIM_ABSENT - * RadioError:SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED - * RadioError:ACCESS_BARRED - * RadioError:BLOCKED_DUE_TO_CALL - */ - void sendCdmaSmsExpectMoreResponse(in RadioResponseInfo info, in SendSmsResult sms); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param sms Sms result struct as defined by SendSmsResult in types.hal - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:SMS_SEND_FAIL_RETRY - * RadioError:NETWORK_REJECT - * RadioError:INVALID_STATE - * RadioError:NO_MEMORY - * RadioError:REQUEST_RATE_LIMITED - * RadioError:INVALID_SMS_FORMAT - * RadioError:SYSTEM_ERR - * RadioError:FDN_CHECK_FAILURE - * RadioError:MODEM_ERR - * RadioError:NETWORK_ERR - * RadioError:ENCODING_ERR - * RadioError:INVALID_SMSC_ADDRESS - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:ENCODING_ERR - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:SIM_ABSENT - * RadioError:SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED - * RadioError:ACCESS_BARRED - * RadioError:BLOCKED_DUE_TO_CALL - */ - void sendCdmaSmsResponse(in RadioResponseInfo info, in SendSmsResult sms); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void sendDeviceStateResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_RESOURCES - * RadioError:NO_MEMORY - * RadioError:MODEM_ERR - * RadioError:INVALID_CALL_ID - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:CANCELLED - * RadioError:INVALID_MODEM_STATE - */ - void sendDtmfResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param commandResponse SAT/USAT response in hexadecimal format string starting with first - * byte of response - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SIM_BUSY - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:INVALID_ARGUMENTS - * RadioError:MODEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:SIM_ABSENT - */ - void sendEnvelopeResponse(in RadioResponseInfo info, in String commandResponse); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param iccIo IccIoResult as defined in types.hal corresponding to ICC IO response - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SIM_BUSY - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:SIM_ABSENT - */ - void sendEnvelopeWithStatusResponse(in RadioResponseInfo info, in IccIoResult iccIo); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param sms Response to sms sent as defined by SendSmsResult in types.hal - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SMS_SEND_FAIL_RETRY - * RadioError:FDN_CHECK_FAILURE - * RadioError:NETWORK_REJECT - * RadioError:INVALID_ARGUMENTS - * RadioError:INVALID_STATE - * RadioError:NO_MEMORY - * RadioError:INVALID_SMS_FORMAT - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_RATE_LIMITED - * RadioError:MODEM_ERR - * RadioError:NETWORK_ERR - * RadioError:ENCODING_ERR - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:INTERNAL_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NETWORK_NOT_READY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void sendImsSmsResponse(in RadioResponseInfo info, in SendSmsResult sms); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param sms Response to sms sent as defined by SendSmsResult in types.hal - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SMS_SEND_FAIL_RETRY - * RadioError:NETWORK_REJECT - * RadioError:INVALID_STATE - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:REQUEST_RATE_LIMITED - * RadioError:INVALID_SMS_FORMAT - * RadioError:SYSTEM_ERR - * RadioError:FDN_CHECK_FAILURE - * RadioError:ENCODING_ERR - * RadioError:INVALID_SMSC_ADDRESS - * RadioError:MODEM_ERR - * RadioError:NETWORK_ERR - * RadioError:INTERNAL_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_MODEM_STATE - * RadioError:NETWORK_NOT_READY - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:SIM_ABSENT - */ - void sendSMSExpectMoreResponse(in RadioResponseInfo info, in SendSmsResult sms); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param sms Response to sms sent as defined by SendSmsResult in types.hal - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SMS_SEND_FAIL_RETRY - * RadioError:NETWORK_REJECT - * RadioError:INVALID_STATE - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:REQUEST_RATE_LIMITED - * RadioError:INVALID_SMS_FORMAT - * RadioError:SYSTEM_ERR - * RadioError:FDN_CHECK_FAILURE - * RadioError:ENCODING_ERR - * RadioError:INVALID_SMSC_ADDRESS - * RadioError:MODEM_ERR - * RadioError:NETWORK_ERR - * RadioError:INTERNAL_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_MODEM_STATE - * RadioError:NETWORK_NOT_READY - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:SIM_ABSENT - * RadioError:ACCESS_BARRED - * RadioError:BLOCKED_DUE_TO_CALL - */ - void sendSmsExpectMoreResponse(in RadioResponseInfo info, in SendSmsResult sms); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param sms Response to sms sent as defined by SendSmsResult in types.hal - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SMS_SEND_FAIL_RETRY - * RadioError:NETWORK_REJECT - * RadioError:INVALID_STATE - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:REQUEST_RATE_LIMITED - * RadioError:INVALID_SMS_FORMAT - * RadioError:SYSTEM_ERR - * RadioError:ENCODING_ERR - * RadioError:INVALID_SMSC_ADDRESS - * RadioError:MODEM_ERR - * RadioError:NETWORK_ERR - * RadioError:INTERNAL_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_MODEM_STATE - * RadioError:NETWORK_NOT_READY - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:SIM_ABSENT - * RadioError:ACCESS_BARRED - * RadioError:BLOCKED_DUE_TO_CALL - */ - void sendSmsResponse(in RadioResponseInfo info, in SendSmsResult sms); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:INVALID_MODEM_STATE - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:SIM_ABSENT - */ - void sendTerminalResponseToSimResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:FDN_CHECK_FAILURE - * RadioError:USSD_MODIFIED_TO_DIAL - * RadioError:USSD_MODIFIED_TO_SS - * RadioError:USSD_MODIFIED_TO_USSD - * RadioError:SIM_BUSY - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:ABORTED - * RadioError:SYSTEM_ERR - * RadioError:INVALID_STATE - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_MODEM_STATE - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void sendUssdResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:INVALID_STATE - * RadioError:NO_RESOURCES - * RadioError:NO_MEMORY - * RadioError:MODEM_ERR - * RadioError:SYSTEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:INVALID_CALL_ID - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_MODEM_STATE - * RadioError:CANCELLED - */ - void separateConnectionResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:REQUEST_NOT_SUPPORTED - */ - void setAllowedCarriersResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:MODE_NOT_SUPPORTED - * RadioError:INTERNAL_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:MODEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - */ - void setAllowedNetworkTypesBitmapResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:MODEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void setBandModeResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SS_MODIFIED_TO_DIAL - * RadioError:SS_MODIFIED_TO_USSD - * RadioError:SS_MODIFIED_TO_SS - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:FDN_CHECK_FAILURE - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void setBarringPasswordResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SS_MODIFIED_TO_DIAL - * RadioError:SS_MODIFIED_TO_USSD - * RadioError:SS_MODIFIED_TO_SS - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:INVALID_STATE - * RadioError:FDN_CHECK_FAILURE - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_MODEM_STATE - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void setCallForwardResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SS_MODIFIED_TO_DIAL - * RadioError:SS_MODIFIED_TO_USSD - * RadioError:SS_MODIFIED_TO_SS - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:INVALID_STATE - * RadioError:FDN_CHECK_FAILURE - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_MODEM_STATE - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void setCallWaitingResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:RIL_E_SUCCESS - * RadioError:RIL_E_RADIO_NOT_AVAILABLE - * RadioError:SIM_ABSENT - * RadioError:RIL_E_REQUEST_NOT_SUPPORTED - * RadioError:INVALID_ARGUMENTS - * RadioError:MODEM_INTERNAL_FAILURE - */ - void setCarrierInfoForImsiEncryptionResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:INVALID_STATE - * RadioError:NO_MEMORY - * RadioError:REQUEST_RATE_LIMITED - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:INVALID_MODEM_STATE - */ - void setCdmaBroadcastActivationResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:INVALID_STATE - * RadioError:NO_MEMORY - * RadioError:REQUEST_RATE_LIMITED - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:INVALID_MODEM_STATE - */ - void setCdmaBroadcastConfigResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:MODEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:SIM_ABSENT - */ - void setCdmaRoamingPreferenceResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SIM_ABSENT - * RadioError:SUBSCRIPTION_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:REQUEST_NOT_SUPPORTED - */ - void setCdmaSubscriptionSourceResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:REQUEST_NOT_SUPPORTED - */ - void setCellInfoListRateResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:INVALID_ARGUMENTS - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SS_MODIFIED_TO_DIAL - * RadioError:SS_MODIFIED_TO_USSD - * RadioError:SS_MODIFIED_TO_SS - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void setClirResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:DEVICE_IN_USE - * RadioError:INVALID_MODEM_STATE - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:REQUEST_NOT_SUPPORTED - */ - void setDataAllowedResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SUBSCRIPTION_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:SIM_ABSENT - */ - void setDataProfileResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:MODEM_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:REQUEST_NOT_SUPPORTED - */ - void setDataThrottlingResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param retry 0 is the number of retries remaining, or -1 if unknown - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SS_MODIFIED_TO_DIAL - * RadioError:SS_MODIFIED_TO_USSD - * RadioError:SS_MODIFIED_TO_SS - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:INVALID_STATE - * RadioError:FDN_CHECK_FAILURE - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_MODEM_STATE - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void setFacilityLockForAppResponse(in RadioResponseInfo info, in int retry); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:INVALID_STATE - * RadioError:NO_MEMORY - * RadioError:REQUEST_RATE_LIMITED - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:INVALID_MODEM_STATE - */ - void setGsmBroadcastActivationResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:INVALID_STATE - * RadioError:NO_MEMORY - * RadioError:REQUEST_RATE_LIMITED - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:INVALID_MODEM_STATE - */ - void setGsmBroadcastConfigResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:INVALID_ARGUMENTS - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - */ - void setIndicationFilterResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SUBSCRIPTION_NOT_AVAILABLE - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:NOT_PROVISIONED - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void setInitialAttachApnResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:INVALID_ARGUMENTS - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - */ - void setLinkCapacityReportingCriteriaResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:MODEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:SIM_ABSENT - */ - void setLocationUpdatesResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_MEMORY - * RadioError:REQUEST_RATE_LIMITED - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void setMuteResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:ILLEGAL_SIM_OR_ME - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:MODEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * - * Returns RadioError:ILLEGAL_SIM_OR_ME when the failure is permanent and - * no retries needed, such as illegal SIM or ME. - */ - void setNetworkSelectionModeAutomaticResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:ILLEGAL_SIM_OR_ME - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:INVALID_STATE - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:MODEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * - * Returns RadioError:ILLEGAL_SIM_OR_ME when the failure is permanent and - * no retries needed, such as illegal SIM or ME. - */ - void setNetworkSelectionModeManualResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_STATE - */ - void setNrDualConnectivityStateResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:MODE_NOT_SUPPORTED - * RadioError:INTERNAL_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:MODEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - */ - void setPreferredNetworkTypeBitmapResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:MODE_NOT_SUPPORTED - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:MODEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void setPreferredNetworkTypeResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_CALL_ID - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void setPreferredVoicePrivacyResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param rc Radio capability as defined by RadioCapability in types.hal used to - * feedback return status - * - * Valid errors returned: - * RadioError:NONE means a unsol radioCapability() will be sent within 30 seconds. - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:MODEM_ERR - * RadioError:INVALID_STATE - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void setRadioCapabilityResponse(in RadioResponseInfo info, in RadioCapability rc); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:INTERNAL_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:RF_HARDWARE_ISSUE - * RadioError:NO_RF_CALIBRATION_INFO - */ - void setRadioPowerResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:INVALID_ARGUMENTS - * RadioError:RADIO_NOT_AVAILABLE - */ - void setSignalStrengthReportingCriteriaResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:SIM_ERR (indicates a timeout or other issue making the SIM unresponsive) - */ - void setSimCardPowerResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:INVALID_SMS_FORMAT - * RadioError:NO_MEMORY - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_RATE_LIMITED - * RadioError:MODEM_ERR - * RadioError:NO_RESOURCES - * RadioError:INTERNAL_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:SIM_ABSENT - */ - void setSmscAddressResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:SIM_BUSY - * RadioError:NO_MEMORY - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:SIM_ABSENT - */ - void setSuppServiceNotificationsResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:INVALID_ARGUMENTS - */ - void setSystemSelectionChannelsResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void setTTYModeResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SUBSCRIPTION_NOT_SUPPORTED - * RadioError:NO_MEMORY - * RadioError:INTERNAL_ERR - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:INVALID_ARGUMENTS - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void setUiccSubscriptionResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param dcResponse SetupDataCallResult defined in types.hal - * - * Valid errors returned: - * RadioError:NONE must be returned on both success and failure of setup with the - * DataCallResponse.status containing the actual status - * For all other errors the DataCallResponse is ignored. - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:OP_NOT_ALLOWED_BEFORE_REG_TO_NW - * RadioError:OP_NOT_ALLOWED_DURING_VOICE_CALL - * RadioError:INVALID_ARGUMENTS - * RadioError:INTERNAL_ERR - * RadioError:NO_RESOURCES if the vendor is unable handle due to resources are full. - * RadioError:SIM_ABSENT - */ - void setupDataCallResponse(in RadioResponseInfo info, in SetupDataCallResult dcResponse); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_RESOURCES - * RadioError:NO_MEMORY - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:INVALID_CALL_ID - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:CANCELLED - * RadioError:INVALID_MODEM_STATE - */ - void startDtmfResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INTERNAL_ERR - * RadioError:NO_RESOURCES - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_CALL_ID - */ - void startHandoverResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param status Status object containing a new handle and a current status. The status returned - * here may be PENDING to indicate that the radio has not yet processed the keepalive - * request. - * - * Valid errors returned: - * RadioError:NONE - * RadioError:NO_RESOURCES - * RadioError:INVALID_ARGUMENTS - */ - void startKeepaliveResponse(in RadioResponseInfo info, in KeepaliveStatus status); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param statusInfo LceStatusInfo indicating LCE status - * - * Valid errors returned: - * RadioError:REQUEST_NOT_SUPPORTED may be returned when HAL 1.2 or higher is supported. - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:LCE_NOT_SUPPORTED - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void startLceServiceResponse(in RadioResponseInfo info, in LceStatusInfo statusInfo); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:DEVICE_IN_USE - * RadioError:INTERNAL_ERR - * RadioError:MODEM_ERR - * RadioError:INVALID_ARGUMENTS - */ - void startNetworkScanResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:NO_RESOURCES - * RadioError:NO_MEMORY - * RadioError:INVALID_ARGUMENTS - * RadioError:SYSTEM_ERR - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:INVALID_CALL_ID - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:CANCELLED - * RadioError:INVALID_MODEM_STATE - */ - void stopDtmfResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:INVALID_ARGUMENTS - */ - void stopKeepaliveResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param statusInfo LceStatusInfo indicating LCE status - * - * Valid errors returned: - * RadioError:REQUEST_NOT_SUPPORTED may be returned when HAL 1.2 or higher is supported. - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:LCE_NOT_SUPPORTED - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:SIM_ABSENT - */ - void stopLceServiceResponse(in RadioResponseInfo info, in LceStatusInfo statusInfo); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:INTERNAL_ERR - * RadioError:MODEM_ERR - */ - void stopNetworkScanResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown. - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE (radio resetting) - * RadioError:PASSWORD_INCORRECT - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:INVALID_ARGUMENTS - * RadioError:INVALID_SIM_STATE - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:SIM_PUK2 - */ - void supplyIccPin2ForAppResponse(in RadioResponseInfo info, in int remainingRetries); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown. - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE (radio resetting) - * RadioError:PASSWORD_INCORRECT - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:INVALID_ARGUMENTS - * RadioError:INVALID_SIM_STATE - * RadioError:REQUEST_NOT_SUPPORTED - */ - void supplyIccPinForAppResponse(in RadioResponseInfo info, in int remainingRetries); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown. - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE (radio resetting) - * RadioError:PASSWORD_INCORRECT (PUK is invalid) - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:INVALID_ARGUMENTS - * RadioError:INVALID_SIM_STATE - * RadioError:REQUEST_NOT_SUPPORTED - */ - void supplyIccPuk2ForAppResponse(in RadioResponseInfo info, in int remainingRetries); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown. - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE (radio resetting) - * RadioError:PASSWORD_INCORRECT (PUK is invalid) - * RadioError:INTERNAL_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:INVALID_ARGUMENTS - * RadioError:INVALID_SIM_STATE - * RadioError:REQUEST_NOT_SUPPORTED - */ - void supplyIccPukForAppResponse(in RadioResponseInfo info, in int remainingRetries); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown. - * - * 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:CANCELLED - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:SIM_ABSENT - */ - void supplyNetworkDepersonalizationResponse(in RadioResponseInfo info, in int remainingRetries); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param persoType SIM Personalisation type - * @param remainingRetries postiive values indicates number of retries remaining, must be equal - * to -1 if number of retries is 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 - */ - void supplySimDepersonalizationResponse( - in RadioResponseInfo info, in PersoSubstate persoType, in int remainingRetries); - - /** - * @param info Response info struct containing response type, serial no. and error - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE (radio resetting) - * RadioError:INVALID_STATE - * RadioError:NO_MEMORY - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:INVALID_STATE - * RadioError:INVALID_CALL_ID - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:INVALID_ARGUMENTS - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_MODEM_STATE - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - */ - void switchWaitingOrHoldingAndActiveResponse(in RadioResponseInfo info); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param updatedRecordIndex The index of the updated or inserted record in the phonebook and - * the minimum value is 1 - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:INVALID_ARGUMENTS - * RadioError:INVALID_SIM_STATE - * RadioError:MODEM_ERR - * RadioError:INTERNAL_ERR - * RadioError:SIM_ERR - * RadioError:NO_SUCH_ENTRY - * RadioError:NO_RESOURCES - * REQUEST_NOT_SUPPORTED may only be returned on devices that don't support this API, - * indicated by the HAL capability CAPABILITY_SIM_PHONEBOOK_IN_MODEM. - */ - void updateSimPhonebookRecordsResponse(in RadioResponseInfo info, in int updatedRecordIndex); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param index record index where the cmda sms message is stored - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:INVALID_ARGUMENTS - * RadioError:INVALID_SMS_FORMAT - * RadioError:SIM_FULL - * RadioError:INTERNAL_ERR - * RadioError:MODEM_ERR - * RadioError:ENCODING_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:INVALID_MODEM_STATE - * RadioError:INVALID_SMSC_ADDRESS - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:NO_RESOURCES - * RadioError:CANCELLED - * RadioError:INVALID_MODEM_STATE - * RadioError:SIM_ABSENT - */ - void writeSmsToRuimResponse(in RadioResponseInfo info, in int index); - - /** - * @param info Response info struct containing response type, serial no. and error - * @param index record index where the message is stored - * - * Valid errors returned: - * RadioError:NONE - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SIM_FULL - * RadioError:INVALID_ARGUMENTS - * RadioError:INVALID_SMS_FORMAT - * RadioError:INTERNAL_ERR - * RadioError:MODEM_ERR - * RadioError:ENCODING_ERR - * RadioError:NO_MEMORY - * RadioError:NO_RESOURCES - * RadioError:INVALID_MODEM_STATE - * RadioError:OPERATION_NOT_ALLOWED - * RadioError:INVALID_SMSC_ADDRESS - * RadioError:RADIO_NOT_AVAILABLE - * RadioError:SYSTEM_ERR - * RadioError:REQUEST_NOT_SUPPORTED - * RadioError:CANCELLED - * RadioError:INVALID_MODEM_STATE - * RadioError:SIM_ABSENT - */ - void writeSmsToSimResponse(in RadioResponseInfo info, in int index); -} diff --git a/radio/aidl/android/hardware/radio/LceStatusInfo.aidl b/radio/aidl/android/hardware/radio/LceStatusInfo.aidl deleted file mode 100644 index d663d38597..0000000000 --- a/radio/aidl/android/hardware/radio/LceStatusInfo.aidl +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (C) 2021 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.hardware.radio; - -@VintfStability -parcelable LceStatusInfo { - const int LCE_STATUS_NOT_SUPPORTED = 0; - const int LCE_STATUS_STOPPED = 1; - const int LCE_STATUS_ACTIVE = 2; - - /** - * Values are LCE_STATUS_ - */ - int lceStatus; - /** - * Actual LCE reporting interval, meaningful only if LceStatus = ACTIVE. - */ - byte actualIntervalMs; -} diff --git a/radio/aidl/android/hardware/radio/PreferredNetworkType.aidl b/radio/aidl/android/hardware/radio/PreferredNetworkType.aidl deleted file mode 100644 index 7ca38c6a79..0000000000 --- a/radio/aidl/android/hardware/radio/PreferredNetworkType.aidl +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright (C) 2021 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.hardware.radio; - -@VintfStability -@Backing(type="int") -enum PreferredNetworkType { - /** - * GSM/WCDMA (WCDMA preferred) - */ - GSM_WCDMA, - /** - * GSM only - */ - GSM_ONLY, - /** - * WCDMA - */ - WCDMA, - /** - * GSM/WCDMA (auto mode, according to PRL) - */ - GSM_WCDMA_AUTO, - /** - * CDMA and EvDo (auto mode, according to PRL) - */ - CDMA_EVDO_AUTO, - /** - * CDMA only - */ - CDMA_ONLY, - /** - * EvDo only - */ - EVDO_ONLY, - /** - * GSM/WCDMA, CDMA, and EvDo (auto mode, according to PRL) - */ - GSM_WCDMA_CDMA_EVDO_AUTO, - /** - * LTE, CDMA and EvDo - */ - LTE_CDMA_EVDO, - /** - * LTE, GSM/WCDMA - */ - LTE_GSM_WCDMA, - /** - * LTE, CDMA, EvDo, GSM/WCDMA - */ - LTE_CMDA_EVDO_GSM_WCDMA, - /** - * LTE only - */ - LTE_ONLY, - /** - * LTE/WCDMA only - */ - LTE_WCDMA, - /** - * TD-SCDMA only - */ - TD_SCDMA_ONLY, - /** - * TD-SCDMA and WCDMA - */ - TD_SCDMA_WCDMA, - /** - * TD-SCDMA and LTE - */ - TD_SCDMA_LTE, - /** - * TD-SCDMA and GSM - */ - TD_SCDMA_GSM, - /** - * TD-SCDMA,GSM and LTE - */ - TD_SCDMA_GSM_LTE, - /** - * TD-SCDMA, GSM/WCDMA - */ - TD_SCDMA_GSM_WCDMA, - /** - * TD-SCDMA, WCDMA and LTE - */ - TD_SCDMA_WCDMA_LTE, - /** - * TD-SCDMA, GSM/WCDMA and LTE - */ - TD_SCDMA_GSM_WCDMA_LTE, - /** - * TD-SCDMA, GSM/WCDMA, CDMA and EvDo - */ - TD_SCDMA_GSM_WCDMA_CDMA_EVDO_AUTO, - /** - * TD-SCDMA, LTE, CDMA, EvDo GSM/WCDMA - */ - TD_SCDMA_LTE_CDMA_EVDO_GSM_WCDMA, -} diff --git a/radio/aidl/android/hardware/radio/RadioAccessNetworks.aidl b/radio/aidl/android/hardware/radio/RadioAccessNetworks.aidl deleted file mode 100644 index 3757233f24..0000000000 --- a/radio/aidl/android/hardware/radio/RadioAccessNetworks.aidl +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (C) 2021 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.hardware.radio; - -@VintfStability -@Backing(type="int") -enum RadioAccessNetworks { - UNKNOWN, - /** - * GSM EDGE Radio Access Network - */ - GERAN, - /** - * Universal Terrestrial Radio Access Network - */ - UTRAN, - /** - * Evolved Universal Terrestrial Radio Access Network - */ - EUTRAN, - /** - * Next Generation Radio Access Network - */ - NGRAN, - /** - * CDMA 2000 Network - */ - CDMA2000, -} diff --git a/radio/aidl/android/hardware/radio/RadioFrequencyInfo.aidl b/radio/aidl/android/hardware/radio/RadioFrequencyInfo.aidl deleted file mode 100644 index 140d65af46..0000000000 --- a/radio/aidl/android/hardware/radio/RadioFrequencyInfo.aidl +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (C) 2021 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.hardware.radio; - -@VintfStability -union RadioFrequencyInfo { - /** - * Indicates the frequency range is below 1GHz. - */ - const int FREQUENCY_RANGE_LOW = 1; - /** - * Indicates the frequency range is between 1GHz and 3GHz. - */ - const int FREQUENCY_RANGE_MID = 2; - /** - * Indicates the frequency range is between 3GHz and 6GHz. - */ - const int FREQUENCY_RANGE_HIGH = 3; - /** - * Indicates the frequency range is above 6GHz (millimeter wave frequency). - */ - const int FREQUENCY_RANGE_MMWAVE = 4; - - boolean noinit; - /** - * A rough frequency range. - * Values are FREQUENCY_RANGE_ - */ - int range; - /** - * The Absolute Radio Frequency Channel Number. - */ - int channelNumber; -} diff --git a/radio/aidl/android/hardware/radio/VoiceRegStateResult.aidl b/radio/aidl/android/hardware/radio/VoiceRegStateResult.aidl deleted file mode 100644 index 897c663621..0000000000 --- a/radio/aidl/android/hardware/radio/VoiceRegStateResult.aidl +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright (C) 2021 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.hardware.radio; - -import android.hardware.radio.CellIdentity; -import android.hardware.radio.RegState; - -@VintfStability -parcelable VoiceRegStateResult { - /** - * Valid reg states are NOT_REG_MT_NOT_SEARCHING_OP, REG_HOME, NOT_REG_MT_SEARCHING_OP, - * REG_DENIED, UNKNOWN, REG_ROAMING defined in RegState. - */ - RegState regState; - /** - * Indicates the available voice radio technology, valid values as defined by RadioTechnology. - */ - int rat; - /** - * Concurrent services support indicator, if registered on a CDMA system. - * false - Concurrent services not supported, - * true - Concurrent services supported - */ - boolean cssSupported; - /** - * TSB-58 Roaming Indicator if registered on a CDMA or EVDO system or -1 if not. - * Valid values are 0-255. - */ - int roamingIndicator; - /** - * Indicates whether the current system is in the PRL if registered on a CDMA or EVDO system - * or -1 if not. 0=not in the PRL, 1=in the PRL - */ - int systemIsInPrl; - /** - * Default Roaming Indicator from the PRL if registered on a CDMA or EVDO system or -1 if not. - * Valid values are 0-255. - */ - int defaultRoamingIndicator; - /** - * Reason for denial if registration state is REG_DENIED. This is an enumerated reason why - * registration was denied. See 3GPP TS 24.008, 10.5.3.6 and Annex G. - * 0 - General - * 1 - Authentication Failure - * 2 - IMSI unknown in HLR - * 3 - Illegal MS - * 4 - Illegal ME - * 5 - PLMN not allowed - * 6 - Location area not allowed - * 7 - Roaming not allowed - * 8 - No Suitable Cells in this Location Area - * 9 - Network failure - * 10 - Persistent location update reject - * 11 - PLMN not allowed - * 12 - Location area not allowed - * 13 - Roaming not allowed in this Location Area - * 15 - No Suitable Cells in this Location Area - * 17 - Network Failure - * 20 - MAC Failure - * 21 - Sync Failure - * 22 - Congestion - * 23 - GSM Authentication unacceptable - * 25 - Not Authorized for this CSG - * 32 - Service option not supported - * 33 - Requested service option not subscribed - * 34 - Service option temporarily out of order - * 38 - Call cannot be identified - * 48-63 - Retry upon entry into a new cell - * 95 - Semantically incorrect message - * 96 - Invalid mandatory information - * 97 - Message type non-existent or not implemented - * 98 - Message type not compatible with protocol state - * 99 - Information element non-existent or not implemented - * 100 - Conditional IE error - * 101 - Message not compatible with protocol state - * 111 - Protocol error, unspecified - */ - int reasonForDenial; - CellIdentity cellIdentity; -} diff --git a/radio/aidl/android/hardware/radio/ApnAuthType.aidl b/radio/aidl/android/hardware/radio/data/ApnAuthType.aidl similarity index 96% rename from radio/aidl/android/hardware/radio/ApnAuthType.aidl rename to radio/aidl/android/hardware/radio/data/ApnAuthType.aidl index c836a31476..8209dfec02 100644 --- a/radio/aidl/android/hardware/radio/ApnAuthType.aidl +++ b/radio/aidl/android/hardware/radio/data/ApnAuthType.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; @VintfStability @Backing(type="int") diff --git a/radio/aidl/android/hardware/radio/ApnTypes.aidl b/radio/aidl/android/hardware/radio/data/ApnTypes.aidl similarity index 86% rename from radio/aidl/android/hardware/radio/ApnTypes.aidl rename to radio/aidl/android/hardware/radio/data/ApnTypes.aidl index 340301fd40..e780d8ee6b 100644 --- a/radio/aidl/android/hardware/radio/ApnTypes.aidl +++ b/radio/aidl/android/hardware/radio/data/ApnTypes.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; @VintfStability @Backing(type="int") @@ -64,11 +64,6 @@ enum ApnTypes { * in an emergency call situation. */ EMERGENCY = 1 << 9, - /** - * Due to the addition of values after EMERGENCY (eg. MCX, XCAP), this value is now deprecated - * and should not be used. - */ - ALL = DEFAULT | MMS | SUPL | DUN | HIPRI | FOTA | IMS | CBS | IA | EMERGENCY, /** * APN type for Mission Critical Service * Reference: 3GPP TS 22.280 V15.3.0 diff --git a/radio/aidl/android/hardware/radio/DataCallFailCause.aidl b/radio/aidl/android/hardware/radio/data/DataCallFailCause.aidl similarity index 99% rename from radio/aidl/android/hardware/radio/DataCallFailCause.aidl rename to radio/aidl/android/hardware/radio/data/DataCallFailCause.aidl index 021988b221..89cd8f2626 100644 --- a/radio/aidl/android/hardware/radio/DataCallFailCause.aidl +++ b/radio/aidl/android/hardware/radio/data/DataCallFailCause.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; @VintfStability @Backing(type="int") diff --git a/radio/aidl/android/hardware/radio/DataProfileInfo.aidl b/radio/aidl/android/hardware/radio/data/DataProfileInfo.aidl similarity index 90% rename from radio/aidl/android/hardware/radio/DataProfileInfo.aidl rename to radio/aidl/android/hardware/radio/data/DataProfileInfo.aidl index 2f7bbb19e0..7657fc9dac 100644 --- a/radio/aidl/android/hardware/radio/DataProfileInfo.aidl +++ b/radio/aidl/android/hardware/radio/data/DataProfileInfo.aidl @@ -14,12 +14,12 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; -import android.hardware.radio.ApnAuthType; -import android.hardware.radio.ApnTypes; -import android.hardware.radio.PdpProtocolType; import android.hardware.radio.RadioAccessFamily; +import android.hardware.radio.data.ApnAuthType; +import android.hardware.radio.data.ApnTypes; +import android.hardware.radio.data.PdpProtocolType; @VintfStability parcelable DataProfileInfo { @@ -111,8 +111,8 @@ parcelable DataProfileInfo { */ boolean preferred; /** - * If true, modem must persist this data profile and profileId must not be set to - * DataProfileId.INVALID. If the same data profile exists, this data profile must overwrite it. + * If true, modem must persist this data profile and profileId must not be set to ID_INVALID. + * If the same data profile exists, this data profile must overwrite it. */ boolean persistent; } diff --git a/radio/aidl/android/hardware/radio/DataRequestReason.aidl b/radio/aidl/android/hardware/radio/data/DataRequestReason.aidl similarity index 96% rename from radio/aidl/android/hardware/radio/DataRequestReason.aidl rename to radio/aidl/android/hardware/radio/data/DataRequestReason.aidl index 74afdcb328..2bb5bd69b3 100644 --- a/radio/aidl/android/hardware/radio/DataRequestReason.aidl +++ b/radio/aidl/android/hardware/radio/data/DataRequestReason.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; @VintfStability @Backing(type="int") diff --git a/radio/aidl/android/hardware/radio/DataThrottlingAction.aidl b/radio/aidl/android/hardware/radio/data/DataThrottlingAction.aidl similarity index 96% rename from radio/aidl/android/hardware/radio/DataThrottlingAction.aidl rename to radio/aidl/android/hardware/radio/data/DataThrottlingAction.aidl index 1a49762374..dfa64e2b9d 100644 --- a/radio/aidl/android/hardware/radio/DataThrottlingAction.aidl +++ b/radio/aidl/android/hardware/radio/data/DataThrottlingAction.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; @VintfStability @Backing(type="byte") diff --git a/radio/aidl/android/hardware/radio/EpsQos.aidl b/radio/aidl/android/hardware/radio/data/EpsQos.aidl similarity index 92% rename from radio/aidl/android/hardware/radio/EpsQos.aidl rename to radio/aidl/android/hardware/radio/data/EpsQos.aidl index ee4cbdd6c2..559a153e05 100644 --- a/radio/aidl/android/hardware/radio/EpsQos.aidl +++ b/radio/aidl/android/hardware/radio/data/EpsQos.aidl @@ -14,9 +14,9 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; -import android.hardware.radio.QosBandwidth; +import android.hardware.radio.data.QosBandwidth; /** * LTE/EPS Quality of Service parameters as per 3gpp spec 24.301 sec 9.9.4.3. diff --git a/radio/aidl/android/hardware/radio/data/IRadioData.aidl b/radio/aidl/android/hardware/radio/data/IRadioData.aidl new file mode 100644 index 0000000000..9f5ba4c147 --- /dev/null +++ b/radio/aidl/android/hardware/radio/data/IRadioData.aidl @@ -0,0 +1,281 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.hardware.radio.data; + +import android.hardware.radio.AccessNetwork; +import android.hardware.radio.data.DataProfileInfo; +import android.hardware.radio.data.DataRequestReason; +import android.hardware.radio.data.DataThrottlingAction; +import android.hardware.radio.data.IRadioDataIndication; +import android.hardware.radio.data.IRadioDataResponse; +import android.hardware.radio.data.KeepaliveRequest; +import android.hardware.radio.data.LinkAddress; +import android.hardware.radio.data.SliceInfo; +import android.hardware.radio.data.TrafficDescriptor; + +/** + * This interface is used by telephony and telecom to talk to cellular radio for data APIs. + * All the functions have minimum one parameter: + * serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the + * duration of a method call. If clients provide colliding serials (including passing the same + * serial to different methods), multiple responses (one for each method call) must still be served. + * setResponseFunctions must work with IRadioDataResponse and IRadioDataIndication. + */ +@VintfStability +oneway interface IRadioData { + /** + * Reserves an unallocated pdu session id from the pool of ids. The allocated id is returned + * in the response. When the id is no longer needed, call releasePduSessionId to return it to + * the pool. + * + * Reference: 3GPP TS 24.007 section 11.2.3.1b + * + * @param serial Serial number of request. + * + * Response function is IRadioDataResponse.allocatePduSessionIdResponse() + */ + void allocatePduSessionId(in int serial); + + /** + * Indicates that a handover was cancelled after a call to IRadioData::startHandover. + * Since the handover was unsuccessful, the modem retains ownership over any of the resources + * being transferred and is still responsible for releasing them. + * + * @param serial Serial number of request. + * @param id callId The identifier of the data call which is provided in SetupDataCallResult + * + * Response function is IRadioDataResponse.cancelHandoverResponse() + */ + void cancelHandover(in int serial, in int callId); + + /** + * Deactivate packet data connection and remove from the data call list. An + * unsolDataCallListChanged() must be sent when data connection is deactivated. + * + * @param serial Serial number of request. + * @param cid Data call id. + * @param reason The request reason. Must be normal, handover, or shutdown. + * + * Response function is IRadioDataResponse.deactivateDataCallResponse() + */ + void deactivateDataCall(in int serial, in int cid, in DataRequestReason reason); + + /** + * Returns the data call list. An entry is added when a setupDataCall() is issued and removed + * on a deactivateDataCall(). The list is emptied when setRadioPower() off/on issued or when + * the vendor HAL or modem crashes. + * + * @param serial Serial number of request. + * + * Response function is IRadioDataResponse.getDataCallListResponse() + */ + void getDataCallList(in int serial); + + /** + * Request to get the current slicing configuration including URSP rules and NSSAIs + * (configured, allowed and rejected). URSP stands for UE route selection policy and is defined + * in 3GPP TS 24.526 Section 4.2. An NSSAI is a collection of network slices. Each network slice + * is identified by an S-NSSAI and is represented by the struct SliceInfo. NSSAI and S-NSSAI + * are defined in 3GPP TS 24.501. + * + * @param serial Serial number of request. + * + * Response function is IRadioDataResponse.getSlicingConfigResponse() + */ + void getSlicingConfig(in int serial); + + /** + * Releases a pdu session id that was previously allocated using allocatePduSessionId. + * Reference: 3GPP TS 24.007 section 11.2.3.1b + * + * @param serial Serial number of request. + * @param id Pdu session id to release. + * + * Response function is IRadioDataResponse.releasePduSessionIdResponse() + */ + void releasePduSessionId(in int serial, in int id); + + /** + * When response type received from a radio indication or radio response is + * RadioIndicationType:UNSOLICITED_ACK_EXP or RadioResponseType:SOLICITED_ACK_EXP respectively, + * acknowledge the receipt of those messages by sending responseAcknowledgement(). + */ + void responseAcknowledgement(); + + /** + * Tells the modem whether data calls are allowed or not + * + * @param serial Serial number of request. + * @param allow true to allow data calls, false to disallow data calls + * + * Response function is IRadioDataResponse.setDataAllowedResponse() + */ + void setDataAllowed(in int serial, in boolean allow); + + /** + * Send data profiles of the current carrier to the modem. + * + * @param serial Serial number of request. + * @param profiles Array of DataProfileInfo to set. + * + * Response function is IRadioDataResponse.setDataProfileResponse() + */ + void setDataProfile(in int serial, in DataProfileInfo[] profiles); + + /** + * Control data throttling at modem. + * - DataThrottlingAction:NO_DATA_THROTTLING should clear any existing data throttling within + * the requested completion window. + * - DataThrottlingAction:THROTTLE_SECONDARY_CARRIER: Remove any existing throttling on anchor + * carrier and achieve maximum data throttling on secondary carrier within the requested + * completion window. + * - DataThrottlingAction:THROTTLE_ANCHOR_CARRIER: disable secondary carrier and achieve maximum + * data throttling on anchor carrier by requested completion window. + * - DataThrottlingAction:HOLD: Immediately hold on to current level of throttling. + * + * @param serial Serial number of request. + * @param dataThrottlingAction DataThrottlingAction as defined in types.hal + * @param completionDurationMillis window, in milliseconds, in which the requested throttling + * action has to be achieved. This must be 0 when dataThrottlingAction is + * DataThrottlingAction:HOLD. + * + * Response function is IRadioDataResponse.setDataThrottlingResponse() + */ + void setDataThrottling(in int serial, in DataThrottlingAction dataThrottlingAction, + in long completionDurationMillis); + + /** + * Set an APN to initial attach network. + * + * @param serial Serial number of request. + * @param dataProfileInfo data profile containing APN settings + * + * Response function is IRadioDataResponse.setInitialAttachApnResponse() + */ + void setInitialAttachApn(in int serial, in DataProfileInfo dataProfileInfo); + + /** + * Set response functions for data radio requests and indications. + * + * @param radioDataResponse Object containing response functions + * @param radioDataIndication Object containing radio indications + */ + void setResponseFunctions( + in IRadioDataResponse radioDataResponse, in IRadioDataIndication radioDataIndication); + + /** + * Setup a packet data connection. If DataCallResponse.status returns DataCallFailCause:NONE, + * the data connection must be added to data calls and a unsolDataCallListChanged() must be + * sent. The call remains until removed by subsequent unsolDataCallIstChanged(). It may be lost + * due to many factors, including deactivateDataCall() being issued, the radio powered off, + * reception lost or even transient factors like congestion. This data call list is returned by + * getDataCallList() and dataCallListChanged(). + * The Radio is expected to: + * - Create one data call context. + * - Create and configure a dedicated interface for the context. + * - The interface must be point to point. + * - The interface is configured with one or more addresses and is capable of sending and + * receiving packets. The format is IP address with optional "/" prefix length (The format is + * defined in RFC-4291 section 2.3). For example, "192.0.1.3", "192.0.1.11/16", or + * "2001:db8::1/64". Typically one IPv4 or one IPv6 or one of each. If the prefix length is + * absent, then the addresses are assumed to be point to point with IPv4 with prefix length 32 + * or IPv6 with prefix length 128. + * - Must not modify routing configuration related to this interface; routing management is + * exclusively within the purview of the Android OS. + * - Support simultaneous data call context, with limits defined in the specifications. For LTE, + * the max number of data calls is equal to the max number of EPS bearers that can be active. + * + * @param serial Serial number of request. + * @param accessNetwork The access network to setup the data call. If the data connection cannot + * be established on the specified access network then this should respond with an error. + * @param dataProfileInfo Data profile info. + * @param roamingAllowed Indicates whether or not data roaming is allowed by the user. + * @param reason The request reason. Must be DataRequestReason:NORMAL or + * DataRequestReason:HANDOVER. + * @param addresses If the reason is DataRequestReason:HANDOVER, this indicates the list of link + * addresses of the existing data connection. This parameter must be ignored unless + * reason is DataRequestReason:HANDOVER. + * @param dnses If the reason is DataRequestReason:HANDOVER, this indicates the list of DNS + * addresses of the existing data connection. The format is defined in RFC-4291 section + * 2.2. For example, "192.0.1.3" or "2001:db8::1". This parameter must be ignored unless + * reason is DataRequestReason:HANDOVER. + * @param pduSessionId The pdu session id to be used for this data call. A value of 0 means no + * pdu session id was attached to this call. Reference: 3GPP TS 24.007 section 11.2.3.1b + * @param sliceInfo SliceInfo to be used for the data connection when a handover occurs from + * EPDG to 5G. It is valid only when accessNetwork is AccessNetwork:NGRAN. If the slice + * passed from EPDG is rejected, then the data failure cause must be + * DataCallFailCause:SLICE_REJECTED. + * @param trafficDescriptor TrafficDescriptor for which data connection needs to be established. + * It is used for URSP traffic matching as described in TS 24.526 Section 4.2.2. + * It includes an optional DNN which, if present, must be used for traffic matching -- + * it does not specify the end point to be used for the data call. The end point is + * specified by DataProfileInfo.apn; DataProfileInfo.apn must be used as the end point if + * one is not specified through URSP rules. + * @param matchAllRuleAllowed bool to indicate if using default match-all URSP rule for this + * request is allowed. If false, this request must not use the match-all URSP rule and if + * a non-match-all rule is not found (or if URSP rules are not available) it should + * return failure with cause DataCallFailCause:MATCH_ALL_RULE_NOT_ALLOWED. This is needed + * as some requests need to have a hard failure if the intention cannot be met, for + * example, a zero-rating slice. + * + * Response function is IRadioDataResponse.setupDataCallResponse() + */ + void setupDataCall(in int serial, in AccessNetwork accessNetwork, + in DataProfileInfo dataProfileInfo, in boolean roamingAllowed, + in DataRequestReason reason, in LinkAddress[] addresses, in String[] dnses, + in int pduSessionId, in @nullable SliceInfo sliceInfo, + in @nullable TrafficDescriptor trafficDescriptor, + in boolean matchAllRuleAllowed); + + /** + * Indicates that a handover to the IWLAN transport has begun. Any resources being transferred + * to the IWLAN transport cannot be released while a handover is underway. For example, if a + * pdu session id needs to be transferred to IWLAN, then the modem should not release the id + * while the handover is in progress. If a handover was unsuccessful, then the framework calls + * IRadio::cancelHandover. The modem retains ownership over any of the resources being + * transferred to IWLAN. If a handover was successful, the framework calls + * IRadio::deactivateDataCall with reason HANDOVER. The IWLAN transport now owns the transferred + * resources and is responsible for releasing them. + * + * @param serial Serial number of request. + * @param id callId The identifier of the data call which is provided in SetupDataCallResult + * + * Response function is IRadioDataResponse.startHandoverResponse() + */ + void startHandover(in int serial, in int callId); + + /** + * Start a Keepalive session (for IPsec) + * + * @param serial Serial number of request. + * @param keepalive A request structure containing all necessary info to describe a keepalive + * + * Response function is IRadioDataResponse.startKeepaliveResponse() + */ + void startKeepalive(in int serial, in KeepaliveRequest keepalive); + + /** + * Stop an ongoing Keepalive session (for IPsec) + * + * @param serial Serial number of request. + * @param sessionHandle The handle that was provided by + * IRadioDataResponse.startKeepaliveResponse + * + * Response function is IRadioDataResponse.stopKeepaliveResponse() + */ + void stopKeepalive(in int serial, in int sessionHandle); +} diff --git a/radio/aidl/android/hardware/radio/data/IRadioDataIndication.aidl b/radio/aidl/android/hardware/radio/data/IRadioDataIndication.aidl new file mode 100644 index 0000000000..8e73ee33af --- /dev/null +++ b/radio/aidl/android/hardware/radio/data/IRadioDataIndication.aidl @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.hardware.radio.data; + +import android.hardware.radio.RadioIndicationType; +import android.hardware.radio.data.KeepaliveStatus; +import android.hardware.radio.data.PcoDataInfo; +import android.hardware.radio.data.SetupDataCallResult; + +/** + * Interface declaring unsolicited radio indications for data APIs. + */ +@VintfStability +oneway interface IRadioDataIndication { + /** + * Indicates data call contexts have changed. + * + * @param type Type of radio indication + * @param dcList Array of SetupDataCallResult identical to that returned by + * IRadioData.getDataCallList(). It is the complete list of current data contexts + * including new contexts that have been activated. A data call is only removed from + * this list when any of the below conditions is matched: + * - The framework sends a IRadioData.deactivateDataCall(). + * - The radio is powered off/on. + * - Unsolicited disconnect from either modem or network side. + */ + void dataCallListChanged(in RadioIndicationType type, in SetupDataCallResult[] dcList); + + /** + * Indicates a status update for a particular Keepalive session. This must include a handle for + * a previous session and should include a status update regarding the state of a keepalive. + * Unsolicited keepalive status reports should never be PENDING as unsolicited status should + * only be sent when known. + * + * @param type Type of radio indication + * @param status Status information for a Keepalive session + */ + void keepaliveStatus(in RadioIndicationType type, in KeepaliveStatus status); + + /** + * Indicates when there is new Carrier PCO data received for a data call. Ideally only new data + * must be forwarded, though this is not required. Multiple boxes of carrier PCO data for a + * given call must result in a series of pcoData() calls. + * + * @param type Type of radio indication + * @param pco New PcoData + */ + void pcoData(in RadioIndicationType type, in PcoDataInfo pco); + + /** + * The modem can explicitly set SetupDataCallResult::suggestedRetryTime after a failure in + * IRadioData.SetupDataCall. During that time, no new calls are allowed to + * IRadioData.SetupDataCall that use the same APN. When IRadioDataIndication.unthrottleApn + * is sent, AOSP will no longer throttle calls to IRadioData.SetupDataCall for the given APN. + * + * @param type Type of radio indication + * @param apn Apn to unthrottle + */ + void unthrottleApn(in RadioIndicationType type, in String apn); +} diff --git a/radio/aidl/android/hardware/radio/data/IRadioDataResponse.aidl b/radio/aidl/android/hardware/radio/data/IRadioDataResponse.aidl new file mode 100644 index 0000000000..bbc8d07b0a --- /dev/null +++ b/radio/aidl/android/hardware/radio/data/IRadioDataResponse.aidl @@ -0,0 +1,237 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.hardware.radio.data; + +import android.hardware.radio.RadioResponseInfo; +import android.hardware.radio.data.KeepaliveStatus; +import android.hardware.radio.data.SetupDataCallResult; +import android.hardware.radio.data.SlicingConfig; + +/** + * Interface declaring response functions to solicited radio requests for data APIs. + */ +@VintfStability +oneway interface IRadioDataResponse { + /** + * Acknowledge the receipt of radio request sent to the vendor. This must be sent only for + * radio request which take long time to respond. For more details, refer + * https://source.android.com/devices/tech/connect/ril.html + * + * @param serial Serial no. of the request whose acknowledgement is sent. + */ + void acknowledgeRequest(in int serial); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param id The allocated id. On an error, this is set to 0. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_RESOURCES- Indicates that no pdu session ids are available + * RadioError:REQUEST_NOT_SUPPORTED + */ + void allocatePduSessionIdResponse(in RadioResponseInfo info, in int id); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param dcResponse Attributes of data call + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_RESOURCES + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_CALL_ID + */ + void cancelHandoverResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:REQUEST_NOT_SUPPORTED may be returned when HAL 1.2 or higher is supported. + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_CALL_ID + * RadioError:INVALID_STATE + * RadioError:INVALID_ARGUMENTS + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + */ + void deactivateDataCallResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param dcResponse List of SetupDataCallResult + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:SIM_ABSENT + */ + void getDataCallListResponse(in RadioResponseInfo info, in SetupDataCallResult[] dcResponse); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param slicingConfig Current slicing configuration + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:MODEM_ERR + */ + void getSlicingConfigResponse(in RadioResponseInfo info, in SlicingConfig slicingConfig); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_RESOURCES + * RadioError:REQUEST_NOT_SUPPORTED + */ + void releasePduSessionIdResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:DEVICE_IN_USE + * RadioError:INVALID_MODEM_STATE + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + */ + void setDataAllowedResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SUBSCRIPTION_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:SIM_ABSENT + */ + void setDataProfileResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:MODEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:REQUEST_NOT_SUPPORTED + */ + void setDataThrottlingResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SUBSCRIPTION_NOT_AVAILABLE + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:NOT_PROVISIONED + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + void setInitialAttachApnResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param dcResponse SetupDataCallResult + * + * Valid errors returned: + * RadioError:NONE must be returned on both success and failure of setup with the + * DataCallResponse.status containing the actual status + * For all other errors the DataCallResponse is ignored. + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:OP_NOT_ALLOWED_BEFORE_REG_TO_NW + * RadioError:OP_NOT_ALLOWED_DURING_VOICE_CALL + * RadioError:INVALID_ARGUMENTS + * RadioError:INTERNAL_ERR + * RadioError:NO_RESOURCES if the vendor is unable handle due to resources are full. + * RadioError:SIM_ABSENT + */ + void setupDataCallResponse(in RadioResponseInfo info, in SetupDataCallResult dcResponse); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_RESOURCES + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_CALL_ID + */ + void startHandoverResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param status Status object containing a new handle and a current status. The status returned + * here may be PENDING to indicate that the radio has not yet processed the keepalive + * request. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:NO_RESOURCES + * RadioError:INVALID_ARGUMENTS + */ + void startKeepaliveResponse(in RadioResponseInfo info, in KeepaliveStatus status); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:INVALID_ARGUMENTS + */ + void stopKeepaliveResponse(in RadioResponseInfo info); +} diff --git a/radio/aidl/android/hardware/radio/KeepaliveRequest.aidl b/radio/aidl/android/hardware/radio/data/KeepaliveRequest.aidl similarity index 97% rename from radio/aidl/android/hardware/radio/KeepaliveRequest.aidl rename to radio/aidl/android/hardware/radio/data/KeepaliveRequest.aidl index 1433b96397..57c9f68414 100644 --- a/radio/aidl/android/hardware/radio/KeepaliveRequest.aidl +++ b/radio/aidl/android/hardware/radio/data/KeepaliveRequest.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; @VintfStability parcelable KeepaliveRequest { diff --git a/radio/aidl/android/hardware/radio/KeepaliveStatus.aidl b/radio/aidl/android/hardware/radio/data/KeepaliveStatus.aidl similarity index 97% rename from radio/aidl/android/hardware/radio/KeepaliveStatus.aidl rename to radio/aidl/android/hardware/radio/data/KeepaliveStatus.aidl index 0cf6767929..2df280c1ef 100644 --- a/radio/aidl/android/hardware/radio/KeepaliveStatus.aidl +++ b/radio/aidl/android/hardware/radio/data/KeepaliveStatus.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; @VintfStability parcelable KeepaliveStatus { diff --git a/radio/aidl/android/hardware/radio/LinkAddress.aidl b/radio/aidl/android/hardware/radio/data/LinkAddress.aidl similarity index 98% rename from radio/aidl/android/hardware/radio/LinkAddress.aidl rename to radio/aidl/android/hardware/radio/data/LinkAddress.aidl index 0c18e271cc..599d382ddf 100644 --- a/radio/aidl/android/hardware/radio/LinkAddress.aidl +++ b/radio/aidl/android/hardware/radio/data/LinkAddress.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; /** * Describes a data link address for mobile data connection. diff --git a/radio/aidl/android/hardware/radio/NrQos.aidl b/radio/aidl/android/hardware/radio/data/NrQos.aidl similarity index 93% rename from radio/aidl/android/hardware/radio/NrQos.aidl rename to radio/aidl/android/hardware/radio/data/NrQos.aidl index d791eefe80..1d69b4fc53 100644 --- a/radio/aidl/android/hardware/radio/NrQos.aidl +++ b/radio/aidl/android/hardware/radio/data/NrQos.aidl @@ -14,9 +14,9 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; -import android.hardware.radio.QosBandwidth; +import android.hardware.radio.data.QosBandwidth; /** * 5G Quality of Service parameters as per 3gpp spec 24.501 sec 9.11.4.12 diff --git a/radio/aidl/android/hardware/radio/OsAppId.aidl b/radio/aidl/android/hardware/radio/data/OsAppId.aidl similarity index 96% rename from radio/aidl/android/hardware/radio/OsAppId.aidl rename to radio/aidl/android/hardware/radio/data/OsAppId.aidl index 57dfc80168..0bf6d7eb53 100644 --- a/radio/aidl/android/hardware/radio/OsAppId.aidl +++ b/radio/aidl/android/hardware/radio/data/OsAppId.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; /** * This struct represents the OsId + OsAppId as defined in TS 24.526 Section 5.2 diff --git a/radio/aidl/android/hardware/radio/PcoDataInfo.aidl b/radio/aidl/android/hardware/radio/data/PcoDataInfo.aidl similarity index 97% rename from radio/aidl/android/hardware/radio/PcoDataInfo.aidl rename to radio/aidl/android/hardware/radio/data/PcoDataInfo.aidl index 7b600e6622..958761436f 100644 --- a/radio/aidl/android/hardware/radio/PcoDataInfo.aidl +++ b/radio/aidl/android/hardware/radio/data/PcoDataInfo.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; @VintfStability parcelable PcoDataInfo { diff --git a/radio/aidl/android/hardware/radio/PdpProtocolType.aidl b/radio/aidl/android/hardware/radio/data/PdpProtocolType.aidl similarity index 97% rename from radio/aidl/android/hardware/radio/PdpProtocolType.aidl rename to radio/aidl/android/hardware/radio/data/PdpProtocolType.aidl index e74b1e3da2..9b1136c128 100644 --- a/radio/aidl/android/hardware/radio/PdpProtocolType.aidl +++ b/radio/aidl/android/hardware/radio/data/PdpProtocolType.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; /** * Specifies the type of packet data protocol which is defined in TS 27.007 section 10.1.1. diff --git a/radio/aidl/android/hardware/radio/PortRange.aidl b/radio/aidl/android/hardware/radio/data/PortRange.aidl similarity index 96% rename from radio/aidl/android/hardware/radio/PortRange.aidl rename to radio/aidl/android/hardware/radio/data/PortRange.aidl index 2b67e0eb2a..b1f88e60e1 100644 --- a/radio/aidl/android/hardware/radio/PortRange.aidl +++ b/radio/aidl/android/hardware/radio/data/PortRange.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; /** * Defines range of ports. start and end are the first and last port numbers (inclusive) in the diff --git a/radio/aidl/android/hardware/radio/Qos.aidl b/radio/aidl/android/hardware/radio/data/Qos.aidl similarity index 85% rename from radio/aidl/android/hardware/radio/Qos.aidl rename to radio/aidl/android/hardware/radio/data/Qos.aidl index 0f84ad1406..3d458de5dc 100644 --- a/radio/aidl/android/hardware/radio/Qos.aidl +++ b/radio/aidl/android/hardware/radio/data/Qos.aidl @@ -14,10 +14,10 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; -import android.hardware.radio.EpsQos; -import android.hardware.radio.NrQos; +import android.hardware.radio.data.EpsQos; +import android.hardware.radio.data.NrQos; /** * EPS or NR QOS parameters diff --git a/radio/aidl/android/hardware/radio/QosBandwidth.aidl b/radio/aidl/android/hardware/radio/data/QosBandwidth.aidl similarity index 95% rename from radio/aidl/android/hardware/radio/QosBandwidth.aidl rename to radio/aidl/android/hardware/radio/data/QosBandwidth.aidl index 344b796ed9..a21003af2d 100644 --- a/radio/aidl/android/hardware/radio/QosBandwidth.aidl +++ b/radio/aidl/android/hardware/radio/data/QosBandwidth.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; @VintfStability parcelable QosBandwidth { diff --git a/radio/aidl/android/hardware/radio/QosFilter.aidl b/radio/aidl/android/hardware/radio/data/QosFilter.aidl similarity index 90% rename from radio/aidl/android/hardware/radio/QosFilter.aidl rename to radio/aidl/android/hardware/radio/data/QosFilter.aidl index 8b126490b2..626f2b4614 100644 --- a/radio/aidl/android/hardware/radio/QosFilter.aidl +++ b/radio/aidl/android/hardware/radio/data/QosFilter.aidl @@ -14,12 +14,12 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; -import android.hardware.radio.PortRange; -import android.hardware.radio.QosFilterIpsecSpi; -import android.hardware.radio.QosFilterIpv6FlowLabel; -import android.hardware.radio.QosFilterTypeOfService; +import android.hardware.radio.data.PortRange; +import android.hardware.radio.data.QosFilterIpsecSpi; +import android.hardware.radio.data.QosFilterIpv6FlowLabel; +import android.hardware.radio.data.QosFilterTypeOfService; /** * See 3gpp 24.008 10.5.6.12 and 3gpp 24.501 9.11.4.13 diff --git a/radio/aidl/android/hardware/radio/QosFilterIpsecSpi.aidl b/radio/aidl/android/hardware/radio/data/QosFilterIpsecSpi.aidl similarity index 94% rename from radio/aidl/android/hardware/radio/QosFilterIpsecSpi.aidl rename to radio/aidl/android/hardware/radio/data/QosFilterIpsecSpi.aidl index e213402bc1..fd7efb1c75 100644 --- a/radio/aidl/android/hardware/radio/QosFilterIpsecSpi.aidl +++ b/radio/aidl/android/hardware/radio/data/QosFilterIpsecSpi.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; @VintfStability union QosFilterIpsecSpi { diff --git a/radio/aidl/android/hardware/radio/QosFilterIpv6FlowLabel.aidl b/radio/aidl/android/hardware/radio/data/QosFilterIpv6FlowLabel.aidl similarity index 95% rename from radio/aidl/android/hardware/radio/QosFilterIpv6FlowLabel.aidl rename to radio/aidl/android/hardware/radio/data/QosFilterIpv6FlowLabel.aidl index d5c5a6c830..d6ce84b353 100644 --- a/radio/aidl/android/hardware/radio/QosFilterIpv6FlowLabel.aidl +++ b/radio/aidl/android/hardware/radio/data/QosFilterIpv6FlowLabel.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; @VintfStability union QosFilterIpv6FlowLabel { diff --git a/radio/aidl/android/hardware/radio/QosFilterTypeOfService.aidl b/radio/aidl/android/hardware/radio/data/QosFilterTypeOfService.aidl similarity index 95% rename from radio/aidl/android/hardware/radio/QosFilterTypeOfService.aidl rename to radio/aidl/android/hardware/radio/data/QosFilterTypeOfService.aidl index b91323cb43..c50c5b6f20 100644 --- a/radio/aidl/android/hardware/radio/QosFilterTypeOfService.aidl +++ b/radio/aidl/android/hardware/radio/data/QosFilterTypeOfService.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; @VintfStability union QosFilterTypeOfService { diff --git a/radio/aidl/android/hardware/radio/QosSession.aidl b/radio/aidl/android/hardware/radio/data/QosSession.aidl similarity index 88% rename from radio/aidl/android/hardware/radio/QosSession.aidl rename to radio/aidl/android/hardware/radio/data/QosSession.aidl index 2620ac5af1..389c3491e5 100644 --- a/radio/aidl/android/hardware/radio/QosSession.aidl +++ b/radio/aidl/android/hardware/radio/data/QosSession.aidl @@ -14,10 +14,10 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; -import android.hardware.radio.Qos; -import android.hardware.radio.QosFilter; +import android.hardware.radio.data.Qos; +import android.hardware.radio.data.QosFilter; /** * QOS session associated with a dedicated bearer diff --git a/radio/aidl/android/hardware/radio/RouteSelectionDescriptor.aidl b/radio/aidl/android/hardware/radio/data/RouteSelectionDescriptor.aidl similarity index 92% rename from radio/aidl/android/hardware/radio/RouteSelectionDescriptor.aidl rename to radio/aidl/android/hardware/radio/data/RouteSelectionDescriptor.aidl index a1b482bcdd..d9d602e5df 100644 --- a/radio/aidl/android/hardware/radio/RouteSelectionDescriptor.aidl +++ b/radio/aidl/android/hardware/radio/data/RouteSelectionDescriptor.aidl @@ -14,10 +14,10 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; -import android.hardware.radio.PdpProtocolType; -import android.hardware.radio.SliceInfo; +import android.hardware.radio.data.PdpProtocolType; +import android.hardware.radio.data.SliceInfo; /** * This struct represents a single route selection descriptor as defined in 3GPP TS 24.526. diff --git a/radio/aidl/android/hardware/radio/SetupDataCallResult.aidl b/radio/aidl/android/hardware/radio/data/SetupDataCallResult.aidl similarity index 90% rename from radio/aidl/android/hardware/radio/SetupDataCallResult.aidl rename to radio/aidl/android/hardware/radio/data/SetupDataCallResult.aidl index 0fae8b0d83..ebfc55d260 100644 --- a/radio/aidl/android/hardware/radio/SetupDataCallResult.aidl +++ b/radio/aidl/android/hardware/radio/data/SetupDataCallResult.aidl @@ -14,15 +14,15 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; -import android.hardware.radio.DataCallFailCause; -import android.hardware.radio.LinkAddress; -import android.hardware.radio.PdpProtocolType; -import android.hardware.radio.Qos; -import android.hardware.radio.QosSession; -import android.hardware.radio.SliceInfo; -import android.hardware.radio.TrafficDescriptor; +import android.hardware.radio.data.DataCallFailCause; +import android.hardware.radio.data.LinkAddress; +import android.hardware.radio.data.PdpProtocolType; +import android.hardware.radio.data.Qos; +import android.hardware.radio.data.QosSession; +import android.hardware.radio.data.SliceInfo; +import android.hardware.radio.data.TrafficDescriptor; @VintfStability parcelable SetupDataCallResult { @@ -68,8 +68,8 @@ parcelable SetupDataCallResult { * retry back-off time in milliseconds. Negative value indicates network does not give any * suggestion. 0 indicates retry should be performed immediately. 0x7fffffffffffffff indicates * the device should not retry data setup anymore. During this time, no calls to - * IRadio.setupDataCall for this APN will be made unless IRadioIndication.unthrottleApn is sent - * with the same APN. + * IRadioData.setupDataCall for this APN will be made unless IRadioDataIndication.unthrottleApn + * is sent with the same APN. */ long suggestedRetryTime; /** diff --git a/radio/aidl/android/hardware/radio/SliceInfo.aidl b/radio/aidl/android/hardware/radio/data/SliceInfo.aidl similarity index 98% rename from radio/aidl/android/hardware/radio/SliceInfo.aidl rename to radio/aidl/android/hardware/radio/data/SliceInfo.aidl index e5b435461d..dd315e8bf5 100644 --- a/radio/aidl/android/hardware/radio/SliceInfo.aidl +++ b/radio/aidl/android/hardware/radio/data/SliceInfo.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; /** * This struct represents a S-NSSAI as defined in 3GPP TS 24.501. diff --git a/radio/aidl/android/hardware/radio/SlicingConfig.aidl b/radio/aidl/android/hardware/radio/data/SlicingConfig.aidl similarity index 88% rename from radio/aidl/android/hardware/radio/SlicingConfig.aidl rename to radio/aidl/android/hardware/radio/data/SlicingConfig.aidl index d8d0885142..eea2d4982f 100644 --- a/radio/aidl/android/hardware/radio/SlicingConfig.aidl +++ b/radio/aidl/android/hardware/radio/data/SlicingConfig.aidl @@ -14,10 +14,10 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; -import android.hardware.radio.SliceInfo; -import android.hardware.radio.UrspRule; +import android.hardware.radio.data.SliceInfo; +import android.hardware.radio.data.UrspRule; /** * This struct represents the current slicing configuration. diff --git a/radio/aidl/android/hardware/radio/TrafficDescriptor.aidl b/radio/aidl/android/hardware/radio/data/TrafficDescriptor.aidl similarity index 93% rename from radio/aidl/android/hardware/radio/TrafficDescriptor.aidl rename to radio/aidl/android/hardware/radio/data/TrafficDescriptor.aidl index 2580a4c069..e6ea27c749 100644 --- a/radio/aidl/android/hardware/radio/TrafficDescriptor.aidl +++ b/radio/aidl/android/hardware/radio/data/TrafficDescriptor.aidl @@ -14,9 +14,9 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; -import android.hardware.radio.OsAppId; +import android.hardware.radio.data.OsAppId; /** * This struct represents a traffic descriptor. A valid struct must have at least one of the diff --git a/radio/aidl/android/hardware/radio/UrspRule.aidl b/radio/aidl/android/hardware/radio/data/UrspRule.aidl similarity index 88% rename from radio/aidl/android/hardware/radio/UrspRule.aidl rename to radio/aidl/android/hardware/radio/data/UrspRule.aidl index 67d797a1bb..de85be5662 100644 --- a/radio/aidl/android/hardware/radio/UrspRule.aidl +++ b/radio/aidl/android/hardware/radio/data/UrspRule.aidl @@ -14,10 +14,10 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.data; -import android.hardware.radio.RouteSelectionDescriptor; -import android.hardware.radio.TrafficDescriptor; +import android.hardware.radio.data.RouteSelectionDescriptor; +import android.hardware.radio.data.TrafficDescriptor; /** * This struct represents a single URSP rule as defined in 3GPP TS 24.526. diff --git a/radio/aidl/android/hardware/radio/CdmaBroadcastSmsConfigInfo.aidl b/radio/aidl/android/hardware/radio/messaging/CdmaBroadcastSmsConfigInfo.aidl similarity index 96% rename from radio/aidl/android/hardware/radio/CdmaBroadcastSmsConfigInfo.aidl rename to radio/aidl/android/hardware/radio/messaging/CdmaBroadcastSmsConfigInfo.aidl index 46f634558c..3d715e2934 100644 --- a/radio/aidl/android/hardware/radio/CdmaBroadcastSmsConfigInfo.aidl +++ b/radio/aidl/android/hardware/radio/messaging/CdmaBroadcastSmsConfigInfo.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.messaging; @VintfStability parcelable CdmaBroadcastSmsConfigInfo { diff --git a/radio/aidl/android/hardware/radio/CdmaSmsAck.aidl b/radio/aidl/android/hardware/radio/messaging/CdmaSmsAck.aidl similarity index 95% rename from radio/aidl/android/hardware/radio/CdmaSmsAck.aidl rename to radio/aidl/android/hardware/radio/messaging/CdmaSmsAck.aidl index b1e85ff2ed..25871c8bb1 100644 --- a/radio/aidl/android/hardware/radio/CdmaSmsAck.aidl +++ b/radio/aidl/android/hardware/radio/messaging/CdmaSmsAck.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.messaging; @VintfStability parcelable CdmaSmsAck { diff --git a/radio/aidl/android/hardware/radio/CdmaSmsAddress.aidl b/radio/aidl/android/hardware/radio/messaging/CdmaSmsAddress.aidl similarity index 98% rename from radio/aidl/android/hardware/radio/CdmaSmsAddress.aidl rename to radio/aidl/android/hardware/radio/messaging/CdmaSmsAddress.aidl index d449ccfc33..835dda5be2 100644 --- a/radio/aidl/android/hardware/radio/CdmaSmsAddress.aidl +++ b/radio/aidl/android/hardware/radio/messaging/CdmaSmsAddress.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.messaging; @VintfStability parcelable CdmaSmsAddress { diff --git a/radio/aidl/android/hardware/radio/CdmaSmsMessage.aidl b/radio/aidl/android/hardware/radio/messaging/CdmaSmsMessage.aidl similarity index 84% rename from radio/aidl/android/hardware/radio/CdmaSmsMessage.aidl rename to radio/aidl/android/hardware/radio/messaging/CdmaSmsMessage.aidl index f38cc5b5ea..f1f065f0ee 100644 --- a/radio/aidl/android/hardware/radio/CdmaSmsMessage.aidl +++ b/radio/aidl/android/hardware/radio/messaging/CdmaSmsMessage.aidl @@ -14,10 +14,10 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.messaging; -import android.hardware.radio.CdmaSmsAddress; -import android.hardware.radio.CdmaSmsSubaddress; +import android.hardware.radio.messaging.CdmaSmsAddress; +import android.hardware.radio.messaging.CdmaSmsSubaddress; @VintfStability parcelable CdmaSmsMessage { diff --git a/radio/aidl/android/hardware/radio/CdmaSmsSubaddress.aidl b/radio/aidl/android/hardware/radio/messaging/CdmaSmsSubaddress.aidl similarity index 96% rename from radio/aidl/android/hardware/radio/CdmaSmsSubaddress.aidl rename to radio/aidl/android/hardware/radio/messaging/CdmaSmsSubaddress.aidl index e5d749408b..9dfe503369 100644 --- a/radio/aidl/android/hardware/radio/CdmaSmsSubaddress.aidl +++ b/radio/aidl/android/hardware/radio/messaging/CdmaSmsSubaddress.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.messaging; @VintfStability parcelable CdmaSmsSubaddress { diff --git a/radio/aidl/android/hardware/radio/CdmaSmsWriteArgs.aidl b/radio/aidl/android/hardware/radio/messaging/CdmaSmsWriteArgs.aidl similarity index 90% rename from radio/aidl/android/hardware/radio/CdmaSmsWriteArgs.aidl rename to radio/aidl/android/hardware/radio/messaging/CdmaSmsWriteArgs.aidl index 57896f4ef0..e73a0d791f 100644 --- a/radio/aidl/android/hardware/radio/CdmaSmsWriteArgs.aidl +++ b/radio/aidl/android/hardware/radio/messaging/CdmaSmsWriteArgs.aidl @@ -14,9 +14,9 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.messaging; -import android.hardware.radio.CdmaSmsMessage; +import android.hardware.radio.messaging.CdmaSmsMessage; @VintfStability parcelable CdmaSmsWriteArgs { diff --git a/radio/aidl/android/hardware/radio/GsmBroadcastSmsConfigInfo.aidl b/radio/aidl/android/hardware/radio/messaging/GsmBroadcastSmsConfigInfo.aidl similarity index 97% rename from radio/aidl/android/hardware/radio/GsmBroadcastSmsConfigInfo.aidl rename to radio/aidl/android/hardware/radio/messaging/GsmBroadcastSmsConfigInfo.aidl index 9b08ad9b6a..2a52f0a56e 100644 --- a/radio/aidl/android/hardware/radio/GsmBroadcastSmsConfigInfo.aidl +++ b/radio/aidl/android/hardware/radio/messaging/GsmBroadcastSmsConfigInfo.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.messaging; /** * Which types of Cell Broadcast Message (CBM) are to be received by the ME diff --git a/radio/aidl/android/hardware/radio/GsmSmsMessage.aidl b/radio/aidl/android/hardware/radio/messaging/GsmSmsMessage.aidl similarity index 95% rename from radio/aidl/android/hardware/radio/GsmSmsMessage.aidl rename to radio/aidl/android/hardware/radio/messaging/GsmSmsMessage.aidl index 248b4be6a4..45c09afac7 100644 --- a/radio/aidl/android/hardware/radio/GsmSmsMessage.aidl +++ b/radio/aidl/android/hardware/radio/messaging/GsmSmsMessage.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.messaging; @VintfStability parcelable GsmSmsMessage { diff --git a/radio/aidl/android/hardware/radio/messaging/IRadioMessaging.aidl b/radio/aidl/android/hardware/radio/messaging/IRadioMessaging.aidl new file mode 100644 index 0000000000..1dbaed3787 --- /dev/null +++ b/radio/aidl/android/hardware/radio/messaging/IRadioMessaging.aidl @@ -0,0 +1,311 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.hardware.radio.messaging; + +import android.hardware.radio.messaging.CdmaBroadcastSmsConfigInfo; +import android.hardware.radio.messaging.CdmaSmsAck; +import android.hardware.radio.messaging.CdmaSmsMessage; +import android.hardware.radio.messaging.CdmaSmsWriteArgs; +import android.hardware.radio.messaging.GsmBroadcastSmsConfigInfo; +import android.hardware.radio.messaging.GsmSmsMessage; +import android.hardware.radio.messaging.IRadioMessagingIndication; +import android.hardware.radio.messaging.IRadioMessagingResponse; +import android.hardware.radio.messaging.ImsSmsMessage; +import android.hardware.radio.messaging.SmsAcknowledgeFailCause; +import android.hardware.radio.messaging.SmsWriteArgs; + +/** + * This interface is used by telephony and telecom to talk to cellular radio for messaging APIs. + * All the functions have minimum one parameter: + * serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the + * duration of a method call. If clients provide colliding serials (including passing the same + * serial to different methods), multiple responses (one for each method call) must still be served. + * setResponseFunctions must work with IRadioMessagingResponse and IRadioMessagingIndication. + */ +@VintfStability +oneway interface IRadioMessaging { + /** + * Acknowledge successful or failed receipt of SMS previously indicated via unsol + * responseNewSms(), including acknowledgement TPDU to send as the RP-User-Data element of the + * RP-ACK or RP-ERROR PDU. + * + * @param serial Serial number of request. + * @param success true on successful receipt (send RP-ACK) + * false on failed receipt (send RP-ERROR) + * @param ackPdu acknowledgement TPDU in hexadecimal format + * + * Response function is IRadioMessagingResponse.acknowledgeIncomingGsmSmsWithPduResponse() + */ + void acknowledgeIncomingGsmSmsWithPdu(in int serial, in boolean success, in String ackPdu); + + /** + * Acknowledge the success or failure in the receipt of SMS previously indicated + * via responseCdmaNewSms() + * + * @param serial Serial number of request. + * @param smsAck Cdma Sms ack to be sent described by CdmaSmsAck + * + * Response function is IRadioMessagingResponse.acknowledgeLastIncomingCdmaSmsResponse() + */ + void acknowledgeLastIncomingCdmaSms(in int serial, in CdmaSmsAck smsAck); + + /** + * Acknowledge successful or failed receipt of SMS previously indicated via unsolResponseNewSms + * + * @param serial Serial number of request. + * @param success is true on successful receipt + * (basically, AT+CNMA=1 from TS 27.005 is 0 on failed receipt + * (basically, AT+CNMA=2 from TS 27.005) + * @param cause: if success is false, this contains the failure cause as defined + * in TS 23.040, 9.2.3.22. + * + * Response function is IRadioMessagingResponse.acknowledgeLastIncomingGsmSmsResponse() + */ + void acknowledgeLastIncomingGsmSms( + in int serial, in boolean success, in SmsAcknowledgeFailCause cause); + + /** + * Cancel the current USSD session if one exists. + * + * @param serial Serial number of request. + * + * Response function is IRadioMessagingResponse.cancelPendingUssdResponse() + */ + void cancelPendingUssd(in int serial); + + /** + * Deletes a CDMA SMS message from RUIM memory. + * + * @param serial Serial number of request. + * @param index record index of the message to delete + * + * Response function is IRadioMessagingResponse.deleteSmsOnRuimResponse() + */ + void deleteSmsOnRuim(in int serial, in int index); + + /** + * Deletes a SMS message from SIM memory. + * + * @param serial Serial number of request. + * @param index Record index of the message to delete. + * + * Response function is IRadioMessagingResponse.deleteSmsOnSimResponse() + */ + void deleteSmsOnSim(in int serial, in int index); + + /** + * Request the setting of CDMA Broadcast SMS config + * + * @param serial Serial number of request. + * + * Response function is IRadioMessagingResponse.getCdmaBroadcastConfigResponse() + */ + void getCdmaBroadcastConfig(in int serial); + + /** + * Request the setting of GSM/WCDMA Cell Broadcast SMS config. + * + * @param serial Serial number of request. + * + * Response function is IRadioMessagingResponse.getGsmBroadcastConfigResponse() + */ + void getGsmBroadcastConfig(in int serial); + + /** + * Get the default Short Message Service Center address on the device. + * + * @param serial Serial number of request. + * + * Response function is IRadioMessagingResponse.getSmscAddressResponse() + */ + void getSmscAddress(in int serial); + + /** + * Indicates whether there is storage available for new SMS messages. + * + * @param serial Serial number of request. + * @param available true if memory is available for storing new messages, + * false if memory capacity is exceeded + * + * Response function is IRadioMessagingResponse.reportSmsMemoryStatusResponse() + */ + void reportSmsMemoryStatus(in int serial, in boolean available); + + /** + * When response type received from a radio indication or radio response is + * RadioIndicationType:UNSOLICITED_ACK_EXP or RadioResponseType:SOLICITED_ACK_EXP respectively, + * acknowledge the receipt of those messages by sending responseAcknowledgement(). + */ + void responseAcknowledgement(); + + /** + * Send a CDMA SMS message + * + * @param serial Serial number of request. + * @param sms CdmaSmsMessage to be sent + * + * Response function is IRadioMessagingResponse.sendCdmaSmsResponse() + */ + void sendCdmaSms(in int serial, in CdmaSmsMessage sms); + + /** + * Send an SMS message. Identical to sendCdmaSms, except that more messages are expected to be + * sent soon. + * + * @param serial Serial number of request. + * @param sms CdmaSmsMessage to be sent + * + * Response function is IRadioMessagingResponse.sendCdmaSmsExpectMoreResponse() + */ + void sendCdmaSmsExpectMore(in int serial, in CdmaSmsMessage sms); + + /** + * Send a SMS message over IMS. Based on the return error, caller decides to resend if sending + * sms fails. SMS_SEND_FAIL_RETRY means retry, and other errors means no retry. + * In case of retry, data is encoded based on Voice Technology available. + * + * @param serial Serial number of request. + * @param message ImsSmsMessage to be sent + * + * Response function is IRadioMessagingResponse.sendImsSmsResponse() + */ + void sendImsSms(in int serial, in ImsSmsMessage message); + + /** + * Send an SMS message. Based on the returned error, caller decides to resend if sending sms + * fails. RadioError:SMS_SEND_FAIL_RETRY means retry (i.e. error cause is 332) and + * RadioError:GENERIC_FAILURE means no retry (i.e. error cause is 500) + * + * @param serial Serial number of request. + * @param message GsmSmsMessage to be sent + * + * Response function is IRadioMessagingResponse.sendSmsResponse() + */ + void sendSms(in int serial, in GsmSmsMessage message); + + /** + * Send an SMS message. Identical to sendSms, except that more messages are expected to be sent + * soon. If possible, keep SMS relay protocol link open (eg TS 27.005 AT+CMMS command). + * Based on the return error, caller decides to resend if sending sms fails. + * RadioError:SMS_SEND_FAIL_RETRY means retry (i.e. error cause is 332) and + * RadioError:GENERIC_FAILURE means no retry (i.e. error cause is 500) + * + * @param serial Serial number of request. + * @param message GsmSmsMessage to be sent + * + * Response function is IRadioMessagingResponse.sendSmsExpectMoreResponse() + */ + void sendSmsExpectMore(in int serial, in GsmSmsMessage message); + + /** + * Send a USSD message. If a USSD session already exists, the message must be sent in the + * context of that session. Otherwise, a new session must be created. The network reply must be + * reported via unsolOnUssd. + * + * Only one USSD session must exist at a time, and the session is assumed to exist until: + * a) The android system invokes cancelUssd() + * b) The implementation sends a unsolOnUssd() with a type code of + * "0" (USSD-Notify/no further action) or "2" (session terminated) + * + * @param serial Serial number of request. + * @param ussd string containing the USSD request in UTF-8 format + * + * Response function is IRadioMessagingResponse.sendUssdResponse() + */ + void sendUssd(in int serial, in String ussd); + + /** + * Enable or disable the reception of CDMA Cell Broadcast SMS + * + * @param serial Serial number of request. + * @param activate indicates to activate or turn off the reception of CDMA Cell Broadcast SMS. + * true = activate, false = turn off + * + * Response function is IRadioMessagingResponse.setCdmaBroadcastActivationResponse() + */ + void setCdmaBroadcastActivation(in int serial, in boolean activate); + + /** + * Set CDMA Broadcast SMS config + * + * @param serial Serial number of request. + * @param configInfo CDMA Broadcast SMS config to be set. + * + * Response function is IRadioMessagingResponse.setCdmaBroadcastConfigResponse() + */ + void setCdmaBroadcastConfig(in int serial, in CdmaBroadcastSmsConfigInfo[] configInfo); + + /** + * Enable or disable the reception of GSM/WCDMA Cell Broadcast SMS + * + * @param serial Serial number of request. + * @param activate indicates to activate or turn off the reception of GSM/WCDMA + * Cell Broadcast SMS. true = activate, false = turn off + * + * Response function is IRadioMessagingResponse.setGsmBroadcastActivationResponse() + */ + void setGsmBroadcastActivation(in int serial, in boolean activate); + + /** + * Set GSM/WCDMA Cell Broadcast SMS config + * + * @param serial Serial number of request. + * @param configInfo Setting of GSM/WCDMA Cell broadcast config + * + * Response function is IRadioMessagingResponse.setGsmBroadcastConfigResponse() + */ + void setGsmBroadcastConfig(in int serial, in GsmBroadcastSmsConfigInfo[] configInfo); + + /** + * Set response functions for messaging radio requests and indications. + * + * @param radioMessagingResponse Object containing response functions + * @param radioMessagingIndication Object containing radio indications + */ + void setResponseFunctions(in IRadioMessagingResponse radioMessagingResponse, + in IRadioMessagingIndication radioMessagingIndication); + + /** + * Set the default Short Message Service Center address on the device. + * + * @param serial Serial number of request. + * @param smsc Short Message Service Center address to set + * + * Response function is IRadioMessagingResponse.setSmscAddressResponse() + */ + void setSmscAddress(in int serial, in String smsc); + + /** + * Stores a CDMA SMS message to RUIM memory. + * + * @param serial Serial number of request. + * @param cdmaSms CdmaSmsWriteArgs + * + * Response function is IRadioMessagingResponse.writeSmsToRuimResponse() + */ + void writeSmsToRuim(in int serial, in CdmaSmsWriteArgs cdmaSms); + + /** + * Stores a SMS message to SIM memory. + * + * @param serial Serial number of request. + * @param smsWriteArgs SmsWriteArgs + * + * Response function is IRadioMessagingResponse.writeSmsToSimResponse() + */ + void writeSmsToSim(in int serial, in SmsWriteArgs smsWriteArgs); +} diff --git a/radio/aidl/android/hardware/radio/messaging/IRadioMessagingIndication.aidl b/radio/aidl/android/hardware/radio/messaging/IRadioMessagingIndication.aidl new file mode 100644 index 0000000000..4b40bfb6c1 --- /dev/null +++ b/radio/aidl/android/hardware/radio/messaging/IRadioMessagingIndication.aidl @@ -0,0 +1,106 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.hardware.radio.messaging; + +import android.hardware.radio.RadioIndicationType; +import android.hardware.radio.messaging.CdmaSmsMessage; +import android.hardware.radio.messaging.UssdModeType; + +/** + * Interface declaring unsolicited radio indications for messaging APIs. + */ +@VintfStability +oneway interface IRadioMessagingIndication { + /** + * Indicates when new CDMA SMS is received. Callee must subsequently confirm the receipt of the + * SMS with acknowledgeLastIncomingCdmaSms(). Server must not send cdmaNewSms() messages until + * acknowledgeLastIncomingCdmaSms() has been received. + * + * @param type Type of radio indication + * @param msg Cdma Sms Message + */ + void cdmaNewSms(in RadioIndicationType type, in CdmaSmsMessage msg); + + /** + * Indicates that SMS storage on the RUIM is full. Messages cannot be saved on the RUIM until + * space is freed. + * + * @param type Type of radio indication + */ + void cdmaRuimSmsStorageFull(in RadioIndicationType type); + + /** + * Indicates when new Broadcast SMS is received + * + * @param type Type of radio indication + * @param data If received from GSM network, "data" is byte array of 88 bytes which indicates + * each page of a CBS Message sent to the MS by the BTS as coded in 3GPP 23.041 Section + * 9.4.1.2. If received from UMTS network, "data" is byte array of 90 up to 1252 bytes + * which contain between 1 and 15 CBS Message pages sent as one packet to the MS by the + * BTS as coded in 3GPP 23.041 Section 9.4.2.2 + */ + void newBroadcastSms(in RadioIndicationType type, in byte[] data); + + /** + * Indicates when new SMS is received. Callee must subsequently confirm the receipt of the SMS + * with a acknowledgeLastIncomingGsmSms(). Server must not send newSms() or newSmsStatusReport() + * messages until an acknowledgeLastIncomingGsmSms() has been received. + * + * @param type Type of radio indication + * @param pdu PDU of SMS-DELIVER represented as byte array. + * The PDU starts with the SMSC address per TS 27.005 (+CMT:) + */ + void newSms(in RadioIndicationType type, in byte[] pdu); + + /** + * Indicates when new SMS has been stored on SIM card + * + * @param type Type of radio indication + * @param recordNumber Record number on the sim + */ + void newSmsOnSim(in RadioIndicationType type, in int recordNumber); + + /** + * Indicates when new SMS Status Report is received. Callee must subsequently confirm the + * receipt of the SMS with a acknowledgeLastIncomingGsmSms(). Server must not send newSms() or + * newSmsStatusReport() messages until an acknowledgeLastIncomingGsmSms() has been received + * + * @param type Type of radio indication + * @param pdu PDU of SMS-STATUS-REPORT represented as byte array. + * The PDU starts with the SMSC address per TS 27.005 (+CMT:) + */ + void newSmsStatusReport(in RadioIndicationType type, in byte[] pdu); + + /** + * Indicates when a new USSD message is received. The USSD session is assumed to persist if the + * type code is REQUEST, otherwise the current session (if any) is assumed to have terminated. + * + * @param type Type of radio indication + * @param modeType USSD type code + * @param msg Message string in UTF-8, if applicable + */ + void onUssd(in RadioIndicationType type, in UssdModeType modeType, in String msg); + + /** + * Indicates that SMS storage on the SIM is full. Sent when the network attempts to deliver a + * new SMS message. Messages cannot be saved on the SIM until space is freed. In particular, + * incoming Class 2 messages must not be stored. + * + * @param type Type of radio indication + */ + void simSmsStorageFull(in RadioIndicationType type); +} diff --git a/radio/aidl/android/hardware/radio/messaging/IRadioMessagingResponse.aidl b/radio/aidl/android/hardware/radio/messaging/IRadioMessagingResponse.aidl new file mode 100644 index 0000000000..75fa390cba --- /dev/null +++ b/radio/aidl/android/hardware/radio/messaging/IRadioMessagingResponse.aidl @@ -0,0 +1,587 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.hardware.radio.messaging; + +import android.hardware.radio.RadioResponseInfo; +import android.hardware.radio.messaging.CdmaBroadcastSmsConfigInfo; +import android.hardware.radio.messaging.GsmBroadcastSmsConfigInfo; +import android.hardware.radio.messaging.SendSmsResult; + +/** + * Interface declaring response functions to solicited radio requests for messaging APIs. + */ +@VintfStability +oneway interface IRadioMessagingResponse { + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + */ + void acknowledgeIncomingGsmSmsWithPduResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_SMS_TO_ACK + * RadioError:INVALID_STATE + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:NETWORK_NOT_READY + * RadioError:INVALID_MODEM_STATE + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + void acknowledgeLastIncomingCdmaSmsResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + */ + void acknowledgeLastIncomingGsmSmsResponse(in 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. For more details, refer + * https://source.android.com/devices/tech/connect/ril.html + * + * @param serial Serial no. of the request whose acknowledgement is sent. + */ + void acknowledgeRequest(in int serial); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SIM_BUSY + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:INVALID_STATE + * RadioError:INVALID_ARGUMENTS + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_MODEM_STATE + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + void cancelPendingUssdResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:NO_SUCH_ENTRY + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:SIM_ABSENT + */ + void deleteSmsOnRuimResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SIM_FULL + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:NO_SUCH_ENTRY + * RadioError:INTERNAL_ERR + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + * RadioError:SIM_ABSENT + */ + void deleteSmsOnSimResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param configs Vector of CDMA Broadcast SMS configs. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_STATE + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:NO_RESOURCES + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + */ + void getCdmaBroadcastConfigResponse( + in RadioResponseInfo info, in CdmaBroadcastSmsConfigInfo[] configs); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param configs Vector of GSM/WCDMA Cell broadcast configs + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_STATE + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:NO_RESOURCES + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + */ + void getGsmBroadcastConfigResponse( + in RadioResponseInfo info, in GsmBroadcastSmsConfigInfo[] configs); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param smsc Short Message Service Center address on the device + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_RATE_LIMITED + * RadioError:MODEM_ERR + * RadioError:INVALID_MODEM_STATE + * RadioError:NOT_PROVISIONED + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + */ + void getSmscAddressResponse(in RadioResponseInfo info, in String smsc); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_RATE_LIMITED + * RadioError:MODEM_ERR + * RadioError:INVALID_STATE + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + */ + void reportSmsMemoryStatusResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param sms Response to sms sent as defined by SendSmsResult + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SMS_SEND_FAIL_RETRY + * RadioError:NETWORK_REJECT + * RadioError:INVALID_STATE + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:INVALID_SMS_FORMAT + * RadioError:SYSTEM_ERR + * RadioError:FDN_CHECK_FAILURE + * RadioError:ENCODING_ERR + * RadioError:INVALID_SMSC_ADDRESS + * RadioError:MODEM_ERR + * RadioError:NETWORK_ERR + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_MODEM_STATE + * RadioError:NETWORK_NOT_READY + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + * RadioError:SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED + * RadioError:ACCESS_BARRED + * RadioError:BLOCKED_DUE_TO_CALL + */ + void sendCdmaSmsExpectMoreResponse(in RadioResponseInfo info, in SendSmsResult sms); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param sms Sms result struct as defined by SendSmsResult + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:SMS_SEND_FAIL_RETRY + * RadioError:NETWORK_REJECT + * RadioError:INVALID_STATE + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:INVALID_SMS_FORMAT + * RadioError:SYSTEM_ERR + * RadioError:FDN_CHECK_FAILURE + * RadioError:MODEM_ERR + * RadioError:NETWORK_ERR + * RadioError:ENCODING_ERR + * RadioError:INVALID_SMSC_ADDRESS + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:ENCODING_ERR + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + * RadioError:SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED + * RadioError:ACCESS_BARRED + * RadioError:BLOCKED_DUE_TO_CALL + */ + void sendCdmaSmsResponse(in RadioResponseInfo info, in SendSmsResult sms); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param sms Response to sms sent as defined by SendSmsResult + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SMS_SEND_FAIL_RETRY + * RadioError:FDN_CHECK_FAILURE + * RadioError:NETWORK_REJECT + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_STATE + * RadioError:NO_MEMORY + * RadioError:INVALID_SMS_FORMAT + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_RATE_LIMITED + * RadioError:MODEM_ERR + * RadioError:NETWORK_ERR + * RadioError:ENCODING_ERR + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NETWORK_NOT_READY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + void sendImsSmsResponse(in RadioResponseInfo info, in SendSmsResult sms); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param sms Response to sms sent as defined by SendSmsResult + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SMS_SEND_FAIL_RETRY + * RadioError:NETWORK_REJECT + * RadioError:INVALID_STATE + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:INVALID_SMS_FORMAT + * RadioError:SYSTEM_ERR + * RadioError:FDN_CHECK_FAILURE + * RadioError:ENCODING_ERR + * RadioError:INVALID_SMSC_ADDRESS + * RadioError:MODEM_ERR + * RadioError:NETWORK_ERR + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_MODEM_STATE + * RadioError:NETWORK_NOT_READY + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + * RadioError:ACCESS_BARRED + * RadioError:BLOCKED_DUE_TO_CALL + */ + void sendSmsExpectMoreResponse(in RadioResponseInfo info, in SendSmsResult sms); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param sms Response to sms sent as defined by SendSmsResult + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SMS_SEND_FAIL_RETRY + * RadioError:NETWORK_REJECT + * RadioError:INVALID_STATE + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:INVALID_SMS_FORMAT + * RadioError:SYSTEM_ERR + * RadioError:ENCODING_ERR + * RadioError:INVALID_SMSC_ADDRESS + * RadioError:MODEM_ERR + * RadioError:NETWORK_ERR + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_MODEM_STATE + * RadioError:NETWORK_NOT_READY + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + * RadioError:ACCESS_BARRED + * RadioError:BLOCKED_DUE_TO_CALL + */ + void sendSmsResponse(in RadioResponseInfo info, in SendSmsResult sms); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:FDN_CHECK_FAILURE + * RadioError:USSD_MODIFIED_TO_DIAL + * RadioError:USSD_MODIFIED_TO_SS + * RadioError:USSD_MODIFIED_TO_USSD + * RadioError:SIM_BUSY + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:ABORTED + * RadioError:SYSTEM_ERR + * RadioError:INVALID_STATE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_MODEM_STATE + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + void sendUssdResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_STATE + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + */ + void setCdmaBroadcastActivationResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_STATE + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + */ + void setCdmaBroadcastConfigResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_STATE + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + */ + void setGsmBroadcastActivationResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_STATE + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + */ + void setGsmBroadcastConfigResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_SMS_FORMAT + * RadioError:NO_MEMORY + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_RATE_LIMITED + * RadioError:MODEM_ERR + * RadioError:NO_RESOURCES + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + */ + void setSmscAddressResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param index record index where the cmda sms message is stored + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_SMS_FORMAT + * RadioError:SIM_FULL + * RadioError:INTERNAL_ERR + * RadioError:MODEM_ERR + * RadioError:ENCODING_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:INVALID_MODEM_STATE + * RadioError:INVALID_SMSC_ADDRESS + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + * RadioError:SIM_ABSENT + */ + void writeSmsToRuimResponse(in RadioResponseInfo info, in int index); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param index record index where the message is stored + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SIM_FULL + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_SMS_FORMAT + * RadioError:INTERNAL_ERR + * RadioError:MODEM_ERR + * RadioError:ENCODING_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:INVALID_MODEM_STATE + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:INVALID_SMSC_ADDRESS + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + * RadioError:SIM_ABSENT + */ + void writeSmsToSimResponse(in RadioResponseInfo info, in int index); +} diff --git a/radio/aidl/android/hardware/radio/ImsSmsMessage.aidl b/radio/aidl/android/hardware/radio/messaging/ImsSmsMessage.aidl similarity index 90% rename from radio/aidl/android/hardware/radio/ImsSmsMessage.aidl rename to radio/aidl/android/hardware/radio/messaging/ImsSmsMessage.aidl index 3b4efe68fd..809cfb38bd 100644 --- a/radio/aidl/android/hardware/radio/ImsSmsMessage.aidl +++ b/radio/aidl/android/hardware/radio/messaging/ImsSmsMessage.aidl @@ -14,11 +14,11 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.messaging; -import android.hardware.radio.CdmaSmsMessage; -import android.hardware.radio.GsmSmsMessage; import android.hardware.radio.RadioTechnologyFamily; +import android.hardware.radio.messaging.CdmaSmsMessage; +import android.hardware.radio.messaging.GsmSmsMessage; @VintfStability parcelable ImsSmsMessage { diff --git a/radio/aidl/android/hardware/radio/SendSmsResult.aidl b/radio/aidl/android/hardware/radio/messaging/SendSmsResult.aidl similarity index 96% rename from radio/aidl/android/hardware/radio/SendSmsResult.aidl rename to radio/aidl/android/hardware/radio/messaging/SendSmsResult.aidl index 31865637ee..15d68f14a0 100644 --- a/radio/aidl/android/hardware/radio/SendSmsResult.aidl +++ b/radio/aidl/android/hardware/radio/messaging/SendSmsResult.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.messaging; @VintfStability parcelable SendSmsResult { diff --git a/radio/aidl/android/hardware/radio/SmsAcknowledgeFailCause.aidl b/radio/aidl/android/hardware/radio/messaging/SmsAcknowledgeFailCause.aidl similarity index 94% rename from radio/aidl/android/hardware/radio/SmsAcknowledgeFailCause.aidl rename to radio/aidl/android/hardware/radio/messaging/SmsAcknowledgeFailCause.aidl index 265a10918d..a47cdb61c8 100644 --- a/radio/aidl/android/hardware/radio/SmsAcknowledgeFailCause.aidl +++ b/radio/aidl/android/hardware/radio/messaging/SmsAcknowledgeFailCause.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.messaging; @VintfStability @Backing(type="int") diff --git a/radio/aidl/android/hardware/radio/SmsWriteArgs.aidl b/radio/aidl/android/hardware/radio/messaging/SmsWriteArgs.aidl similarity index 96% rename from radio/aidl/android/hardware/radio/SmsWriteArgs.aidl rename to radio/aidl/android/hardware/radio/messaging/SmsWriteArgs.aidl index 7258e0aeef..539f68bf67 100644 --- a/radio/aidl/android/hardware/radio/SmsWriteArgs.aidl +++ b/radio/aidl/android/hardware/radio/messaging/SmsWriteArgs.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.messaging; @VintfStability parcelable SmsWriteArgs { diff --git a/radio/aidl/android/hardware/radio/UssdModeType.aidl b/radio/aidl/android/hardware/radio/messaging/UssdModeType.aidl similarity index 96% rename from radio/aidl/android/hardware/radio/UssdModeType.aidl rename to radio/aidl/android/hardware/radio/messaging/UssdModeType.aidl index 187130c48c..c3c111ea77 100644 --- a/radio/aidl/android/hardware/radio/UssdModeType.aidl +++ b/radio/aidl/android/hardware/radio/messaging/UssdModeType.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.messaging; @VintfStability @Backing(type="int") diff --git a/radio/aidl/android/hardware/radio/ActivityStatsInfo.aidl b/radio/aidl/android/hardware/radio/modem/ActivityStatsInfo.aidl similarity index 97% rename from radio/aidl/android/hardware/radio/ActivityStatsInfo.aidl rename to radio/aidl/android/hardware/radio/modem/ActivityStatsInfo.aidl index f1a6e0e355..764a86dd68 100644 --- a/radio/aidl/android/hardware/radio/ActivityStatsInfo.aidl +++ b/radio/aidl/android/hardware/radio/modem/ActivityStatsInfo.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.modem; @VintfStability parcelable ActivityStatsInfo { diff --git a/radio/aidl/android/hardware/radio/DeviceStateType.aidl b/radio/aidl/android/hardware/radio/modem/DeviceStateType.aidl similarity index 96% rename from radio/aidl/android/hardware/radio/DeviceStateType.aidl rename to radio/aidl/android/hardware/radio/modem/DeviceStateType.aidl index e622486293..0dae351c41 100644 --- a/radio/aidl/android/hardware/radio/DeviceStateType.aidl +++ b/radio/aidl/android/hardware/radio/modem/DeviceStateType.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.modem; @VintfStability @Backing(type="int") diff --git a/radio/aidl/android/hardware/radio/HardwareConfig.aidl b/radio/aidl/android/hardware/radio/modem/HardwareConfig.aidl similarity index 90% rename from radio/aidl/android/hardware/radio/HardwareConfig.aidl rename to radio/aidl/android/hardware/radio/modem/HardwareConfig.aidl index 59850ad22e..c38df5e859 100644 --- a/radio/aidl/android/hardware/radio/HardwareConfig.aidl +++ b/radio/aidl/android/hardware/radio/modem/HardwareConfig.aidl @@ -14,10 +14,10 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.modem; -import android.hardware.radio.HardwareConfigModem; -import android.hardware.radio.HardwareConfigSim; +import android.hardware.radio.modem.HardwareConfigModem; +import android.hardware.radio.modem.HardwareConfigSim; @VintfStability parcelable HardwareConfig { diff --git a/radio/aidl/android/hardware/radio/HardwareConfigModem.aidl b/radio/aidl/android/hardware/radio/modem/HardwareConfigModem.aidl similarity index 90% rename from radio/aidl/android/hardware/radio/HardwareConfigModem.aidl rename to radio/aidl/android/hardware/radio/modem/HardwareConfigModem.aidl index 8e3bc473f8..0b7343b3d6 100644 --- a/radio/aidl/android/hardware/radio/HardwareConfigModem.aidl +++ b/radio/aidl/android/hardware/radio/modem/HardwareConfigModem.aidl @@ -14,7 +14,9 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.modem; + +import android.hardware.radio.RadioTechnology; @VintfStability parcelable HardwareConfigModem { @@ -30,15 +32,15 @@ parcelable HardwareConfigModem { /** * Bitset value, based on RadioTechnology. */ - int rat; + RadioTechnology rat; /** * Maximum number of concurrent active voice calls. */ - int maxVoice; + int maxVoiceCalls; /** * Maximum number of concurrent active data calls. */ - int maxData; + int maxDataCalls; /** * Maximum number of concurrent standby connections. This is not necessarily an equal sum of the * maxVoice and maxData (or a derivative of it) since it really depends on the modem capability, diff --git a/radio/aidl/android/hardware/radio/HardwareConfigSim.aidl b/radio/aidl/android/hardware/radio/modem/HardwareConfigSim.aidl similarity index 95% rename from radio/aidl/android/hardware/radio/HardwareConfigSim.aidl rename to radio/aidl/android/hardware/radio/modem/HardwareConfigSim.aidl index 85055de7c4..0f0c05fe6f 100644 --- a/radio/aidl/android/hardware/radio/HardwareConfigSim.aidl +++ b/radio/aidl/android/hardware/radio/modem/HardwareConfigSim.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.modem; @VintfStability parcelable HardwareConfigSim { diff --git a/radio/aidl/android/hardware/radio/modem/IRadioModem.aidl b/radio/aidl/android/hardware/radio/modem/IRadioModem.aidl new file mode 100644 index 0000000000..ba0ddb94b1 --- /dev/null +++ b/radio/aidl/android/hardware/radio/modem/IRadioModem.aidl @@ -0,0 +1,230 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.hardware.radio.modem; + +import android.hardware.radio.modem.DeviceStateType; +import android.hardware.radio.modem.IRadioModemIndication; +import android.hardware.radio.modem.IRadioModemResponse; +import android.hardware.radio.modem.NvItem; +import android.hardware.radio.modem.NvWriteItem; +import android.hardware.radio.modem.RadioCapability; +import android.hardware.radio.modem.ResetNvType; + +/** + * This interface is used by telephony and telecom to talk to cellular radio for modem APIs. + * All the functions have minimum one parameter: + * serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the + * duration of a method call. If clients provide colliding serials (including passing the same + * serial to different methods), multiple responses (one for each method call) must still be served. + * setResponseFunctions must work with IRadioModemResponse and IRadioModemIndication. + */ +@VintfStability +oneway interface IRadioModem { + /** + * Toggle logical modem on/off. This is similar to IRadioModem.setRadioPower(), however that + * does not enforce that radio power is toggled only for the corresponding radio and certain + * vendor implementations do it for all radios. This new API should affect only the modem for + * which it is called. A modem stack must be on/active only when both setRadioPower() and + * enableModem() are set to on for it. + * + * SIM must be read if available even if modem is off/inactive. + * + * @param serial Serial number of request. + * @param on True to turn on the logical modem, otherwise turn it off. + * + * Response function is IRadioModemResponse.enableModemResponse() + */ + void enableModem(in int serial, in boolean on); + + /** + * Return string value indicating baseband version, eg response from AT+CGMR + * + * @param serial Serial number of request. + * + * Response function is IRadioModemResponse.getBasebandVersionResponse() + */ + void getBasebandVersion(in int serial); + + /** + * Request the device ESN / MEID / IMEI / IMEISV. The request is always allowed and contains + * GSM and CDMA device identity. When CDMA subscription is changed the ESN/MEID changes. + * The application layer must re-issue the request to update the device identity in this case. + * + * @param serial Serial number of request. + * + * Response function is IRadioModemResponse.getDeviceIdentityResponse() + */ + void getDeviceIdentity(in int serial); + + /** + * Request all of the current hardware (modem and sim) associated with Radio. + * + * @param serial Serial number of request. + * + * Response function is IRadioModemResponse.getHardwareConfigResponse() + */ + void getHardwareConfig(in int serial); + + /** + * Get modem activity information for power consumption estimation. Request clear-on-read + * statistics information that is used for estimating the per-millisecond power consumption + * of the cellular modem. + * + * @param serial Serial number of request. + * + * Response function is IRadioModemResponse.getModemActivityInfoResponse() + */ + void getModemActivityInfo(in int serial); + + /** + * Request status of logical modem. It returns isEnabled=true if the logical modem is on. + * This method is the getter method for enableModem. + * + * @param serial Serial number of request. + * + * Response function is IRadioModemResponse.getModemStackStatusResponse() + */ + void getModemStackStatus(in int serial); + + /** + * Get phone radio capability. + * + * @param serial Serial number of request. + * + * Response function is IRadioModemResponse.getRadioCapabilityResponse() + */ + void getRadioCapability(in int serial); + + /** + * Read one of the radio NV items. + * This is used for device configuration by some CDMA operators. + * + * @param serial Serial number of request. + * @param itemId NvItem + * + * Response function is IRadioModemResponse.nvReadItemResponse() + */ + void nvReadItem(in int serial, in NvItem itemId); + + /** + * Reset the radio NV configuration to the factory state. + * This is used for device configuration by some CDMA operators. + * + * @param serial Serial number of request. + * @param resetType ResetNvType + * + * Response function is IRadioModemResponse.nvResetConfigResponse() + */ + void nvResetConfig(in int serial, in ResetNvType resetType); + + /** + * Update the CDMA Preferred Roaming List (PRL) in the radio NV storage. + * This is used for device configuration by some CDMA operators. + * + * @param serial Serial number of request. + * @param prl PRL as a byte array + * + * Response function is IRadioModemResponse.nvWriteCdmaPrlResponse() + */ + void nvWriteCdmaPrl(in int serial, in byte[] prl); + + /** + * Write one of the radio NV items. + * This is used for device configuration by some CDMA operators. + * + * @param serial Serial number of request. + * @param item NvWriteItem + * + * Response function is IRadioModemResponse.nvWriteItemResponse() + */ + void nvWriteItem(in int serial, in NvWriteItem item); + + /** + * Device is shutting down. All further commands are ignored and RADIO_NOT_AVAILABLE + * must be returned. + * + * @param serial Serial number of request. + * + * Response function is IRadioModemResponse.requestShutdownResponse() + */ + void requestShutdown(in int serial); + + /** + * When response type received from a radio indication or radio response is + * RadioIndicationType:UNSOLICITED_ACK_EXP or RadioResponseType:SOLICITED_ACK_EXP respectively, + * acknowledge the receipt of those messages by sending responseAcknowledgement(). + */ + void responseAcknowledgement(); + + /** + * Send the updated device state. This is providing the device state information for the modem + * to perform power saving strategies. + * + * @param serial Serial number of request. + * @param deviceStateType The updated device state type. + * @param state The updated state. See the definition of state at DeviceStateType. + * + * Response function is IRadioModemResponse.sendDeviceStateResponse() + */ + void sendDeviceState(in int serial, in DeviceStateType deviceStateType, in boolean state); + + /** + * Used to set the phones radio capability. Be VERY careful using this request as it may cause + * some vendor modems to reset. Because of the possible modem reset any radio commands after + * this one may not be processed. + * + * @param serial Serial number of request. + * @param rc RadioCapability structure to be set + * + * Response function is IRadioModemResponse.setRadioCapabilityResponse() + */ + void setRadioCapability(in int serial, in RadioCapability rc); + + /** + * Toggle radio on and off (for "airplane" mode). If the radio is turned off/on the radio modem + * subsystem is expected return to an initialized state. For instance, any voice and data calls + * must be terminated and all associated lists emptied. + * When setting radio power on to exit from airplane mode to place an emergency call on this + * logical modem, powerOn, forEmergencyCall and preferredForEmergencyCall must be true. In + * this case, this modem is optimized to scan only emergency call bands, until: + * 1) Emergency call is completed; or + * 2) Another setRadioPower is issued with forEmergencyCall being false or + * preferredForEmergencyCall being false; or + * 3) Timeout after 30 seconds if dial or emergencyDial is not called. + * Once one of these conditions is reached, the modem should move into normal operation. + * + * @param serial Serial number of request. + * @param powerOn To turn on radio -> on = true, to turn off radio -> on = false. + * @param forEmergencyCall To indication to radio if this request is due to emergency call. + * No effect if powerOn is false. + * @param preferredForEmergencyCall indicate whether the following emergency call will be sent + * on this modem or not. No effect if forEmergencyCall is false, or powerOn is false. + * + * Response function is IRadioConfigResponse.setRadioPowerResponse() + */ + void setRadioPower(in int serial, in boolean powerOn, in boolean forEmergencyCall, + in boolean preferredForEmergencyCall); + + /** + * Set response functions for modem radio requests and indications. + * + * @param radioModemResponse Object containing response functions + * @param radioModemIndication Object containing radio indications + */ + void setResponseFunctions(in IRadioModemResponse radioModemResponse, + in IRadioModemIndication radioModemIndication); +} diff --git a/radio/aidl/android/hardware/radio/modem/IRadioModemIndication.aidl b/radio/aidl/android/hardware/radio/modem/IRadioModemIndication.aidl new file mode 100644 index 0000000000..c61de99cd6 --- /dev/null +++ b/radio/aidl/android/hardware/radio/modem/IRadioModemIndication.aidl @@ -0,0 +1,78 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.hardware.radio.modem; + +import android.hardware.radio.RadioIndicationType; +import android.hardware.radio.modem.HardwareConfig; +import android.hardware.radio.modem.RadioCapability; +import android.hardware.radio.modem.RadioState; + +/** + * Interface declaring unsolicited radio indications for modem APIs. + */ +@VintfStability +oneway interface IRadioModemIndication { + /** + * Indicates when the hardware configuration associated with the RILd changes. + * + * @param type Type of radio indication + * @param configs Array of hardware configs + */ + void hardwareConfigChanged(in RadioIndicationType type, in HardwareConfig[] configs); + + /** + * Indicates when there is a modem reset. + * When modem restarts, one of the following radio state transitions must happen + * 1) RadioState:ON->RadioState:UNAVAILABLE->RadioState:ON or + * 2) RadioState:OFF->RadioState:UNAVAILABLE->RadioState:OFF + * This message must be sent either just before the Radio State changes to + * RadioState:UNAVAILABLE or just after but must never be sent after the Radio State changes + * from RadioState:UNAVAILABLE to RadioState:ON/RadioState:OFF again. It must NOT be sent after + * the Radio state changes to RadioState:ON/RadioState:OFF after the modem restart as that may + * be interpreted as a second modem reset by the framework. + * + * @param type Type of radio indication + * @param reason the reason for the reset. It may be a crash signature if the restart was due to + * a crash or some string such as "user-initiated restart" or "AT command initiated + * restart" that explains the cause of the modem restart + */ + void modemReset(in RadioIndicationType type, in String reason); + + /** + * Sent when setRadioCapability() completes. Returns the phone radio capability exactly as + * getRadioCapability() and must be the same set as sent by setRadioCapability(). + * + * @param type Type of radio indication + * @param rc Current radio capability + */ + void radioCapabilityIndication(in RadioIndicationType type, in RadioCapability rc); + + /** + * Indicates when radio state changes. + * + * @param type Type of radio indication + * @param radioState Current radio state + */ + void radioStateChanged(in RadioIndicationType type, in RadioState radioState); + + /** + * Indicates the ril connects and returns the version + * + * @param type Type of radio indication + */ + void rilConnected(in RadioIndicationType type); +} diff --git a/radio/aidl/android/hardware/radio/modem/IRadioModemResponse.aidl b/radio/aidl/android/hardware/radio/modem/IRadioModemResponse.aidl new file mode 100644 index 0000000000..b17cac41c7 --- /dev/null +++ b/radio/aidl/android/hardware/radio/modem/IRadioModemResponse.aidl @@ -0,0 +1,257 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.hardware.radio.modem; + +import android.hardware.radio.RadioResponseInfo; +import android.hardware.radio.modem.ActivityStatsInfo; +import android.hardware.radio.modem.HardwareConfig; +import android.hardware.radio.modem.RadioCapability; + +/** + * Interface declaring response functions to solicited radio requests for modem APIs. + */ +@VintfStability +oneway interface IRadioModemResponse { + /** + * Acknowledge the receipt of radio request sent to the vendor. This must be sent only for + * radio request which take long time to respond. For more details, refer + * https://source.android.com/devices/tech/connect/ril.html + * + * @param serial Serial no. of the request whose acknowledgement is sent. + */ + void acknowledgeRequest(in int serial); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:MODEM_ERR + * RadioError:INVALID_STATE: this is for the case that the API is called in a single-sim + * mode, or when there is only one modem available, as this API should only + * be called in multi sim status. + */ + void enableModemResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param version string containing version string for log reporting + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:EMPTY_RECORD + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:NOT_PROVISIONED + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + void getBasebandVersionResponse(in RadioResponseInfo info, in String version); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param imei IMEI if GSM subscription is available + * @param imeisv IMEISV if GSM subscription is available + * @param esn ESN if CDMA subscription is available + * @param meid MEID if CDMA subscription is available + * + * If a empty string value is returned for any of the device id, it means that there was error + * accessing the device. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_ERR + * RadioError:NOT_PROVISIONED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + */ + void getDeviceIdentityResponse(in RadioResponseInfo info, in String imei, in String imeisv, + in String esn, in String meid); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param config Array of HardwareConfig of the radio. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:REQUEST_NOT_SUPPORTED + */ + void getHardwareConfigResponse(in RadioResponseInfo info, in HardwareConfig[] config); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param activityInfo modem activity information + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:NOT_PROVISIONED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + */ + void getModemActivityInfoResponse(in RadioResponseInfo info, in ActivityStatsInfo activityInfo); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:MODEM_ERR + */ + void getModemStackStatusResponse(in RadioResponseInfo info, in boolean isEnabled); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param rc Radio capability as defined by RadioCapability in types.hal + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:INVALID_STATE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + void getRadioCapabilityResponse(in RadioResponseInfo info, in RadioCapability rc); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param result string containing the contents of the NV item + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:REQUEST_NOT_SUPPORTED + */ + void nvReadItemResponse(in RadioResponseInfo info, in String result); + + /** + * @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 + */ + void nvResetConfigResponse(in 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 + */ + void nvWriteCdmaPrlResponse(in 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 + */ + void nvWriteItemResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + void requestShutdownResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + void sendDeviceStateResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param rc Radio capability as defined by RadioCapability in types.hal used to + * feedback return status + * + * Valid errors returned: + * RadioError:NONE means a unsol radioCapability() will be sent within 30 seconds. + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_ERR + * RadioError:INVALID_STATE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + void setRadioCapabilityResponse(in RadioResponseInfo info, in RadioCapability rc); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:INTERNAL_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:RF_HARDWARE_ISSUE + * RadioError:NO_RF_CALIBRATION_INFO + */ + void setRadioPowerResponse(in RadioResponseInfo info); +} diff --git a/radio/aidl/android/hardware/radio/NvItem.aidl b/radio/aidl/android/hardware/radio/modem/NvItem.aidl similarity index 99% rename from radio/aidl/android/hardware/radio/NvItem.aidl rename to radio/aidl/android/hardware/radio/modem/NvItem.aidl index 0d4f79f150..cdae1c8b05 100644 --- a/radio/aidl/android/hardware/radio/NvItem.aidl +++ b/radio/aidl/android/hardware/radio/modem/NvItem.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.modem; @VintfStability @Backing(type="int") diff --git a/radio/aidl/android/hardware/radio/NvWriteItem.aidl b/radio/aidl/android/hardware/radio/modem/NvWriteItem.aidl similarity index 89% rename from radio/aidl/android/hardware/radio/NvWriteItem.aidl rename to radio/aidl/android/hardware/radio/modem/NvWriteItem.aidl index f3061612b4..d66c2cdcd6 100644 --- a/radio/aidl/android/hardware/radio/NvWriteItem.aidl +++ b/radio/aidl/android/hardware/radio/modem/NvWriteItem.aidl @@ -14,9 +14,9 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.modem; -import android.hardware.radio.NvItem; +import android.hardware.radio.modem.NvItem; @VintfStability parcelable NvWriteItem { diff --git a/radio/aidl/android/hardware/radio/RadioCapability.aidl b/radio/aidl/android/hardware/radio/modem/RadioCapability.aidl similarity index 98% rename from radio/aidl/android/hardware/radio/RadioCapability.aidl rename to radio/aidl/android/hardware/radio/modem/RadioCapability.aidl index a94e96abce..b7b8ef3552 100644 --- a/radio/aidl/android/hardware/radio/RadioCapability.aidl +++ b/radio/aidl/android/hardware/radio/modem/RadioCapability.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.modem; import android.hardware.radio.RadioAccessFamily; diff --git a/radio/aidl/android/hardware/radio/RadioState.aidl b/radio/aidl/android/hardware/radio/modem/RadioState.aidl similarity index 95% rename from radio/aidl/android/hardware/radio/RadioState.aidl rename to radio/aidl/android/hardware/radio/modem/RadioState.aidl index 1915870316..b9826a4b36 100644 --- a/radio/aidl/android/hardware/radio/RadioState.aidl +++ b/radio/aidl/android/hardware/radio/modem/RadioState.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.modem; @VintfStability @Backing(type="int") diff --git a/radio/aidl/android/hardware/radio/ResetNvType.aidl b/radio/aidl/android/hardware/radio/modem/ResetNvType.aidl similarity index 95% rename from radio/aidl/android/hardware/radio/ResetNvType.aidl rename to radio/aidl/android/hardware/radio/modem/ResetNvType.aidl index 59c74da9f8..a1411c9290 100644 --- a/radio/aidl/android/hardware/radio/ResetNvType.aidl +++ b/radio/aidl/android/hardware/radio/modem/ResetNvType.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.modem; @VintfStability @Backing(type="int") diff --git a/radio/aidl/android/hardware/radio/AccessTechnologySpecificInfo.aidl b/radio/aidl/android/hardware/radio/network/AccessTechnologySpecificInfo.aidl similarity index 77% rename from radio/aidl/android/hardware/radio/AccessTechnologySpecificInfo.aidl rename to radio/aidl/android/hardware/radio/network/AccessTechnologySpecificInfo.aidl index 6f0640c63c..dfd62a7b8e 100644 --- a/radio/aidl/android/hardware/radio/AccessTechnologySpecificInfo.aidl +++ b/radio/aidl/android/hardware/radio/network/AccessTechnologySpecificInfo.aidl @@ -14,11 +14,11 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; -import android.hardware.radio.Cdma2000RegistrationInfo; -import android.hardware.radio.EutranRegistrationInfo; -import android.hardware.radio.NrVopsInfo; +import android.hardware.radio.network.Cdma2000RegistrationInfo; +import android.hardware.radio.network.EutranRegistrationInfo; +import android.hardware.radio.network.NrVopsInfo; @VintfStability union AccessTechnologySpecificInfo { @@ -27,7 +27,7 @@ union AccessTechnologySpecificInfo { EutranRegistrationInfo eutranInfo; /** * Network capabilities for voice over PS services. This info is valid only on NR network and - * must be present when the device is camped on NR. VopsInfo must be empty when the device is + * must be present when the device is camped on NR. NrVopsInfo must be empty when the device is * not camped on NR. */ NrVopsInfo ngranNrVopsInfo; diff --git a/radio/aidl/android/hardware/radio/BarringInfo.aidl b/radio/aidl/android/hardware/radio/network/BarringInfo.aidl similarity index 97% rename from radio/aidl/android/hardware/radio/BarringInfo.aidl rename to radio/aidl/android/hardware/radio/network/BarringInfo.aidl index 2bffa2e67c..da49ba51f3 100644 --- a/radio/aidl/android/hardware/radio/BarringInfo.aidl +++ b/radio/aidl/android/hardware/radio/network/BarringInfo.aidl @@ -14,9 +14,9 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; -import android.hardware.radio.BarringTypeSpecificInfo; +import android.hardware.radio.network.BarringTypeSpecificInfo; @VintfStability parcelable BarringInfo { diff --git a/radio/aidl/android/hardware/radio/BarringTypeSpecificInfo.aidl b/radio/aidl/android/hardware/radio/network/BarringTypeSpecificInfo.aidl similarity index 97% rename from radio/aidl/android/hardware/radio/BarringTypeSpecificInfo.aidl rename to radio/aidl/android/hardware/radio/network/BarringTypeSpecificInfo.aidl index c3b892b479..3899711420 100644 --- a/radio/aidl/android/hardware/radio/BarringTypeSpecificInfo.aidl +++ b/radio/aidl/android/hardware/radio/network/BarringTypeSpecificInfo.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; @VintfStability parcelable BarringTypeSpecificInfo { diff --git a/radio/aidl/android/hardware/radio/Cdma2000RegistrationInfo.aidl b/radio/aidl/android/hardware/radio/network/Cdma2000RegistrationInfo.aidl similarity index 97% rename from radio/aidl/android/hardware/radio/Cdma2000RegistrationInfo.aidl rename to radio/aidl/android/hardware/radio/network/Cdma2000RegistrationInfo.aidl index b9f3b66c54..6ea6cf92dc 100644 --- a/radio/aidl/android/hardware/radio/Cdma2000RegistrationInfo.aidl +++ b/radio/aidl/android/hardware/radio/network/Cdma2000RegistrationInfo.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; @VintfStability parcelable Cdma2000RegistrationInfo { diff --git a/radio/aidl/android/hardware/radio/CdmaRoamingType.aidl b/radio/aidl/android/hardware/radio/network/CdmaRoamingType.aidl similarity index 94% rename from radio/aidl/android/hardware/radio/CdmaRoamingType.aidl rename to radio/aidl/android/hardware/radio/network/CdmaRoamingType.aidl index df09e0337c..3da8c98346 100644 --- a/radio/aidl/android/hardware/radio/CdmaRoamingType.aidl +++ b/radio/aidl/android/hardware/radio/network/CdmaRoamingType.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; @VintfStability @Backing(type="int") diff --git a/radio/aidl/android/hardware/radio/CdmaSignalStrength.aidl b/radio/aidl/android/hardware/radio/network/CdmaSignalStrength.aidl similarity index 96% rename from radio/aidl/android/hardware/radio/CdmaSignalStrength.aidl rename to radio/aidl/android/hardware/radio/network/CdmaSignalStrength.aidl index e6c2fb5e2f..c7754f2ac7 100644 --- a/radio/aidl/android/hardware/radio/CdmaSignalStrength.aidl +++ b/radio/aidl/android/hardware/radio/network/CdmaSignalStrength.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; @VintfStability parcelable CdmaSignalStrength { diff --git a/radio/aidl/android/hardware/radio/CellConnectionStatus.aidl b/radio/aidl/android/hardware/radio/network/CellConnectionStatus.aidl similarity index 87% rename from radio/aidl/android/hardware/radio/CellConnectionStatus.aidl rename to radio/aidl/android/hardware/radio/network/CellConnectionStatus.aidl index faa9b28635..d9f5766d76 100644 --- a/radio/aidl/android/hardware/radio/CellConnectionStatus.aidl +++ b/radio/aidl/android/hardware/radio/network/CellConnectionStatus.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; @VintfStability @Backing(type="int") @@ -24,7 +24,7 @@ enum CellConnectionStatus { */ NONE, /** - * UE has connection to cell for signalling and possibly data (3GPP 36.331, 25.331). + * UE has connection to cell for signaling and possibly data (3GPP 36.331, 25.331). */ PRIMARY_SERVING, /** diff --git a/radio/aidl/android/hardware/radio/CellIdentity.aidl b/radio/aidl/android/hardware/radio/network/CellIdentity.aidl similarity index 70% rename from radio/aidl/android/hardware/radio/CellIdentity.aidl rename to radio/aidl/android/hardware/radio/network/CellIdentity.aidl index abfcc9d11f..af6d38e34f 100644 --- a/radio/aidl/android/hardware/radio/CellIdentity.aidl +++ b/radio/aidl/android/hardware/radio/network/CellIdentity.aidl @@ -14,14 +14,14 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; -import android.hardware.radio.CellIdentityCdma; -import android.hardware.radio.CellIdentityGsm; -import android.hardware.radio.CellIdentityLte; -import android.hardware.radio.CellIdentityNr; -import android.hardware.radio.CellIdentityTdscdma; -import android.hardware.radio.CellIdentityWcdma; +import android.hardware.radio.network.CellIdentityCdma; +import android.hardware.radio.network.CellIdentityGsm; +import android.hardware.radio.network.CellIdentityLte; +import android.hardware.radio.network.CellIdentityNr; +import android.hardware.radio.network.CellIdentityTdscdma; +import android.hardware.radio.network.CellIdentityWcdma; /** * A union representing the CellIdentity of a single cell. diff --git a/radio/aidl/android/hardware/radio/CellIdentityCdma.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityCdma.aidl similarity index 93% rename from radio/aidl/android/hardware/radio/CellIdentityCdma.aidl rename to radio/aidl/android/hardware/radio/network/CellIdentityCdma.aidl index 56867e982b..e271e50eac 100644 --- a/radio/aidl/android/hardware/radio/CellIdentityCdma.aidl +++ b/radio/aidl/android/hardware/radio/network/CellIdentityCdma.aidl @@ -14,9 +14,9 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; -import android.hardware.radio.CellIdentityOperatorNames; +import android.hardware.radio.network.CellIdentityOperatorNames; @VintfStability parcelable CellIdentityCdma { diff --git a/radio/aidl/android/hardware/radio/CellIdentityGsm.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityGsm.aidl similarity index 93% rename from radio/aidl/android/hardware/radio/CellIdentityGsm.aidl rename to radio/aidl/android/hardware/radio/network/CellIdentityGsm.aidl index f1c5042fe8..7b711ad747 100644 --- a/radio/aidl/android/hardware/radio/CellIdentityGsm.aidl +++ b/radio/aidl/android/hardware/radio/network/CellIdentityGsm.aidl @@ -14,9 +14,9 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; -import android.hardware.radio.CellIdentityOperatorNames; +import android.hardware.radio.network.CellIdentityOperatorNames; @VintfStability parcelable CellIdentityGsm { diff --git a/radio/aidl/android/hardware/radio/CellIdentityLte.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityLte.aidl similarity index 88% rename from radio/aidl/android/hardware/radio/CellIdentityLte.aidl rename to radio/aidl/android/hardware/radio/network/CellIdentityLte.aidl index 1a261a648f..d4f83a34b3 100644 --- a/radio/aidl/android/hardware/radio/CellIdentityLte.aidl +++ b/radio/aidl/android/hardware/radio/network/CellIdentityLte.aidl @@ -14,11 +14,11 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; -import android.hardware.radio.CellIdentityOperatorNames; -import android.hardware.radio.ClosedSubscriberGroupInfo; -import android.hardware.radio.EutranBands; +import android.hardware.radio.network.CellIdentityOperatorNames; +import android.hardware.radio.network.ClosedSubscriberGroupInfo; +import android.hardware.radio.network.EutranBands; @VintfStability parcelable CellIdentityLte { diff --git a/radio/aidl/android/hardware/radio/CellIdentityNr.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityNr.aidl similarity index 93% rename from radio/aidl/android/hardware/radio/CellIdentityNr.aidl rename to radio/aidl/android/hardware/radio/network/CellIdentityNr.aidl index 6879c63faa..dfccbf7e63 100644 --- a/radio/aidl/android/hardware/radio/CellIdentityNr.aidl +++ b/radio/aidl/android/hardware/radio/network/CellIdentityNr.aidl @@ -14,10 +14,10 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; -import android.hardware.radio.CellIdentityOperatorNames; -import android.hardware.radio.NgranBands; +import android.hardware.radio.network.CellIdentityOperatorNames; +import android.hardware.radio.network.NgranBands; /** * The CellIdentity structure should be reported once for each element of the PLMN-IdentityInfoList diff --git a/radio/aidl/android/hardware/radio/CellIdentityOperatorNames.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityOperatorNames.aidl similarity index 95% rename from radio/aidl/android/hardware/radio/CellIdentityOperatorNames.aidl rename to radio/aidl/android/hardware/radio/network/CellIdentityOperatorNames.aidl index dea9929f73..540014ad52 100644 --- a/radio/aidl/android/hardware/radio/CellIdentityOperatorNames.aidl +++ b/radio/aidl/android/hardware/radio/network/CellIdentityOperatorNames.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; @VintfStability parcelable CellIdentityOperatorNames { diff --git a/radio/aidl/android/hardware/radio/CellIdentityTdscdma.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityTdscdma.aidl similarity index 90% rename from radio/aidl/android/hardware/radio/CellIdentityTdscdma.aidl rename to radio/aidl/android/hardware/radio/network/CellIdentityTdscdma.aidl index 8232245833..99c8151fc8 100644 --- a/radio/aidl/android/hardware/radio/CellIdentityTdscdma.aidl +++ b/radio/aidl/android/hardware/radio/network/CellIdentityTdscdma.aidl @@ -14,10 +14,10 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; -import android.hardware.radio.CellIdentityOperatorNames; -import android.hardware.radio.ClosedSubscriberGroupInfo; +import android.hardware.radio.network.CellIdentityOperatorNames; +import android.hardware.radio.network.ClosedSubscriberGroupInfo; @VintfStability parcelable CellIdentityTdscdma { diff --git a/radio/aidl/android/hardware/radio/CellIdentityWcdma.aidl b/radio/aidl/android/hardware/radio/network/CellIdentityWcdma.aidl similarity index 90% rename from radio/aidl/android/hardware/radio/CellIdentityWcdma.aidl rename to radio/aidl/android/hardware/radio/network/CellIdentityWcdma.aidl index 3432747943..302be9645d 100644 --- a/radio/aidl/android/hardware/radio/CellIdentityWcdma.aidl +++ b/radio/aidl/android/hardware/radio/network/CellIdentityWcdma.aidl @@ -14,10 +14,10 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; -import android.hardware.radio.CellIdentityOperatorNames; -import android.hardware.radio.ClosedSubscriberGroupInfo; +import android.hardware.radio.network.CellIdentityOperatorNames; +import android.hardware.radio.network.ClosedSubscriberGroupInfo; @VintfStability parcelable CellIdentityWcdma { diff --git a/radio/aidl/android/hardware/radio/CellInfo.aidl b/radio/aidl/android/hardware/radio/network/CellInfo.aidl similarity index 80% rename from radio/aidl/android/hardware/radio/CellInfo.aidl rename to radio/aidl/android/hardware/radio/network/CellInfo.aidl index fe4f330611..58cf9f5838 100644 --- a/radio/aidl/android/hardware/radio/CellInfo.aidl +++ b/radio/aidl/android/hardware/radio/network/CellInfo.aidl @@ -14,10 +14,10 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; -import android.hardware.radio.CellConnectionStatus; -import android.hardware.radio.CellInfoCellInfoRatSpecificInfo; +import android.hardware.radio.network.CellConnectionStatus; +import android.hardware.radio.network.CellInfoRatSpecificInfo; @VintfStability parcelable CellInfo { @@ -29,5 +29,5 @@ parcelable CellInfo { * Connection status for the cell. */ CellConnectionStatus connectionStatus; - CellInfoCellInfoRatSpecificInfo ratSpecificInfo; + CellInfoRatSpecificInfo ratSpecificInfo; } diff --git a/radio/aidl/android/hardware/radio/CellInfoCdma.aidl b/radio/aidl/android/hardware/radio/network/CellInfoCdma.aidl similarity index 78% rename from radio/aidl/android/hardware/radio/CellInfoCdma.aidl rename to radio/aidl/android/hardware/radio/network/CellInfoCdma.aidl index 27a35d1247..6d9291827a 100644 --- a/radio/aidl/android/hardware/radio/CellInfoCdma.aidl +++ b/radio/aidl/android/hardware/radio/network/CellInfoCdma.aidl @@ -14,11 +14,11 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; -import android.hardware.radio.CdmaSignalStrength; -import android.hardware.radio.CellIdentityCdma; -import android.hardware.radio.EvdoSignalStrength; +import android.hardware.radio.network.CdmaSignalStrength; +import android.hardware.radio.network.CellIdentityCdma; +import android.hardware.radio.network.EvdoSignalStrength; @VintfStability parcelable CellInfoCdma { diff --git a/radio/aidl/android/hardware/radio/CellInfoGsm.aidl b/radio/aidl/android/hardware/radio/network/CellInfoGsm.aidl similarity index 83% rename from radio/aidl/android/hardware/radio/CellInfoGsm.aidl rename to radio/aidl/android/hardware/radio/network/CellInfoGsm.aidl index 16ba8574ef..fc85248590 100644 --- a/radio/aidl/android/hardware/radio/CellInfoGsm.aidl +++ b/radio/aidl/android/hardware/radio/network/CellInfoGsm.aidl @@ -14,10 +14,10 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; -import android.hardware.radio.CellIdentityGsm; -import android.hardware.radio.GsmSignalStrength; +import android.hardware.radio.network.CellIdentityGsm; +import android.hardware.radio.network.GsmSignalStrength; @VintfStability parcelable CellInfoGsm { diff --git a/radio/aidl/android/hardware/radio/CellInfoLte.aidl b/radio/aidl/android/hardware/radio/network/CellInfoLte.aidl similarity index 83% rename from radio/aidl/android/hardware/radio/CellInfoLte.aidl rename to radio/aidl/android/hardware/radio/network/CellInfoLte.aidl index d3389c1564..22db722c99 100644 --- a/radio/aidl/android/hardware/radio/CellInfoLte.aidl +++ b/radio/aidl/android/hardware/radio/network/CellInfoLte.aidl @@ -14,10 +14,10 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; -import android.hardware.radio.CellIdentityLte; -import android.hardware.radio.LteSignalStrength; +import android.hardware.radio.network.CellIdentityLte; +import android.hardware.radio.network.LteSignalStrength; @VintfStability parcelable CellInfoLte { diff --git a/radio/aidl/android/hardware/radio/CellInfoNr.aidl b/radio/aidl/android/hardware/radio/network/CellInfoNr.aidl similarity index 83% rename from radio/aidl/android/hardware/radio/CellInfoNr.aidl rename to radio/aidl/android/hardware/radio/network/CellInfoNr.aidl index b1f311f113..fbf026ec32 100644 --- a/radio/aidl/android/hardware/radio/CellInfoNr.aidl +++ b/radio/aidl/android/hardware/radio/network/CellInfoNr.aidl @@ -14,10 +14,10 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; -import android.hardware.radio.CellIdentityNr; -import android.hardware.radio.NrSignalStrength; +import android.hardware.radio.network.CellIdentityNr; +import android.hardware.radio.network.NrSignalStrength; @VintfStability parcelable CellInfoNr { diff --git a/radio/aidl/android/hardware/radio/CellInfoCellInfoRatSpecificInfo.aidl b/radio/aidl/android/hardware/radio/network/CellInfoRatSpecificInfo.aidl similarity index 69% rename from radio/aidl/android/hardware/radio/CellInfoCellInfoRatSpecificInfo.aidl rename to radio/aidl/android/hardware/radio/network/CellInfoRatSpecificInfo.aidl index cdd33863de..7e8a437873 100644 --- a/radio/aidl/android/hardware/radio/CellInfoCellInfoRatSpecificInfo.aidl +++ b/radio/aidl/android/hardware/radio/network/CellInfoRatSpecificInfo.aidl @@ -14,17 +14,17 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; -import android.hardware.radio.CellInfoCdma; -import android.hardware.radio.CellInfoGsm; -import android.hardware.radio.CellInfoLte; -import android.hardware.radio.CellInfoNr; -import android.hardware.radio.CellInfoTdscdma; -import android.hardware.radio.CellInfoWcdma; +import android.hardware.radio.network.CellInfoCdma; +import android.hardware.radio.network.CellInfoGsm; +import android.hardware.radio.network.CellInfoLte; +import android.hardware.radio.network.CellInfoNr; +import android.hardware.radio.network.CellInfoTdscdma; +import android.hardware.radio.network.CellInfoWcdma; @VintfStability -union CellInfoCellInfoRatSpecificInfo { +union CellInfoRatSpecificInfo { /** * 3gpp CellInfo types. */ diff --git a/radio/aidl/android/hardware/radio/CellInfoTdscdma.aidl b/radio/aidl/android/hardware/radio/network/CellInfoTdscdma.aidl similarity index 82% rename from radio/aidl/android/hardware/radio/CellInfoTdscdma.aidl rename to radio/aidl/android/hardware/radio/network/CellInfoTdscdma.aidl index b7d09bc07b..e07e721c7d 100644 --- a/radio/aidl/android/hardware/radio/CellInfoTdscdma.aidl +++ b/radio/aidl/android/hardware/radio/network/CellInfoTdscdma.aidl @@ -14,10 +14,10 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; -import android.hardware.radio.CellIdentityTdscdma; -import android.hardware.radio.TdscdmaSignalStrength; +import android.hardware.radio.network.CellIdentityTdscdma; +import android.hardware.radio.network.TdscdmaSignalStrength; @VintfStability parcelable CellInfoTdscdma { diff --git a/radio/aidl/android/hardware/radio/CellInfoWcdma.aidl b/radio/aidl/android/hardware/radio/network/CellInfoWcdma.aidl similarity index 82% rename from radio/aidl/android/hardware/radio/CellInfoWcdma.aidl rename to radio/aidl/android/hardware/radio/network/CellInfoWcdma.aidl index 03b086367a..38b6903109 100644 --- a/radio/aidl/android/hardware/radio/CellInfoWcdma.aidl +++ b/radio/aidl/android/hardware/radio/network/CellInfoWcdma.aidl @@ -14,10 +14,10 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; -import android.hardware.radio.CellIdentityWcdma; -import android.hardware.radio.WcdmaSignalStrength; +import android.hardware.radio.network.CellIdentityWcdma; +import android.hardware.radio.network.WcdmaSignalStrength; @VintfStability parcelable CellInfoWcdma { diff --git a/radio/aidl/android/hardware/radio/ClosedSubscriberGroupInfo.aidl b/radio/aidl/android/hardware/radio/network/ClosedSubscriberGroupInfo.aidl similarity index 97% rename from radio/aidl/android/hardware/radio/ClosedSubscriberGroupInfo.aidl rename to radio/aidl/android/hardware/radio/network/ClosedSubscriberGroupInfo.aidl index 7c6fb7a5fe..b5b4add416 100644 --- a/radio/aidl/android/hardware/radio/ClosedSubscriberGroupInfo.aidl +++ b/radio/aidl/android/hardware/radio/network/ClosedSubscriberGroupInfo.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; @VintfStability parcelable ClosedSubscriberGroupInfo { diff --git a/radio/aidl/android/hardware/radio/Domain.aidl b/radio/aidl/android/hardware/radio/network/Domain.aidl similarity index 95% rename from radio/aidl/android/hardware/radio/Domain.aidl rename to radio/aidl/android/hardware/radio/network/Domain.aidl index f5e5261310..b62f0eeb72 100644 --- a/radio/aidl/android/hardware/radio/Domain.aidl +++ b/radio/aidl/android/hardware/radio/network/Domain.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; @VintfStability @Backing(type="int") diff --git a/radio/aidl/android/hardware/radio/EutranBands.aidl b/radio/aidl/android/hardware/radio/network/EutranBands.aidl similarity index 97% rename from radio/aidl/android/hardware/radio/EutranBands.aidl rename to radio/aidl/android/hardware/radio/network/EutranBands.aidl index 59fe6c4036..48ee26e179 100644 --- a/radio/aidl/android/hardware/radio/EutranBands.aidl +++ b/radio/aidl/android/hardware/radio/network/EutranBands.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; /** * EUTRAN bands up to V16.4.0 diff --git a/radio/aidl/android/hardware/radio/EutranRegistrationInfo.aidl b/radio/aidl/android/hardware/radio/network/EutranRegistrationInfo.aidl similarity index 88% rename from radio/aidl/android/hardware/radio/EutranRegistrationInfo.aidl rename to radio/aidl/android/hardware/radio/network/EutranRegistrationInfo.aidl index 0f8f949b9d..5e19c56690 100644 --- a/radio/aidl/android/hardware/radio/EutranRegistrationInfo.aidl +++ b/radio/aidl/android/hardware/radio/network/EutranRegistrationInfo.aidl @@ -14,10 +14,10 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; -import android.hardware.radio.LteVopsInfo; -import android.hardware.radio.NrIndicators; +import android.hardware.radio.network.LteVopsInfo; +import android.hardware.radio.network.NrIndicators; @VintfStability parcelable EutranRegistrationInfo { diff --git a/radio/aidl/android/hardware/radio/EvdoSignalStrength.aidl b/radio/aidl/android/hardware/radio/network/EvdoSignalStrength.aidl similarity index 96% rename from radio/aidl/android/hardware/radio/EvdoSignalStrength.aidl rename to radio/aidl/android/hardware/radio/network/EvdoSignalStrength.aidl index ff631f311b..0ab8b59024 100644 --- a/radio/aidl/android/hardware/radio/EvdoSignalStrength.aidl +++ b/radio/aidl/android/hardware/radio/network/EvdoSignalStrength.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; @VintfStability parcelable EvdoSignalStrength { diff --git a/radio/aidl/android/hardware/radio/GeranBands.aidl b/radio/aidl/android/hardware/radio/network/GeranBands.aidl similarity index 95% rename from radio/aidl/android/hardware/radio/GeranBands.aidl rename to radio/aidl/android/hardware/radio/network/GeranBands.aidl index d3a7598570..573d77146b 100644 --- a/radio/aidl/android/hardware/radio/GeranBands.aidl +++ b/radio/aidl/android/hardware/radio/network/GeranBands.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; @VintfStability @Backing(type="int") diff --git a/radio/aidl/android/hardware/radio/GsmSignalStrength.aidl b/radio/aidl/android/hardware/radio/network/GsmSignalStrength.aidl similarity index 96% rename from radio/aidl/android/hardware/radio/GsmSignalStrength.aidl rename to radio/aidl/android/hardware/radio/network/GsmSignalStrength.aidl index 65f853a1f7..539e1cec87 100644 --- a/radio/aidl/android/hardware/radio/GsmSignalStrength.aidl +++ b/radio/aidl/android/hardware/radio/network/GsmSignalStrength.aidl @@ -14,7 +14,7 @@ * limitations under the License. */ -package android.hardware.radio; +package android.hardware.radio.network; @VintfStability parcelable GsmSignalStrength { diff --git a/radio/aidl/android/hardware/radio/network/IRadioNetwork.aidl b/radio/aidl/android/hardware/radio/network/IRadioNetwork.aidl new file mode 100644 index 0000000000..0db918d8f5 --- /dev/null +++ b/radio/aidl/android/hardware/radio/network/IRadioNetwork.aidl @@ -0,0 +1,444 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.hardware.radio.network; + +import android.hardware.radio.AccessNetwork; +import android.hardware.radio.RadioAccessFamily; +import android.hardware.radio.network.CdmaRoamingType; +import android.hardware.radio.network.IRadioNetworkIndication; +import android.hardware.radio.network.IRadioNetworkResponse; +import android.hardware.radio.network.IndicationFilter; +import android.hardware.radio.network.NetworkScanRequest; +import android.hardware.radio.network.NrDualConnectivityState; +import android.hardware.radio.network.RadioAccessSpecifier; +import android.hardware.radio.network.RadioBandMode; +import android.hardware.radio.network.SignalThresholdInfo; + +/** + * This interface is used by telephony and telecom to talk to cellular radio for network APIs. + * All the functions have minimum one parameter: + * serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the + * duration of a method call. If clients provide colliding serials (including passing the same + * serial to different methods), multiple responses (one for each method call) must still be served. + * setResponseFunctions must work with IRadioNetworkResponse and IRadioNetworkIndication. + */ +@VintfStability +oneway interface IRadioNetwork { + /** + * Requests bitmap representing the currently allowed network types. + * + * @param serial Serial number of request. + * + * Response function is IRadioNetworkResponse.getAllowedNetworkTypesBitmapResponse() + */ + void getAllowedNetworkTypesBitmap(in int serial); + + /** + * Get the list of band modes supported by RF. + * + * @param serial Serial number of request. + * + * Response function is IRadioNetworkResponse.getAvailableBandModesResponse() + */ + void getAvailableBandModes(in int serial); + + /** + * Scans for available networks + * + * @param serial Serial number of request. + * + * Response function is IRadioNetworkResponse.getAvailableNetworksResponse() + */ + void getAvailableNetworks(in int serial); + + /** + * Get all the barring info for the current camped cell applicable to the current user. + * + * @param serial Serial number of request. + * + * Response function is IRadioNetworkResponse.getBarringInfoResponse() + */ + void getBarringInfo(in int serial); + + /** + * Request the actual setting of the roaming preferences in CDMA in the modem + * + * @param serial Serial number of request. + * + * Response function is IRadioNetworkResponse.getCdmaRoamingPreferenceResponse() + */ + void getCdmaRoamingPreference(in int serial); + + /** + * Request all of the current cell information known to the radio. The radio must return a list + * of all current cells, including the neighboring cells. If for a particular cell information + * isn't known then the appropriate unknown value will be returned. + * This does not cause or change the rate of unsolicited cellInfoList(). + * + * @param serial Serial number of request. + * + * Response function is IRadioNetworkResponse.getCellInfoListResponse() + */ + void getCellInfoList(in int serial); + + /** + * Request current data registration state. + * + * @param serial Serial number of request. + * + * Response function is IRadioNetworkResponse.getDataRegistrationStateResponse() + */ + void getDataRegistrationState(in int serial); + + /** + * Request current IMS registration state + * + * @param serial Serial number of request. + * + * Response function is IRadioNetworkResponse.getImsRegistrationStateResponse() + */ + void getImsRegistrationState(in int serial); + + /** + * Request neighboring cell id in GSM network + * + * @param serial Serial number of request. + * + * Response function is IRadioNetworkResponse.getNeighboringCidsResponse() + */ + void getNeighboringCids(in int serial); + + /** + * Query current network selection mode + * + * @param serial Serial number of request. + * + * Response function is IRadioNetworkResponse.getNetworkSelectionModeResponse() + */ + void getNetworkSelectionMode(in int serial); + + /** + * Request current operator ONS or EONS + * + * @param serial Serial number of request. + * + * Response function is IRadioNetworkResponse.getOperatorResponse() + */ + void getOperator(in int serial); + + /** + * Requests current signal strength and associated information. Must succeed if radio is on. + * + * @param serial Serial number of request. + * + * Response function is IRadioNetworkResponse.getSignalStrengthResponse() + */ + void getSignalStrength(in int serial); + + /** + * Get which bands the modem's background scan is acting on. + * + * @param serial Serial number of request. + * + * Response function is IRadioNetworkResponse.getSystemSelectionChannelsResponse() + */ + void getSystemSelectionChannels(in int serial); + + /** + * Query the radio technology type (3GPP/3GPP2) used for voice. Query is valid only + * when radio state is not RADIO_STATE_UNAVAILABLE + * + * @param serial Serial number of request. + * + * Response function is IRadioNetworkResponse.getVoiceRadioTechnologyResponse() + */ + void getVoiceRadioTechnology(in int serial); + + /** + * Request current voice registration state. + * + * @param serial Serial number of request. + * + * Response function is IRadioNetworkResponse.getVoiceRegistrationStateResponse() + */ + void getVoiceRegistrationState(in int serial); + + /** + * Is E-UTRA-NR Dual Connectivity enabled + * + * @param serial Serial number of request. + * + * Response function is IRadioNetworkResponse.isNrDualConnectivityEnabledResponse() + */ + void isNrDualConnectivityEnabled(in int serial); + + /** + * Pull LCE service for capacity information. + * + * @param serial Serial number of request. + * + * Response function is IRadioNetworkResponse.pullLceDataResponse() + */ + void pullLceData(in int serial); + + /** + * When response type received from a radio indication or radio response is + * RadioIndicationType:UNSOLICITED_ACK_EXP or RadioResponseType:SOLICITED_ACK_EXP respectively, + * acknowledge the receipt of those messages by sending responseAcknowledgement(). + */ + void responseAcknowledgement(); + + /** + * Requests to set the network type for searching and registering. Instruct the radio to + * *only* accept the types of network provided. In case of an emergency call, the modem is + * authorized to bypass this restriction. + * + * @param serial Serial number of request. + * @param networkTypeBitmap a 32-bit bearer bitmap of RadioAccessFamily + * + * Response function is IRadioNetworkResponse.setAllowedNetworkTypesBitmapResponse() + */ + void setAllowedNetworkTypesBitmap(in int serial, in RadioAccessFamily networkTypeBitmap); + + /** + * Assign a specified band for RF configuration. + * + * @param serial Serial number of request. + * @param mode RadioBandMode + * + * Response function is IRadioNetworkResponse.setBandModeResponse() + */ + void setBandMode(in int serial, in RadioBandMode mode); + + /** + * Change call barring facility password + * + * @param serial Serial number of request. + * @param facility facility string code from TS 27.007 7.4 (eg "AO" for BAOC) + * @param oldPassword old password + * @param newPassword new password + * + * Response function is IRadioNetworkResponse.setBarringPasswordResponse() + */ + void setBarringPassword( + in int serial, in String facility, in String oldPassword, in String newPassword); + + /** + * Request to set the roaming preferences in CDMA + * + * @param serial Serial number of request. + * @param type CdmaRoamingType defined in types.hal + * + * Response function is IRadioNetworkResponse.setCdmaRoamingPreferenceResponse() + */ + void setCdmaRoamingPreference(in int serial, in CdmaRoamingType type); + + /** + * Sets the minimum time between when unsolicited cellInfoList() must be invoked. + * A value of 0, means invoke cellInfoList() when any of the reported information changes. + * Setting the value to INT_MAX(0x7fffffff) means never issue a unsolicited cellInfoList(). + * + * @param serial Serial number of request. + * @param rate minimum time in milliseconds to indicate time between unsolicited cellInfoList() + * + * Response function is IRadioNetworkResponse.setCellInfoListRateResponse() + */ + void setCellInfoListRate(in int serial, in int rate); + + /** + * Sets the indication filter. Prevents the reporting of specified unsolicited indications from + * the radio. This is used for power saving in instances when those indications are not needed. + * If unset, defaults to IndicationFilter:ALL. + * + * @param serial Serial number of request. + * @param indicationFilter 32-bit bitmap of IndicationFilter. Bits set to 1 indicate the + * indications are enabled. See IndicationFilter for the definition of each bit. + * + * Response function is IRadioNetworkResponse.setIndicationFilterResponse() + */ + void setIndicationFilter(in int serial, in IndicationFilter indicationFilter); + + /** + * Sets the link capacity reporting criteria. The resulting reporting criteria are the AND of + * all the supplied criteria. Note that reporting criteria must be individually set for each + * RAN. If unset, reporting criteria for that RAN are implementation-defined. + * + * @param serial Serial number of request. + * @param hysteresisMs A hysteresis time in milliseconds to prevent flapping. A value of 0 + * disables hysteresis. + * @param hysteresisDlKbps An interval in kbps defining the required magnitude change between DL + * reports. hysteresisDlKbps must be smaller than the smallest threshold delta. A value + * of 0 disables hysteresis. + * @param hysteresisUlKbps An interval in kbps defining the required magnitude change between UL + * reports. hysteresisUlKbps must be smaller than the smallest threshold delta. A value + * of 0 disables hysteresis. + * @param thresholdsDownlinkKbps A vector of trigger thresholds in kbps for downlink reports. A + * vector size of 0 disables the use of DL thresholds for reporting. + * @param thresholdsUplinkKbps A vector of trigger thresholds in kbps for uplink reports. A + * vector size of 0 disables the use of UL thresholds for reporting. + * @param accessNetwork The type of network for which to apply these thresholds. + * + * Response function is IRadioNetworkResponse.setLinkCapacityReportingCriteriaResponse(). + */ + void setLinkCapacityReportingCriteria(in int serial, in int hysteresisMs, + in int hysteresisDlKbps, in int hysteresisUlKbps, in int[] thresholdsDownlinkKbps, + in int[] thresholdsUplinkKbps, in AccessNetwork accessNetwork); + + /** + * Enables/disables network state change notifications due to changes in LAC and/or CID (for + * GSM) or BID/SID/NID/latitude/longitude (for CDMA). Basically +CREG=2 vs. +CREG=1 (TS 27.007). + * The Radio implementation must default to "updates enabled" when the screen is on and + * "updates disabled" when the screen is off. + * + * @param serial Serial number of request. + * @param enable true=updates enabled (+CREG=2), false=updates disabled (+CREG=1) + * + * Response function is IRadioNetworkResponse.setLocationUpdatesResponse() + */ + void setLocationUpdates(in int serial, in boolean enable); + + /** + * Specify that the network must be selected automatically. + * This request must not respond until the new operator is selected and registered. + * + * @param serial Serial number of request. + * + * Response function is IRadioNetworkResponse.setNetworkSelectionModeAutomaticResponse() + */ + void setNetworkSelectionModeAutomatic(in int serial); + + /** + * Manually select a specified network. This request must not respond until the new operator is + * selected and registered. Per TS 23.122, the RAN is just the initial suggested value. + * If registration fails, the RAN is not available afterwards, or the RAN is not within the + * network types specified by IRadioNetwork::setAllowedNetworkTypeBitmap, then the modem will + * need to select the next best RAN for network registration. + * + * @param serial Serial number of request. + * @param operatorNumeric String specifying MCCMNC of network to select (eg "310170"). + * @param ran Initial suggested access network type. If value is UNKNOWN, the modem will select + * the next best RAN for network registration. + * + * Response function is IRadioNetworkResponse.setNetworkSelectionModeManualResponse() + */ + void setNetworkSelectionModeManual( + in int serial, in String operatorNumeric, in AccessNetwork ran); + + /** + * Enable or disable E-UTRA-NR dual connectivity. If disabled then UE will not connect + * to secondary carrier. + * + * @param serial Serial number of request. + * @param nrDualConnectivityState expected NR dual connectivity state. + * 1: Enable NR dual connectivity {NrDualConnectivityState:ENABLE} + * 2: Disable NR dual connectivity {NrDualConnectivityState:DISABLE} + * 3: Disable NR dual connectivity and force secondary cell to be released + * {NrDualConnectivityState:DISABLE_IMMEDIATE} + * + * Response function is IRadioNetworkResponse.setNrDualConnectivityStateResponse() + */ + void setNrDualConnectivityState( + in int serial, in NrDualConnectivityState nrDualConnectivityState); + + /** + * Set response functions for network radio requests and indications. + * + * @param radioNetworkResponse Object containing response functions + * @param radioNetworkIndication Object containing radio indications + */ + void setResponseFunctions(in IRadioNetworkResponse radioNetworkResponse, + in IRadioNetworkIndication radioNetworkIndication); + + /** + * Sets the signal strength reporting criteria. The resulting reporting rules are the AND of all + * the supplied criteria. For each RAN the hysteresisDb and thresholds apply to only the + * following measured quantities: + * -GERAN - RSSI + * -CDMA2000 - RSSI + * -UTRAN - RSCP + * -EUTRAN - RSRP/RSRQ/RSSNR + * -NGRAN - SSRSRP/SSRSRQ/SSSINR + * Note that reporting criteria must be individually set for each RAN. For each RAN, if none of + * reporting criteria of any measurement is set enabled (see SignalThresholdInfo.isEnabled), + * the reporting criteria for this RAN is implementation-defined. For each RAN, if any reporting + * criteria of any measure is set enabled, the reporting criteria of the other measures in this + * RAN are set disabled (see SignalThresholdInfo.isEnabled) until they are set enabled. + * + * @param serial Serial number of request. + * @param signalThresholdInfo Signal threshold info including the threshold values, + * hysteresisDb, hysteresisMs and isEnabled. See SignalThresholdInfo for details. + * @param accessNetwork The type of network for which to apply these thresholds. + * + * Response function is IRadioNetworkResponse.setSignalStrengthReportingCriteriaResponse() + */ + void setSignalStrengthReportingCriteria(in int serial, + in SignalThresholdInfo signalThresholdInfo, in AccessNetwork accessNetwork); + + /** + * Enables/disables supplementary service related notifications from the network. + * Notifications are reported via unsolSuppSvcNotification(). + * + * @param serial Serial number of request. + * @param enable true = notifications enabled, false = notifications disabled. + * + * Response function is IRadioNetworkResponse.setSuppServiceNotificationsResponse() + */ + void setSuppServiceNotifications(in int serial, in boolean enable); + + /** + * Specify which bands modem's background scan must act on. If specifyChannels is true, it only + * scans bands specified in specifiers. If specifyChannels is false, it scans all bands. For + * example, CBRS is only on LTE band 48. By specifying this band, modem saves more power. + * + * @param serial Serial number of request. + * @param specifyChannels whether to scan bands defined in specifiers. + * @param specifiers which bands to scan. Only used if specifyChannels is true. + * + * Response function is IRadioNetworkResponse.setSystemSelectionChannelsResponse() + */ + void setSystemSelectionChannels( + in int serial, in boolean specifyChannels, in RadioAccessSpecifier[] specifiers); + + /** + * Starts a network scan. + * + * @param serial Serial number of request. + * @param request Defines the radio networks/bands/channels which need to be scanned. + * + * Response function is IRadioNetworkResponse.startNetworkScanResponse() + */ + void startNetworkScan(in int serial, in NetworkScanRequest request); + + /** + * Stops ongoing network scan + * + * @param serial Serial number of request. + * + * Response function is IRadioNetworkResponse.stopNetworkScanResponse() + */ + void stopNetworkScan(in int serial); + + /** + * Requests that network personalization be deactivated + * + * @param serial Serial number of request. + * @param netPin Network depersonlization code + * + * Response function is IRadioNetworkResponse.supplyNetworkDepersonalizationResponse() + */ + void supplyNetworkDepersonalization(in int serial, in String netPin); +} diff --git a/radio/aidl/android/hardware/radio/network/IRadioNetworkIndication.aidl b/radio/aidl/android/hardware/radio/network/IRadioNetworkIndication.aidl new file mode 100644 index 0000000000..a2fac202c5 --- /dev/null +++ b/radio/aidl/android/hardware/radio/network/IRadioNetworkIndication.aidl @@ -0,0 +1,188 @@ +/* + * Copyright (C) 2021 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.hardware.radio.network; + +import android.hardware.radio.RadioIndicationType; +import android.hardware.radio.RadioTechnology; +import android.hardware.radio.network.BarringInfo; +import android.hardware.radio.network.CellIdentity; +import android.hardware.radio.network.CellInfo; +import android.hardware.radio.network.Domain; +import android.hardware.radio.network.LinkCapacityEstimate; +import android.hardware.radio.network.NetworkScanResult; +import android.hardware.radio.network.PhoneRestrictedState; +import android.hardware.radio.network.PhysicalChannelConfig; +import android.hardware.radio.network.SignalStrength; +import android.hardware.radio.network.SuppSvcNotification; + +/** + * Interface declaring unsolicited radio indications for network APIs. + */ +@VintfStability +oneway interface IRadioNetworkIndication { + /** + * Indicate barring information for the user’s access category / access class and PLMN. + * + *
Provide information about the barring status of the cell for the user. The information + * provided should describe all barring configurations that are applicable to the current user, + * even if the user is not currently barred (due to conditional barring). This informs Android + * of likely future (statistical) barring for specific services. + * + *
This indication should be sent whenever the cell’s barring config changes for the current + * user, or if the user’s conditional barring status changes due to re-evaluation of the + * barring conditions. Barring status will likely change when the device camps for service, + * when PLMN selection is completed, when the device attempts to access a conditionally barred + * service, and when the System Information including barring info for a camped cell is updated. + * + * @param type Type of radio indication + * @param cellIdentity cellIdentity for the barring infos + * @param barringInfos a vector of BarringInfos for all barring service types + */ + void barringInfoChanged(in RadioIndicationType type, in CellIdentity cellIdentity, + in BarringInfo[] barringInfos); + + /** + * Indicates when PRL (preferred roaming list) changes. + * + * @param type Type of radio indication + * @param version PRL version after PRL changes + */ + void cdmaPrlChanged(in RadioIndicationType type, in int version); + + /** + * Report all of the current cell information known to the radio. + * + * @param type Type of radio indication + * @param records Current cell information + */ + void cellInfoList(in RadioIndicationType type, in CellInfo[] records); + + /** + * Indicates current link capacity estimate. This indication is sent whenever the reporting + * criteria, as set by IRadioNetwork.setLinkCapacityReportingCriteria(), are met and the + * indication is not suppressed by IRadioNetwork.setIndicationFilter(). + * + * @param type Type of radio indication + * @param lce LinkCapacityEstimate + */ + void currentLinkCapacityEstimate(in RadioIndicationType type, in LinkCapacityEstimate lce); + + /** + * Indicates physical channel configurations. An empty configs list shall be returned when the + * radio is in idle mode (i.e. RRC idle). + * + * @param type Type of radio indication + * @param configs Vector of PhysicalChannelConfigs + */ + void currentPhysicalChannelConfigs( + in RadioIndicationType type, in PhysicalChannelConfig[] configs); + + /** + * Indicates current signal strength of the radio. + * + * @param type Type of radio indication + * @param signalStrength SignalStrength information + */ + void currentSignalStrength(in RadioIndicationType type, in SignalStrength signalStrength); + + /** + * Indicates when IMS registration state has changed. To get IMS registration state and IMS SMS + * format, callee needs to invoke getImsRegistrationState(). + * + * @param type Type of radio indication + */ + void imsNetworkStateChanged(in RadioIndicationType type); + + /** + * Incremental network scan results. + * + * @param type Type of radio indication + * @param result the result of the network scan + */ + void networkScanResult(in RadioIndicationType type, in NetworkScanResult result); + + /** + * Indicates when voice or data network state changed. Callee must invoke + * IRadioNetwork.getVoiceRegistrationState(), IRadioNetwork.getDataRegistrationState(), and + * IRadioNetwork.getOperator() + * + * @param type Type of radio indication + */ + void networkStateChanged(in RadioIndicationType type); + + /** + * Indicates when radio has received a NITZ time message. + * + * @param type Type of radio indication + * @param nitzTime NITZ time string in the form "yy/mm/dd,hh:mm:ss(+/-)tz,dt" + * @param receivedTime milliseconds since boot that the NITZ time was received + */ + void nitzTimeReceived(in RadioIndicationType type, in String nitzTime, in long receivedTime); + + /** + * Report that Registration or a Location/Routing/Tracking Area update has failed. + * + *
Indicate whenever a registration procedure, including a location, routing, or tracking
+ * area update fails. This includes procedures that do not necessarily result in a change of
+ * the modem's registration status. If the modem's registration status changes, that is
+ * reflected in the onNetworkStateChanged() and subsequent get{Voice/Data}RegistrationState().
+ *
+ * @param cellIdentity the CellIdentity, which must include the globally unique identifier for
+ * the cell (for example, all components of the CGI or ECGI).
+ * @param chosenPlmn a 5 or 6 digit alphanumeric PLMN (MCC|MNC) among those broadcast by the
+ * cell that was chosen for the failed registration attempt.
+ * @param domain Domain::CS, Domain::PS, or both in case of a combined procedure.
+ * @param causeCode the primary failure cause code of the procedure.
+ * For GSM/UMTS (MM), values are in TS 24.008 Sec 10.5.95
+ * For GSM/UMTS (GMM), values are in TS 24.008 Sec 10.5.147
+ * For LTE (EMM), cause codes are TS 24.301 Sec 9.9.3.9
+ * For NR (5GMM), cause codes are TS 24.501 Sec 9.11.3.2
+ * MAX_INT if this value is unused.
+ * @param additionalCauseCode the cause code of any secondary/combined procedure if appropriate.
+ * For UMTS, if a combined attach succeeds for PS only, then the GMM cause code shall be
+ * included as an additionalCauseCode.
+ * For LTE (ESM), cause codes are in TS 24.301 9.9.4.4
+ * MAX_INT if this value is unused.
+ */
+ void registrationFailed(in RadioIndicationType type, in CellIdentity cellIdentity,
+ in String chosenPlmn, in Domain domain, in int causeCode, in int additionalCauseCode);
+
+ /**
+ * Indicates a restricted state change (eg, for Domain Specific Access Control).
+ * Radio must send this msg after radio off/on cycle no matter it is changed or not.
+ *
+ * @param type Type of radio indication
+ * @param state Bitmask of restricted state as defined by PhoneRestrictedState
+ */
+ void restrictedStateChanged(in RadioIndicationType type, in PhoneRestrictedState state);
+
+ /**
+ * Reports supplementary service related notification from the network.
+ *
+ * @param type Type of radio indication
+ * @param suppSvc SuppSvcNotification
+ */
+ void suppSvcNotify(in RadioIndicationType type, in SuppSvcNotification suppSvc);
+
+ /**
+ * Indicates that voice technology has changed. Responds with new rat.
+ *
+ * @param type Type of radio indication
+ * @param rat Current new voice rat
+ */
+ void voiceRadioTechChanged(in RadioIndicationType type, in RadioTechnology rat);
+}
diff --git a/radio/aidl/android/hardware/radio/network/IRadioNetworkResponse.aidl b/radio/aidl/android/hardware/radio/network/IRadioNetworkResponse.aidl
new file mode 100644
index 0000000000..ae2646dd9f
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/network/IRadioNetworkResponse.aidl
@@ -0,0 +1,588 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.network;
+
+import android.hardware.radio.RadioAccessFamily;
+import android.hardware.radio.RadioResponseInfo;
+import android.hardware.radio.RadioTechnology;
+import android.hardware.radio.RadioTechnologyFamily;
+import android.hardware.radio.network.BarringInfo;
+import android.hardware.radio.network.CdmaRoamingType;
+import android.hardware.radio.network.CellIdentity;
+import android.hardware.radio.network.CellInfo;
+import android.hardware.radio.network.LceDataInfo;
+import android.hardware.radio.network.NeighboringCell;
+import android.hardware.radio.network.OperatorInfo;
+import android.hardware.radio.network.RadioAccessSpecifier;
+import android.hardware.radio.network.RadioBandMode;
+import android.hardware.radio.network.RegStateResult;
+import android.hardware.radio.network.SignalStrength;
+
+/**
+ * Interface declaring response functions to solicited radio requests for network APIs.
+ */
+@VintfStability
+oneway interface IRadioNetworkResponse {
+ /**
+ * Acknowledge the receipt of radio request sent to the vendor. This must be sent only for
+ * radio request which take long time to respond. For more details, refer
+ * https://source.android.com/devices/tech/connect/ril.html
+ *
+ * @param serial Serial no. of the request whose acknowledgement is sent.
+ */
+ void acknowledgeRequest(in int serial);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param networkTypeBitmap a 32-bit bitmap of RadioAccessFamily.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:MODE_NOT_SUPPORTED
+ * RadioError:INTERNAL_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ */
+ void getAllowedNetworkTypesBitmapResponse(
+ in RadioResponseInfo info, in RadioAccessFamily networkTypeBitmap);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param bandModes List of RadioBandMode listing supported modes
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void getAvailableBandModesResponse(in RadioResponseInfo info, in RadioBandMode[] bandModes);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param networkInfos List of network operator information as OperatorInfos
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:ABORTED
+ * RadioError:DEVICE_IN_USE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:CANCELLED
+ * RadioError:NO_RESOURCES
+ * RadioError:INTERNAL_ERR
+ */
+ void getAvailableNetworksResponse(in RadioResponseInfo info, in OperatorInfo[] networkInfos);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param cellIdentity CellIdentity for the barring infos.
+ * @param barringInfos a vector of barring info for all barring service types
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:MODEM_ERR
+ */
+ void getBarringInfoResponse(
+ in RadioResponseInfo info, in CellIdentity cellIdentity, in BarringInfo[] barringInfos);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param type CdmaRoamingType
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:SIM_ABSENT
+ */
+ void getCdmaRoamingPreferenceResponse(in RadioResponseInfo info, in CdmaRoamingType type);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param cellInfo List of current cell information known to radio
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ */
+ void getCellInfoListResponse(in RadioResponseInfo info, in CellInfo[] cellInfo);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param dataRegResponse Current data registration response as defined by RegStateResult
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NOT_PROVISIONED
+ */
+ void getDataRegistrationStateResponse(
+ in RadioResponseInfo info, in RegStateResult dataRegResponse);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param isRegistered false = not registered, true = registered
+ * @param ratFamily RadioTechnologyFamily. This value is valid only if isRegistered is true.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void getImsRegistrationStateResponse(
+ in RadioResponseInfo info, in boolean isRegistered, in RadioTechnologyFamily ratFamily);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param cells Vector of neighboring radio cell
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:NO_NETWORK_FOUND
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void getNeighboringCidsResponse(in RadioResponseInfo info, in NeighboringCell[] cells);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param selection false for automatic selection, true for manual selection
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void getNetworkSelectionModeResponse(in RadioResponseInfo info, in boolean manual);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param longName is long alpha ONS or EONS or empty string if unregistered
+ * @param shortName is short alpha ONS or EONS or empty string if unregistered
+ * @param numeric is 5 or 6 digit numeric code (MCC + MNC) or empty string if unregistered
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void getOperatorResponse(
+ in RadioResponseInfo info, in String longName, in String shortName, in String numeric);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param signalStrength Current signal strength
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ */
+ void getSignalStrengthResponse(in RadioResponseInfo info, in SignalStrength signalStrength);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param specifiers List of RadioAccessSpecifiers that are scanned.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:INVALID_ARGUMENTS
+ */
+ void getSystemSelectionChannelsResponse(
+ in RadioResponseInfo info, in RadioAccessSpecifier[] specifiers);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param rat Current voice RAT
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void getVoiceRadioTechnologyResponse(in RadioResponseInfo info, in RadioTechnology rat);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param voiceRegResponse Current Voice registration response as defined by RegStateResult
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ */
+ void getVoiceRegistrationStateResponse(
+ in RadioResponseInfo info, in RegStateResult voiceRegResponse);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param isEnabled Indicates whether NR dual connectivity is enabled or not, True if enabled
+ * else false.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void isNrDualConnectivityEnabledResponse(in RadioResponseInfo info, in boolean isEnabled);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param lceInfo LceDataInfo indicating LCE data
+ *
+ * Valid errors returned:
+ * RadioError:REQUEST_NOT_SUPPORTED may be returned when HAL 1.2 or higher is supported.
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:LCE_NOT_SUPPORTED
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:SIM_ABSENT
+ */
+ void pullLceDataResponse(in RadioResponseInfo info, in LceDataInfo lceInfo);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:MODE_NOT_SUPPORTED
+ * RadioError:INTERNAL_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ */
+ void setAllowedNetworkTypesBitmapResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void setBandModeResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SS_MODIFIED_TO_DIAL
+ * RadioError:SS_MODIFIED_TO_USSD
+ * RadioError:SS_MODIFIED_TO_SS
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:FDN_CHECK_FAILURE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void setBarringPasswordResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:SIM_ABSENT
+ */
+ void setCdmaRoamingPreferenceResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void setCellInfoListRateResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ */
+ void setIndicationFilterResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ */
+ void setLinkCapacityReportingCriteriaResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:SIM_ABSENT
+ */
+ void setLocationUpdatesResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:ILLEGAL_SIM_OR_ME
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ *
+ * Returns RadioError:ILLEGAL_SIM_OR_ME when the failure is permanent and
+ * no retries needed, such as illegal SIM or ME.
+ */
+ void setNetworkSelectionModeAutomaticResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:ILLEGAL_SIM_OR_ME
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:INVALID_STATE
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ *
+ * Returns RadioError:ILLEGAL_SIM_OR_ME when the failure is permanent and
+ * no retries needed, such as illegal SIM or ME.
+ */
+ void setNetworkSelectionModeManualResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_STATE
+ */
+ void setNrDualConnectivityStateResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:RADIO_NOT_AVAILABLE
+ */
+ void setSignalStrengthReportingCriteriaResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:SIM_BUSY
+ * RadioError:NO_MEMORY
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:SIM_ABSENT
+ */
+ void setSuppServiceNotificationsResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:INVALID_ARGUMENTS
+ */
+ void setSystemSelectionChannelsResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:DEVICE_IN_USE
+ * RadioError:INTERNAL_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ */
+ void startNetworkScanResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:INTERNAL_ERR
+ * RadioError:MODEM_ERR
+ */
+ void stopNetworkScanResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown.
+ *
+ * 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:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:SIM_ABSENT
+ */
+ void supplyNetworkDepersonalizationResponse(in RadioResponseInfo info, in int remainingRetries);
+}
diff --git a/radio/aidl/android/hardware/radio/IndicationFilter.aidl b/radio/aidl/android/hardware/radio/network/IndicationFilter.aidl
similarity index 52%
rename from radio/aidl/android/hardware/radio/IndicationFilter.aidl
rename to radio/aidl/android/hardware/radio/network/IndicationFilter.aidl
index 826c8c1c57..ac482277c0 100644
--- a/radio/aidl/android/hardware/radio/IndicationFilter.aidl
+++ b/radio/aidl/android/hardware/radio/network/IndicationFilter.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
@VintfStability
@Backing(type="int")
@@ -23,39 +23,39 @@ enum IndicationFilter {
ALL = ~0,
/**
* When this bit is set, modem must send the signal strength update through
- * IRadioIndication.currentSignalStrength() when all criteria specified by
- * IRadio.setSignalStrengthReportingCriteria() are met.
+ * IRadioNetworkIndication.currentSignalStrength() when all criteria specified by
+ * IRadioNetwork.setSignalStrengthReportingCriteria() are met.
*/
SIGNAL_STRENGTH = 1 << 0,
/**
- * When this bit is set, modem must invoke IRadioIndication.networkStateChanged() when any field
- * in VoiceRegStateResult or DataRegStateResult changes. When this bit is not set, modem must
- * suppress IRadioIndication.networkStateChanged() when there are only changes from
- * insignificant fields. Modem must invoke IRadioIndication.networkStateChanged() when
+ * When this bit is set, modem must invoke IRadioNetworkIndication.networkStateChanged() when
+ * any field in the voice or data RegStateResult changes. When this bit is not set, modem must
+ * suppress IRadioNetworkIndication.networkStateChanged() when there are only changes from
+ * insignificant fields. Modem must invoke IRadioNetworkIndication.networkStateChanged() when
* significant fields are updated regardless of whether this bit is set.
*
- * The following fields are considered significant: VoiceRegStateResult.regState,
- * VoiceRegStateResult.rat, DataRegStateResult.regState, DataRegStateResult.rat.
+ * The following fields in RegStateResult are considered significant: regState, rat.
*/
FULL_NETWORK_STATE = 1 << 1,
/**
- * When this bit is set, modem must send IRadioIndication.dataCallListChanged() whenever any
- * field in ITypes.SetupDataCallResult changes. When this bit is not set, modem must suppress
- * the indication when the only changed field is 'active' (for data dormancy). For all other
- * field changes, the modem must send IRadioIndication.dataCallListChanged() regardless of
+ * When this bit is set, modem must send IRadioNetworkIndication.dataCallListChanged() whenever
+ * any field in SetupDataCallResult changes. When this bit is not set, modem must suppress the
+ * indication when the only changed field is 'active' (for data dormancy). For all other field
+ * changes, the modem must send IRadioNetworkIndication.dataCallListChanged() regardless of
* whether this bit is set.
*/
DATA_CALL_DORMANCY_CHANGED = 1 << 2,
/**
* When this bit is set, modem must send the link capacity update through
- * IRadioIndication.currentLinkCapacityEstimate() when all criteria specified by
- * IRadio.setLinkCapacityReportingCriteria() are met.
+ * IRadioNetworkIndication.currentLinkCapacityEstimate() when all criteria specified by
+ * IRadioNetwork.setLinkCapacityReportingCriteria() are met.
*/
LINK_CAPACITY_ESTIMATE = 1 << 3,
/**
* When this bit is set, the modem must send the physical channel configuration update through
- * IRadioIndication.currentPhysicalChannelConfigs() when the configuration has changed. It is
- * recommended that this be reported whenever link capacity or signal strength is reported.
+ * IRadioNetworkIndication.currentPhysicalChannelConfigs() when the configuration has changed.
+ * It is recommended that this be reported whenever link capacity or signal strength is
+ * reported.
*/
PHYSICAL_CHANNEL_CONFIG = 1 << 4,
/**
diff --git a/radio/aidl/android/hardware/radio/LceDataInfo.aidl b/radio/aidl/android/hardware/radio/network/LceDataInfo.aidl
similarity index 96%
rename from radio/aidl/android/hardware/radio/LceDataInfo.aidl
rename to radio/aidl/android/hardware/radio/network/LceDataInfo.aidl
index 68521b559b..344227e570 100644
--- a/radio/aidl/android/hardware/radio/LceDataInfo.aidl
+++ b/radio/aidl/android/hardware/radio/network/LceDataInfo.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
@VintfStability
parcelable LceDataInfo {
diff --git a/radio/aidl/android/hardware/radio/LinkCapacityEstimate.aidl b/radio/aidl/android/hardware/radio/network/LinkCapacityEstimate.aidl
similarity index 98%
rename from radio/aidl/android/hardware/radio/LinkCapacityEstimate.aidl
rename to radio/aidl/android/hardware/radio/network/LinkCapacityEstimate.aidl
index 78ddee2f8f..8d31bbc240 100644
--- a/radio/aidl/android/hardware/radio/LinkCapacityEstimate.aidl
+++ b/radio/aidl/android/hardware/radio/network/LinkCapacityEstimate.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
@VintfStability
parcelable LinkCapacityEstimate {
diff --git a/radio/aidl/android/hardware/radio/LteSignalStrength.aidl b/radio/aidl/android/hardware/radio/network/LteSignalStrength.aidl
similarity index 98%
rename from radio/aidl/android/hardware/radio/LteSignalStrength.aidl
rename to radio/aidl/android/hardware/radio/network/LteSignalStrength.aidl
index 699925d419..a727aa5658 100644
--- a/radio/aidl/android/hardware/radio/LteSignalStrength.aidl
+++ b/radio/aidl/android/hardware/radio/network/LteSignalStrength.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
@VintfStability
parcelable LteSignalStrength {
diff --git a/radio/aidl/android/hardware/radio/LteVopsInfo.aidl b/radio/aidl/android/hardware/radio/network/LteVopsInfo.aidl
similarity index 97%
rename from radio/aidl/android/hardware/radio/LteVopsInfo.aidl
rename to radio/aidl/android/hardware/radio/network/LteVopsInfo.aidl
index b487a8f20d..1cda8db0d3 100644
--- a/radio/aidl/android/hardware/radio/LteVopsInfo.aidl
+++ b/radio/aidl/android/hardware/radio/network/LteVopsInfo.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
/**
* Type to define the LTE specific network capabilities for voice over PS including emergency and
diff --git a/radio/aidl/android/hardware/radio/NeighboringCell.aidl b/radio/aidl/android/hardware/radio/network/NeighboringCell.aidl
similarity index 95%
rename from radio/aidl/android/hardware/radio/NeighboringCell.aidl
rename to radio/aidl/android/hardware/radio/network/NeighboringCell.aidl
index b48a2d4e51..270bdee021 100644
--- a/radio/aidl/android/hardware/radio/NeighboringCell.aidl
+++ b/radio/aidl/android/hardware/radio/network/NeighboringCell.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
@VintfStability
parcelable NeighboringCell {
diff --git a/radio/aidl/android/hardware/radio/NetworkScanRequest.aidl b/radio/aidl/android/hardware/radio/network/NetworkScanRequest.aidl
similarity index 96%
rename from radio/aidl/android/hardware/radio/NetworkScanRequest.aidl
rename to radio/aidl/android/hardware/radio/network/NetworkScanRequest.aidl
index d495a9de58..ec8aa9511c 100644
--- a/radio/aidl/android/hardware/radio/NetworkScanRequest.aidl
+++ b/radio/aidl/android/hardware/radio/network/NetworkScanRequest.aidl
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
-import android.hardware.radio.RadioAccessSpecifier;
+import android.hardware.radio.network.RadioAccessSpecifier;
@VintfStability
parcelable NetworkScanRequest {
diff --git a/radio/aidl/android/hardware/radio/NetworkScanResult.aidl b/radio/aidl/android/hardware/radio/network/NetworkScanResult.aidl
similarity index 93%
rename from radio/aidl/android/hardware/radio/NetworkScanResult.aidl
rename to radio/aidl/android/hardware/radio/network/NetworkScanResult.aidl
index dd71d11627..e08d63e312 100644
--- a/radio/aidl/android/hardware/radio/NetworkScanResult.aidl
+++ b/radio/aidl/android/hardware/radio/network/NetworkScanResult.aidl
@@ -14,10 +14,10 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
-import android.hardware.radio.CellInfo;
import android.hardware.radio.RadioError;
+import android.hardware.radio.network.CellInfo;
@VintfStability
parcelable NetworkScanResult {
diff --git a/radio/aidl/android/hardware/radio/NgranBands.aidl b/radio/aidl/android/hardware/radio/network/NgranBands.aidl
similarity index 97%
rename from radio/aidl/android/hardware/radio/NgranBands.aidl
rename to radio/aidl/android/hardware/radio/network/NgranBands.aidl
index 7887011c77..a1c2957c5d 100644
--- a/radio/aidl/android/hardware/radio/NgranBands.aidl
+++ b/radio/aidl/android/hardware/radio/network/NgranBands.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
/**
* NGRAN bands up to V16.5.0
diff --git a/radio/aidl/android/hardware/radio/NrDualConnectivityState.aidl b/radio/aidl/android/hardware/radio/network/NrDualConnectivityState.aidl
similarity index 97%
rename from radio/aidl/android/hardware/radio/NrDualConnectivityState.aidl
rename to radio/aidl/android/hardware/radio/network/NrDualConnectivityState.aidl
index 52bd048469..e40d4f92b1 100644
--- a/radio/aidl/android/hardware/radio/NrDualConnectivityState.aidl
+++ b/radio/aidl/android/hardware/radio/network/NrDualConnectivityState.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
/**
* NR Dual connectivity state
diff --git a/radio/aidl/android/hardware/radio/NrIndicators.aidl b/radio/aidl/android/hardware/radio/network/NrIndicators.aidl
similarity index 97%
rename from radio/aidl/android/hardware/radio/NrIndicators.aidl
rename to radio/aidl/android/hardware/radio/network/NrIndicators.aidl
index 2a1dfece78..98fac25747 100644
--- a/radio/aidl/android/hardware/radio/NrIndicators.aidl
+++ b/radio/aidl/android/hardware/radio/network/NrIndicators.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
/**
* The parameters of NR 5G Non-Standalone.
diff --git a/radio/aidl/android/hardware/radio/NrSignalStrength.aidl b/radio/aidl/android/hardware/radio/network/NrSignalStrength.aidl
similarity index 98%
rename from radio/aidl/android/hardware/radio/NrSignalStrength.aidl
rename to radio/aidl/android/hardware/radio/network/NrSignalStrength.aidl
index 40c6c3ebe0..d2ac02bdfa 100644
--- a/radio/aidl/android/hardware/radio/NrSignalStrength.aidl
+++ b/radio/aidl/android/hardware/radio/network/NrSignalStrength.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
@VintfStability
parcelable NrSignalStrength {
diff --git a/radio/aidl/android/hardware/radio/NrVopsInfo.aidl b/radio/aidl/android/hardware/radio/network/NrVopsInfo.aidl
similarity index 98%
rename from radio/aidl/android/hardware/radio/NrVopsInfo.aidl
rename to radio/aidl/android/hardware/radio/network/NrVopsInfo.aidl
index 0d01aaba3f..bae5f40c25 100644
--- a/radio/aidl/android/hardware/radio/NrVopsInfo.aidl
+++ b/radio/aidl/android/hardware/radio/network/NrVopsInfo.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
/**
* Type to define the NR specific network capabilities for voice over PS including emergency and
@@ -74,7 +74,7 @@ parcelable NrVopsInfo {
* it supports. This information is received from NR network during NR NAS registration
* procedure through NR REGISTRATION ACCEPT.
* Refer 3GPP 24.501 EPS 5GS network feature support -> IMS VoPS
- * Values are VOPS_INDICATOR
+ * Values are VOPS_INDICATOR_
*/
byte vopsSupported;
/**
diff --git a/radio/aidl/android/hardware/radio/OperatorInfo.aidl b/radio/aidl/android/hardware/radio/network/OperatorInfo.aidl
similarity index 96%
rename from radio/aidl/android/hardware/radio/OperatorInfo.aidl
rename to radio/aidl/android/hardware/radio/network/OperatorInfo.aidl
index e0234fca8a..9fa126d399 100644
--- a/radio/aidl/android/hardware/radio/OperatorInfo.aidl
+++ b/radio/aidl/android/hardware/radio/network/OperatorInfo.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
@VintfStability
parcelable OperatorInfo {
diff --git a/radio/aidl/android/hardware/radio/PhoneRestrictedState.aidl b/radio/aidl/android/hardware/radio/network/PhoneRestrictedState.aidl
similarity index 96%
rename from radio/aidl/android/hardware/radio/PhoneRestrictedState.aidl
rename to radio/aidl/android/hardware/radio/network/PhoneRestrictedState.aidl
index 5f5f1b8a39..bf3f75a989 100644
--- a/radio/aidl/android/hardware/radio/PhoneRestrictedState.aidl
+++ b/radio/aidl/android/hardware/radio/network/PhoneRestrictedState.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
@VintfStability
@Backing(type="int")
diff --git a/radio/aidl/android/hardware/radio/PhysicalChannelConfig.aidl b/radio/aidl/android/hardware/radio/network/PhysicalChannelConfig.aidl
similarity index 92%
rename from radio/aidl/android/hardware/radio/PhysicalChannelConfig.aidl
rename to radio/aidl/android/hardware/radio/network/PhysicalChannelConfig.aidl
index 05b31e5dbf..b6072ba400 100644
--- a/radio/aidl/android/hardware/radio/PhysicalChannelConfig.aidl
+++ b/radio/aidl/android/hardware/radio/network/PhysicalChannelConfig.aidl
@@ -14,11 +14,11 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
-import android.hardware.radio.CellConnectionStatus;
-import android.hardware.radio.PhysicalChannelConfigBand;
import android.hardware.radio.RadioTechnology;
+import android.hardware.radio.network.CellConnectionStatus;
+import android.hardware.radio.network.PhysicalChannelConfigBand;
@VintfStability
parcelable PhysicalChannelConfig {
diff --git a/radio/aidl/android/hardware/radio/PhysicalChannelConfigBand.aidl b/radio/aidl/android/hardware/radio/network/PhysicalChannelConfigBand.aidl
similarity index 81%
rename from radio/aidl/android/hardware/radio/PhysicalChannelConfigBand.aidl
rename to radio/aidl/android/hardware/radio/network/PhysicalChannelConfigBand.aidl
index 953b1c4b28..f5b248e2fd 100644
--- a/radio/aidl/android/hardware/radio/PhysicalChannelConfigBand.aidl
+++ b/radio/aidl/android/hardware/radio/network/PhysicalChannelConfigBand.aidl
@@ -14,12 +14,12 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
-import android.hardware.radio.EutranBands;
-import android.hardware.radio.GeranBands;
-import android.hardware.radio.NgranBands;
-import android.hardware.radio.UtranBands;
+import android.hardware.radio.network.EutranBands;
+import android.hardware.radio.network.GeranBands;
+import android.hardware.radio.network.NgranBands;
+import android.hardware.radio.network.UtranBands;
@VintfStability
union PhysicalChannelConfigBand {
diff --git a/radio/aidl/android/hardware/radio/RadioAccessSpecifier.aidl b/radio/aidl/android/hardware/radio/network/RadioAccessSpecifier.aidl
similarity index 84%
rename from radio/aidl/android/hardware/radio/RadioAccessSpecifier.aidl
rename to radio/aidl/android/hardware/radio/network/RadioAccessSpecifier.aidl
index 889124a728..dcc9d53572 100644
--- a/radio/aidl/android/hardware/radio/RadioAccessSpecifier.aidl
+++ b/radio/aidl/android/hardware/radio/network/RadioAccessSpecifier.aidl
@@ -14,17 +14,17 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
-import android.hardware.radio.RadioAccessNetworks;
-import android.hardware.radio.RadioAccessSpecifierBands;
+import android.hardware.radio.AccessNetwork;
+import android.hardware.radio.network.RadioAccessSpecifierBands;
@VintfStability
parcelable RadioAccessSpecifier {
/**
* The type of network to scan.
*/
- RadioAccessNetworks radioAccessNetwork;
+ AccessNetwork accessNetwork;
/**
* The frequency bands to scan. Maximum length of the vector is 8.
*/
diff --git a/radio/aidl/android/hardware/radio/RadioAccessSpecifierBands.aidl b/radio/aidl/android/hardware/radio/network/RadioAccessSpecifierBands.aidl
similarity index 81%
rename from radio/aidl/android/hardware/radio/RadioAccessSpecifierBands.aidl
rename to radio/aidl/android/hardware/radio/network/RadioAccessSpecifierBands.aidl
index dde46262dc..c72d8c947b 100644
--- a/radio/aidl/android/hardware/radio/RadioAccessSpecifierBands.aidl
+++ b/radio/aidl/android/hardware/radio/network/RadioAccessSpecifierBands.aidl
@@ -14,12 +14,12 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
-import android.hardware.radio.EutranBands;
-import android.hardware.radio.GeranBands;
-import android.hardware.radio.NgranBands;
-import android.hardware.radio.UtranBands;
+import android.hardware.radio.network.EutranBands;
+import android.hardware.radio.network.GeranBands;
+import android.hardware.radio.network.NgranBands;
+import android.hardware.radio.network.UtranBands;
@VintfStability
union RadioAccessSpecifierBands {
diff --git a/radio/aidl/android/hardware/radio/RadioBandMode.aidl b/radio/aidl/android/hardware/radio/network/RadioBandMode.aidl
similarity index 98%
rename from radio/aidl/android/hardware/radio/RadioBandMode.aidl
rename to radio/aidl/android/hardware/radio/network/RadioBandMode.aidl
index e6064c4dad..4fdc614f8c 100644
--- a/radio/aidl/android/hardware/radio/RadioBandMode.aidl
+++ b/radio/aidl/android/hardware/radio/network/RadioBandMode.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
@VintfStability
@Backing(type="int")
diff --git a/radio/aidl/android/hardware/radio/RegState.aidl b/radio/aidl/android/hardware/radio/network/RegState.aidl
similarity index 98%
rename from radio/aidl/android/hardware/radio/RegState.aidl
rename to radio/aidl/android/hardware/radio/network/RegState.aidl
index 91fd239868..bb2c3c30e7 100644
--- a/radio/aidl/android/hardware/radio/RegState.aidl
+++ b/radio/aidl/android/hardware/radio/network/RegState.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
/**
* Please note that registration state UNKNOWN is treated as "out of service" in Android telephony.
diff --git a/radio/aidl/android/hardware/radio/RegStateResult.aidl b/radio/aidl/android/hardware/radio/network/RegStateResult.aidl
similarity index 86%
rename from radio/aidl/android/hardware/radio/RegStateResult.aidl
rename to radio/aidl/android/hardware/radio/network/RegStateResult.aidl
index 615392c011..bd681e7e7d 100644
--- a/radio/aidl/android/hardware/radio/RegStateResult.aidl
+++ b/radio/aidl/android/hardware/radio/network/RegStateResult.aidl
@@ -14,13 +14,13 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
-import android.hardware.radio.AccessTechnologySpecificInfo;
-import android.hardware.radio.CellIdentity;
import android.hardware.radio.RadioTechnology;
-import android.hardware.radio.RegState;
-import android.hardware.radio.RegistrationFailCause;
+import android.hardware.radio.network.AccessTechnologySpecificInfo;
+import android.hardware.radio.network.CellIdentity;
+import android.hardware.radio.network.RegState;
+import android.hardware.radio.network.RegistrationFailCause;
@VintfStability
parcelable RegStateResult {
@@ -35,7 +35,7 @@ parcelable RegStateResult {
* Indicates the available voice radio technology, valid values as defined by RadioTechnology,
* except LTE_CA, which is no longer a valid value on 1.5 or above. When the device is on
* carrier aggregation, vendor RIL service should properly report multiple PhysicalChannelConfig
- * elements through IRadio::currentPhysicalChannelConfigs.
+ * elements through IRadioNetwork::currentPhysicalChannelConfigs.
*/
RadioTechnology rat;
/**
diff --git a/radio/aidl/android/hardware/radio/RegistrationFailCause.aidl b/radio/aidl/android/hardware/radio/network/RegistrationFailCause.aidl
similarity index 99%
rename from radio/aidl/android/hardware/radio/RegistrationFailCause.aidl
rename to radio/aidl/android/hardware/radio/network/RegistrationFailCause.aidl
index d9c7f23a3a..586436efb6 100644
--- a/radio/aidl/android/hardware/radio/RegistrationFailCause.aidl
+++ b/radio/aidl/android/hardware/radio/network/RegistrationFailCause.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
/**
* Call fail causes for Circuit-switched service enumerated in 3GPP TS 24.008, 10.5.3.6 and
diff --git a/radio/aidl/android/hardware/radio/SignalStrength.aidl b/radio/aidl/android/hardware/radio/network/SignalStrength.aidl
similarity index 82%
rename from radio/aidl/android/hardware/radio/SignalStrength.aidl
rename to radio/aidl/android/hardware/radio/network/SignalStrength.aidl
index 0ffdaa34cc..5a18b18280 100644
--- a/radio/aidl/android/hardware/radio/SignalStrength.aidl
+++ b/radio/aidl/android/hardware/radio/network/SignalStrength.aidl
@@ -14,15 +14,15 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
-import android.hardware.radio.CdmaSignalStrength;
-import android.hardware.radio.EvdoSignalStrength;
-import android.hardware.radio.GsmSignalStrength;
-import android.hardware.radio.LteSignalStrength;
-import android.hardware.radio.NrSignalStrength;
-import android.hardware.radio.TdscdmaSignalStrength;
-import android.hardware.radio.WcdmaSignalStrength;
+import android.hardware.radio.network.CdmaSignalStrength;
+import android.hardware.radio.network.EvdoSignalStrength;
+import android.hardware.radio.network.GsmSignalStrength;
+import android.hardware.radio.network.LteSignalStrength;
+import android.hardware.radio.network.NrSignalStrength;
+import android.hardware.radio.network.TdscdmaSignalStrength;
+import android.hardware.radio.network.WcdmaSignalStrength;
@VintfStability
parcelable SignalStrength {
diff --git a/radio/aidl/android/hardware/radio/SignalThresholdInfo.aidl b/radio/aidl/android/hardware/radio/network/SignalThresholdInfo.aidl
similarity index 98%
rename from radio/aidl/android/hardware/radio/SignalThresholdInfo.aidl
rename to radio/aidl/android/hardware/radio/network/SignalThresholdInfo.aidl
index 0d818b4e19..696292dc14 100644
--- a/radio/aidl/android/hardware/radio/SignalThresholdInfo.aidl
+++ b/radio/aidl/android/hardware/radio/network/SignalThresholdInfo.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
/**
* Contains the threshold values of each signal measurement type.
diff --git a/radio/aidl/android/hardware/radio/SuppSvcNotification.aidl b/radio/aidl/android/hardware/radio/network/SuppSvcNotification.aidl
similarity index 96%
rename from radio/aidl/android/hardware/radio/SuppSvcNotification.aidl
rename to radio/aidl/android/hardware/radio/network/SuppSvcNotification.aidl
index b41292b170..dce437aaf8 100644
--- a/radio/aidl/android/hardware/radio/SuppSvcNotification.aidl
+++ b/radio/aidl/android/hardware/radio/network/SuppSvcNotification.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
@VintfStability
parcelable SuppSvcNotification {
diff --git a/radio/aidl/android/hardware/radio/TdscdmaSignalStrength.aidl b/radio/aidl/android/hardware/radio/network/TdscdmaSignalStrength.aidl
similarity index 97%
rename from radio/aidl/android/hardware/radio/TdscdmaSignalStrength.aidl
rename to radio/aidl/android/hardware/radio/network/TdscdmaSignalStrength.aidl
index baed68a17b..13f394abb2 100644
--- a/radio/aidl/android/hardware/radio/TdscdmaSignalStrength.aidl
+++ b/radio/aidl/android/hardware/radio/network/TdscdmaSignalStrength.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
@VintfStability
parcelable TdscdmaSignalStrength {
diff --git a/radio/aidl/android/hardware/radio/UtranBands.aidl b/radio/aidl/android/hardware/radio/network/UtranBands.aidl
similarity index 96%
rename from radio/aidl/android/hardware/radio/UtranBands.aidl
rename to radio/aidl/android/hardware/radio/network/UtranBands.aidl
index 8a22ed75b3..da21f9bcb8 100644
--- a/radio/aidl/android/hardware/radio/UtranBands.aidl
+++ b/radio/aidl/android/hardware/radio/network/UtranBands.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
/**
* UTRAN bands up to V15.0.0
diff --git a/radio/aidl/android/hardware/radio/WcdmaSignalStrength.aidl b/radio/aidl/android/hardware/radio/network/WcdmaSignalStrength.aidl
similarity index 97%
rename from radio/aidl/android/hardware/radio/WcdmaSignalStrength.aidl
rename to radio/aidl/android/hardware/radio/network/WcdmaSignalStrength.aidl
index 95a3455e4c..21021e51c3 100644
--- a/radio/aidl/android/hardware/radio/WcdmaSignalStrength.aidl
+++ b/radio/aidl/android/hardware/radio/network/WcdmaSignalStrength.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.network;
@VintfStability
parcelable WcdmaSignalStrength {
diff --git a/radio/aidl/android/hardware/radio/AppStatus.aidl b/radio/aidl/android/hardware/radio/sim/AppStatus.aidl
similarity index 93%
rename from radio/aidl/android/hardware/radio/AppStatus.aidl
rename to radio/aidl/android/hardware/radio/sim/AppStatus.aidl
index 6fd17e42c0..07939bba6d 100644
--- a/radio/aidl/android/hardware/radio/AppStatus.aidl
+++ b/radio/aidl/android/hardware/radio/sim/AppStatus.aidl
@@ -14,10 +14,10 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.sim;
-import android.hardware.radio.PersoSubstate;
-import android.hardware.radio.PinState;
+import android.hardware.radio.sim.PersoSubstate;
+import android.hardware.radio.sim.PinState;
@VintfStability
parcelable AppStatus {
diff --git a/radio/aidl/android/hardware/radio/CardPowerState.aidl b/radio/aidl/android/hardware/radio/sim/CardPowerState.aidl
similarity index 95%
rename from radio/aidl/android/hardware/radio/CardPowerState.aidl
rename to radio/aidl/android/hardware/radio/sim/CardPowerState.aidl
index 23088c9635..b69296d36c 100644
--- a/radio/aidl/android/hardware/radio/CardPowerState.aidl
+++ b/radio/aidl/android/hardware/radio/sim/CardPowerState.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.sim;
@VintfStability
@Backing(type="int")
diff --git a/radio/aidl/android/hardware/radio/CardStatus.aidl b/radio/aidl/android/hardware/radio/sim/CardStatus.aidl
similarity index 88%
rename from radio/aidl/android/hardware/radio/CardStatus.aidl
rename to radio/aidl/android/hardware/radio/sim/CardStatus.aidl
index a6a287d707..629f4033c7 100644
--- a/radio/aidl/android/hardware/radio/CardStatus.aidl
+++ b/radio/aidl/android/hardware/radio/sim/CardStatus.aidl
@@ -14,15 +14,15 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.sim;
-import android.hardware.radio.AppStatus;
-import android.hardware.radio.PinState;
+import android.hardware.radio.sim.AppStatus;
+import android.hardware.radio.sim.PinState;
@VintfStability
parcelable CardStatus {
/*
- * Card is physically absent from device. (Some old modems use CardState.ABSENT when the SIM
+ * Card is physically absent from device. (Some old modems use STATE_ABSENT when the SIM
* is powered off. This is no longer correct, however the platform will still support this
* legacy behavior.)
*/
@@ -67,7 +67,7 @@ parcelable CardStatus {
* standards, following electrical reset of the card's chip. The ATR conveys information about
* the communication parameters proposed by the card, and the card's nature and state.
*
- * This data is applicable only when cardState is CardState:PRESENT.
+ * This data is applicable only when cardState is STATE_PRESENT.
*/
String atr;
/**
@@ -75,14 +75,14 @@ parcelable CardStatus {
* located in the SIM card at EFiccid (0x2FE2) as per ETSI 102.221. The ICCID is defined by
* the ITU-T recommendation E.118 ISO/IEC 7816.
*
- * This data is applicable only when cardState is CardState:PRESENT.
+ * This data is applicable only when cardState is STATE_PRESENT.
*/
String iccid;
/**
* The EID is the eUICC identifier. The EID shall be stored within the ECASD and can be
* retrieved by the Device at any time using the standard GlobalPlatform GET DATA command.
*
- * This data is mandatory and applicable only when cardState is CardState:PRESENT and SIM card
+ * This data is mandatory and applicable only when cardState is STATE_PRESENT and SIM card
* supports eUICC.
*/
String eid;
diff --git a/radio/aidl/android/hardware/radio/Carrier.aidl b/radio/aidl/android/hardware/radio/sim/Carrier.aidl
similarity index 87%
rename from radio/aidl/android/hardware/radio/Carrier.aidl
rename to radio/aidl/android/hardware/radio/sim/Carrier.aidl
index cde9b5ff0d..c870c00e89 100644
--- a/radio/aidl/android/hardware/radio/Carrier.aidl
+++ b/radio/aidl/android/hardware/radio/sim/Carrier.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.sim;
@VintfStability
parcelable Carrier {
@@ -42,8 +42,8 @@ parcelable Carrier {
String mcc;
String mnc;
/**
- * Specify match type for the carrier. If it’s ALL, matchData is empty string; otherwise,
- * matchData is the value for the match type.
+ * Specify match type for the carrier. If it’s MATCH_TYPE_ALL, matchData is empty string;
+ * otherwise, matchData is the value for the match type.
* Values are MATCH_TYPE_
*/
int matchType;
diff --git a/radio/aidl/android/hardware/radio/CarrierRestrictions.aidl b/radio/aidl/android/hardware/radio/sim/CarrierRestrictions.aidl
similarity index 95%
rename from radio/aidl/android/hardware/radio/CarrierRestrictions.aidl
rename to radio/aidl/android/hardware/radio/sim/CarrierRestrictions.aidl
index 5e1f8155e2..12df138b5f 100644
--- a/radio/aidl/android/hardware/radio/CarrierRestrictions.aidl
+++ b/radio/aidl/android/hardware/radio/sim/CarrierRestrictions.aidl
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.sim;
-import android.hardware.radio.Carrier;
+import android.hardware.radio.sim.Carrier;
@VintfStability
parcelable CarrierRestrictions {
diff --git a/radio/aidl/android/hardware/radio/CdmaSubscriptionSource.aidl b/radio/aidl/android/hardware/radio/sim/CdmaSubscriptionSource.aidl
similarity index 95%
rename from radio/aidl/android/hardware/radio/CdmaSubscriptionSource.aidl
rename to radio/aidl/android/hardware/radio/sim/CdmaSubscriptionSource.aidl
index b83e81a227..bdd7e07904 100644
--- a/radio/aidl/android/hardware/radio/CdmaSubscriptionSource.aidl
+++ b/radio/aidl/android/hardware/radio/sim/CdmaSubscriptionSource.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.sim;
@VintfStability
@Backing(type="int")
diff --git a/radio/aidl/android/hardware/radio/sim/IRadioSim.aidl b/radio/aidl/android/hardware/radio/sim/IRadioSim.aidl
new file mode 100644
index 0000000000..902c90c6f3
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/IRadioSim.aidl
@@ -0,0 +1,502 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.sim;
+
+import android.hardware.radio.sim.CardPowerState;
+import android.hardware.radio.sim.CarrierRestrictions;
+import android.hardware.radio.sim.CdmaSubscriptionSource;
+import android.hardware.radio.sim.IRadioSimIndication;
+import android.hardware.radio.sim.IRadioSimResponse;
+import android.hardware.radio.sim.IccIo;
+import android.hardware.radio.sim.ImsiEncryptionInfo;
+import android.hardware.radio.sim.PersoSubstate;
+import android.hardware.radio.sim.PhonebookRecordInfo;
+import android.hardware.radio.sim.SelectUiccSub;
+import android.hardware.radio.sim.SimApdu;
+import android.hardware.radio.sim.SimLockMultiSimPolicy;
+
+/**
+ * This interface is used by telephony and telecom to talk to cellular radio for SIM APIs.
+ * All the functions have minimum one parameter:
+ * serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the
+ * duration of a method call. If clients provide colliding serials (including passing the same
+ * serial to different methods), multiple responses (one for each method call) must still be served.
+ * setResponseFunctions must work with IRadioSimResponse and IRadioSimIndication.
+ */
+@VintfStability
+oneway interface IRadioSim {
+ /**
+ * Whether uiccApplications are enabled or disabled.
+ * By default uiccApplications must be enabled, unless enableUiccApplications() with enable
+ * being false is called.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioSimResponse.areUiccApplicationsEnabledResponse()
+ */
+ void areUiccApplicationsEnabled(in int serial);
+
+ /**
+ * Supplies old ICC PIN2 and new PIN2.
+ *
+ * @param serial Serial number of request.
+ * @param oldPin2 Old pin2 value
+ * @param newPin2 New pin2 value
+ * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
+ *
+ * Response function is IRadioSimResponse.changeIccPin2ForAppResponse()
+ */
+ void changeIccPin2ForApp(in int serial, in String oldPin2, in String newPin2, in String aid);
+
+ /**
+ * Supplies old ICC PIN and new PIN.
+ *
+ * @param serial Serial number of request.
+ * @param oldPin Old pin value
+ * @param newPin New pin value
+ * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
+ *
+ * Response function is IRadioSimResponse.changeIccPinForAppResponse()
+ */
+ void changeIccPinForApp(in int serial, in String oldPin, in String newPin, in String aid);
+
+ /**
+ * Enable or disable UiccApplications on the SIM. If disabled:
+ * - Modem will not register on any network.
+ * - SIM must be PRESENT, and the IccId of the SIM must still be accessible.
+ * - The corresponding modem stack is still functional, e.g. able to make emergency calls or
+ * do network scan.
+ * By default if this API is not called, the uiccApplications must be enabled automatically.
+ * It must work for both single SIM and DSDS cases for UX consistency.
+ * The preference is per SIM, and must be remembered over power cycle, modem reboot, or SIM
+ * insertion / unplug.
+ *
+ * @param serial Serial number of request.
+ * @param enable true if to enable uiccApplications, false to disable.
+ *
+ * Response function is IRadioSimResponse.enableUiccApplicationsResponse()
+ */
+ void enableUiccApplications(in int serial, in boolean enable);
+
+ /**
+ * Get carrier restrictions.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioSimResponse.getAllowedCarriersResponse()
+ */
+ void getAllowedCarriers(in int serial);
+
+ /**
+ * Request the device MDN / H_SID / H_NID. The request is only allowed when CDMA subscription
+ * is available. When CDMA subscription is changed, application layer must re-issue the request
+ * to update the subscription information.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioSimResponse.getCdmaSubscriptionResponse()
+ */
+ void getCdmaSubscription(in int serial);
+
+ /**
+ * Request to query the location where the CDMA subscription shall be retrieved.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioSimResponse.getCdmaSubscriptionSourceResponse()
+ */
+ void getCdmaSubscriptionSource(in int serial);
+
+ /**
+ * Query the status of a facility lock state
+ *
+ * @param serial Serial number of request.
+ * @param facility is the facility string code from TS 27.007 7.4
+ * (eg "AO" for BAOC, "SC" for SIM lock)
+ * @param password is the password, or "" if not required
+ * @param serviceClass is the TS 27.007 service class bit vector of services to query
+ * @param appId is AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
+ * This is only applicable in the case of Fixed Dialing Numbers (FDN) requests.
+ *
+ * Response function is IRadioSimResponse.getFacilityLockForAppResponse()
+ */
+ void getFacilityLockForApp(in int serial, in String facility, in String password,
+ in int serviceClass, in String appId);
+
+ /**
+ * Requests status of the ICC card
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioSimResponse.getIccCardStatusResponse()
+ */
+ void getIccCardStatus(in int serial);
+
+ /**
+ * Get the SIM IMSI. Only valid when radio state is "RADIO_STATE_ON"
+ *
+ * @param serial Serial number of request.
+ * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
+ *
+ * Response function is IRadioSimResponse.getImsiForAppResponse()
+ */
+ void getImsiForApp(in int serial, in String aid);
+
+ /**
+ * Get the phonebook capacity.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioSimResponse.getSimPhonebookCapacityResponse()
+ */
+ void getSimPhonebookCapacity(in int serial);
+
+ /**
+ * Get the local and global phonebook records from the SIM card.
+ * This should be called again after a simPhonebookChanged notification is received.
+ * The phonebook records are received via IRadioSimIndication.simPhonebookRecordsReceived()
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioSimResponse.getSimPhonebookRecordsResponse()
+ */
+ void getSimPhonebookRecords(in int serial);
+
+ /**
+ * Close a previously opened logical channel. This command reflects TS 27.007
+ * "close logical channel" operation (+CCHC).
+ *
+ * @param serial Serial number of request.
+ * @param channelId session id of the logical channel (+CCHC).
+ *
+ * Response function is IRadioSimResponse.iccCloseLogicalChannelResponse()
+ */
+ void iccCloseLogicalChannel(in int serial, in int channelId);
+
+ /**
+ * Request ICC I/O operation. This is similar to the TS 27.007 "restricted SIM" operation where
+ * it assumes all of the EF selection must be done by the callee. Arguments and responses that
+ * are unused for certain values of "command" must be ignored or set to empty string.
+ * Note that IccIo has a "PIN2" field which may be empty string, or may specify a PIN2 for
+ * operations that require a PIN2 (eg updating FDN records).
+ *
+ * @param serial Serial number of request.
+ * @param iccIo IccIo
+ *
+ * Response function is IRadioSimResponse.iccIoForAppResponse()
+ */
+ void iccIoForApp(in int serial, in IccIo iccIo);
+
+ /**
+ * Open a new logical channel and select the given application. This command
+ * reflects TS 27.007 "open logical channel" operation (+CCHO).
+ *
+ * @param serial Serial number of request.
+ * @param aid AID value, See ETSI 102.221 and 101.220.
+ * @param p2 P2 value, described in ISO 7816-4. Ignore if equal to RadioConst:P2_CONSTANT_NO_P2
+ *
+ * Response function is IRadioSimResponse.iccOpenLogicalChannelResponse()
+ */
+ void iccOpenLogicalChannel(in int serial, in String aid, in int p2);
+
+ /**
+ * Request APDU exchange on the basic channel. This command reflects TS 27.007
+ * "generic SIM access" operation (+CSIM). The modem must ensure proper function of GSM/CDMA,
+ * and filter commands appropriately. It must filter channel management and SELECT by DF
+ * name commands. "sessionid" field must be ignored.
+ *
+ * @param serial Serial number of request.
+ * @param message SimApdu to be sent
+ *
+ * Response function is IRadioSimResponse.iccTransmitApduBasicChannelResponse()
+ */
+ void iccTransmitApduBasicChannel(in int serial, in SimApdu message);
+
+ /**
+ * Exchange APDUs with a UICC over a previously opened logical channel. This command reflects
+ * TS 27.007 "generic logical channel access" operation (+CGLA). The modem must filter channel
+ * management and SELECT by DF name commands.
+ *
+ * @param serial Serial number of request.
+ * @param message SimApdu to be sent
+ *
+ * Response function is IRadioSimResponse.iccTransmitApduLogicalChannelResponse()
+ */
+ void iccTransmitApduLogicalChannel(in int serial, in SimApdu message);
+
+ /**
+ * Indicates that the StkService is running and is ready to receive unsolicited stk commands.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioSimResponse.reportStkServiceIsRunningResponse()
+ */
+ void reportStkServiceIsRunning(in int serial);
+
+ /**
+ * Returns the response of SIM Authentication through Radio challenge request.
+ *
+ * @param serial Serial number of request.
+ * @param authContext P2 value of authentication command, see P2 parameter in
+ * 3GPP TS 31.102 7.1.2
+ * @param authData the challenge string in Base64 format, see 3GPP TS 31.102 7.1.2
+ * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value
+ *
+ * Response function is IRadioSimResponse.requestIccSimAuthenticationResponse()
+ */
+ void requestIccSimAuthentication(
+ in int serial, in int authContext, in String authData, in String aid);
+
+ /**
+ * Request the ISIM application on the UICC to perform AKA challenge/response algorithm
+ * for IMS authentication
+ *
+ * @param serial Serial number of request.
+ * @param challenge challenge string in Base64 format
+ *
+ * Response function is IRadioSimResponse.requestIsimAuthenticationResponse()
+ */
+ void requestIsimAuthentication(in int serial, in String challenge);
+
+ /**
+ * When response type received from a radio indication or radio response is
+ * RadioIndicationType:UNSOLICITED_ACK_EXP or RadioResponseType:SOLICITED_ACK_EXP respectively,
+ * acknowledge the receipt of those messages by sending responseAcknowledgement().
+ */
+ void responseAcknowledgement();
+
+ /**
+ * Requests to send a SAT/USAT envelope command to SIM.
+ * The SAT/USAT envelope command refers to 3GPP TS 11.14 and 3GPP TS 31.111
+ *
+ * @param serial Serial number of request.
+ * @param command SAT/USAT command in hexadecimal format string starting with command tag
+ *
+ * Response function is IRadioSimResponse.sendEnvelopeResponse()
+ */
+ void sendEnvelope(in int serial, in String command);
+
+ /**
+ * Requests to send a SAT/USAT envelope command to SIM. The SAT/USAT envelope command refers to
+ * 3GPP TS 11.14 and 3GPP TS 31.111. This request has one difference from sendEnvelope():
+ * The SW1 and SW2 status bytes from the UICC response are returned along with the response
+ * data, using the same structure as iccIOForApp(). The implementation must perform normal
+ * processing of a '91XX' response in SW1/SW2 to retrieve the pending proactive command and
+ * send it as an unsolicited response, as sendEnvelope() does.
+ *
+ * @param serial Serial number of request.
+ * @param contents SAT/USAT command in hexadecimal format starting with command tag
+ *
+ * Response function is IRadioSimResponse.sendEnvelopeWithStatusResponse()
+ */
+ void sendEnvelopeWithStatus(in int serial, in String contents);
+
+ /**
+ * Requests to send a terminal response to SIM for a received proactive command
+ *
+ * @param serial Serial number of request.
+ * @param commandResponse SAT/USAT response in hexadecimal format string starting with
+ * first byte of response data
+ *
+ * Response function is IRadioSimResponse.sendTerminalResponseResponseToSim()
+ */
+ void sendTerminalResponseToSim(in int serial, in String commandResponse);
+
+ /**
+ * Set carrier restrictions. Expected modem behavior:
+ * If never receives this command:
+ * - Must allow all carriers
+ * Receives this command:
+ * - Only allow carriers specified in carriers. The restriction persists across power cycles
+ * and FDR. If a present SIM is allowed, modem must not reload the SIM. If a present SIM is
+ * *not* allowed, modem must detach from the registered network and only keep emergency
+ * service, and notify Android SIM refresh reset with new SIM state being
+ * CardState:RESTRICTED. Emergency service must be enabled.
+ *
+ * @param serial Serial number of request.
+ * @param carriers CarrierRestrictions consisting allowed and excluded carriers
+ * @param multiSimPolicy Policy to be used for devices with multiple SIMs.
+ *
+ * Response function is IRadioSimResponse.setAllowedCarriersResponse()
+ */
+ void setAllowedCarriers(in int serial, in CarrierRestrictions carriers,
+ in SimLockMultiSimPolicy multiSimPolicy);
+
+ /**
+ * Provide Carrier specific information to the modem that must be used to encrypt the IMSI and
+ * IMPI. Sent by the framework during boot, carrier switch and everytime the framework receives
+ * a new certificate.
+ *
+ * @param serial Serial number of request.
+ * @param imsiEncryptionInfo ImsiEncryptionInfo
+ *
+ * Response function is IRadioSimResponse.setCarrierInfoForImsiEncryptionResponse()
+ */
+ void setCarrierInfoForImsiEncryption(in int serial, in ImsiEncryptionInfo imsiEncryptionInfo);
+
+ /**
+ * Request to set the location where the CDMA subscription shall be retrieved
+ *
+ * @param serial Serial number of request.
+ * @param cdmaSub CdmaSubscriptionSource
+ *
+ * Response function is IRadioSimResponse.setCdmaSubscriptionSourceResponse()
+ */
+ void setCdmaSubscriptionSource(in int serial, in CdmaSubscriptionSource cdmaSub);
+
+ /**
+ * Enable/disable one facility lock
+ *
+ * @param serial Serial number of request.
+ * @param facility is the facility string code from TS 27.007 7.4 (eg "AO" for BAOC)
+ * @param lockState false for "unlock" and true for "lock"
+ * @param password is the password
+ * @param serviceClass is string representation of decimal TS 27.007 service class bit vector.
+ * Eg, the string "1" means "set this facility for voice services"
+ * @param appId is AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
+ * This is only applicable in the case of Fixed Dialing Numbers (FDN) requests.
+ *
+ * Response function is IRadioSimResponse.setFacilityLockForAppResponse()
+ */
+ void setFacilityLockForApp(in int serial, in String facility, in boolean lockState,
+ in String password, in int serviceClass, in String appId);
+
+ /**
+ * Set response functions for SIM radio requests and indications.
+ *
+ * @param radioSimResponse Object containing response functions
+ * @param radioSimIndication Object containing radio indications
+ */
+ void setResponseFunctions(
+ in IRadioSimResponse radioSimResponse, in IRadioSimIndication radioSimIndication);
+
+ /**
+ * Set SIM card power state. Request is used to power off or power on the card. It should not
+ * generate a CardState.CARDSTATE_ABSENT indication, since the SIM is still physically inserted.
+ * When SIM card is in POWER_UP_PASS_THROUGH, the modem does not send any command to it (for
+ * example SELECT of MF, or TERMINAL CAPABILITY), and the SIM card is controlled completely by
+ * Telephony sending APDUs directly. The SIM card state must be RIL_CARDSTATE_PRESENT and the
+ * number of card apps will be 0. No new error code is generated. Emergency calls are supported
+ * in the same way as if the SIM card is absent. Pass-through mode is valid only for the
+ * specific card session where it is activated, and normal behavior occurs at the next SIM
+ * initialization, unless POWER_UP_PASS_THROUGH is requested again.
+ * The device is required to power down the SIM card before it can switch the mode between
+ * POWER_UP and POWER_UP_PASS_THROUGH. At device power up, the SIM interface is powered up
+ * automatically. Each subsequent request to this method is processed only after the completion
+ * of the previous one.
+ * When the SIM is in POWER_DOWN, the modem should send an empty vector of AppStatus in
+ * CardStatus.applications. If a SIM in the POWER_DOWN state is removed and a new SIM is
+ * inserted, the new SIM should be in POWER_UP mode by default. If the device is turned off or
+ * restarted while the SIM is in POWER_DOWN, then the SIM should turn on normally in POWER_UP
+ * mode when the device turns back on.
+ *
+ * @param serial Serial number of request
+ * @param powerUp POWER_DOWN if powering down the SIM card
+ * POWER_UP if powering up the SIM card
+ * POWER_UP_PASS_THROUGH if powering up the SIM card in pass through mode
+ *
+ * Response function is IRadioSimResponse.setSimCardPowerResponse()
+ */
+ void setSimCardPower(in int serial, in CardPowerState powerUp);
+
+ /**
+ * Selection/de-selection of a subscription from a SIM card
+ *
+ * @param serial Serial number of request.
+ * @param uiccSub SelectUiccSub
+ *
+ * Response function is IRadioSimResponse.setUiccSubscriptionResponse()
+ */
+ void setUiccSubscription(in int serial, in SelectUiccSub uiccSub);
+
+ /**
+ * Supplies ICC PIN2. Only called following operation where SIM_PIN2 was returned as a failure
+ * from a previous operation.
+ *
+ * @param serial Serial number of request.
+ * @param pin2 PIN2 value
+ * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
+ *
+ * Response function is IRadioSimResponse.supplyIccPin2ForAppResponse()
+ */
+ void supplyIccPin2ForApp(in int serial, in String pin2, in String aid);
+
+ /**
+ * Supplies ICC PIN. Only called if CardStatus has AppState.PIN state
+ *
+ * @param serial Serial number of request.
+ * @param pin PIN value
+ * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
+ *
+ * Response function is IRadioSimResponse.supplyIccPinForAppResponse()
+ */
+ void supplyIccPinForApp(in int serial, in String pin, in String aid);
+
+ /**
+ * Supplies ICC PUK2 and new PIN2.
+ *
+ * @param serial Serial number of request.
+ * @param puk2 PUK2 value
+ * @param pin2 New PIN2 value
+ * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
+ *
+ * Response function is IRadioSimResponse.supplyIccPuk2ForAppResponse()
+ */
+ void supplyIccPuk2ForApp(in int serial, in String puk2, in String pin2, in String aid);
+
+ /**
+ * Supplies ICC PUK and new PIN.
+ *
+ * @param serial Serial number of request.
+ * @param puk PUK value
+ * @param pin New PIN value
+ * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
+ *
+ * Response function is IRadioSimResponse.supplyIccPukForAppResponse()
+ */
+ void supplyIccPukForApp(in int serial, in String puk, in String pin, in String aid);
+
+ /**
+ * Request that deactivates one category of device personalization. Device personalization
+ * generally binds the device so it can only be used on one carrier or even one carrier subnet
+ * (See TS 22.022). When the user has gained the rights to unbind the device (at the end of a
+ * contract period or other event), the controlKey will be delivered to either the user for
+ * manual entry or to a carrier app on the device for automatic entry.
+ *
+ * @param serial Serial number of request.
+ * @param persoType SIM personalization type.
+ * @param controlKey the unlock code for removing persoType personalization from this device
+ *
+ * Response function is IRadioSimResponse.supplySimDepersonalizationResponse()
+ */
+ void supplySimDepersonalization(
+ in int serial, in PersoSubstate persoType, in String controlKey);
+
+ /**
+ * Insert, delete or update a phonebook record on the SIM card. If the index of recordInfo is 0,
+ * the phonebook record will be added to global or local phonebook, and global phonebook has
+ * higher priority than local phonebook. If the fields in the recordInfo are all empty except
+ * for the index, the phonebook record specified by the index will be deleted. The indication
+ * simPhonebookChanged will be called after every successful call of updateSimPhonebookRecords.
+ *
+ * @param serial Serial number of request.
+ * @param recordInfo Details of the record to insert, delete or update.
+ *
+ * Response function is IRadioSimResponse.updateSimPhonebookRecordsResponse()
+ */
+ void updateSimPhonebookRecords(in int serial, in PhonebookRecordInfo recordInfo);
+}
diff --git a/radio/aidl/android/hardware/radio/sim/IRadioSimIndication.aidl b/radio/aidl/android/hardware/radio/sim/IRadioSimIndication.aidl
new file mode 100644
index 0000000000..a13904099d
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/IRadioSimIndication.aidl
@@ -0,0 +1,130 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.sim;
+
+import android.hardware.radio.RadioIndicationType;
+import android.hardware.radio.sim.CdmaSubscriptionSource;
+import android.hardware.radio.sim.PbReceivedStatus;
+import android.hardware.radio.sim.PhonebookRecordInfo;
+import android.hardware.radio.sim.SimRefreshResult;
+
+/**
+ * Interface declaring unsolicited radio indications for SIM APIs.
+ */
+@VintfStability
+oneway interface IRadioSimIndication {
+ /**
+ * Indicates that the modem requires the Carrier info for IMSI/IMPI encryption. This might
+ * happen when the modem restarts or for some reason it's cache has been invalidated.
+ *
+ * @param type Type of radio indication
+ */
+ void carrierInfoForImsiEncryption(in RadioIndicationType info);
+
+ /**
+ * Indicates when CDMA subscription source changed.
+ *
+ * @param type Type of radio indication
+ * @param cdmaSource New CdmaSubscriptionSource
+ */
+ void cdmaSubscriptionSourceChanged(
+ in RadioIndicationType type, in CdmaSubscriptionSource cdmaSource);
+
+ /**
+ * Indicates whether SIM phonebook is changed. This indication is sent whenever the SIM
+ * phonebook is changed, including SIM is inserted or removed and updated by
+ * IRadioSim.updateSimPhonebookRecords.
+ *
+ * @param type Type of radio indication
+ */
+ void simPhonebookChanged(in RadioIndicationType type);
+
+ /**
+ * Indicates the content of all the used records in the SIM phonebook. This indication is
+ * associated with the API getSimPhonebookRecords and might be received more than once that is
+ * replying on the record count.
+ *
+ * @param type Type of radio indication
+ * @param status Status of PbReceivedStatus
+ * @param records Vector of PhonebookRecordInfo
+ */
+ void simPhonebookRecordsReceived(in RadioIndicationType type, in PbReceivedStatus status,
+ in PhonebookRecordInfo[] records);
+
+ /**
+ * Indicates that file(s) on the SIM have been updated, or the SIM has been reinitialized.
+ * If the SIM state changes as a result of the SIM refresh (eg, SIM_READY ->
+ * SIM_LOCKED_OR_ABSENT), simStatusChanged() must be sent.
+ *
+ * @param type Type of radio indication
+ * @param refreshResult Result of sim refresh
+ */
+ void simRefresh(in RadioIndicationType type, in SimRefreshResult refreshResult);
+
+ /**
+ * Indicates that SIM state changes. Callee must invoke getIccCardStatus().
+ *
+ * @param type Type of radio indication
+ */
+ void simStatusChanged(in RadioIndicationType type);
+
+ /**
+ * Indicates when SIM notifies applcations some event happens.
+ *
+ * @param type Type of radio indication
+ * @param cmd SAT/USAT commands or responses sent by ME to SIM or commands handled by ME,
+ * represented as byte array starting with first byte of response data for command tag.
+ * Refer to TS 102.223 section 9.4 for command types
+ */
+ void stkEventNotify(in RadioIndicationType type, in String cmd);
+
+ /**
+ * Indicates when SIM issue a STK proactive command to applications.
+ *
+ * @param type Type of radio indication
+ * @param cmd SAT/USAT proactive represented as byte array starting with command tag.
+ * Refer to TS 102.223 section 9.4 for command types
+ */
+ void stkProactiveCommand(in RadioIndicationType type, in String cmd);
+
+ /**
+ * Indicates when STK session is terminated by SIM.
+ *
+ * @param type Type of radio indication
+ */
+ void stkSessionEnd(in RadioIndicationType type);
+
+ /**
+ * Indicated when there is a change in subscription status.
+ * This event must be sent in the following scenarios
+ * - subscription readiness at modem, which was selected by telephony layer
+ * - when subscription is deactivated by modem due to UICC card removal
+ * - when network invalidates the subscription i.e. attach reject due to authentication reject
+ *
+ * @param type Type of radio indication
+ * @param activate false for subscription deactivated, true for subscription activated
+ */
+ void subscriptionStatusChanged(in RadioIndicationType type, in boolean activate);
+
+ /**
+ * Report change of whether uiccApplications are enabled, or disabled.
+ *
+ * @param type Type of radio indication
+ * @param enabled whether uiccApplications are enabled or disabled
+ */
+ void uiccApplicationsEnablementChanged(in RadioIndicationType type, in boolean enabled);
+}
diff --git a/radio/aidl/android/hardware/radio/sim/IRadioSimResponse.aidl b/radio/aidl/android/hardware/radio/sim/IRadioSimResponse.aidl
new file mode 100644
index 0000000000..dcc70290f5
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/sim/IRadioSimResponse.aidl
@@ -0,0 +1,649 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.sim;
+
+import android.hardware.radio.RadioResponseInfo;
+import android.hardware.radio.sim.CardStatus;
+import android.hardware.radio.sim.CarrierRestrictions;
+import android.hardware.radio.sim.CdmaSubscriptionSource;
+import android.hardware.radio.sim.IccIoResult;
+import android.hardware.radio.sim.PersoSubstate;
+import android.hardware.radio.sim.PhonebookCapacity;
+import android.hardware.radio.sim.SimLockMultiSimPolicy;
+
+/**
+ * Interface declaring response functions to solicited radio requests for SIM APIs.
+ */
+@VintfStability
+oneway interface IRadioSimResponse {
+ /**
+ * Acknowledge the receipt of radio request sent to the vendor. This must be sent only for
+ * radio request which take long time to respond. For more details, refer
+ * https://source.android.com/devices/tech/connect/ril.html
+ *
+ * @param serial Serial no. of the request whose acknowledgement is sent.
+ */
+ void acknowledgeRequest(in int serial);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param enabled whether Uicc applications are enabled.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:SIM_ABSENT
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ */
+ void areUiccApplicationsEnabledResponse(in RadioResponseInfo info, in boolean enabled);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
+ * RadioError:PASSWORD_INCORRECT (old PIN2 is invalid)
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:SIM_PUK2
+ */
+ void changeIccPin2ForAppResponse(in RadioResponseInfo info, in int remainingRetries);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
+ * RadioError:PASSWORD_INCORRECT
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void changeIccPinForAppResponse(in RadioResponseInfo info, in int remainingRetries);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:SIM_ABSENT
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:BUSY
+ */
+ void enableUiccApplicationsResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param carriers Carrier restriction information.
+ * @param multiSimPolicy Policy used for devices with multiple SIM cards.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void getAllowedCarriersResponse(in RadioResponseInfo info, in CarrierRestrictions carriers,
+ in SimLockMultiSimPolicy multiSimPolicy);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param mdn MDN if CDMA subscription is available
+ * @param hSid is a comma separated list of H_SID (Home SID) if CDMA subscription is available,
+ * in decimal format
+ * @param hNid is a comma separated list of H_NID (Home NID) if CDMA subscription is available,
+ * in decimal format
+ * @param min MIN (10 digits, MIN2+MIN1) if CDMA subscription is available
+ * @param prl PRL version if CDMA subscription is available
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SUBSCRIPTION_NOT_AVAILABLE
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:NOT_PROVISIONED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:SIM_ABSENT
+ */
+ void getCdmaSubscriptionResponse(in RadioResponseInfo info, in String mdn, in String hSid,
+ in String hNid, in String min, in String prl);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param source CDMA subscription source
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SUBSCRIPTION_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:SIM_ABSENT
+ */
+ void getCdmaSubscriptionSourceResponse(
+ in RadioResponseInfo info, in CdmaSubscriptionSource source);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param response 0 is the TS 27.007 service class bit vector of services for which the
+ * specified barring facility is active. "0" means "disabled for all"
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SS_MODIFIED_TO_DIAL
+ * RadioError:SS_MODIFIED_TO_USSD
+ * RadioError:SS_MODIFIED_TO_SS
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:FDN_CHECK_FAILURE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void getFacilityLockForAppResponse(in RadioResponseInfo info, in int response);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param cardStatus ICC card status as defined by CardStatus
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_RESOURCES
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void getIccCardStatusResponse(in RadioResponseInfo info, in CardStatus cardStatus);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param imsi String containing the IMSI
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:SIM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void getImsiForAppResponse(in RadioResponseInfo info, in String imsi);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param capacity Response capacity enum indicating response processing status
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * REQUEST_NOT_SUPPORTED may only be returned on devices that don't support this API,
+ * indicated by the HAL capability CAPABILITY_SIM_PHONEBOOK_IN_MODEM.
+ */
+ void getSimPhonebookCapacityResponse(in RadioResponseInfo info, in PhonebookCapacity capacity);
+
+ /**
+ * @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:INVALID_ARGUMENTS
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * REQUEST_NOT_SUPPORTED may only be returned on devices that don't support this API,
+ * indicated by the HAL capability CAPABILITY_SIM_PHONEBOOK_IN_MODEM.
+ */
+ void getSimPhonebookRecordsResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void iccCloseLogicalChannelResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param iccIo ICC IO operation response
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SIM_PIN2
+ * RadioError:SIM_PUK2
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:SIM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void iccIoForAppResponse(in RadioResponseInfo info, in IccIoResult iccIo);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param channelId session id of the logical channel.
+ * @param selectResponse Contains the select response for the open channel command with one
+ * byte per integer
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:MISSING_RESOURCE
+ * RadioError:NO_SUCH_ELEMENT
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:SIM_ERR
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:MISSING_RESOURCE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void iccOpenLogicalChannelResponse(
+ in RadioResponseInfo info, in int channelId, in byte[] selectResponse);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param result IccIoResult
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void iccTransmitApduBasicChannelResponse(in RadioResponseInfo info, in IccIoResult result);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param result IccIoResult
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void iccTransmitApduLogicalChannelResponse(in RadioResponseInfo info, in IccIoResult result);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void reportStkServiceIsRunningResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param result IccIoResult
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:SIM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void requestIccSimAuthenticationResponse(in RadioResponseInfo info, in IccIoResult result);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param response response string of the challenge/response algo for ISIM auth in base64 format
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:SIM_ABSENT
+ */
+ void requestIsimAuthenticationResponse(in RadioResponseInfo info, in String response);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param commandResponse SAT/USAT response in hexadecimal format string starting with first
+ * byte of response
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SIM_BUSY
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_ERR
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:SIM_ABSENT
+ */
+ void sendEnvelopeResponse(in RadioResponseInfo info, in String commandResponse);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param iccIo IccIoResult corresponding to ICC IO response
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SIM_BUSY
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:SIM_ABSENT
+ */
+ void sendEnvelopeWithStatusResponse(in RadioResponseInfo info, in IccIoResult iccIo);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:OPERATION_NOT_ALLOWED
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:SIM_ABSENT
+ */
+ void sendTerminalResponseToSimResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void setAllowedCarriersResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:RIL_E_SUCCESS
+ * RadioError:RIL_E_RADIO_NOT_AVAILABLE
+ * RadioError:SIM_ABSENT
+ * RadioError:RIL_E_REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:MODEM_INTERNAL_FAILURE
+ */
+ void setCarrierInfoForImsiEncryptionResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SIM_ABSENT
+ * RadioError:SUBSCRIPTION_NOT_AVAILABLE
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void setCdmaSubscriptionSourceResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param retry 0 is the number of retries remaining, or -1 if unknown
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SS_MODIFIED_TO_DIAL
+ * RadioError:SS_MODIFIED_TO_USSD
+ * RadioError:SS_MODIFIED_TO_SS
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:NO_MEMORY
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:INVALID_STATE
+ * RadioError:FDN_CHECK_FAILURE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_MODEM_STATE
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void setFacilityLockForAppResponse(in RadioResponseInfo info, in int retry);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:SIM_ERR (indicates a timeout or other issue making the SIM unresponsive)
+ */
+ void setSimCardPowerResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:SUBSCRIPTION_NOT_SUPPORTED
+ * RadioError:NO_MEMORY
+ * RadioError:INTERNAL_ERR
+ * RadioError:SYSTEM_ERR
+ * RadioError:MODEM_ERR
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ */
+ void setUiccSubscriptionResponse(in RadioResponseInfo info);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
+ * RadioError:PASSWORD_INCORRECT
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:SIM_PUK2
+ */
+ void supplyIccPin2ForAppResponse(in RadioResponseInfo info, in int remainingRetries);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
+ * RadioError:PASSWORD_INCORRECT
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void supplyIccPinForAppResponse(in RadioResponseInfo info, in int remainingRetries);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
+ * RadioError:PASSWORD_INCORRECT (PUK is invalid)
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void supplyIccPuk2ForAppResponse(in RadioResponseInfo info, in int remainingRetries);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown.
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE (radio resetting)
+ * RadioError:PASSWORD_INCORRECT (PUK is invalid)
+ * RadioError:INTERNAL_ERR
+ * RadioError:NO_MEMORY
+ * RadioError:NO_RESOURCES
+ * RadioError:CANCELLED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ */
+ void supplyIccPukForAppResponse(in RadioResponseInfo info, in int remainingRetries);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param persoType SIM Personalization type
+ * @param remainingRetries postiive values indicates number of retries remaining, must be equal
+ * to -1 if number of retries is 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
+ */
+ void supplySimDepersonalizationResponse(
+ in RadioResponseInfo info, in PersoSubstate persoType, in int remainingRetries);
+
+ /**
+ * @param info Response info struct containing response type, serial no. and error
+ * @param updatedRecordIndex The index of the updated or inserted record in the phonebook and
+ * the minimum value is 1
+ *
+ * Valid errors returned:
+ * RadioError:NONE
+ * RadioError:RADIO_NOT_AVAILABLE
+ * RadioError:REQUEST_NOT_SUPPORTED
+ * RadioError:INVALID_ARGUMENTS
+ * RadioError:INVALID_SIM_STATE
+ * RadioError:MODEM_ERR
+ * RadioError:INTERNAL_ERR
+ * RadioError:SIM_ERR
+ * RadioError:NO_SUCH_ENTRY
+ * RadioError:NO_RESOURCES
+ * REQUEST_NOT_SUPPORTED may only be returned on devices that don't support this API,
+ * indicated by the HAL capability CAPABILITY_SIM_PHONEBOOK_IN_MODEM.
+ */
+ void updateSimPhonebookRecordsResponse(in RadioResponseInfo info, in int updatedRecordIndex);
+}
diff --git a/radio/aidl/android/hardware/radio/IccIo.aidl b/radio/aidl/android/hardware/radio/sim/IccIo.aidl
similarity index 97%
rename from radio/aidl/android/hardware/radio/IccIo.aidl
rename to radio/aidl/android/hardware/radio/sim/IccIo.aidl
index 7441758507..be5e832c99 100644
--- a/radio/aidl/android/hardware/radio/IccIo.aidl
+++ b/radio/aidl/android/hardware/radio/sim/IccIo.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.sim;
@VintfStability
parcelable IccIo {
diff --git a/radio/aidl/android/hardware/radio/IccIoResult.aidl b/radio/aidl/android/hardware/radio/sim/IccIoResult.aidl
similarity index 96%
rename from radio/aidl/android/hardware/radio/IccIoResult.aidl
rename to radio/aidl/android/hardware/radio/sim/IccIoResult.aidl
index 94377b4072..8aa9e8fadb 100644
--- a/radio/aidl/android/hardware/radio/IccIoResult.aidl
+++ b/radio/aidl/android/hardware/radio/sim/IccIoResult.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.sim;
@VintfStability
parcelable IccIoResult {
diff --git a/radio/aidl/android/hardware/radio/ImsiEncryptionInfo.aidl b/radio/aidl/android/hardware/radio/sim/ImsiEncryptionInfo.aidl
similarity index 98%
rename from radio/aidl/android/hardware/radio/ImsiEncryptionInfo.aidl
rename to radio/aidl/android/hardware/radio/sim/ImsiEncryptionInfo.aidl
index 3429beb7e8..e8b3807ce2 100644
--- a/radio/aidl/android/hardware/radio/ImsiEncryptionInfo.aidl
+++ b/radio/aidl/android/hardware/radio/sim/ImsiEncryptionInfo.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.sim;
/**
* Carrier specific Information sent by the carrier, which will be used to encrypt IMSI and IMPI.
diff --git a/radio/aidl/android/hardware/radio/PbReceivedStatus.aidl b/radio/aidl/android/hardware/radio/sim/PbReceivedStatus.aidl
similarity index 97%
rename from radio/aidl/android/hardware/radio/PbReceivedStatus.aidl
rename to radio/aidl/android/hardware/radio/sim/PbReceivedStatus.aidl
index 44ed4d95e5..953335baf2 100644
--- a/radio/aidl/android/hardware/radio/PbReceivedStatus.aidl
+++ b/radio/aidl/android/hardware/radio/sim/PbReceivedStatus.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.sim;
/**
* Enum representing the status of the received PB indication.
diff --git a/radio/aidl/android/hardware/radio/PersoSubstate.aidl b/radio/aidl/android/hardware/radio/sim/PersoSubstate.aidl
similarity index 98%
rename from radio/aidl/android/hardware/radio/PersoSubstate.aidl
rename to radio/aidl/android/hardware/radio/sim/PersoSubstate.aidl
index 93b2af53c4..f01ff61a50 100644
--- a/radio/aidl/android/hardware/radio/PersoSubstate.aidl
+++ b/radio/aidl/android/hardware/radio/sim/PersoSubstate.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.sim;
/**
* Additional personalization categories in addition to those specified in 3GPP TS 22.022 and
diff --git a/radio/aidl/android/hardware/radio/PhonebookCapacity.aidl b/radio/aidl/android/hardware/radio/sim/PhonebookCapacity.aidl
similarity index 98%
rename from radio/aidl/android/hardware/radio/PhonebookCapacity.aidl
rename to radio/aidl/android/hardware/radio/sim/PhonebookCapacity.aidl
index c14141114b..23a0208ecc 100644
--- a/radio/aidl/android/hardware/radio/PhonebookCapacity.aidl
+++ b/radio/aidl/android/hardware/radio/sim/PhonebookCapacity.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.sim;
@VintfStability
parcelable PhonebookCapacity {
diff --git a/radio/aidl/android/hardware/radio/PhonebookRecordInfo.aidl b/radio/aidl/android/hardware/radio/sim/PhonebookRecordInfo.aidl
similarity index 97%
rename from radio/aidl/android/hardware/radio/PhonebookRecordInfo.aidl
rename to radio/aidl/android/hardware/radio/sim/PhonebookRecordInfo.aidl
index eb0c880d26..03326b8877 100644
--- a/radio/aidl/android/hardware/radio/PhonebookRecordInfo.aidl
+++ b/radio/aidl/android/hardware/radio/sim/PhonebookRecordInfo.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.sim;
/**
* Phonebook-record-information specified by EF_ADN (Abbreviated dialing numbers) record of SIM
diff --git a/radio/aidl/android/hardware/radio/PinState.aidl b/radio/aidl/android/hardware/radio/sim/PinState.aidl
similarity index 95%
rename from radio/aidl/android/hardware/radio/PinState.aidl
rename to radio/aidl/android/hardware/radio/sim/PinState.aidl
index cb42ff232b..03b8e4ea6e 100644
--- a/radio/aidl/android/hardware/radio/PinState.aidl
+++ b/radio/aidl/android/hardware/radio/sim/PinState.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.sim;
@VintfStability
@Backing(type="int")
diff --git a/radio/aidl/android/hardware/radio/SelectUiccSub.aidl b/radio/aidl/android/hardware/radio/sim/SelectUiccSub.aidl
similarity index 96%
rename from radio/aidl/android/hardware/radio/SelectUiccSub.aidl
rename to radio/aidl/android/hardware/radio/sim/SelectUiccSub.aidl
index f762e9f953..3c152d6a6b 100644
--- a/radio/aidl/android/hardware/radio/SelectUiccSub.aidl
+++ b/radio/aidl/android/hardware/radio/sim/SelectUiccSub.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.sim;
@VintfStability
parcelable SelectUiccSub {
diff --git a/radio/aidl/android/hardware/radio/SimApdu.aidl b/radio/aidl/android/hardware/radio/sim/SimApdu.aidl
similarity index 97%
rename from radio/aidl/android/hardware/radio/SimApdu.aidl
rename to radio/aidl/android/hardware/radio/sim/SimApdu.aidl
index 65dae4c72e..1dc707ecb9 100644
--- a/radio/aidl/android/hardware/radio/SimApdu.aidl
+++ b/radio/aidl/android/hardware/radio/sim/SimApdu.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.sim;
@VintfStability
parcelable SimApdu {
diff --git a/radio/aidl/android/hardware/radio/SimLockMultiSimPolicy.aidl b/radio/aidl/android/hardware/radio/sim/SimLockMultiSimPolicy.aidl
similarity index 96%
rename from radio/aidl/android/hardware/radio/SimLockMultiSimPolicy.aidl
rename to radio/aidl/android/hardware/radio/sim/SimLockMultiSimPolicy.aidl
index 89e13fd27b..6c031220d9 100644
--- a/radio/aidl/android/hardware/radio/SimLockMultiSimPolicy.aidl
+++ b/radio/aidl/android/hardware/radio/sim/SimLockMultiSimPolicy.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.sim;
@VintfStability
@Backing(type="int")
diff --git a/radio/aidl/android/hardware/radio/SimRefreshResult.aidl b/radio/aidl/android/hardware/radio/sim/SimRefreshResult.aidl
similarity index 73%
rename from radio/aidl/android/hardware/radio/SimRefreshResult.aidl
rename to radio/aidl/android/hardware/radio/sim/SimRefreshResult.aidl
index 9e38fff6b0..483a54c611 100644
--- a/radio/aidl/android/hardware/radio/SimRefreshResult.aidl
+++ b/radio/aidl/android/hardware/radio/sim/SimRefreshResult.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.sim;
@VintfStability
parcelable SimRefreshResult {
@@ -40,10 +40,11 @@ parcelable SimRefreshResult {
*/
int efId;
/**
- * AID(application ID) of the card application. See ETSI 102.221 8.1 and 101.220 4.
- * For SIM_FILE_UPDATE result it must be set to AID of application in which updated EF resides
- * or it must be empty string if EF is outside of an application. For SIM_INIT result this field
- * is set to AID of application that caused REFRESH. For SIM_RESET result it is empty string.
+ * AID (application ID) of the card application. See ETSI 102.221 8.1 and 101.220 4.
+ * For TYPE_SIM_FILE_UPDATE result, it must be set to AID of application in which updated EF
+ * resides or it must be empty string if EF is outside of an application. For TYPE_SIM_INIT
+ * result, this field is set to AID of application that caused REFRESH. For TYPE_SIM_RESET
+ * result, it is empty string.
*/
String aid;
}
diff --git a/radio/aidl/android/hardware/radio/AudioQuality.aidl b/radio/aidl/android/hardware/radio/voice/AudioQuality.aidl
similarity index 97%
rename from radio/aidl/android/hardware/radio/AudioQuality.aidl
rename to radio/aidl/android/hardware/radio/voice/AudioQuality.aidl
index bc4c2f1201..94d5f880b7 100644
--- a/radio/aidl/android/hardware/radio/AudioQuality.aidl
+++ b/radio/aidl/android/hardware/radio/voice/AudioQuality.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.voice;
/**
* Audio codec which is used on GSM, UMTS, and CDMA. These values must be opaque to the Android
diff --git a/radio/aidl/android/hardware/radio/Call.aidl b/radio/aidl/android/hardware/radio/voice/Call.aidl
similarity index 94%
rename from radio/aidl/android/hardware/radio/Call.aidl
rename to radio/aidl/android/hardware/radio/voice/Call.aidl
index 467a5b9514..beb079b838 100644
--- a/radio/aidl/android/hardware/radio/Call.aidl
+++ b/radio/aidl/android/hardware/radio/voice/Call.aidl
@@ -14,10 +14,10 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.voice;
-import android.hardware.radio.AudioQuality;
-import android.hardware.radio.UusInfo;
+import android.hardware.radio.voice.AudioQuality;
+import android.hardware.radio.voice.UusInfo;
@VintfStability
parcelable Call {
diff --git a/radio/aidl/android/hardware/radio/CallForwardInfo.aidl b/radio/aidl/android/hardware/radio/voice/CallForwardInfo.aidl
similarity index 83%
rename from radio/aidl/android/hardware/radio/CallForwardInfo.aidl
rename to radio/aidl/android/hardware/radio/voice/CallForwardInfo.aidl
index 18356318f0..b7ddcd9fac 100644
--- a/radio/aidl/android/hardware/radio/CallForwardInfo.aidl
+++ b/radio/aidl/android/hardware/radio/voice/CallForwardInfo.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.voice;
/**
* See also com.android.internal.telephony.gsm.CallForwardInfo
@@ -28,8 +28,9 @@ parcelable CallForwardInfo {
const int STATUS_ERASURE = 4;
/**
- * For queryCallForwardStatus() status is DISABLE (Not used by vendor code currently)
- * For setCallForward() status must be DISABLE, ENABLE, INTERROGATE, REGISTRATION, ERASURE
+ * For queryCallForwardStatus() status is STATUS_DISABLE (Not used by vendor code currently)
+ * For setCallForward() status must be STATUS_DISABLE, STATUS_ENABLE, STATUS_INTERROGATE,
+ * STATUS_REGISTRATION, STATUS_ERASURE
* Values are STATUS_
*/
int status;
diff --git a/radio/aidl/android/hardware/radio/CdmaCallWaiting.aidl b/radio/aidl/android/hardware/radio/voice/CdmaCallWaiting.aidl
similarity index 94%
rename from radio/aidl/android/hardware/radio/CdmaCallWaiting.aidl
rename to radio/aidl/android/hardware/radio/voice/CdmaCallWaiting.aidl
index b08ba7f125..7ba6a72744 100644
--- a/radio/aidl/android/hardware/radio/CdmaCallWaiting.aidl
+++ b/radio/aidl/android/hardware/radio/voice/CdmaCallWaiting.aidl
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.voice;
-import android.hardware.radio.CdmaSignalInfoRecord;
+import android.hardware.radio.voice.CdmaSignalInfoRecord;
@VintfStability
parcelable CdmaCallWaiting {
diff --git a/radio/aidl/android/hardware/radio/CdmaDisplayInfoRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl
similarity index 97%
rename from radio/aidl/android/hardware/radio/CdmaDisplayInfoRecord.aidl
rename to radio/aidl/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl
index 9b11f37c6d..18a1ce4977 100644
--- a/radio/aidl/android/hardware/radio/CdmaDisplayInfoRecord.aidl
+++ b/radio/aidl/android/hardware/radio/voice/CdmaDisplayInfoRecord.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.voice;
/**
* Display Info Rec as defined in C.S0005 section 3.7.5.1. Extended Display Info Rec as defined in
diff --git a/radio/aidl/android/hardware/radio/CdmaInformationRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaInformationRecord.aidl
similarity index 81%
rename from radio/aidl/android/hardware/radio/CdmaInformationRecord.aidl
rename to radio/aidl/android/hardware/radio/voice/CdmaInformationRecord.aidl
index 20eabffb96..af37dac3ec 100644
--- a/radio/aidl/android/hardware/radio/CdmaInformationRecord.aidl
+++ b/radio/aidl/android/hardware/radio/voice/CdmaInformationRecord.aidl
@@ -14,15 +14,15 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.voice;
-import android.hardware.radio.CdmaDisplayInfoRecord;
-import android.hardware.radio.CdmaLineControlInfoRecord;
-import android.hardware.radio.CdmaNumberInfoRecord;
-import android.hardware.radio.CdmaRedirectingNumberInfoRecord;
-import android.hardware.radio.CdmaSignalInfoRecord;
-import android.hardware.radio.CdmaT53AudioControlInfoRecord;
-import android.hardware.radio.CdmaT53ClirInfoRecord;
+import android.hardware.radio.voice.CdmaDisplayInfoRecord;
+import android.hardware.radio.voice.CdmaLineControlInfoRecord;
+import android.hardware.radio.voice.CdmaNumberInfoRecord;
+import android.hardware.radio.voice.CdmaRedirectingNumberInfoRecord;
+import android.hardware.radio.voice.CdmaSignalInfoRecord;
+import android.hardware.radio.voice.CdmaT53AudioControlInfoRecord;
+import android.hardware.radio.voice.CdmaT53ClirInfoRecord;
@VintfStability
parcelable CdmaInformationRecord {
diff --git a/radio/aidl/android/hardware/radio/CdmaInformationRecords.aidl b/radio/aidl/android/hardware/radio/voice/CdmaInformationRecords.aidl
similarity index 89%
rename from radio/aidl/android/hardware/radio/CdmaInformationRecords.aidl
rename to radio/aidl/android/hardware/radio/voice/CdmaInformationRecords.aidl
index dcf0ed20ac..46a9b1a81c 100644
--- a/radio/aidl/android/hardware/radio/CdmaInformationRecords.aidl
+++ b/radio/aidl/android/hardware/radio/voice/CdmaInformationRecords.aidl
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.voice;
-import android.hardware.radio.CdmaInformationRecord;
+import android.hardware.radio.voice.CdmaInformationRecord;
@VintfStability
parcelable CdmaInformationRecords {
diff --git a/radio/aidl/android/hardware/radio/CdmaLineControlInfoRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaLineControlInfoRecord.aidl
similarity index 95%
rename from radio/aidl/android/hardware/radio/CdmaLineControlInfoRecord.aidl
rename to radio/aidl/android/hardware/radio/voice/CdmaLineControlInfoRecord.aidl
index a6178afd52..c3bda23013 100644
--- a/radio/aidl/android/hardware/radio/CdmaLineControlInfoRecord.aidl
+++ b/radio/aidl/android/hardware/radio/voice/CdmaLineControlInfoRecord.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.voice;
/**
* Line Control Information Record as defined in C.S0005 section 3.7.5.15
diff --git a/radio/aidl/android/hardware/radio/CdmaNumberInfoRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaNumberInfoRecord.aidl
similarity index 90%
rename from radio/aidl/android/hardware/radio/CdmaNumberInfoRecord.aidl
rename to radio/aidl/android/hardware/radio/voice/CdmaNumberInfoRecord.aidl
index 06e8317bd0..41ce08f441 100644
--- a/radio/aidl/android/hardware/radio/CdmaNumberInfoRecord.aidl
+++ b/radio/aidl/android/hardware/radio/voice/CdmaNumberInfoRecord.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.voice;
/**
* Called Party Number Info Rec as defined in C.S0005 section 3.7.5.2
@@ -24,7 +24,7 @@ package android.hardware.radio;
@VintfStability
parcelable CdmaNumberInfoRecord {
/**
- * Max length = RADIO_CDMA_NUMBER_INFO_BUFFER_LENGTH
+ * Max length = RadioConst::CDMA_NUMBER_INFO_BUFFER_LENGTH
*/
String number;
byte numberType;
diff --git a/radio/aidl/android/hardware/radio/CdmaOtaProvisionStatus.aidl b/radio/aidl/android/hardware/radio/voice/CdmaOtaProvisionStatus.aidl
similarity index 96%
rename from radio/aidl/android/hardware/radio/CdmaOtaProvisionStatus.aidl
rename to radio/aidl/android/hardware/radio/voice/CdmaOtaProvisionStatus.aidl
index 0cb43141f6..7b4205ac6f 100644
--- a/radio/aidl/android/hardware/radio/CdmaOtaProvisionStatus.aidl
+++ b/radio/aidl/android/hardware/radio/voice/CdmaOtaProvisionStatus.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.voice;
@VintfStability
@Backing(type="int")
diff --git a/radio/aidl/android/hardware/radio/CdmaRedirectingNumberInfoRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaRedirectingNumberInfoRecord.aidl
similarity index 93%
rename from radio/aidl/android/hardware/radio/CdmaRedirectingNumberInfoRecord.aidl
rename to radio/aidl/android/hardware/radio/voice/CdmaRedirectingNumberInfoRecord.aidl
index 7ba272b8a6..f3bcc0f9b6 100644
--- a/radio/aidl/android/hardware/radio/CdmaRedirectingNumberInfoRecord.aidl
+++ b/radio/aidl/android/hardware/radio/voice/CdmaRedirectingNumberInfoRecord.aidl
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.voice;
-import android.hardware.radio.CdmaNumberInfoRecord;
+import android.hardware.radio.voice.CdmaNumberInfoRecord;
@VintfStability
parcelable CdmaRedirectingNumberInfoRecord {
diff --git a/radio/aidl/android/hardware/radio/CdmaSignalInfoRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaSignalInfoRecord.aidl
similarity index 96%
rename from radio/aidl/android/hardware/radio/CdmaSignalInfoRecord.aidl
rename to radio/aidl/android/hardware/radio/voice/CdmaSignalInfoRecord.aidl
index 36ecb1813d..5fc877680c 100644
--- a/radio/aidl/android/hardware/radio/CdmaSignalInfoRecord.aidl
+++ b/radio/aidl/android/hardware/radio/voice/CdmaSignalInfoRecord.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.voice;
/**
* CDMA Signal Information Record as defined in C.S0005 section 3.7.5.5
diff --git a/radio/aidl/android/hardware/radio/CdmaT53AudioControlInfoRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaT53AudioControlInfoRecord.aidl
similarity index 95%
rename from radio/aidl/android/hardware/radio/CdmaT53AudioControlInfoRecord.aidl
rename to radio/aidl/android/hardware/radio/voice/CdmaT53AudioControlInfoRecord.aidl
index 715a2f7b2c..c41f8e365a 100644
--- a/radio/aidl/android/hardware/radio/CdmaT53AudioControlInfoRecord.aidl
+++ b/radio/aidl/android/hardware/radio/voice/CdmaT53AudioControlInfoRecord.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.voice;
/**
* T53 Audio Control Information Record
diff --git a/radio/aidl/android/hardware/radio/CdmaT53ClirInfoRecord.aidl b/radio/aidl/android/hardware/radio/voice/CdmaT53ClirInfoRecord.aidl
similarity index 95%
rename from radio/aidl/android/hardware/radio/CdmaT53ClirInfoRecord.aidl
rename to radio/aidl/android/hardware/radio/voice/CdmaT53ClirInfoRecord.aidl
index 636d40c48a..e37a072258 100644
--- a/radio/aidl/android/hardware/radio/CdmaT53ClirInfoRecord.aidl
+++ b/radio/aidl/android/hardware/radio/voice/CdmaT53ClirInfoRecord.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.voice;
/**
* T53 CLIR Information Record
diff --git a/radio/aidl/android/hardware/radio/CfData.aidl b/radio/aidl/android/hardware/radio/voice/CfData.aidl
similarity index 90%
rename from radio/aidl/android/hardware/radio/CfData.aidl
rename to radio/aidl/android/hardware/radio/voice/CfData.aidl
index c6a91b9807..8d7c4bd813 100644
--- a/radio/aidl/android/hardware/radio/CfData.aidl
+++ b/radio/aidl/android/hardware/radio/voice/CfData.aidl
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.voice;
-import android.hardware.radio.CallForwardInfo;
+import android.hardware.radio.voice.CallForwardInfo;
@VintfStability
parcelable CfData {
diff --git a/radio/aidl/android/hardware/radio/ClipStatus.aidl b/radio/aidl/android/hardware/radio/voice/ClipStatus.aidl
similarity index 95%
rename from radio/aidl/android/hardware/radio/ClipStatus.aidl
rename to radio/aidl/android/hardware/radio/voice/ClipStatus.aidl
index c75c609092..4b10ecc5d0 100644
--- a/radio/aidl/android/hardware/radio/ClipStatus.aidl
+++ b/radio/aidl/android/hardware/radio/voice/ClipStatus.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.voice;
@VintfStability
@Backing(type="int")
diff --git a/radio/aidl/android/hardware/radio/Dial.aidl b/radio/aidl/android/hardware/radio/voice/Dial.aidl
similarity index 92%
rename from radio/aidl/android/hardware/radio/Dial.aidl
rename to radio/aidl/android/hardware/radio/voice/Dial.aidl
index f4097ff696..7d61fe5fe0 100644
--- a/radio/aidl/android/hardware/radio/Dial.aidl
+++ b/radio/aidl/android/hardware/radio/voice/Dial.aidl
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.voice;
-import android.hardware.radio.UusInfo;
+import android.hardware.radio.voice.UusInfo;
@VintfStability
parcelable Dial {
diff --git a/radio/aidl/android/hardware/radio/EmergencyCallRouting.aidl b/radio/aidl/android/hardware/radio/voice/EmergencyCallRouting.aidl
similarity index 96%
rename from radio/aidl/android/hardware/radio/EmergencyCallRouting.aidl
rename to radio/aidl/android/hardware/radio/voice/EmergencyCallRouting.aidl
index a915ee69ce..75a41c9c36 100644
--- a/radio/aidl/android/hardware/radio/EmergencyCallRouting.aidl
+++ b/radio/aidl/android/hardware/radio/voice/EmergencyCallRouting.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.voice;
/**
* Indicates how the implementation should handle the emergency call if it is required by Android.
diff --git a/radio/aidl/android/hardware/radio/EmergencyNumber.aidl b/radio/aidl/android/hardware/radio/voice/EmergencyNumber.aidl
similarity index 97%
rename from radio/aidl/android/hardware/radio/EmergencyNumber.aidl
rename to radio/aidl/android/hardware/radio/voice/EmergencyNumber.aidl
index 152be90fdf..aa4dde2893 100644
--- a/radio/aidl/android/hardware/radio/EmergencyNumber.aidl
+++ b/radio/aidl/android/hardware/radio/voice/EmergencyNumber.aidl
@@ -14,9 +14,9 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.voice;
-import android.hardware.radio.EmergencyServiceCategory;
+import android.hardware.radio.voice.EmergencyServiceCategory;
/**
* Emergency number contains information of number, one or more service category(s), zero or more
diff --git a/radio/aidl/android/hardware/radio/EmergencyServiceCategory.aidl b/radio/aidl/android/hardware/radio/voice/EmergencyServiceCategory.aidl
similarity index 97%
rename from radio/aidl/android/hardware/radio/EmergencyServiceCategory.aidl
rename to radio/aidl/android/hardware/radio/voice/EmergencyServiceCategory.aidl
index 30d34ab210..cfebc47e35 100644
--- a/radio/aidl/android/hardware/radio/EmergencyServiceCategory.aidl
+++ b/radio/aidl/android/hardware/radio/voice/EmergencyServiceCategory.aidl
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package android.hardware.radio;
+package android.hardware.radio.voice;
/**
* Defining Emergency Service Category as follows:
diff --git a/radio/aidl/android/hardware/radio/voice/IRadioVoice.aidl b/radio/aidl/android/hardware/radio/voice/IRadioVoice.aidl
new file mode 100644
index 0000000000..1e60de509d
--- /dev/null
+++ b/radio/aidl/android/hardware/radio/voice/IRadioVoice.aidl
@@ -0,0 +1,443 @@
+/*
+ * Copyright (C) 2021 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.hardware.radio.voice;
+
+import android.hardware.radio.voice.CallForwardInfo;
+import android.hardware.radio.voice.Dial;
+import android.hardware.radio.voice.EmergencyCallRouting;
+import android.hardware.radio.voice.EmergencyServiceCategory;
+import android.hardware.radio.voice.IRadioVoiceIndication;
+import android.hardware.radio.voice.IRadioVoiceResponse;
+import android.hardware.radio.voice.TtyMode;
+
+/**
+ * This interface is used by telephony and telecom to talk to cellular radio for voice APIs.
+ * All the functions have minimum one parameter:
+ * serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the
+ * duration of a method call. If clients provide colliding serials (including passing the same
+ * serial to different methods), multiple responses (one for each method call) must still be served.
+ * setResponseFunctions must work with IRadioVoiceResponse and IRadioVoiceIndication.
+ */
+@VintfStability
+oneway interface IRadioVoice {
+ /**
+ * Answer incoming call. Must not be called for WAITING calls.
+ * switchWaitingOrHoldingAndActive() must be used in this case instead
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioVoiceResponse.acceptCallResponse()
+ */
+ void acceptCall(in int serial);
+
+ /**
+ * Conference holding and active (like AT+CHLD=3)
+ *
+ * @param serial Serial number of request.
+ *
+ * Response function is IRadioVoiceResponse.conferenceResponse()
+ */
+ void conference(in int serial);
+
+ /**
+ * Initiate voice call. This method is never used for supplementary service codes.
+ *
+ * @param serial Serial number of request.
+ * @param dialInfo Dial struct
+ *
+ * Response function is IRadioVoiceResponse.dialResponse()
+ */
+ void dial(in int serial, in Dial dialInfo);
+
+ /**
+ * Initiate emergency voice call, with zero or more emergency service category(s), zero or
+ * more emergency Uniform Resource Names (URN), and routing information for handling the call.
+ * Android uses this request to make its emergency call instead of using IRadio.dial if the
+ * 'address' in the 'dialInfo' field is identified as an emergency number by Android.
+ *
+ * In multi-sim scenario, if the emergency number is from a specific subscription, this radio
+ * request can still be sent out on the other subscription as long as routing is set to
+ * EmergencyNumberRouting#EMERGENCY. This radio request will not be sent on an inactive
+ * (PIN/PUK locked) subscription unless both subscriptions are PIN/PUK locked. In this case,
+ * the request will be sent on the primary subscription.
+ *
+ * Some countries or carriers require some emergency numbers that must be handled with normal
+ * call routing if possible or emergency routing. 1) if the 'routing' field is specified as
+ * EmergencyNumberRouting#NORMAL, the implementation must try the full radio service to use
+ * normal call routing to handle the call; if service cannot support normal routing, the
+ * implementation must use emergency routing to handle the call. 2) if 'routing' is specified
+ * as EmergencyNumberRouting#EMERGENCY, the implementation must use emergency routing to handle
+ * the call. 3) if 'routing' is specified as EmergencyNumberRouting#UNKNOWN, Android does not
+ * know how to handle the call.
+ *
+ * If the dialed emergency number does not have a specified emergency service category, the
+ * 'categories' field is set to EmergencyServiceCategory#UNSPECIFIED; if the dialed emergency
+ * number does not have specified emergency Uniform Resource Names, the 'urns' field is set to
+ * an empty list. If the underlying technology used to request emergency services does not
+ * support the emergency service category or emergency uniform resource names, the field
+ * 'categories' or 'urns' may be ignored.
+ *
+ * In the scenarios that the 'address' in the 'dialInfo' field has other functions besides the
+ * emergency number function, if the 'hasKnownUserIntentEmergency' field is true, the user's
+ * intent for this dial request is emergency call, and the modem must treat this as an actual
+ * emergency dial; if the 'hasKnownUserIntentEmergency' field is false, Android does not know
+ * user's intent for this call.
+ *
+ * If 'isTesting' is true, this request is for testing purpose, and must not be sent to a real
+ * emergency service; otherwise it's for a real emergency call request.
+ *
+ * Reference: 3gpp 22.101, Section 10 - Emergency Calls;
+ * 3gpp 23.167, Section 6 - Functional description;
+ * 3gpp 24.503, Section 5.1.6.8.1 - General;
+ * RFC 5031
+ *
+ * @param serial Serial number of request.
+ * @param dialInfo the same Dial information used by IRadioVoice.dial.
+ * @param categories bitfield