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