xref: /aosp_15_r20/hardware/interfaces/radio/1.0/IRadioIndication.hal (revision 4d7e907c777eeecc4c5bd7cf640a754fac206ff7)
1*4d7e907cSAndroid Build Coastguard Worker/*
2*4d7e907cSAndroid Build Coastguard Worker * Copyright (C) 2016 The Android Open Source Project
3*4d7e907cSAndroid Build Coastguard Worker *
4*4d7e907cSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License");
5*4d7e907cSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License.
6*4d7e907cSAndroid Build Coastguard Worker * You may obtain a copy of the License at
7*4d7e907cSAndroid Build Coastguard Worker *
8*4d7e907cSAndroid Build Coastguard Worker *      http://www.apache.org/licenses/LICENSE-2.0
9*4d7e907cSAndroid Build Coastguard Worker *
10*4d7e907cSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software
11*4d7e907cSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS,
12*4d7e907cSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*4d7e907cSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and
14*4d7e907cSAndroid Build Coastguard Worker * limitations under the License.
15*4d7e907cSAndroid Build Coastguard Worker */
16*4d7e907cSAndroid Build Coastguard Worker
17*4d7e907cSAndroid Build Coastguard Workerpackage [email protected];
18*4d7e907cSAndroid Build Coastguard Worker
19*4d7e907cSAndroid Build Coastguard Worker/**
20*4d7e907cSAndroid Build Coastguard Worker * Interface declaring unsolicited radio indications.
21*4d7e907cSAndroid Build Coastguard Worker */
22*4d7e907cSAndroid Build Coastguard Workerinterface IRadioIndication {
23*4d7e907cSAndroid Build Coastguard Worker    /**
24*4d7e907cSAndroid Build Coastguard Worker     * Indicates when radio state changes.
25*4d7e907cSAndroid Build Coastguard Worker     *
26*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
27*4d7e907cSAndroid Build Coastguard Worker     * @param radioState Current radio state
28*4d7e907cSAndroid Build Coastguard Worker     */
29*4d7e907cSAndroid Build Coastguard Worker    oneway radioStateChanged(RadioIndicationType type, RadioState radioState);
30*4d7e907cSAndroid Build Coastguard Worker
31*4d7e907cSAndroid Build Coastguard Worker    /**
32*4d7e907cSAndroid Build Coastguard Worker     * Indicates when call state has changed.
33*4d7e907cSAndroid Build Coastguard Worker     * Callee must invoke IRadio.getCurrentCalls()
34*4d7e907cSAndroid Build Coastguard Worker     * Must be invoked on, for example,
35*4d7e907cSAndroid Build Coastguard Worker     * "RING", "BUSY", "NO CARRIER", and also call state
36*4d7e907cSAndroid Build Coastguard Worker     * transitions (DIALING->ALERTING ALERTING->ACTIVE)
37*4d7e907cSAndroid Build Coastguard Worker     *
38*4d7e907cSAndroid Build Coastguard Worker     * Redundent or extraneous invocations are tolerated
39*4d7e907cSAndroid Build Coastguard Worker     *
40*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
41*4d7e907cSAndroid Build Coastguard Worker     */
42*4d7e907cSAndroid Build Coastguard Worker    oneway callStateChanged(RadioIndicationType type);
43*4d7e907cSAndroid Build Coastguard Worker
44*4d7e907cSAndroid Build Coastguard Worker    /**
45*4d7e907cSAndroid Build Coastguard Worker     * Indicates when voice or data network state changed
46*4d7e907cSAndroid Build Coastguard Worker     * Callee must invoke IRadio.getVoiceRegistrationState(), IRadio.getDataRegistrationState(),
47*4d7e907cSAndroid Build Coastguard Worker     * and IRadio.getOperator()
48*4d7e907cSAndroid Build Coastguard Worker     *
49*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
50*4d7e907cSAndroid Build Coastguard Worker     */
51*4d7e907cSAndroid Build Coastguard Worker    oneway networkStateChanged(RadioIndicationType type);
52*4d7e907cSAndroid Build Coastguard Worker
53*4d7e907cSAndroid Build Coastguard Worker    /**
54*4d7e907cSAndroid Build Coastguard Worker     * Indicates when new SMS is received.
55*4d7e907cSAndroid Build Coastguard Worker     * Callee must subsequently confirm the receipt of the SMS with a
56*4d7e907cSAndroid Build Coastguard Worker     * acknowledgeLastIncomingGsmSms()
57*4d7e907cSAndroid Build Coastguard Worker     *
58*4d7e907cSAndroid Build Coastguard Worker     * Server must not send newSms() nor newSmsStatusReport() messages until a
59*4d7e907cSAndroid Build Coastguard Worker     * acknowledgeLastIncomingGsmSms() has been received
60*4d7e907cSAndroid Build Coastguard Worker     *
61*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
62*4d7e907cSAndroid Build Coastguard Worker     * @param pdu PDU of SMS-DELIVER represented as byte array.
63*4d7e907cSAndroid Build Coastguard Worker     *        The PDU starts with the SMSC address per TS 27.005 (+CMT:)
64*4d7e907cSAndroid Build Coastguard Worker     */
65*4d7e907cSAndroid Build Coastguard Worker    oneway newSms(RadioIndicationType type, vec<uint8_t> pdu);
66*4d7e907cSAndroid Build Coastguard Worker
67*4d7e907cSAndroid Build Coastguard Worker    /**
68*4d7e907cSAndroid Build Coastguard Worker     * Indicates when new SMS Status Report is received.
69*4d7e907cSAndroid Build Coastguard Worker     * Callee must subsequently confirm the receipt of the SMS with a
70*4d7e907cSAndroid Build Coastguard Worker     * acknowledgeLastIncomingGsmSms()
71*4d7e907cSAndroid Build Coastguard Worker     *
72*4d7e907cSAndroid Build Coastguard Worker     * Server must not send newSms() nor newSmsStatusReport() messages until a
73*4d7e907cSAndroid Build Coastguard Worker     * acknowledgeLastIncomingGsmSms() has been received
74*4d7e907cSAndroid Build Coastguard Worker     *
75*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
76*4d7e907cSAndroid Build Coastguard Worker     * @param pdu PDU of SMS-STATUS-REPORT represented as byte array.
77*4d7e907cSAndroid Build Coastguard Worker     *        The PDU starts with the SMSC address per TS 27.005 (+CMT:)
78*4d7e907cSAndroid Build Coastguard Worker     */
79*4d7e907cSAndroid Build Coastguard Worker    oneway newSmsStatusReport(RadioIndicationType type, vec<uint8_t> pdu);
80*4d7e907cSAndroid Build Coastguard Worker
81*4d7e907cSAndroid Build Coastguard Worker    /**
82*4d7e907cSAndroid Build Coastguard Worker     * Indicates when new SMS has been stored on SIM card
83*4d7e907cSAndroid Build Coastguard Worker     *
84*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
85*4d7e907cSAndroid Build Coastguard Worker     * @param recordNumber Record number on the sim
86*4d7e907cSAndroid Build Coastguard Worker     */
87*4d7e907cSAndroid Build Coastguard Worker    oneway newSmsOnSim(RadioIndicationType type, int32_t recordNumber);
88*4d7e907cSAndroid Build Coastguard Worker
89*4d7e907cSAndroid Build Coastguard Worker    /**
90*4d7e907cSAndroid Build Coastguard Worker     * Indicates when a new USSD message is received.
91*4d7e907cSAndroid Build Coastguard Worker     * The USSD session is assumed to persist if the type code is REQUEST, otherwise
92*4d7e907cSAndroid Build Coastguard Worker     * the current session (if any) is assumed to have terminated.
93*4d7e907cSAndroid Build Coastguard Worker     *
94*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
95*4d7e907cSAndroid Build Coastguard Worker     * @param modeType USSD type code
96*4d7e907cSAndroid Build Coastguard Worker     * @param msg Message string in UTF-8, if applicable
97*4d7e907cSAndroid Build Coastguard Worker     */
98*4d7e907cSAndroid Build Coastguard Worker    oneway onUssd(RadioIndicationType type, UssdModeType modeType, string msg);
99*4d7e907cSAndroid Build Coastguard Worker
100*4d7e907cSAndroid Build Coastguard Worker    /**
101*4d7e907cSAndroid Build Coastguard Worker     * Indicates when radio has received a NITZ time message.
102*4d7e907cSAndroid Build Coastguard Worker     *
103*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
104*4d7e907cSAndroid Build Coastguard Worker     * @param nitzTime NITZ time string in the form "yy/mm/dd,hh:mm:ss(+/-)tz,dt"
105*4d7e907cSAndroid Build Coastguard Worker     * @param receivedTime milliseconds since boot that the NITZ time was received
106*4d7e907cSAndroid Build Coastguard Worker     */
107*4d7e907cSAndroid Build Coastguard Worker    oneway nitzTimeReceived(RadioIndicationType type, string nitzTime, uint64_t receivedTime);
108*4d7e907cSAndroid Build Coastguard Worker
109*4d7e907cSAndroid Build Coastguard Worker    /**
110*4d7e907cSAndroid Build Coastguard Worker     * Indicates current signal strength of the radio.
111*4d7e907cSAndroid Build Coastguard Worker     *
112*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
113*4d7e907cSAndroid Build Coastguard Worker     * @param signalStrength SignalStrength information as defined in types.hal
114*4d7e907cSAndroid Build Coastguard Worker     */
115*4d7e907cSAndroid Build Coastguard Worker    oneway currentSignalStrength(RadioIndicationType type, SignalStrength signalStrength);
116*4d7e907cSAndroid Build Coastguard Worker
117*4d7e907cSAndroid Build Coastguard Worker    /**
118*4d7e907cSAndroid Build Coastguard Worker     * Indicates data call contexts have changed.
119*4d7e907cSAndroid Build Coastguard Worker     *
120*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
121*4d7e907cSAndroid Build Coastguard Worker     * @param dcList array of SetupDataCallResult identical to that
122*4d7e907cSAndroid Build Coastguard Worker     *        returned by IRadio.getDataCallList(). It is the complete list
123*4d7e907cSAndroid Build Coastguard Worker     *        of current data contexts including new contexts that have been
124*4d7e907cSAndroid Build Coastguard Worker     *        activated. A data call is only removed from this list when the
125*4d7e907cSAndroid Build Coastguard Worker     *        framework sends a IRadio.deactivateDataCall() or the radio
126*4d7e907cSAndroid Build Coastguard Worker     *        is powered off/on
127*4d7e907cSAndroid Build Coastguard Worker     */
128*4d7e907cSAndroid Build Coastguard Worker    oneway dataCallListChanged(RadioIndicationType type, vec<SetupDataCallResult> dcList);
129*4d7e907cSAndroid Build Coastguard Worker
130*4d7e907cSAndroid Build Coastguard Worker    /**
131*4d7e907cSAndroid Build Coastguard Worker     * Reports supplementary service related notification from the network.
132*4d7e907cSAndroid Build Coastguard Worker     *
133*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
134*4d7e907cSAndroid Build Coastguard Worker     * @param suppSvc SuppSvcNotification as defined in types.hal
135*4d7e907cSAndroid Build Coastguard Worker     */
136*4d7e907cSAndroid Build Coastguard Worker    oneway suppSvcNotify(RadioIndicationType type, SuppSvcNotification suppSvc);
137*4d7e907cSAndroid Build Coastguard Worker
138*4d7e907cSAndroid Build Coastguard Worker    /**
139*4d7e907cSAndroid Build Coastguard Worker     * Indicates when STK session is terminated by SIM.
140*4d7e907cSAndroid Build Coastguard Worker     *
141*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
142*4d7e907cSAndroid Build Coastguard Worker     */
143*4d7e907cSAndroid Build Coastguard Worker    oneway stkSessionEnd(RadioIndicationType type);
144*4d7e907cSAndroid Build Coastguard Worker
145*4d7e907cSAndroid Build Coastguard Worker    /**
146*4d7e907cSAndroid Build Coastguard Worker     * Indicates when SIM issue a STK proactive command to applications
147*4d7e907cSAndroid Build Coastguard Worker     *
148*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
149*4d7e907cSAndroid Build Coastguard Worker     * @param cmd SAT/USAT proactive represented as byte array starting with command tag.
150*4d7e907cSAndroid Build Coastguard Worker     *        Refer ETSI TS 102.223 section 9.4 for command types
151*4d7e907cSAndroid Build Coastguard Worker     */
152*4d7e907cSAndroid Build Coastguard Worker    oneway stkProactiveCommand(RadioIndicationType type, string cmd);
153*4d7e907cSAndroid Build Coastguard Worker
154*4d7e907cSAndroid Build Coastguard Worker    /**
155*4d7e907cSAndroid Build Coastguard Worker     * Indicates when SIM notifies applcations some event happens.
156*4d7e907cSAndroid Build Coastguard Worker     *
157*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
158*4d7e907cSAndroid Build Coastguard Worker     * @param cmd SAT/USAT commands or responses
159*4d7e907cSAndroid Build Coastguard Worker     *        sent by ME to SIM or commands handled by ME, represented as byte array
160*4d7e907cSAndroid Build Coastguard Worker     *        starting with first byte of response data for command tag. Refer
161*4d7e907cSAndroid Build Coastguard Worker     *        ETSI TS 102.223 section 9.4 for command types
162*4d7e907cSAndroid Build Coastguard Worker     */
163*4d7e907cSAndroid Build Coastguard Worker    oneway stkEventNotify(RadioIndicationType type, string cmd);
164*4d7e907cSAndroid Build Coastguard Worker
165*4d7e907cSAndroid Build Coastguard Worker    /**
166*4d7e907cSAndroid Build Coastguard Worker     * Indicates when SIM wants application to setup a voice call.
167*4d7e907cSAndroid Build Coastguard Worker     *
168*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
169*4d7e907cSAndroid Build Coastguard Worker     * @param timeout Timeout value in millisec for setting up voice call
170*4d7e907cSAndroid Build Coastguard Worker     */
171*4d7e907cSAndroid Build Coastguard Worker    oneway stkCallSetup(RadioIndicationType type, int64_t timeout);
172*4d7e907cSAndroid Build Coastguard Worker
173*4d7e907cSAndroid Build Coastguard Worker    /**
174*4d7e907cSAndroid Build Coastguard Worker     * Indicates that SMS storage on the SIM is full. Sent when the network
175*4d7e907cSAndroid Build Coastguard Worker     * attempts to deliver a new SMS message. Messages cannot be saved on the
176*4d7e907cSAndroid Build Coastguard Worker     * SIM until space is freed. In particular, incoming Class 2 messages must not
177*4d7e907cSAndroid Build Coastguard Worker     * be stored
178*4d7e907cSAndroid Build Coastguard Worker     *
179*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
180*4d7e907cSAndroid Build Coastguard Worker     */
181*4d7e907cSAndroid Build Coastguard Worker    oneway simSmsStorageFull(RadioIndicationType type);
182*4d7e907cSAndroid Build Coastguard Worker
183*4d7e907cSAndroid Build Coastguard Worker    /**
184*4d7e907cSAndroid Build Coastguard Worker     * Indicates that file(s) on the SIM have been updated, or the SIM
185*4d7e907cSAndroid Build Coastguard Worker     * has been reinitialized.
186*4d7e907cSAndroid Build Coastguard Worker     * Note: If the SIM state changes as a result of the SIM refresh (eg,
187*4d7e907cSAndroid Build Coastguard Worker     * SIM_READY -> SIM_LOCKED_OR_ABSENT), simStatusChanged()
188*4d7e907cSAndroid Build Coastguard Worker     * must be sent.
189*4d7e907cSAndroid Build Coastguard Worker     *
190*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
191*4d7e907cSAndroid Build Coastguard Worker     * @param refreshResult Result of sim refresh
192*4d7e907cSAndroid Build Coastguard Worker     */
193*4d7e907cSAndroid Build Coastguard Worker    oneway simRefresh(RadioIndicationType type, SimRefreshResult refreshResult);
194*4d7e907cSAndroid Build Coastguard Worker
195*4d7e907cSAndroid Build Coastguard Worker    /**
196*4d7e907cSAndroid Build Coastguard Worker     * Ring indication for an incoming call (eg, RING or CRING event).
197*4d7e907cSAndroid Build Coastguard Worker     * There must be at least one callRing() at the beginning
198*4d7e907cSAndroid Build Coastguard Worker     * of a call and sending multiple is optional. If the system property
199*4d7e907cSAndroid Build Coastguard Worker     * ro.telephony.call_ring.multiple is false then the upper layers
200*4d7e907cSAndroid Build Coastguard Worker     * must generate the multiple events internally. Otherwise the vendor
201*4d7e907cSAndroid Build Coastguard Worker     * code must generate multiple callRing() if
202*4d7e907cSAndroid Build Coastguard Worker     * ro.telephony.call_ring.multiple is true or if it is absent.
203*4d7e907cSAndroid Build Coastguard Worker     *
204*4d7e907cSAndroid Build Coastguard Worker     * The rate of these events is controlled by ro.telephony.call_ring.delay
205*4d7e907cSAndroid Build Coastguard Worker     * and has a default value of 3000 (3 seconds) if absent.
206*4d7e907cSAndroid Build Coastguard Worker     *
207*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
208*4d7e907cSAndroid Build Coastguard Worker     * @param isGsm true for GSM & false for CDMA
209*4d7e907cSAndroid Build Coastguard Worker     * @param record Cdma Signal Information
210*4d7e907cSAndroid Build Coastguard Worker     */
211*4d7e907cSAndroid Build Coastguard Worker    oneway callRing(RadioIndicationType type, bool isGsm, CdmaSignalInfoRecord record);
212*4d7e907cSAndroid Build Coastguard Worker
213*4d7e907cSAndroid Build Coastguard Worker    /**
214*4d7e907cSAndroid Build Coastguard Worker     * Indicates that SIM state changes.
215*4d7e907cSAndroid Build Coastguard Worker     * Callee must invoke getIccCardStatus()
216*4d7e907cSAndroid Build Coastguard Worker     *
217*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
218*4d7e907cSAndroid Build Coastguard Worker     */
219*4d7e907cSAndroid Build Coastguard Worker    oneway simStatusChanged(RadioIndicationType type);
220*4d7e907cSAndroid Build Coastguard Worker
221*4d7e907cSAndroid Build Coastguard Worker    /**
222*4d7e907cSAndroid Build Coastguard Worker     * Indicates when new CDMA SMS is received
223*4d7e907cSAndroid Build Coastguard Worker     * Callee must subsequently confirm the receipt of the SMS with
224*4d7e907cSAndroid Build Coastguard Worker     * acknowledgeLastIncomingCdmaSms()
225*4d7e907cSAndroid Build Coastguard Worker     * Server must not send cdmaNewSms() messages until
226*4d7e907cSAndroid Build Coastguard Worker     * acknowledgeLastIncomingCdmaSms() has been received
227*4d7e907cSAndroid Build Coastguard Worker     *
228*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
229*4d7e907cSAndroid Build Coastguard Worker     * @param msg Cdma Sms Message
230*4d7e907cSAndroid Build Coastguard Worker     */
231*4d7e907cSAndroid Build Coastguard Worker    oneway cdmaNewSms(RadioIndicationType type, CdmaSmsMessage msg);
232*4d7e907cSAndroid Build Coastguard Worker
233*4d7e907cSAndroid Build Coastguard Worker    /**
234*4d7e907cSAndroid Build Coastguard Worker     * Indicates when new Broadcast SMS is received
235*4d7e907cSAndroid Build Coastguard Worker     *
236*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
237*4d7e907cSAndroid Build Coastguard Worker     * @param data If received from GSM network, "data" is byte array of 88 bytes
238*4d7e907cSAndroid Build Coastguard Worker     *        which indicates each page of a CBS Message sent to the MS by the
239*4d7e907cSAndroid Build Coastguard Worker     *        BTS as coded in 3GPP 23.041 Section 9.4.1.2.
240*4d7e907cSAndroid Build Coastguard Worker     *        If received from UMTS network, "data" is byte array of 90 up to 1252
241*4d7e907cSAndroid Build Coastguard Worker     *        bytes which contain between 1 and 15 CBS Message pages sent as one
242*4d7e907cSAndroid Build Coastguard Worker     *        packet to the MS by the BTS as coded in 3GPP 23.041 Section 9.4.2.2
243*4d7e907cSAndroid Build Coastguard Worker     */
244*4d7e907cSAndroid Build Coastguard Worker    oneway newBroadcastSms(RadioIndicationType type, vec<uint8_t> data);
245*4d7e907cSAndroid Build Coastguard Worker
246*4d7e907cSAndroid Build Coastguard Worker    /**
247*4d7e907cSAndroid Build Coastguard Worker     * Indicates that SMS storage on the RUIM is full. Messages
248*4d7e907cSAndroid Build Coastguard Worker     * cannot be saved on the RUIM until space is freed.
249*4d7e907cSAndroid Build Coastguard Worker     *
250*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
251*4d7e907cSAndroid Build Coastguard Worker     */
252*4d7e907cSAndroid Build Coastguard Worker    oneway cdmaRuimSmsStorageFull(RadioIndicationType type);
253*4d7e907cSAndroid Build Coastguard Worker
254*4d7e907cSAndroid Build Coastguard Worker    /**
255*4d7e907cSAndroid Build Coastguard Worker     * Indicates a restricted state change (eg, for Domain Specific Access Control).
256*4d7e907cSAndroid Build Coastguard Worker     * Radio must send this msg after radio off/on cycle no matter it is changed or not.
257*4d7e907cSAndroid Build Coastguard Worker     *
258*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
259*4d7e907cSAndroid Build Coastguard Worker     * @param state Bitmask of restricted state as defined by PhoneRestrictedState
260*4d7e907cSAndroid Build Coastguard Worker     */
261*4d7e907cSAndroid Build Coastguard Worker    oneway restrictedStateChanged(RadioIndicationType type, PhoneRestrictedState state);
262*4d7e907cSAndroid Build Coastguard Worker
263*4d7e907cSAndroid Build Coastguard Worker    /**
264*4d7e907cSAndroid Build Coastguard Worker     * Indicates that the radio system selection module has
265*4d7e907cSAndroid Build Coastguard Worker     * autonomously entered emergency callback mode.
266*4d7e907cSAndroid Build Coastguard Worker     *
267*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
268*4d7e907cSAndroid Build Coastguard Worker     */
269*4d7e907cSAndroid Build Coastguard Worker    oneway enterEmergencyCallbackMode(RadioIndicationType type);
270*4d7e907cSAndroid Build Coastguard Worker
271*4d7e907cSAndroid Build Coastguard Worker    /**
272*4d7e907cSAndroid Build Coastguard Worker     * Indicates when CDMA radio receives a call waiting indication.
273*4d7e907cSAndroid Build Coastguard Worker     *
274*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
275*4d7e907cSAndroid Build Coastguard Worker     * @param callWaitingRecord Cdma CallWaiting information
276*4d7e907cSAndroid Build Coastguard Worker     */
277*4d7e907cSAndroid Build Coastguard Worker    oneway cdmaCallWaiting(RadioIndicationType type, CdmaCallWaiting callWaitingRecord);
278*4d7e907cSAndroid Build Coastguard Worker
279*4d7e907cSAndroid Build Coastguard Worker    /**
280*4d7e907cSAndroid Build Coastguard Worker     * Indicates when CDMA radio receives an update of the progress of an OTASP/OTAPA call.
281*4d7e907cSAndroid Build Coastguard Worker     *
282*4d7e907cSAndroid Build Coastguard Worker     * @param type Type of radio indication
283*4d7e907cSAndroid Build Coastguard Worker     * @param status Cdma OTA provision status
284*4d7e907cSAndroid Build Coastguard Worker     */
285*4d7e907cSAndroid Build Coastguard Worker    oneway cdmaOtaProvisionStatus(RadioIndicationType type, CdmaOtaProvisionStatus status);
286*4d7e907cSAndroid Build Coastguard Worker
287*4d7e907cSAndroid Build Coastguard Worker   /**
288*4d7e907cSAndroid Build Coastguard Worker    * Indicates when CDMA radio receives one or more info recs.
289*4d7e907cSAndroid Build Coastguard Worker    *
290*4d7e907cSAndroid Build Coastguard Worker    * @param type Type of radio indication
291*4d7e907cSAndroid Build Coastguard Worker    * @param records New Cdma Information
292*4d7e907cSAndroid Build Coastguard Worker    */
293*4d7e907cSAndroid Build Coastguard Worker   oneway cdmaInfoRec(RadioIndicationType type, CdmaInformationRecords records);
294*4d7e907cSAndroid Build Coastguard Worker
295*4d7e907cSAndroid Build Coastguard Worker   /**
296*4d7e907cSAndroid Build Coastguard Worker    * Indicates that nework doesn't have in-band information, need to
297*4d7e907cSAndroid Build Coastguard Worker    * play out-band tone.
298*4d7e907cSAndroid Build Coastguard Worker    *
299*4d7e907cSAndroid Build Coastguard Worker    * @param type Type of radio indication
300*4d7e907cSAndroid Build Coastguard Worker    * @param start true = start play ringback tone, false = stop playing ringback tone
301*4d7e907cSAndroid Build Coastguard Worker    */
302*4d7e907cSAndroid Build Coastguard Worker   oneway indicateRingbackTone(RadioIndicationType type, bool start);
303*4d7e907cSAndroid Build Coastguard Worker
304*4d7e907cSAndroid Build Coastguard Worker   /**
305*4d7e907cSAndroid Build Coastguard Worker    * Indicates that framework/application must reset the uplink mute state.
306*4d7e907cSAndroid Build Coastguard Worker    *
307*4d7e907cSAndroid Build Coastguard Worker    * @param type Type of radio indication
308*4d7e907cSAndroid Build Coastguard Worker    */
309*4d7e907cSAndroid Build Coastguard Worker   oneway resendIncallMute(RadioIndicationType type);
310*4d7e907cSAndroid Build Coastguard Worker
311*4d7e907cSAndroid Build Coastguard Worker   /**
312*4d7e907cSAndroid Build Coastguard Worker    * Indicates when CDMA subscription source changed.
313*4d7e907cSAndroid Build Coastguard Worker    *
314*4d7e907cSAndroid Build Coastguard Worker    * @param type Type of radio indication
315*4d7e907cSAndroid Build Coastguard Worker    * @param cdmaSource New Cdma SubscriptionSource
316*4d7e907cSAndroid Build Coastguard Worker    */
317*4d7e907cSAndroid Build Coastguard Worker   oneway cdmaSubscriptionSourceChanged(RadioIndicationType type,
318*4d7e907cSAndroid Build Coastguard Worker           CdmaSubscriptionSource cdmaSource);
319*4d7e907cSAndroid Build Coastguard Worker
320*4d7e907cSAndroid Build Coastguard Worker   /**
321*4d7e907cSAndroid Build Coastguard Worker    * Indicates when PRL (preferred roaming list) changes.
322*4d7e907cSAndroid Build Coastguard Worker    *
323*4d7e907cSAndroid Build Coastguard Worker    * @param type Type of radio indication
324*4d7e907cSAndroid Build Coastguard Worker    * @param version PRL version after PRL changes
325*4d7e907cSAndroid Build Coastguard Worker    */
326*4d7e907cSAndroid Build Coastguard Worker   oneway cdmaPrlChanged(RadioIndicationType type, int32_t version);
327*4d7e907cSAndroid Build Coastguard Worker
328*4d7e907cSAndroid Build Coastguard Worker   /**
329*4d7e907cSAndroid Build Coastguard Worker    * Indicates when Emergency Callback Mode Ends.
330*4d7e907cSAndroid Build Coastguard Worker    * Indicates that the radio system selection module has
331*4d7e907cSAndroid Build Coastguard Worker    * proactively exited emergency callback mode.
332*4d7e907cSAndroid Build Coastguard Worker    *
333*4d7e907cSAndroid Build Coastguard Worker    * @param type Type of radio indication
334*4d7e907cSAndroid Build Coastguard Worker    */
335*4d7e907cSAndroid Build Coastguard Worker   oneway exitEmergencyCallbackMode(RadioIndicationType type);
336*4d7e907cSAndroid Build Coastguard Worker
337*4d7e907cSAndroid Build Coastguard Worker   /**
338*4d7e907cSAndroid Build Coastguard Worker    * Indicates the ril connects and returns the version
339*4d7e907cSAndroid Build Coastguard Worker    *
340*4d7e907cSAndroid Build Coastguard Worker    * @param type Type of radio indication
341*4d7e907cSAndroid Build Coastguard Worker    */
342*4d7e907cSAndroid Build Coastguard Worker   oneway rilConnected(RadioIndicationType type);
343*4d7e907cSAndroid Build Coastguard Worker
344*4d7e907cSAndroid Build Coastguard Worker   /**
345*4d7e907cSAndroid Build Coastguard Worker    * Indicates that voice technology has changed. Responds with new rat.
346*4d7e907cSAndroid Build Coastguard Worker    *
347*4d7e907cSAndroid Build Coastguard Worker    * @param type Type of radio indication
348*4d7e907cSAndroid Build Coastguard Worker    * @param rat Current new voice rat
349*4d7e907cSAndroid Build Coastguard Worker    */
350*4d7e907cSAndroid Build Coastguard Worker   oneway voiceRadioTechChanged(RadioIndicationType type, RadioTechnology rat);
351*4d7e907cSAndroid Build Coastguard Worker
352*4d7e907cSAndroid Build Coastguard Worker   /**
353*4d7e907cSAndroid Build Coastguard Worker    * Same information as returned by getCellInfoList().
354*4d7e907cSAndroid Build Coastguard Worker    *
355*4d7e907cSAndroid Build Coastguard Worker    * @param type Type of radio indication
356*4d7e907cSAndroid Build Coastguard Worker    * @param records Current cell information known to radio
357*4d7e907cSAndroid Build Coastguard Worker    */
358*4d7e907cSAndroid Build Coastguard Worker   oneway cellInfoList(RadioIndicationType type, vec<CellInfo> records);
359*4d7e907cSAndroid Build Coastguard Worker
360*4d7e907cSAndroid Build Coastguard Worker   /**
361*4d7e907cSAndroid Build Coastguard Worker    * Indicates when IMS registration state has changed.
362*4d7e907cSAndroid Build Coastguard Worker    * To get IMS registration state and IMS SMS format, callee needs to invoke
363*4d7e907cSAndroid Build Coastguard Worker    * getImsRegistrationState()
364*4d7e907cSAndroid Build Coastguard Worker    *
365*4d7e907cSAndroid Build Coastguard Worker    * @param type Type of radio indication
366*4d7e907cSAndroid Build Coastguard Worker    */
367*4d7e907cSAndroid Build Coastguard Worker   oneway imsNetworkStateChanged(RadioIndicationType type);
368*4d7e907cSAndroid Build Coastguard Worker
369*4d7e907cSAndroid Build Coastguard Worker   /**
370*4d7e907cSAndroid Build Coastguard Worker    * Indicated when there is a change in subscription status.
371*4d7e907cSAndroid Build Coastguard Worker    * This event must be sent in the following scenarios
372*4d7e907cSAndroid Build Coastguard Worker    *  - subscription readiness at modem, which was selected by telephony layer
373*4d7e907cSAndroid Build Coastguard Worker    *  - when subscription is deactivated by modem due to UICC card removal
374*4d7e907cSAndroid Build Coastguard Worker    *  - when network invalidates the subscription i.e. attach reject due to authentication reject
375*4d7e907cSAndroid Build Coastguard Worker    *
376*4d7e907cSAndroid Build Coastguard Worker    * @param type Type of radio indication
377*4d7e907cSAndroid Build Coastguard Worker    * @param activate false for subscription deactivated, true for subscription activated
378*4d7e907cSAndroid Build Coastguard Worker    */
379*4d7e907cSAndroid Build Coastguard Worker   oneway subscriptionStatusChanged(RadioIndicationType type, bool activate);
380*4d7e907cSAndroid Build Coastguard Worker
381*4d7e907cSAndroid Build Coastguard Worker   /**
382*4d7e907cSAndroid Build Coastguard Worker    * Indicates when Single Radio Voice Call Continuity (SRVCC)
383*4d7e907cSAndroid Build Coastguard Worker    * progress state has changed
384*4d7e907cSAndroid Build Coastguard Worker    *
385*4d7e907cSAndroid Build Coastguard Worker    * @param type Type of radio indication
386*4d7e907cSAndroid Build Coastguard Worker    * @param state New Srvcc State
387*4d7e907cSAndroid Build Coastguard Worker    */
388*4d7e907cSAndroid Build Coastguard Worker   oneway srvccStateNotify(RadioIndicationType type, SrvccState state);
389*4d7e907cSAndroid Build Coastguard Worker
390*4d7e907cSAndroid Build Coastguard Worker   /**
391*4d7e907cSAndroid Build Coastguard Worker    * Indicates when the hardware configuration associated with the RILd changes.
392*4d7e907cSAndroid Build Coastguard Worker    *
393*4d7e907cSAndroid Build Coastguard Worker    * @param type Type of radio indication
394*4d7e907cSAndroid Build Coastguard Worker    * @param configs Array of hardware configs
395*4d7e907cSAndroid Build Coastguard Worker    */
396*4d7e907cSAndroid Build Coastguard Worker   oneway hardwareConfigChanged(RadioIndicationType type, vec<HardwareConfig> configs);
397*4d7e907cSAndroid Build Coastguard Worker
398*4d7e907cSAndroid Build Coastguard Worker   /**
399*4d7e907cSAndroid Build Coastguard Worker    * Sent when setRadioCapability() completes.
400*4d7e907cSAndroid Build Coastguard Worker    * Returns the phone radio capability exactly as
401*4d7e907cSAndroid Build Coastguard Worker    * getRadioCapability() and must be the
402*4d7e907cSAndroid Build Coastguard Worker    * same set as sent by setRadioCapability().
403*4d7e907cSAndroid Build Coastguard Worker    *
404*4d7e907cSAndroid Build Coastguard Worker    * @param type Type of radio indication
405*4d7e907cSAndroid Build Coastguard Worker    * @param rc Current radio capability
406*4d7e907cSAndroid Build Coastguard Worker    */
407*4d7e907cSAndroid Build Coastguard Worker   oneway radioCapabilityIndication(RadioIndicationType type, RadioCapability rc);
408*4d7e907cSAndroid Build Coastguard Worker
409*4d7e907cSAndroid Build Coastguard Worker   /**
410*4d7e907cSAndroid Build Coastguard Worker    * Indicates when Supplementary service(SS) response is received when DIAL/USSD/SS is changed to
411*4d7e907cSAndroid Build Coastguard Worker    * SS by call control.
412*4d7e907cSAndroid Build Coastguard Worker    *
413*4d7e907cSAndroid Build Coastguard Worker    * @param type Type of radio indication
414*4d7e907cSAndroid Build Coastguard Worker    */
415*4d7e907cSAndroid Build Coastguard Worker   oneway onSupplementaryServiceIndication(RadioIndicationType type, StkCcUnsolSsResult ss);
416*4d7e907cSAndroid Build Coastguard Worker
417*4d7e907cSAndroid Build Coastguard Worker   /**
418*4d7e907cSAndroid Build Coastguard Worker    * Indicates when there is an ALPHA from UICC during Call Control.
419*4d7e907cSAndroid Build Coastguard Worker    *
420*4d7e907cSAndroid Build Coastguard Worker    * @param type Type of radio indication
421*4d7e907cSAndroid Build Coastguard Worker    * @param alpha ALPHA string from UICC in UTF-8 format
422*4d7e907cSAndroid Build Coastguard Worker    */
423*4d7e907cSAndroid Build Coastguard Worker   oneway stkCallControlAlphaNotify(RadioIndicationType type, string alpha);
424*4d7e907cSAndroid Build Coastguard Worker
425*4d7e907cSAndroid Build Coastguard Worker   /**
426*4d7e907cSAndroid Build Coastguard Worker    * Indicates when there is an incoming Link Capacity Estimate (LCE) info report.
427*4d7e907cSAndroid Build Coastguard Worker    *
428*4d7e907cSAndroid Build Coastguard Worker    * @param type Type of radio indication
429*4d7e907cSAndroid Build Coastguard Worker    * @param lce LceData information
430*4d7e907cSAndroid Build Coastguard Worker    *
431*4d7e907cSAndroid Build Coastguard Worker    * DEPRECATED in @1.2 and above, use
432*4d7e907cSAndroid Build Coastguard Worker    * @1.2::IRadioIndication.currentLinkCapacityEstimate() instead.
433*4d7e907cSAndroid Build Coastguard Worker    */
434*4d7e907cSAndroid Build Coastguard Worker   oneway lceData(RadioIndicationType type, LceDataInfo lce);
435*4d7e907cSAndroid Build Coastguard Worker
436*4d7e907cSAndroid Build Coastguard Worker   /**
437*4d7e907cSAndroid Build Coastguard Worker    * Indicates when there is new Carrier PCO data received for a data call. Ideally
438*4d7e907cSAndroid Build Coastguard Worker    * only new data must be forwarded, though this is not required. Multiple
439*4d7e907cSAndroid Build Coastguard Worker    * boxes of carrier PCO data for a given call must result in a series of
440*4d7e907cSAndroid Build Coastguard Worker    * pcoData() calls.
441*4d7e907cSAndroid Build Coastguard Worker    *
442*4d7e907cSAndroid Build Coastguard Worker    * @param type Type of radio indication
443*4d7e907cSAndroid Build Coastguard Worker    * @param pco New PcoData
444*4d7e907cSAndroid Build Coastguard Worker    */
445*4d7e907cSAndroid Build Coastguard Worker   oneway pcoData(RadioIndicationType type, PcoDataInfo pco);
446*4d7e907cSAndroid Build Coastguard Worker
447*4d7e907cSAndroid Build Coastguard Worker   /**
448*4d7e907cSAndroid Build Coastguard Worker    * Indicates when there is a modem reset.
449*4d7e907cSAndroid Build Coastguard Worker    *
450*4d7e907cSAndroid Build Coastguard Worker    * When modem restarts, one of the following radio state transitions must happen
451*4d7e907cSAndroid Build Coastguard Worker    * 1) RadioState:ON->RadioState:UNAVAILABLE->RadioState:ON or
452*4d7e907cSAndroid Build Coastguard Worker    * 2) RadioState:OFF->RadioState:UNAVAILABLE->RadioState:OFF
453*4d7e907cSAndroid Build Coastguard Worker    * This message must be sent either just before the Radio State changes to RadioState:UNAVAILABLE
454*4d7e907cSAndroid Build Coastguard Worker    * or just after but must never be sent after the Radio State changes from RadioState:UNAVAILABLE
455*4d7e907cSAndroid Build Coastguard Worker    * to RadioState:ON/RadioState:OFF again.
456*4d7e907cSAndroid Build Coastguard Worker    * It must NOT be sent after the Radio state changes to RadioState:ON/RadioState:OFF after the
457*4d7e907cSAndroid Build Coastguard Worker    * modem restart as that may be interpreted as a second modem reset by the
458*4d7e907cSAndroid Build Coastguard Worker    * framework.
459*4d7e907cSAndroid Build Coastguard Worker    *
460*4d7e907cSAndroid Build Coastguard Worker    * @param type Type of radio indication
461*4d7e907cSAndroid Build Coastguard Worker    * @param reason the reason for the reset. It
462*4d7e907cSAndroid Build Coastguard Worker    *        may be a crash signature if the restart was due to a crash or some
463*4d7e907cSAndroid Build Coastguard Worker    *        string such as "user-initiated restart" or "AT command initiated
464*4d7e907cSAndroid Build Coastguard Worker    *        restart" that explains the cause of the modem restart
465*4d7e907cSAndroid Build Coastguard Worker    */
466*4d7e907cSAndroid Build Coastguard Worker   oneway modemReset(RadioIndicationType type, string reason);
467*4d7e907cSAndroid Build Coastguard Worker};
468