platform_hardware_interfaces/radio/1.5/IRadioIndication.hal
Nathan Harold 500733c459 Add Multi-PLMN and CSG support
Non-functional changes:
-Clarify that the MCC+MNC in the CellIdentity should be used to
 report the Primary PLMN only; (this PLMN is globally unique, and
 can be used to construct a CGI/ECGI whereas other PLMN-IDs cannot).
-Add clarification for the reporting of multi-PLMN 5G networks.

Functional changes:
-Add a list of PLMNs for MOCN Networks. This allows cells that are
 shared by multiple operators to be properly reported.
-Add support for Closed Subscriber Group reporting to allow
 identification of small-cell deployments.

Bug: 135921133
Test: make VtsHalRadioV1_5Target
      && make aosp_cf_x86_64_phone-userdebug
Change-Id: Ibb0682de8ae9c4421e79086773c977a4e76ac4f1
2020-01-21 23:57:21 -08:00

98 lines
4.7 KiB
Text
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* Copyright (C) 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.hardware.radio@1.5;
import @1.0::RadioIndicationType;
import @1.4::IRadioIndication;
/**
* Interface declaring unsolicited radio indications.
*/
interface IRadioIndication extends @1.4::IRadioIndication {
/**
* Report change of whether uiccApplications are enabled, or disabled.
*
* @param type Type of radio indication
* @param enabled whether uiccApplications are enabled, or disabled
*/
oneway uiccApplicationsEnablementChanged(RadioIndicationType type, bool enabled);
/**
* Report that Registration or a Location/Routing/Tracking Area update has failed.
*
* <p>Indicate whenever a registration procedure, including a location, routing, or tracking
* area update fails. This includes procedures that do not necessarily result in a change of
* the modem's registration status. If the modem's registration status changes, that is
* reflected in the onNetworkStateChanged() and subsequent get{Voice/Data}RegistrationState().
*
* @param cellIdentity the CellIdentity, which must include the globally unique identifier for
* the cell (for example, all components of the CGI or ECGI).
* @param chosenPlmn a 5 or 6 digit alphanumeric PLMN (MCC|MNC) among those broadcast by the
* cell that was chosen for the failed registration attempt.
* @param domain Domain::CS, Domain::PS, or both in case of a combined procedure.
* @param causeCode the primary failure cause code of the procedure.
* For GSM/UMTS (MM), values are in TS 24.008 Sec 10.5.95
* For GSM/UMTS (GMM), values are in TS 24.008 Sec 10.5.147
* For LTE (EMM), cause codes are TS 24.301 Sec 9.9.3.9
* For NR (5GMM), cause codes are TS 24.501 Sec 9.11.3.2
* MAX_INT if this value is unused.
* @param additionalCauseCode the cause code of any secondary/combined procedure if appropriate.
* For UMTS, if a combined attach succeeds for PS only, then the GMM cause code shall be
* included as an additionalCauseCode.
* For LTE (ESM), cause codes are in TS 24.301 9.9.4.4
* MAX_INT if this value is unused.
*/
oneway registrationFailed(
RadioIndicationType type, CellIdentity cellIdentity, string chosenPlmn,
bitfield<Domain> domain, int32_t causeCode, int32_t additionalCauseCode);
/**
* Indicate barring information for the users access category / access class and PLMN.
*
* <p>Provide information about the barring status of the cell for the user. The information
* provided should describe all barring configurations that are applicable to the current user,
* even if the user is not currently barred (due to conditional barring). This informs Android
* of likely future (statistical) barring for specific services.
*
* <p>This indication should be sent whenever the cells barring config changes for the current
* user, or if the users conditional barring status changes due to re-evaluation of the
* barring conditions. Barring status will likely change when the device camps for service,
* when PLMN selection is completed, when the device attempts to access a conditionally barred
* service, and when the System Information including barring info for a camped cell is updated.
*/
oneway barringInfoChanged(
RadioIndicationType type, CellIdentity cellIdentity, vec<BarringInfo> barringInfos);
/**
* Report all of the current cell information known to the radio.
*
* This indication is updated from IRadioIndication@1.4 to report the @1.5 version of
* CellInfo.
*
* @param type Type of radio indication
* @param records Current cell information
*/
oneway cellInfoList_1_5(RadioIndicationType type, vec<CellInfo> records);
/**
* Incremental network scan results.
*
* This indication is updated from IRadioIndication@1.4 to report the @1.5 version of
* CellInfo.
*/
oneway networkScanResult_1_5(RadioIndicationType type, NetworkScanResult result);
};