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::RadioIndicationType; 20*4d7e907cSAndroid Build Coastguard Workerimport @1.4::IRadioIndication; 21*4d7e907cSAndroid Build Coastguard Worker 22*4d7e907cSAndroid Build Coastguard Worker/** 23*4d7e907cSAndroid Build Coastguard Worker * Interface declaring unsolicited radio indications. 24*4d7e907cSAndroid Build Coastguard Worker */ 25*4d7e907cSAndroid Build Coastguard Workerinterface IRadioIndication extends @1.4::IRadioIndication { 26*4d7e907cSAndroid Build Coastguard Worker /** 27*4d7e907cSAndroid Build Coastguard Worker * Report change of whether uiccApplications are enabled, or disabled. 28*4d7e907cSAndroid Build Coastguard Worker * 29*4d7e907cSAndroid Build Coastguard Worker * @param type Type of radio indication 30*4d7e907cSAndroid Build Coastguard Worker * @param enabled whether uiccApplications are enabled, or disabled 31*4d7e907cSAndroid Build Coastguard Worker */ 32*4d7e907cSAndroid Build Coastguard Worker oneway uiccApplicationsEnablementChanged(RadioIndicationType type, bool enabled); 33*4d7e907cSAndroid Build Coastguard Worker 34*4d7e907cSAndroid Build Coastguard Worker /** 35*4d7e907cSAndroid Build Coastguard Worker * Report that Registration or a Location/Routing/Tracking Area update has failed. 36*4d7e907cSAndroid Build Coastguard Worker * 37*4d7e907cSAndroid Build Coastguard Worker * <p>Indicate whenever a registration procedure, including a location, routing, or tracking 38*4d7e907cSAndroid Build Coastguard Worker * area update fails. This includes procedures that do not necessarily result in a change of 39*4d7e907cSAndroid Build Coastguard Worker * the modem's registration status. If the modem's registration status changes, that is 40*4d7e907cSAndroid Build Coastguard Worker * reflected in the onNetworkStateChanged() and subsequent get{Voice/Data}RegistrationState(). 41*4d7e907cSAndroid Build Coastguard Worker * 42*4d7e907cSAndroid Build Coastguard Worker * @param cellIdentity the CellIdentity, which must include the globally unique identifier for 43*4d7e907cSAndroid Build Coastguard Worker * the cell (for example, all components of the CGI or ECGI). 44*4d7e907cSAndroid Build Coastguard Worker * @param chosenPlmn a 5 or 6 digit alphanumeric PLMN (MCC|MNC) among those broadcast by the 45*4d7e907cSAndroid Build Coastguard Worker * cell that was chosen for the failed registration attempt. 46*4d7e907cSAndroid Build Coastguard Worker * @param domain Domain::CS, Domain::PS, or both in case of a combined procedure. 47*4d7e907cSAndroid Build Coastguard Worker * @param causeCode the primary failure cause code of the procedure. 48*4d7e907cSAndroid Build Coastguard Worker * For GSM/UMTS (MM), values are in TS 24.008 Sec 10.5.95 49*4d7e907cSAndroid Build Coastguard Worker * For GSM/UMTS (GMM), values are in TS 24.008 Sec 10.5.147 50*4d7e907cSAndroid Build Coastguard Worker * For LTE (EMM), cause codes are TS 24.301 Sec 9.9.3.9 51*4d7e907cSAndroid Build Coastguard Worker * For NR (5GMM), cause codes are TS 24.501 Sec 9.11.3.2 52*4d7e907cSAndroid Build Coastguard Worker * MAX_INT if this value is unused. 53*4d7e907cSAndroid Build Coastguard Worker * @param additionalCauseCode the cause code of any secondary/combined procedure if appropriate. 54*4d7e907cSAndroid Build Coastguard Worker * For UMTS, if a combined attach succeeds for PS only, then the GMM cause code shall be 55*4d7e907cSAndroid Build Coastguard Worker * included as an additionalCauseCode. 56*4d7e907cSAndroid Build Coastguard Worker * For LTE (ESM), cause codes are in TS 24.301 9.9.4.4 57*4d7e907cSAndroid Build Coastguard Worker * MAX_INT if this value is unused. 58*4d7e907cSAndroid Build Coastguard Worker */ 59*4d7e907cSAndroid Build Coastguard Worker oneway registrationFailed( 60*4d7e907cSAndroid Build Coastguard Worker RadioIndicationType type, CellIdentity cellIdentity, string chosenPlmn, 61*4d7e907cSAndroid Build Coastguard Worker bitfield<Domain> domain, int32_t causeCode, int32_t additionalCauseCode); 62*4d7e907cSAndroid Build Coastguard Worker 63*4d7e907cSAndroid Build Coastguard Worker /** 64*4d7e907cSAndroid Build Coastguard Worker * Indicate barring information for the user’s access category / access class and PLMN. 65*4d7e907cSAndroid Build Coastguard Worker * 66*4d7e907cSAndroid Build Coastguard Worker * <p>Provide information about the barring status of the cell for the user. The information 67*4d7e907cSAndroid Build Coastguard Worker * provided should describe all barring configurations that are applicable to the current user, 68*4d7e907cSAndroid Build Coastguard Worker * even if the user is not currently barred (due to conditional barring). This informs Android 69*4d7e907cSAndroid Build Coastguard Worker * of likely future (statistical) barring for specific services. 70*4d7e907cSAndroid Build Coastguard Worker * 71*4d7e907cSAndroid Build Coastguard Worker * <p>This indication should be sent whenever the cell’s barring config changes for the current 72*4d7e907cSAndroid Build Coastguard Worker * user, or if the user’s conditional barring status changes due to re-evaluation of the 73*4d7e907cSAndroid Build Coastguard Worker * barring conditions. Barring status will likely change when the device camps for service, 74*4d7e907cSAndroid Build Coastguard Worker * when PLMN selection is completed, when the device attempts to access a conditionally barred 75*4d7e907cSAndroid Build Coastguard Worker * service, and when the System Information including barring info for a camped cell is updated. 76*4d7e907cSAndroid Build Coastguard Worker */ 77*4d7e907cSAndroid Build Coastguard Worker oneway barringInfoChanged( 78*4d7e907cSAndroid Build Coastguard Worker RadioIndicationType type, CellIdentity cellIdentity, vec<BarringInfo> barringInfos); 79*4d7e907cSAndroid Build Coastguard Worker 80*4d7e907cSAndroid Build Coastguard Worker /** 81*4d7e907cSAndroid Build Coastguard Worker * Report all of the current cell information known to the radio. 82*4d7e907cSAndroid Build Coastguard Worker * 83*4d7e907cSAndroid Build Coastguard Worker * This indication is updated from [email protected] to report the @1.5 version of 84*4d7e907cSAndroid Build Coastguard Worker * CellInfo. 85*4d7e907cSAndroid Build Coastguard Worker * 86*4d7e907cSAndroid Build Coastguard Worker * @param type Type of radio indication 87*4d7e907cSAndroid Build Coastguard Worker * @param records Current cell information 88*4d7e907cSAndroid Build Coastguard Worker */ 89*4d7e907cSAndroid Build Coastguard Worker oneway cellInfoList_1_5(RadioIndicationType type, vec<CellInfo> records); 90*4d7e907cSAndroid Build Coastguard Worker 91*4d7e907cSAndroid Build Coastguard Worker /** 92*4d7e907cSAndroid Build Coastguard Worker * Incremental network scan results. 93*4d7e907cSAndroid Build Coastguard Worker * 94*4d7e907cSAndroid Build Coastguard Worker * This indication is updated from [email protected] to report the @1.5 version of 95*4d7e907cSAndroid Build Coastguard Worker * CellInfo. 96*4d7e907cSAndroid Build Coastguard Worker */ 97*4d7e907cSAndroid Build Coastguard Worker oneway networkScanResult_1_5(RadioIndicationType type, NetworkScanResult result); 98*4d7e907cSAndroid Build Coastguard Worker 99*4d7e907cSAndroid Build Coastguard Worker /** 100*4d7e907cSAndroid Build Coastguard Worker * Indicates data call contexts have changed. 101*4d7e907cSAndroid Build Coastguard Worker * 102*4d7e907cSAndroid Build Coastguard Worker * This indication is updated from [email protected] to report the @1.5 version of 103*4d7e907cSAndroid Build Coastguard Worker * SetupDataCallResult. 104*4d7e907cSAndroid Build Coastguard Worker * 105*4d7e907cSAndroid Build Coastguard Worker * @param type Type of radio indication 106*4d7e907cSAndroid Build Coastguard Worker * @param dcList Array of SetupDataCallResult identical to that returned by 107*4d7e907cSAndroid Build Coastguard Worker * IRadio.getDataCallList(). It is the complete list of current data contexts including 108*4d7e907cSAndroid Build Coastguard Worker * new contexts that have been activated. A data call is only removed from this list 109*4d7e907cSAndroid Build Coastguard Worker * when below conditions matched. 110*4d7e907cSAndroid Build Coastguard Worker * 1. The framework sends a IRadio.deactivateDataCall(). 111*4d7e907cSAndroid Build Coastguard Worker * 2. The radio is powered off/on. 112*4d7e907cSAndroid Build Coastguard Worker * 3. Unsolicited disconnect from either modem or network side. 113*4d7e907cSAndroid Build Coastguard Worker */ 114*4d7e907cSAndroid Build Coastguard Worker oneway dataCallListChanged_1_5(RadioIndicationType type, vec<SetupDataCallResult> dcList); 115*4d7e907cSAndroid Build Coastguard Worker}; 116