1*4d7e907cSAndroid Build Coastguard Worker/* 2*4d7e907cSAndroid Build Coastguard Worker * Copyright (C) 2019 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 Workerimport @1.0::CdmaSmsMessage; 20*4d7e907cSAndroid Build Coastguard Workerimport @1.2::DataRequestReason; 21*4d7e907cSAndroid Build Coastguard Workerimport @1.4::IRadio; 22*4d7e907cSAndroid Build Coastguard Workerimport @1.5::AccessNetwork; 23*4d7e907cSAndroid Build Coastguard Workerimport @1.5::DataProfileInfo; 24*4d7e907cSAndroid Build Coastguard Workerimport @1.5::IndicationFilter; 25*4d7e907cSAndroid Build Coastguard Workerimport @1.5::LinkAddress; 26*4d7e907cSAndroid Build Coastguard Workerimport @1.5::NetworkScanRequest; 27*4d7e907cSAndroid Build Coastguard Workerimport @1.5::PersoSubstate; 28*4d7e907cSAndroid Build Coastguard Workerimport @1.5::RadioAccessNetworks; 29*4d7e907cSAndroid Build Coastguard Workerimport @1.5::RadioAccessSpecifier; 30*4d7e907cSAndroid Build Coastguard Workerimport @1.5::SignalThresholdInfo; 31*4d7e907cSAndroid Build Coastguard Worker 32*4d7e907cSAndroid Build Coastguard Worker/** 33*4d7e907cSAndroid Build Coastguard Worker * This interface is used by telephony and telecom to talk to cellular radio. 34*4d7e907cSAndroid Build Coastguard Worker * All the functions have minimum one parameter: 35*4d7e907cSAndroid Build Coastguard Worker * serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the 36*4d7e907cSAndroid Build Coastguard Worker * duration of a method call. If clients provide colliding serials (including passing the same 37*4d7e907cSAndroid Build Coastguard Worker * serial to different methods), multiple responses (one for each method call) must still be served. 38*4d7e907cSAndroid Build Coastguard Worker * setResponseFunctions must work with @1.5::IRadioResponse and @1.5::IRadioIndication. 39*4d7e907cSAndroid Build Coastguard Worker */ 40*4d7e907cSAndroid Build Coastguard Workerinterface IRadio extends @1.4::IRadio { 41*4d7e907cSAndroid Build Coastguard Worker /** 42*4d7e907cSAndroid Build Coastguard Worker * Sets the signal strength reporting criteria. 43*4d7e907cSAndroid Build Coastguard Worker * 44*4d7e907cSAndroid Build Coastguard Worker * The resulting reporting rules are the AND of all the supplied criteria. For each RAN 45*4d7e907cSAndroid Build Coastguard Worker * The hysteresisDb and thresholds apply to only the following measured quantities: 46*4d7e907cSAndroid Build Coastguard Worker * -GERAN - RSSI 47*4d7e907cSAndroid Build Coastguard Worker * -CDMA2000 - RSSI 48*4d7e907cSAndroid Build Coastguard Worker * -UTRAN - RSCP 49*4d7e907cSAndroid Build Coastguard Worker * -EUTRAN - RSRP/RSRQ/RSSNR 50*4d7e907cSAndroid Build Coastguard Worker * -NGRAN - SSRSRP/SSRSRQ/SSSINR 51*4d7e907cSAndroid Build Coastguard Worker * 52*4d7e907cSAndroid Build Coastguard Worker * Note: Reporting criteria must be individually set for each RAN. For each RAN, if none of 53*4d7e907cSAndroid Build Coastguard Worker * reporting criteria of any measurement is set enabled 54*4d7e907cSAndroid Build Coastguard Worker * (see @1.5::SignalThresholdInfo.isEnabled), the reporting criteria for this RAN is 55*4d7e907cSAndroid Build Coastguard Worker * implementation-defined. For each RAN, if any of reporting criteria of any measure is set 56*4d7e907cSAndroid Build Coastguard Worker * enabled, the reporting criteria of the other measures in this RAN are set disabled 57*4d7e907cSAndroid Build Coastguard Worker * (see @1.5::SignalThresholdInfo.isEnabled) until they are set enabled. 58*4d7e907cSAndroid Build Coastguard Worker * 59*4d7e907cSAndroid Build Coastguard Worker * Response callback is 60*4d7e907cSAndroid Build Coastguard Worker * IRadioResponse.setSignalStrengthReportingCriteriaResponse_1_5() 61*4d7e907cSAndroid Build Coastguard Worker * 62*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 63*4d7e907cSAndroid Build Coastguard Worker * @param signalThresholdInfo Signal threshold info including the threshold values, 64*4d7e907cSAndroid Build Coastguard Worker * hysteresisDb, hysteresisMs and isEnabled. 65*4d7e907cSAndroid Build Coastguard Worker * See @1.5::SignalThresholdInfo for details. 66*4d7e907cSAndroid Build Coastguard Worker * @param accessNetwork The type of network for which to apply these thresholds. 67*4d7e907cSAndroid Build Coastguard Worker */ 68*4d7e907cSAndroid Build Coastguard Worker oneway setSignalStrengthReportingCriteria_1_5(int32_t serial, 69*4d7e907cSAndroid Build Coastguard Worker SignalThresholdInfo signalThresholdInfo, AccessNetwork accessNetwork); 70*4d7e907cSAndroid Build Coastguard Worker 71*4d7e907cSAndroid Build Coastguard Worker /** 72*4d7e907cSAndroid Build Coastguard Worker * Sets the link capacity reporting criteria. 73*4d7e907cSAndroid Build Coastguard Worker * 74*4d7e907cSAndroid Build Coastguard Worker * The resulting reporting criteria are the AND of all the supplied criteria. 75*4d7e907cSAndroid Build Coastguard Worker * 76*4d7e907cSAndroid Build Coastguard Worker * Note: Reporting criteria must be individually set for each RAN. If unset, reporting criteria 77*4d7e907cSAndroid Build Coastguard Worker * for that RAN are implementation-defined. 78*4d7e907cSAndroid Build Coastguard Worker * 79*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setLinkCapacityReportingCriteriaResponse_1_5(). 80*4d7e907cSAndroid Build Coastguard Worker * 81*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 82*4d7e907cSAndroid Build Coastguard Worker * @param hysteresisMs A hysteresis time in milliseconds to prevent flapping. A value of 0 83*4d7e907cSAndroid Build Coastguard Worker * disables hysteresis. 84*4d7e907cSAndroid Build Coastguard Worker * @param hysteresisDlKbps An interval in kbps defining the required magnitude change between DL 85*4d7e907cSAndroid Build Coastguard Worker * reports. hysteresisDlKbps must be smaller than the smallest threshold delta. A value of 0 86*4d7e907cSAndroid Build Coastguard Worker * disables hysteresis. 87*4d7e907cSAndroid Build Coastguard Worker * @param hysteresisUlKbps An interval in kbps defining the required magnitude change between UL 88*4d7e907cSAndroid Build Coastguard Worker * reports. hysteresisUlKbps must be smaller than the smallest threshold delta. A value of 0 89*4d7e907cSAndroid Build Coastguard Worker * disables hysteresis. 90*4d7e907cSAndroid Build Coastguard Worker * @param thresholdsDownlinkKbps A vector of trigger thresholds in kbps for downlink reports. A 91*4d7e907cSAndroid Build Coastguard Worker * vector size of 0 disables the use of DL thresholds for reporting. 92*4d7e907cSAndroid Build Coastguard Worker * @param thresholdsUplinkKbps A vector of trigger thresholds in kbps for uplink reports. A 93*4d7e907cSAndroid Build Coastguard Worker * vector size of 0 disables the use of UL thresholds for reporting. 94*4d7e907cSAndroid Build Coastguard Worker * @param accessNetwork The type of network for which to apply these thresholds. 95*4d7e907cSAndroid Build Coastguard Worker */ 96*4d7e907cSAndroid Build Coastguard Worker oneway setLinkCapacityReportingCriteria_1_5(int32_t serial, int32_t hysteresisMs, 97*4d7e907cSAndroid Build Coastguard Worker int32_t hysteresisDlKbps, int32_t hysteresisUlKbps, vec<int32_t> thresholdsDownlinkKbps, 98*4d7e907cSAndroid Build Coastguard Worker vec<int32_t> thresholdsUplinkKbps, AccessNetwork accessNetwork); 99*4d7e907cSAndroid Build Coastguard Worker 100*4d7e907cSAndroid Build Coastguard Worker /** 101*4d7e907cSAndroid Build Coastguard Worker * Enable or disable UiccApplications on the SIM. If disabled: 102*4d7e907cSAndroid Build Coastguard Worker * - Modem will not register on any network. 103*4d7e907cSAndroid Build Coastguard Worker * - SIM must be PRESENT, and the IccId of the SIM must still be accessible. 104*4d7e907cSAndroid Build Coastguard Worker * - The corresponding modem stack is still functional, e.g. able to make emergency calls or 105*4d7e907cSAndroid Build Coastguard Worker * do network scan. 106*4d7e907cSAndroid Build Coastguard Worker * By default if this API is not called, the uiccApplications must be enabled automatically. 107*4d7e907cSAndroid Build Coastguard Worker * It must work for both single SIM and DSDS cases for UX consistency. 108*4d7e907cSAndroid Build Coastguard Worker * The preference is per SIM, and must be remembered over power cycle, modem reboot, or SIM 109*4d7e907cSAndroid Build Coastguard Worker * insertion / unplug. 110*4d7e907cSAndroid Build Coastguard Worker * 111*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 112*4d7e907cSAndroid Build Coastguard Worker * @param enable true if to enable uiccApplications, false to disable. 113*4d7e907cSAndroid Build Coastguard Worker 114*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.enableUiccApplicationsResponse() 115*4d7e907cSAndroid Build Coastguard Worker */ 116*4d7e907cSAndroid Build Coastguard Worker oneway enableUiccApplications(int32_t serial, bool enable); 117*4d7e907cSAndroid Build Coastguard Worker 118*4d7e907cSAndroid Build Coastguard Worker /** 119*4d7e907cSAndroid Build Coastguard Worker * Whether uiccApplications are enabled, or disabled. 120*4d7e907cSAndroid Build Coastguard Worker * 121*4d7e907cSAndroid Build Coastguard Worker * By default uiccApplications must be enabled, unless enableUiccApplications() with enable 122*4d7e907cSAndroid Build Coastguard Worker * being false is called. 123*4d7e907cSAndroid Build Coastguard Worker * 124*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 125*4d7e907cSAndroid Build Coastguard Worker * 126*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.areUiccApplicationsEnabledResponse() 127*4d7e907cSAndroid Build Coastguard Worker */ 128*4d7e907cSAndroid Build Coastguard Worker oneway areUiccApplicationsEnabled(int32_t serial); 129*4d7e907cSAndroid Build Coastguard Worker 130*4d7e907cSAndroid Build Coastguard Worker /** 131*4d7e907cSAndroid Build Coastguard Worker * Specify which bands modem's background scan must act on. 132*4d7e907cSAndroid Build Coastguard Worker * If specifyChannels is true, it only scans bands specified in specifiers. 133*4d7e907cSAndroid Build Coastguard Worker * If specifyChannels is false, it scans all bands. 134*4d7e907cSAndroid Build Coastguard Worker * 135*4d7e907cSAndroid Build Coastguard Worker * For example, CBRS is only on LTE band 48. By specifying this band, 136*4d7e907cSAndroid Build Coastguard Worker * modem saves more power. 137*4d7e907cSAndroid Build Coastguard Worker * 138*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 139*4d7e907cSAndroid Build Coastguard Worker * @param specifyChannels whether to scan bands defined in specifiers. 140*4d7e907cSAndroid Build Coastguard Worker * @param specifiers which bands to scan. Only used if specifyChannels is true. 141*4d7e907cSAndroid Build Coastguard Worker * 142*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setSystemSelectionChannelsResponse() 143*4d7e907cSAndroid Build Coastguard Worker */ 144*4d7e907cSAndroid Build Coastguard Worker oneway setSystemSelectionChannels_1_5(int32_t serial, bool specifyChannels, 145*4d7e907cSAndroid Build Coastguard Worker vec<RadioAccessSpecifier> specifiers); 146*4d7e907cSAndroid Build Coastguard Worker 147*4d7e907cSAndroid Build Coastguard Worker /** 148*4d7e907cSAndroid Build Coastguard Worker * Starts a network scan. 149*4d7e907cSAndroid Build Coastguard Worker * 150*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 151*4d7e907cSAndroid Build Coastguard Worker * @param request Defines the radio networks/bands/channels which need to be scanned. 152*4d7e907cSAndroid Build Coastguard Worker * 153*4d7e907cSAndroid Build Coastguard Worker * Same API as @1.4::IRadio.startNetworkScan_1_4, except using the 154*4d7e907cSAndroid Build Coastguard Worker * 1.5 NetworkScanRequest as the input param. 155*4d7e907cSAndroid Build Coastguard Worker */ 156*4d7e907cSAndroid Build Coastguard Worker oneway startNetworkScan_1_5(int32_t serial, NetworkScanRequest request); 157*4d7e907cSAndroid Build Coastguard Worker 158*4d7e907cSAndroid Build Coastguard Worker /** 159*4d7e907cSAndroid Build Coastguard Worker * Setup a packet data connection. If DataCallResponse.status returns DataCallFailCause:NONE, 160*4d7e907cSAndroid Build Coastguard Worker * the data connection must be added to data calls and a unsolDataCallListChanged() must be 161*4d7e907cSAndroid Build Coastguard Worker * sent. The call remains until removed by subsequent unsolDataCallIstChanged(). It may be 162*4d7e907cSAndroid Build Coastguard Worker * lost due to many factors, including deactivateDataCall() being issued, the radio powered 163*4d7e907cSAndroid Build Coastguard Worker * off, reception lost or even transient factors like congestion. This data call list is 164*4d7e907cSAndroid Build Coastguard Worker * returned by getDataCallList() and dataCallListChanged(). 165*4d7e907cSAndroid Build Coastguard Worker * 166*4d7e907cSAndroid Build Coastguard Worker * The Radio is expected to: 167*4d7e907cSAndroid Build Coastguard Worker * - Create one data call context. 168*4d7e907cSAndroid Build Coastguard Worker * - Create and configure a dedicated interface for the context. 169*4d7e907cSAndroid Build Coastguard Worker * - The interface must be point to point. 170*4d7e907cSAndroid Build Coastguard Worker * - The interface is configured with one or more addresses and is capable of sending and 171*4d7e907cSAndroid Build Coastguard Worker * receiving packets. The prefix length of the addresses must be /32 for IPv4 and /128 172*4d7e907cSAndroid Build Coastguard Worker * for IPv6. 173*4d7e907cSAndroid Build Coastguard Worker * - Must not modify routing configuration related to this interface; routing management is 174*4d7e907cSAndroid Build Coastguard Worker * exclusively within the purview of the Android OS. 175*4d7e907cSAndroid Build Coastguard Worker * - Support simultaneous data call contexts up to DataRegStateResult.maxDataCalls specified 176*4d7e907cSAndroid Build Coastguard Worker * in the response of getDataRegistrationState. 177*4d7e907cSAndroid Build Coastguard Worker * 178*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 179*4d7e907cSAndroid Build Coastguard Worker * @param accessNetwork The access network to setup the data call. If the data connection cannot 180*4d7e907cSAndroid Build Coastguard Worker * be established on the specified access network, the setup request must be failed. 181*4d7e907cSAndroid Build Coastguard Worker * @param dataProfileInfo Data profile info. 182*4d7e907cSAndroid Build Coastguard Worker * @param roamingAllowed Indicates whether or not data roaming is allowed by the user. 183*4d7e907cSAndroid Build Coastguard Worker * @param reason The request reason. Must be DataRequestReason.NORMAL or 184*4d7e907cSAndroid Build Coastguard Worker * DataRequestReason.HANDOVER. 185*4d7e907cSAndroid Build Coastguard Worker * @param addresses If the reason is DataRequestReason.HANDOVER, this indicates the list of link 186*4d7e907cSAndroid Build Coastguard Worker * addresses of the existing data connection. This parameter must be ignored unless reason 187*4d7e907cSAndroid Build Coastguard Worker * is DataRequestReason.HANDOVER. 188*4d7e907cSAndroid Build Coastguard Worker * @param dnses If the reason is DataRequestReason.HANDOVER, this indicates the list of DNS 189*4d7e907cSAndroid Build Coastguard Worker * addresses of the existing data connection. The format is defined in RFC-4291 section 190*4d7e907cSAndroid Build Coastguard Worker * 2.2. For example, "192.0.1.3" or "2001:db8::1". This parameter must be ignored unless 191*4d7e907cSAndroid Build Coastguard Worker * reason is DataRequestReason.HANDOVER. 192*4d7e907cSAndroid Build Coastguard Worker * 193*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.setupDataCallResponse_1_5() 194*4d7e907cSAndroid Build Coastguard Worker * 195*4d7e907cSAndroid Build Coastguard Worker * Note this API is the same as the 1.4 version except using the 196*4d7e907cSAndroid Build Coastguard Worker * 1.5 AccessNetwork, DataProfileInto, and LinkAddress as the input param. 197*4d7e907cSAndroid Build Coastguard Worker */ 198*4d7e907cSAndroid Build Coastguard Worker oneway setupDataCall_1_5(int32_t serial, AccessNetwork accessNetwork, 199*4d7e907cSAndroid Build Coastguard Worker DataProfileInfo dataProfileInfo, bool roamingAllowed, 200*4d7e907cSAndroid Build Coastguard Worker DataRequestReason reason, vec<LinkAddress> addresses, vec<string> dnses); 201*4d7e907cSAndroid Build Coastguard Worker 202*4d7e907cSAndroid Build Coastguard Worker /** 203*4d7e907cSAndroid Build Coastguard Worker * Set an APN to initial attach network. 204*4d7e907cSAndroid Build Coastguard Worker * 205*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 206*4d7e907cSAndroid Build Coastguard Worker * @param dataProfileInfo data profile containing APN settings 207*4d7e907cSAndroid Build Coastguard Worker * 208*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setInitialAttachApnResponse_1_5() 209*4d7e907cSAndroid Build Coastguard Worker * 210*4d7e907cSAndroid Build Coastguard Worker * Note this API is the same as the 1.4 version except using the 1.5 DataProfileInfo 211*4d7e907cSAndroid Build Coastguard Worker * as the input param. 212*4d7e907cSAndroid Build Coastguard Worker */ 213*4d7e907cSAndroid Build Coastguard Worker oneway setInitialAttachApn_1_5(int32_t serial, DataProfileInfo dataProfileInfo); 214*4d7e907cSAndroid Build Coastguard Worker 215*4d7e907cSAndroid Build Coastguard Worker /** 216*4d7e907cSAndroid Build Coastguard Worker * Send data profiles of the current carrier to the modem. 217*4d7e907cSAndroid Build Coastguard Worker * 218*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 219*4d7e907cSAndroid Build Coastguard Worker * @param profiles Array of DataProfileInfo to set. 220*4d7e907cSAndroid Build Coastguard Worker * 221*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setDataProfileResponse_1_5() 222*4d7e907cSAndroid Build Coastguard Worker * 223*4d7e907cSAndroid Build Coastguard Worker * Note this API is the same as the 1.4 version except using the 1.5 DataProfileInfo 224*4d7e907cSAndroid Build Coastguard Worker * as the input param. 225*4d7e907cSAndroid Build Coastguard Worker */ 226*4d7e907cSAndroid Build Coastguard Worker oneway setDataProfile_1_5(int32_t serial, vec<DataProfileInfo> profiles); 227*4d7e907cSAndroid Build Coastguard Worker 228*4d7e907cSAndroid Build Coastguard Worker /** 229*4d7e907cSAndroid Build Coastguard Worker * Toggle radio on and off (for "airplane" mode) 230*4d7e907cSAndroid Build Coastguard Worker * If the radio is turned off/on the radio modem subsystem 231*4d7e907cSAndroid Build Coastguard Worker * is expected return to an initialized state. For instance, 232*4d7e907cSAndroid Build Coastguard Worker * any voice and data calls must be terminated and all associated 233*4d7e907cSAndroid Build Coastguard Worker * lists emptied. 234*4d7e907cSAndroid Build Coastguard Worker * 235*4d7e907cSAndroid Build Coastguard Worker * When setting radio power on to exit from airplane mode to place an emergency call on this 236*4d7e907cSAndroid Build Coastguard Worker * logical modem, powerOn, forEmergencyCall and preferredForEmergencyCall must be true. In 237*4d7e907cSAndroid Build Coastguard Worker * this case, this modem is optimized to scan only emergency call bands, until: 238*4d7e907cSAndroid Build Coastguard Worker * 1) Emergency call is completed; or 239*4d7e907cSAndroid Build Coastguard Worker * 2) Another setRadioPower_1_5 is issued with forEmergencyCall being false or 240*4d7e907cSAndroid Build Coastguard Worker * preferredForEmergencyCall being false; or 241*4d7e907cSAndroid Build Coastguard Worker * 3) Timeout after 30 seconds if dial or emergencyDial is not called. 242*4d7e907cSAndroid Build Coastguard Worker * Once one of these conditions is reached, the modem should move into normal operation. 243*4d7e907cSAndroid Build Coastguard Worker * 244*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 245*4d7e907cSAndroid Build Coastguard Worker * @param powerOn To turn on radio -> on = true, to turn off radio -> on = false. 246*4d7e907cSAndroid Build Coastguard Worker * @param forEmergencyCall To indication to radio if this request is due to emergency call. 247*4d7e907cSAndroid Build Coastguard Worker * No effect if powerOn is false. 248*4d7e907cSAndroid Build Coastguard Worker * @param preferredForEmergencyCall indicate whether the following emergency call will be sent 249*4d7e907cSAndroid Build Coastguard Worker * on this modem or not. No effect if forEmergencyCall is false, or powerOn is false. 250*4d7e907cSAndroid Build Coastguard Worker * 251*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioConfigResponse. setRadioPowerResponse_1_5. 252*4d7e907cSAndroid Build Coastguard Worker */ 253*4d7e907cSAndroid Build Coastguard Worker oneway setRadioPower_1_5(int32_t serial, bool powerOn, bool forEmergencyCall, 254*4d7e907cSAndroid Build Coastguard Worker bool preferredForEmergencyCall); 255*4d7e907cSAndroid Build Coastguard Worker 256*4d7e907cSAndroid Build Coastguard Worker /** 257*4d7e907cSAndroid Build Coastguard Worker * Sets the indication filter. 258*4d7e907cSAndroid Build Coastguard Worker * 259*4d7e907cSAndroid Build Coastguard Worker * Prevents the reporting of specified unsolicited indications from the radio. This is used 260*4d7e907cSAndroid Build Coastguard Worker * for power saving in instances when those indications are not needed. If unset, defaults to 261*4d7e907cSAndroid Build Coastguard Worker * @1.5::IndicationFilter:ALL. 262*4d7e907cSAndroid Build Coastguard Worker * 263*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 264*4d7e907cSAndroid Build Coastguard Worker * @param indicationFilter 32-bit bitmap of IndicationFilter. Bits set to 1 indicate the 265*4d7e907cSAndroid Build Coastguard Worker * indications are enabled. See @1.5::IndicationFilter for the definition of each bit. 266*4d7e907cSAndroid Build Coastguard Worker * 267*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.setIndicationFilterResponse() 268*4d7e907cSAndroid Build Coastguard Worker */ 269*4d7e907cSAndroid Build Coastguard Worker oneway setIndicationFilter_1_5(int32_t serial, bitfield<IndicationFilter> indicationFilter); 270*4d7e907cSAndroid Build Coastguard Worker 271*4d7e907cSAndroid Build Coastguard Worker /** 272*4d7e907cSAndroid Build Coastguard Worker * Get all the barring info for the current camped cell applicable to the current user. 273*4d7e907cSAndroid Build Coastguard Worker * 274*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 275*4d7e907cSAndroid Build Coastguard Worker * 276*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.getBarringInfoResponse() 277*4d7e907cSAndroid Build Coastguard Worker */ 278*4d7e907cSAndroid Build Coastguard Worker oneway getBarringInfo(int32_t serial); 279*4d7e907cSAndroid Build Coastguard Worker 280*4d7e907cSAndroid Build Coastguard Worker /** 281*4d7e907cSAndroid Build Coastguard Worker * Request current voice registration state. 282*4d7e907cSAndroid Build Coastguard Worker * 283*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 284*4d7e907cSAndroid Build Coastguard Worker * 285*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.getVoiceRegistrationStateResponse_1_5() 286*4d7e907cSAndroid Build Coastguard Worker */ 287*4d7e907cSAndroid Build Coastguard Worker oneway getVoiceRegistrationState_1_5(int32_t serial); 288*4d7e907cSAndroid Build Coastguard Worker 289*4d7e907cSAndroid Build Coastguard Worker /** 290*4d7e907cSAndroid Build Coastguard Worker * Request current data registration state. 291*4d7e907cSAndroid Build Coastguard Worker * 292*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 293*4d7e907cSAndroid Build Coastguard Worker * 294*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.getDataRegistrationStateResponse_1_5() 295*4d7e907cSAndroid Build Coastguard Worker */ 296*4d7e907cSAndroid Build Coastguard Worker oneway getDataRegistrationState_1_5(int32_t serial); 297*4d7e907cSAndroid Build Coastguard Worker 298*4d7e907cSAndroid Build Coastguard Worker /* 299*4d7e907cSAndroid Build Coastguard Worker * Manually select a specified network. 300*4d7e907cSAndroid Build Coastguard Worker * This request must not respond until the new operator is selected and registered. 301*4d7e907cSAndroid Build Coastguard Worker * Per TS 23.122, the RAN is just the initial suggested value. 302*4d7e907cSAndroid Build Coastguard Worker * If registration fails, the RAN is not available afterwards, or the RAN is not within 303*4d7e907cSAndroid Build Coastguard Worker * the network types specified by IRadio::setPreferredNetworkTypeBitmap, then the modem 304*4d7e907cSAndroid Build Coastguard Worker * will need to select the next best RAN for network registration. 305*4d7e907cSAndroid Build Coastguard Worker * 306*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 307*4d7e907cSAndroid Build Coastguard Worker * @param operatorNumeric String specifying MCCMNC of network to select (eg "310170"). 308*4d7e907cSAndroid Build Coastguard Worker * @param ran Initial suggested radio access network type. If value is UNKNOWN, the modem 309*4d7e907cSAndroid Build Coastguard Worker * will select the next best RAN for network registration. 310*4d7e907cSAndroid Build Coastguard Worker * 311*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.setNetworkSelectionModeManualResponse_1_5() 312*4d7e907cSAndroid Build Coastguard Worker */ 313*4d7e907cSAndroid Build Coastguard Worker oneway setNetworkSelectionModeManual_1_5(int32_t serial, string operatorNumeric, 314*4d7e907cSAndroid Build Coastguard Worker RadioAccessNetworks ran); 315*4d7e907cSAndroid Build Coastguard Worker 316*4d7e907cSAndroid Build Coastguard Worker /** 317*4d7e907cSAndroid Build Coastguard Worker * Send an SMS message. Identical to sendCdmaSms, 318*4d7e907cSAndroid Build Coastguard Worker * except that more messages are expected to be sent soon. 319*4d7e907cSAndroid Build Coastguard Worker * 320*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 321*4d7e907cSAndroid Build Coastguard Worker * @param sms Cdma Sms to be sent described by CdmaSmsMessage in types.hal 322*4d7e907cSAndroid Build Coastguard Worker * 323*4d7e907cSAndroid Build Coastguard Worker * Response callback is IRadioResponse.sendCdmaSMSExpectMoreResponse() 324*4d7e907cSAndroid Build Coastguard Worker */ 325*4d7e907cSAndroid Build Coastguard Worker oneway sendCdmaSmsExpectMore(int32_t serial, CdmaSmsMessage sms); 326*4d7e907cSAndroid Build Coastguard Worker 327*4d7e907cSAndroid Build Coastguard Worker /** 328*4d7e907cSAndroid Build Coastguard Worker * Request that deactivates one category of device personalization. Device personalization 329*4d7e907cSAndroid Build Coastguard Worker * generally binds the device so it can only be used on one carrier or even one carrier subnet 330*4d7e907cSAndroid Build Coastguard Worker * (See TS 22.022). When the user has gained the rights to unbind the device (at the end of a 331*4d7e907cSAndroid Build Coastguard Worker * contract period or other event), the controlKey will be delivered to either the user for 332*4d7e907cSAndroid Build Coastguard Worker * manual entry or to a carrier app on the device for automatic entry. 333*4d7e907cSAndroid Build Coastguard Worker * 334*4d7e907cSAndroid Build Coastguard Worker * @param serial Serial number of request. 335*4d7e907cSAndroid Build Coastguard Worker * @param persoType SIM personalization type. 336*4d7e907cSAndroid Build Coastguard Worker * @param controlKey the unlock code for removing persoType personalization from this device 337*4d7e907cSAndroid Build Coastguard Worker * 338*4d7e907cSAndroid Build Coastguard Worker * Response function is IRadioResponse.supplySimDepersonalizationResponse() 339*4d7e907cSAndroid Build Coastguard Worker */ 340*4d7e907cSAndroid Build Coastguard Worker oneway supplySimDepersonalization(int32_t serial, PersoSubstate persoType, string controlKey); 341*4d7e907cSAndroid Build Coastguard Worker}; 342