From 9cdc2a6c1a2aff588fe399806f6b53a7a64f38c8 Mon Sep 17 00:00:00 2001 From: Sarah Chin Date: Mon, 14 Jun 2021 11:26:00 -0700 Subject: [PATCH] Create IRadio AIDL Create IRadio AIDL from HIDL versions 1.0-1.6 using the hidl2aidl tool. This is just a skeleton implementation to allow 1.7 APIs to be added to the AIDL interface. Changes to the API surface and modularization to come after this change is merged. Test: build Bug: 198331182 Change-Id: Ice71b7c159b98de8b36124f379167fb579a4ea2f Merged-In: Ice71b7c159b98de8b36124f379167fb579a4ea2f --- .../compatibility_matrix.current.xml | 10 + radio/aidl/Android.bp | 54 + .../android/hardware/radio/AccessNetwork.aidl | 44 + .../hardware/radio/ActivityStatsInfo.aidl | 41 + .../hardware/radio/AddressProperty.aidl | 39 + .../android/hardware/radio/ApnAuthType.aidl | 41 + .../android/hardware/radio/ApnTypes.aidl | 51 + .../android/hardware/radio/AppState.aidl | 43 + .../android/hardware/radio/AppStatus.aidl | 45 + .../android/hardware/radio/AppType.aidl | 43 + .../android/hardware/radio/AudioQuality.aidl | 47 + .../android/hardware/radio/BarringInfo.aidl | 40 + .../radio/BarringInfoBarringType.aidl | 40 + .../BarringInfoBarringTypeSpecificInfo.aidl | 39 + ...nfoBarringTypeSpecificInfoConditional.aidl | 40 + .../radio/BarringInfoServiceType.aidl | 79 + .../current/android/hardware/radio/Call.aidl | 52 + .../hardware/radio/CallForwardInfo.aidl | 43 + .../hardware/radio/CallForwardInfoStatus.aidl | 42 + .../hardware/radio/CallPresentation.aidl | 41 + .../android/hardware/radio/CallState.aidl | 43 + .../hardware/radio/CardPowerState.aidl | 40 + .../android/hardware/radio/CardState.aidl | 41 + .../android/hardware/radio/CardStatus.aidl | 47 + .../android/hardware/radio/Carrier.aidl | 41 + .../hardware/radio/CarrierMatchType.aidl | 42 + .../hardware/radio/CarrierRestrictions.aidl | 39 + .../CarrierRestrictionsWithPriority.aidl | 40 + .../radio/CdmaBroadcastSmsConfigInfo.aidl | 40 + .../hardware/radio/CdmaCallWaiting.aidl | 43 + .../radio/CdmaCallWaitingNumberPlan.aidl | 43 + .../CdmaCallWaitingNumberPresentation.aidl | 40 + .../radio/CdmaCallWaitingNumberType.aidl | 42 + .../hardware/radio/CdmaDisplayInfoRecord.aidl | 38 + .../hardware/radio/CdmaInfoRecName.aidl | 48 + .../hardware/radio/CdmaInformationRecord.aidl | 45 + .../radio/CdmaInformationRecords.aidl | 38 + .../radio/CdmaLineControlInfoRecord.aidl | 41 + .../hardware/radio/CdmaNumberInfoRecord.aidl | 42 + .../radio/CdmaOtaProvisionStatus.aidl | 49 + .../CdmaRedirectingNumberInfoRecord.aidl | 39 + .../hardware/radio/CdmaRedirectingReason.aidl | 44 + .../hardware/radio/CdmaRoamingType.aidl | 40 + .../hardware/radio/CdmaSignalInfoRecord.aidl | 41 + .../hardware/radio/CdmaSignalStrength.aidl | 39 + .../android/hardware/radio/CdmaSmsAck.aidl | 39 + .../hardware/radio/CdmaSmsAddress.aidl | 42 + .../hardware/radio/CdmaSmsDigitMode.aidl | 39 + .../hardware/radio/CdmaSmsErrorClass.aidl | 39 + .../hardware/radio/CdmaSmsMessage.aidl | 43 + .../hardware/radio/CdmaSmsNumberMode.aidl | 39 + .../hardware/radio/CdmaSmsNumberPlan.aidl | 53 + .../hardware/radio/CdmaSmsNumberType.aidl | 45 + .../hardware/radio/CdmaSmsSubaddress.aidl | 40 + .../hardware/radio/CdmaSmsSubaddressType.aidl | 39 + .../hardware/radio/CdmaSmsWriteArgs.aidl | 39 + .../radio/CdmaSmsWriteArgsStatus.aidl | 41 + .../radio/CdmaSubscriptionSource.aidl | 39 + .../radio/CdmaT53AudioControlInfoRecord.aidl | 39 + .../hardware/radio/CdmaT53ClirInfoRecord.aidl | 38 + .../android/hardware/radio/CellConfigLte.aidl | 38 + .../hardware/radio/CellConnectionStatus.aidl | 40 + .../android/hardware/radio/CellIdentity.aidl | 44 + .../hardware/radio/CellIdentityCdma.aidl | 43 + .../hardware/radio/CellIdentityGsm.aidl | 45 + .../hardware/radio/CellIdentityLte.aidl | 48 + .../hardware/radio/CellIdentityNr.aidl | 46 + .../radio/CellIdentityOperatorNames.aidl | 39 + .../hardware/radio/CellIdentityTdscdma.aidl | 46 + .../hardware/radio/CellIdentityWcdma.aidl | 46 + .../android/hardware/radio/CellInfo.aidl | 40 + .../android/hardware/radio/CellInfoCdma.aidl | 40 + .../CellInfoCellInfoRatSpecificInfo.aidl | 43 + .../android/hardware/radio/CellInfoGsm.aidl | 39 + .../android/hardware/radio/CellInfoInfo.aidl | 43 + .../android/hardware/radio/CellInfoLte.aidl | 39 + .../android/hardware/radio/CellInfoNr.aidl | 39 + .../hardware/radio/CellInfoTdscdma.aidl | 39 + .../android/hardware/radio/CellInfoType.aidl | 43 + .../android/hardware/radio/CellInfoWcdma.aidl | 39 + .../android/hardware/radio/CfData.aidl | 38 + .../android/hardware/radio/ClipStatus.aidl | 40 + .../current/android/hardware/radio/Clir.aidl | 40 + .../radio/ClosedSubscriberGroupInfo.aidl | 40 + .../hardware/radio/DataCallFailCause.aidl | 377 + .../hardware/radio/DataConnActiveStatus.aidl | 40 + .../android/hardware/radio/DataProfileId.aidl | 44 + .../hardware/radio/DataProfileInfo.aidl | 55 + .../hardware/radio/DataProfileInfoType.aidl | 40 + .../hardware/radio/DataRegStateResult.aidl | 44 + .../radio/DataRegStateResultVopsInfo.aidl | 39 + .../hardware/radio/DataRequestReason.aidl | 40 + .../hardware/radio/DataThrottlingAction.aidl | 41 + .../hardware/radio/DeviceStateType.aidl | 40 + .../current/android/hardware/radio/Dial.aidl | 40 + .../android/hardware/radio/Domain.aidl | 39 + .../android/hardware/radio/EmcIndicator.aidl | 41 + .../hardware/radio/EmergencyCallRouting.aidl | 40 + .../hardware/radio/EmergencyNumber.aidl | 43 + .../hardware/radio/EmergencyNumberSource.aidl | 41 + .../radio/EmergencyServiceCategory.aidl | 45 + .../android/hardware/radio/EmfIndicator.aidl | 41 + .../android/hardware/radio/EpsQos.aidl | 40 + .../android/hardware/radio/EutranBands.aidl | 97 + .../hardware/radio/EvdoSignalStrength.aidl | 40 + .../hardware/radio/FrequencyRange.aidl | 41 + .../android/hardware/radio/GeranBands.aidl | 51 + .../radio/GsmBroadcastSmsConfigInfo.aidl | 42 + .../hardware/radio/GsmSignalStrength.aidl | 40 + .../android/hardware/radio/GsmSmsMessage.aidl | 39 + .../hardware/radio/HandoverFailureMode.aidl | 41 + .../hardware/radio/HardwareConfig.aidl | 42 + .../hardware/radio/HardwareConfigModem.aidl | 42 + .../hardware/radio/HardwareConfigSim.aidl | 38 + .../hardware/radio/HardwareConfigState.aidl | 40 + .../hardware/radio/HardwareConfigType.aidl | 39 + .../android/hardware/radio/IRadio.aidl | 200 + .../hardware/radio/IRadioIndication.aidl | 94 + .../hardware/radio/IRadioResponse.aidl | 199 + .../current/android/hardware/radio/ISap.aidl | 46 + .../android/hardware/radio/ISapCallback.aidl | 48 + .../current/android/hardware/radio/IccIo.aidl | 46 + .../android/hardware/radio/IccIoResult.aidl | 40 + .../android/hardware/radio/ImsSmsMessage.aidl | 42 + .../hardware/radio/ImsiEncryptionInfo.aidl | 43 + .../IncrementalResultsPeriodicityRange.aidl | 39 + .../hardware/radio/IndicationFilter.aidl | 46 + .../hardware/radio/KeepaliveRequest.aidl | 44 + .../hardware/radio/KeepaliveStatus.aidl | 39 + .../hardware/radio/KeepaliveStatusCode.aidl | 40 + .../android/hardware/radio/KeepaliveType.aidl | 39 + .../hardware/radio/LastCallFailCause.aidl | 133 + .../hardware/radio/LastCallFailCauseInfo.aidl | 39 + .../android/hardware/radio/LceDataInfo.aidl | 40 + .../android/hardware/radio/LceStatus.aidl | 40 + .../android/hardware/radio/LceStatusInfo.aidl | 39 + .../android/hardware/radio/LinkAddress.aidl | 41 + .../hardware/radio/LinkCapacityEstimate.aidl | 41 + .../hardware/radio/LteSignalStrength.aidl | 44 + .../android/hardware/radio/LteVopsInfo.aidl | 39 + .../hardware/radio/MaxSearchTimeRange.aidl | 39 + .../android/hardware/radio/MaybePort.aidl | 39 + .../android/hardware/radio/MvnoType.aidl | 41 + .../hardware/radio/NeighboringCell.aidl | 39 + .../hardware/radio/NetworkScanRequest.aidl | 44 + .../hardware/radio/NetworkScanResult.aidl | 40 + .../android/hardware/radio/NgranBands.aidl | 90 + .../radio/NrDualConnectivityState.aidl | 40 + .../android/hardware/radio/NrIndicators.aidl | 40 + .../current/android/hardware/radio/NrQos.aidl | 42 + .../hardware/radio/NrSignalStrength.aidl | 45 + .../android/hardware/radio/NrVopsInfo.aidl | 40 + .../android/hardware/radio/NvItem.aidl | 78 + .../android/hardware/radio/NvWriteItem.aidl | 39 + .../android/hardware/radio/OperatorInfo.aidl | 41 + .../hardware/radio/OperatorStatus.aidl | 41 + .../hardware/radio/OptionalCsgInfo.aidl | 39 + .../android/hardware/radio/OptionalDnn.aidl | 39 + .../hardware/radio/OptionalOsAppId.aidl | 39 + .../radio/OptionalPdpProtocolType.aidl | 39 + .../hardware/radio/OptionalSliceInfo.aidl | 39 + .../hardware/radio/OptionalSscMode.aidl | 39 + .../radio/OptionalTrafficDescriptor.aidl | 39 + .../android/hardware/radio/OsAppId.aidl | 38 + .../android/hardware/radio/P2Constant.aidl | 38 + .../hardware/radio/PbReceivedStatus.aidl | 41 + .../android/hardware/radio/PcoDataInfo.aidl | 41 + .../hardware/radio/PdpProtocolType.aidl | 44 + .../android/hardware/radio/PersoSubstate.aidl | 72 + .../hardware/radio/PhoneRestrictedState.aidl | 42 + .../hardware/radio/PhonebookCapacity.aidl | 47 + .../hardware/radio/PhonebookRecordInfo.aidl | 42 + .../hardware/radio/PhysicalChannelConfig.aidl | 46 + .../radio/PhysicalChannelConfigBand.aidl | 42 + .../android/hardware/radio/PinState.aidl | 43 + .../android/hardware/radio/PortRange.aidl | 39 + .../hardware/radio/PreferredNetworkType.aidl | 60 + .../android/hardware/radio/PrlIndicator.aidl | 40 + .../android/hardware/radio/PublicKeyType.aidl | 39 + .../current/android/hardware/radio/Qos.aidl | 40 + .../android/hardware/radio/QosBandwidth.aidl | 39 + .../android/hardware/radio/QosFilter.aidl | 47 + .../hardware/radio/QosFilterDirection.aidl | 40 + .../hardware/radio/QosFilterIpsecSpi.aidl | 39 + .../radio/QosFilterIpv6FlowLabel.aidl | 39 + .../radio/QosFilterTypeOfService.aidl | 39 + .../hardware/radio/QosFlowIdRange.aidl | 39 + .../android/hardware/radio/QosPortRange.aidl | 39 + .../android/hardware/radio/QosProtocol.aidl | 42 + .../android/hardware/radio/QosSession.aidl | 40 + .../hardware/radio/RadioAccessFamily.aidl | 57 + .../hardware/radio/RadioAccessNetworks.aidl | 43 + .../hardware/radio/RadioAccessSpecifier.aidl | 40 + .../radio/RadioAccessSpecifierBands.aidl | 42 + .../android/hardware/radio/RadioBandMode.aidl | 56 + .../hardware/radio/RadioCapability.aidl | 42 + .../hardware/radio/RadioCapabilityPhase.aidl | 42 + .../hardware/radio/RadioCapabilityStatus.aidl | 40 + .../hardware/radio/RadioCdmaSmsConst.aidl | 52 + .../android/hardware/radio/RadioConst.aidl | 51 + .../android/hardware/radio/RadioError.aidl | 126 + .../hardware/radio/RadioFrequencyInfo.aidl | 40 + .../hardware/radio/RadioIndicationType.aidl | 39 + .../hardware/radio/RadioResponseInfo.aidl | 40 + .../radio/RadioResponseInfoModem.aidl | 41 + .../hardware/radio/RadioResponseType.aidl | 40 + .../android/hardware/radio/RadioState.aidl | 40 + .../hardware/radio/RadioTechnology.aidl | 58 + .../hardware/radio/RadioTechnologyFamily.aidl | 39 + .../android/hardware/radio/RegState.aidl | 47 + .../hardware/radio/RegStateResult.aidl | 43 + ...ateResultAccessTechnologySpecificInfo.aidl | 42 + ...ySpecificInfoCdma2000RegistrationInfo.aidl | 41 + ...ogySpecificInfoEutranRegistrationInfo.aidl | 39 + .../hardware/radio/RegistrationFailCause.aidl | 89 + .../android/hardware/radio/ResetNvType.aidl | 40 + .../hardware/radio/RestrictedState.aidl | 42 + .../radio/RouteSelectionDescriptor.aidl | 42 + .../android/hardware/radio/SapApduType.aidl | 39 + .../android/hardware/radio/SapConnectRsp.aidl | 42 + .../hardware/radio/SapDisconnectType.aidl | 39 + .../android/hardware/radio/SapResultCode.aidl | 45 + .../android/hardware/radio/SapStatus.aidl | 43 + .../hardware/radio/SapTransferProtocol.aidl | 39 + .../hardware/radio/ScanIntervalRange.aidl | 39 + .../android/hardware/radio/ScanStatus.aidl | 39 + .../android/hardware/radio/ScanType.aidl | 39 + .../android/hardware/radio/SelectUiccSub.aidl | 41 + .../android/hardware/radio/SendSmsResult.aidl | 40 + .../hardware/radio/SetupDataCallResult.aidl | 55 + .../hardware/radio/SignalMeasurementType.aidl | 45 + .../hardware/radio/SignalStrength.aidl | 44 + .../hardware/radio/SignalThresholdInfo.aidl | 42 + .../android/hardware/radio/SimApdu.aidl | 44 + .../hardware/radio/SimLockMultiSimPolicy.aidl | 39 + .../hardware/radio/SimRefreshResult.aidl | 40 + .../hardware/radio/SimRefreshType.aidl | 40 + .../android/hardware/radio/SliceInfo.aidl | 42 + .../hardware/radio/SliceServiceType.aidl | 41 + .../android/hardware/radio/SliceStatus.aidl | 43 + .../android/hardware/radio/SlicingConfig.aidl | 39 + .../radio/SmsAcknowledgeFailCause.aidl | 39 + .../android/hardware/radio/SmsWriteArgs.aidl | 40 + .../hardware/radio/SmsWriteArgsStatus.aidl | 41 + .../android/hardware/radio/SrvccState.aidl | 41 + .../android/hardware/radio/SsInfoData.aidl | 38 + .../android/hardware/radio/SsRequestType.aidl | 42 + .../android/hardware/radio/SsServiceType.aidl | 56 + .../hardware/radio/SsTeleserviceType.aidl | 43 + .../android/hardware/radio/SscMode.aidl | 40 + .../hardware/radio/StkCcUnsolSsResult.aidl | 44 + .../hardware/radio/SubscriptionType.aidl | 40 + .../hardware/radio/SuppServiceClass.aidl | 47 + .../hardware/radio/SuppSvcNotification.aidl | 42 + .../hardware/radio/TdscdmaSignalStrength.aidl | 40 + .../android/hardware/radio/TimeStampType.aidl | 42 + .../hardware/radio/TrafficDescriptor.aidl | 39 + .../android/hardware/radio/TtyMode.aidl | 41 + .../hardware/radio/UiccSubActStatus.aidl | 39 + .../android/hardware/radio/UrspRule.aidl | 40 + .../android/hardware/radio/UssdModeType.aidl | 43 + .../android/hardware/radio/UtranBands.aidl | 63 + .../android/hardware/radio/UusDcs.aidl | 42 + .../android/hardware/radio/UusInfo.aidl | 40 + .../android/hardware/radio/UusType.aidl | 44 + .../hardware/radio/VoiceRegStateResult.aidl | 45 + .../android/hardware/radio/VopsIndicator.aidl | 40 + .../hardware/radio/WcdmaSignalStrength.aidl | 41 + .../android/hardware/radio/AccessNetwork.aidl | 51 + .../hardware/radio/ActivityStatsInfo.aidl | 44 + .../hardware/radio/AddressProperty.aidl | 31 + .../android/hardware/radio/ApnAuthType.aidl | 38 + .../aidl/android/hardware/radio/ApnTypes.aidl | 81 + .../aidl/android/hardware/radio/AppState.aidl | 37 + .../android/hardware/radio/AppStatus.aidl | 43 + .../aidl/android/hardware/radio/AppType.aidl | 28 + .../android/hardware/radio/AudioQuality.aidl | 66 + .../android/hardware/radio/BarringInfo.aidl | 42 + .../radio/BarringInfoBarringType.aidl | 34 + .../BarringInfoBarringTypeSpecificInfo.aidl | 31 + ...nfoBarringTypeSpecificInfoConditional.aidl | 41 + .../radio/BarringInfoServiceType.aidl | 100 + radio/aidl/android/hardware/radio/Call.aidl | 75 + .../hardware/radio/CallForwardInfo.aidl | 49 + .../hardware/radio/CallForwardInfoStatus.aidl | 27 + .../hardware/radio/CallPresentation.aidl | 26 + .../android/hardware/radio/CallState.aidl | 40 + .../hardware/radio/CardPowerState.aidl | 25 + .../android/hardware/radio/CardState.aidl | 37 + .../android/hardware/radio/CardStatus.aidl | 71 + .../aidl/android/hardware/radio/Carrier.aidl | 31 + .../hardware/radio/CarrierMatchType.aidl | 42 + .../hardware/radio/CarrierRestrictions.aidl | 33 + .../CarrierRestrictionsWithPriority.aidl | 42 + .../radio/CdmaBroadcastSmsConfigInfo.aidl | 35 + .../hardware/radio/CdmaCallWaiting.aidl | 44 + .../radio/CdmaCallWaitingNumberPlan.aidl | 28 + .../CdmaCallWaitingNumberPresentation.aidl | 25 + .../radio/CdmaCallWaitingNumberType.aidl | 27 + .../hardware/radio/CdmaDisplayInfoRecord.aidl | 32 + .../hardware/radio/CdmaInfoRecName.aidl | 36 + .../hardware/radio/CdmaInformationRecord.aidl | 63 + .../radio/CdmaInformationRecords.aidl | 27 + .../radio/CdmaLineControlInfoRecord.aidl | 28 + .../hardware/radio/CdmaNumberInfoRecord.aidl | 34 + .../radio/CdmaOtaProvisionStatus.aidl | 34 + .../CdmaRedirectingNumberInfoRecord.aidl | 29 + .../hardware/radio/CdmaRedirectingReason.aidl | 32 + .../hardware/radio/CdmaRoamingType.aidl | 25 + .../hardware/radio/CdmaSignalInfoRecord.aidl | 40 + .../hardware/radio/CdmaSignalStrength.aidl | 31 + .../android/hardware/radio/CdmaSmsAck.aidl | 29 + .../hardware/radio/CdmaSmsAddress.aidl | 53 + .../hardware/radio/CdmaSmsDigitMode.aidl | 27 + .../hardware/radio/CdmaSmsErrorClass.aidl | 24 + .../hardware/radio/CdmaSmsMessage.aidl | 33 + .../hardware/radio/CdmaSmsNumberMode.aidl | 24 + .../hardware/radio/CdmaSmsNumberPlan.aidl | 47 + .../hardware/radio/CdmaSmsNumberType.aidl | 43 + .../hardware/radio/CdmaSmsSubaddress.aidl | 32 + .../hardware/radio/CdmaSmsSubaddressType.aidl | 30 + .../hardware/radio/CdmaSmsWriteArgs.aidl | 29 + .../radio/CdmaSmsWriteArgsStatus.aidl | 26 + .../radio/CdmaSubscriptionSource.aidl | 24 + .../radio/CdmaT53AudioControlInfoRecord.aidl | 26 + .../hardware/radio/CdmaT53ClirInfoRecord.aidl | 25 + .../android/hardware/radio/CellConfigLte.aidl | 31 + .../hardware/radio/CellConnectionStatus.aidl | 34 + .../android/hardware/radio/CellIdentity.aidl | 38 + .../hardware/radio/CellIdentityCdma.aidl | 48 + .../hardware/radio/CellIdentityGsm.aidl | 52 + .../hardware/radio/CellIdentityLte.aidl | 66 + .../hardware/radio/CellIdentityNr.aidl | 67 + .../radio/CellIdentityOperatorNames.aidl | 29 + .../hardware/radio/CellIdentityTdscdma.aidl | 57 + .../hardware/radio/CellIdentityWcdma.aidl | 57 + .../aidl/android/hardware/radio/CellInfo.aidl | 33 + .../android/hardware/radio/CellInfoCdma.aidl | 28 + .../CellInfoCellInfoRatSpecificInfo.aidl | 40 + .../android/hardware/radio/CellInfoGsm.aidl | 26 + .../android/hardware/radio/CellInfoInfo.aidl | 34 + .../android/hardware/radio/CellInfoLte.aidl | 26 + .../android/hardware/radio/CellInfoNr.aidl | 26 + .../hardware/radio/CellInfoTdscdma.aidl | 26 + .../android/hardware/radio/CellInfoType.aidl | 28 + .../android/hardware/radio/CellInfoWcdma.aidl | 26 + radio/aidl/android/hardware/radio/CfData.aidl | 28 + .../android/hardware/radio/ClipStatus.aidl | 34 + radio/aidl/android/hardware/radio/Clir.aidl | 34 + .../radio/ClosedSubscriberGroupInfo.aidl | 41 + .../hardware/radio/DataCallFailCause.aidl | 1303 +++ .../hardware/radio/DataConnActiveStatus.aidl | 37 + .../android/hardware/radio/DataProfileId.aidl | 32 + .../hardware/radio/DataProfileInfo.aidl | 103 + .../hardware/radio/DataProfileInfoType.aidl | 25 + .../hardware/radio/DataRegStateResult.aidl | 63 + .../radio/DataRegStateResultVopsInfo.aidl | 28 + .../hardware/radio/DataRequestReason.aidl | 35 + .../hardware/radio/DataThrottlingAction.aidl | 40 + .../hardware/radio/DeviceStateType.aidl | 37 + radio/aidl/android/hardware/radio/Dial.aidl | 30 + radio/aidl/android/hardware/radio/Domain.aidl | 30 + .../android/hardware/radio/EmcIndicator.aidl | 41 + .../hardware/radio/EmergencyCallRouting.aidl | 38 + .../hardware/radio/EmergencyNumber.aidl | 73 + .../hardware/radio/EmergencyNumberSource.aidl | 44 + .../radio/EmergencyServiceCategory.aidl | 55 + .../android/hardware/radio/EmfIndicator.aidl | 41 + radio/aidl/android/hardware/radio/EpsQos.aidl | 34 + .../android/hardware/radio/EutranBands.aidl | 85 + .../hardware/radio/EvdoSignalStrength.aidl | 36 + .../hardware/radio/FrequencyRange.aidl | 41 + .../android/hardware/radio/GeranBands.aidl | 36 + .../radio/GsmBroadcastSmsConfigInfo.aidl | 53 + .../hardware/radio/GsmSignalStrength.aidl | 33 + .../android/hardware/radio/GsmSmsMessage.aidl | 31 + .../hardware/radio/HandoverFailureMode.aidl | 44 + .../hardware/radio/HardwareConfig.aidl | 42 + .../hardware/radio/HardwareConfigModem.aidl | 29 + .../hardware/radio/HardwareConfigSim.aidl | 25 + .../hardware/radio/HardwareConfigState.aidl | 25 + .../hardware/radio/HardwareConfigType.aidl | 24 + radio/aidl/android/hardware/radio/IRadio.aidl | 2073 +++++ .../hardware/radio/IRadioIndication.aidl | 632 ++ .../hardware/radio/IRadioResponse.aidl | 3055 +++++++ radio/aidl/android/hardware/radio/ISap.aidl | 95 + .../android/hardware/radio/ISapCallback.aidl | 152 + radio/aidl/android/hardware/radio/IccIo.aidl | 55 + .../android/hardware/radio/IccIoResult.aidl | 28 + .../android/hardware/radio/ImsSmsMessage.aidl | 45 + .../hardware/radio/ImsiEncryptionInfo.aidl | 57 + .../IncrementalResultsPeriodicityRange.aidl | 27 + .../hardware/radio/IndicationFilter.aidl | 69 + .../hardware/radio/KeepaliveRequest.aidl | 54 + .../hardware/radio/KeepaliveStatus.aidl | 31 + .../hardware/radio/KeepaliveStatusCode.aidl | 35 + .../android/hardware/radio/KeepaliveType.aidl | 30 + .../hardware/radio/LastCallFailCause.aidl | 177 + .../hardware/radio/LastCallFailCauseInfo.aidl | 25 + .../android/hardware/radio/LceDataInfo.aidl | 34 + .../android/hardware/radio/LceStatus.aidl | 25 + .../android/hardware/radio/LceStatusInfo.aidl | 28 + .../android/hardware/radio/LinkAddress.aidl | 51 + .../hardware/radio/LinkCapacityEstimate.aidl | 53 + .../hardware/radio/LteSignalStrength.aidl | 59 + .../android/hardware/radio/LteVopsInfo.aidl | 42 + .../hardware/radio/MaxSearchTimeRange.aidl | 27 + .../android/hardware/radio/MaybePort.aidl | 28 + .../aidl/android/hardware/radio/MvnoType.aidl | 38 + .../hardware/radio/NeighboringCell.aidl | 30 + .../hardware/radio/NetworkScanRequest.aidl | 60 + .../hardware/radio/NetworkScanResult.aidl | 37 + .../android/hardware/radio/NgranBands.aidl | 84 + .../radio/NrDualConnectivityState.aidl | 40 + .../android/hardware/radio/NrIndicators.aidl | 43 + radio/aidl/android/hardware/radio/NrQos.aidl | 40 + .../hardware/radio/NrSignalStrength.aidl | 73 + .../android/hardware/radio/NrVopsInfo.aidl | 54 + radio/aidl/android/hardware/radio/NvItem.aidl | 191 + .../android/hardware/radio/NvWriteItem.aidl | 25 + .../android/hardware/radio/OperatorInfo.aidl | 36 + .../hardware/radio/OperatorStatus.aidl | 26 + .../hardware/radio/OptionalCsgInfo.aidl | 31 + .../android/hardware/radio/OptionalDnn.aidl | 27 + .../hardware/radio/OptionalOsAppId.aidl | 28 + .../radio/OptionalPdpProtocolType.aidl | 28 + .../hardware/radio/OptionalSliceInfo.aidl | 28 + .../hardware/radio/OptionalSscMode.aidl | 28 + .../radio/OptionalTrafficDescriptor.aidl | 28 + .../aidl/android/hardware/radio/OsAppId.aidl | 29 + .../android/hardware/radio/P2Constant.aidl | 26 + .../hardware/radio/PbReceivedStatus.aidl | 44 + .../android/hardware/radio/PcoDataInfo.aidl | 39 + .../hardware/radio/PdpProtocolType.aidl | 53 + .../android/hardware/radio/PersoSubstate.aidl | 98 + .../hardware/radio/PhoneRestrictedState.aidl | 42 + .../hardware/radio/PhonebookCapacity.aidl | 61 + .../hardware/radio/PhonebookRecordInfo.aidl | 45 + .../hardware/radio/PhysicalChannelConfig.aidl | 68 + .../radio/PhysicalChannelConfigBand.aidl | 43 + .../aidl/android/hardware/radio/PinState.aidl | 28 + .../android/hardware/radio/PortRange.aidl | 28 + .../hardware/radio/PreferredNetworkType.aidl | 114 + .../android/hardware/radio/PrlIndicator.aidl | 25 + .../android/hardware/radio/PublicKeyType.aidl | 33 + radio/aidl/android/hardware/radio/Qos.aidl | 30 + .../android/hardware/radio/QosBandwidth.aidl | 29 + .../android/hardware/radio/QosFilter.aidl | 69 + .../hardware/radio/QosFilterDirection.aidl | 25 + .../hardware/radio/QosFilterIpsecSpi.aidl | 23 + .../radio/QosFilterIpv6FlowLabel.aidl | 23 + .../radio/QosFilterTypeOfService.aidl | 23 + .../hardware/radio/QosFlowIdRange.aidl | 27 + .../android/hardware/radio/QosPortRange.aidl | 27 + .../android/hardware/radio/QosProtocol.aidl | 45 + .../android/hardware/radio/QosSession.aidl | 39 + .../hardware/radio/RadioAccessFamily.aidl | 47 + .../hardware/radio/RadioAccessNetworks.aidl | 43 + .../hardware/radio/RadioAccessSpecifier.aidl | 37 + .../radio/RadioAccessSpecifierBands.aidl | 43 + .../android/hardware/radio/RadioBandMode.aidl | 98 + .../hardware/radio/RadioCapability.aidl | 40 + .../hardware/radio/RadioCapabilityPhase.aidl | 47 + .../hardware/radio/RadioCapabilityStatus.aidl | 36 + .../hardware/radio/RadioCdmaSmsConst.aidl | 37 + .../android/hardware/radio/RadioConst.aidl | 36 + .../android/hardware/radio/RadioError.aidl | 299 + .../hardware/radio/RadioFrequencyInfo.aidl | 32 + .../hardware/radio/RadioIndicationType.aidl | 24 + .../hardware/radio/RadioResponseInfo.aidl | 36 + .../radio/RadioResponseInfoModem.aidl | 40 + .../hardware/radio/RadioResponseType.aidl | 25 + .../android/hardware/radio/RadioState.aidl | 34 + .../hardware/radio/RadioTechnology.aidl | 52 + .../hardware/radio/RadioTechnologyFamily.aidl | 30 + .../aidl/android/hardware/radio/RegState.aidl | 67 + .../hardware/radio/RegStateResult.aidl | 60 + ...ateResultAccessTechnologySpecificInfo.aidl | 38 + ...ySpecificInfoCdma2000RegistrationInfo.aidl | 44 + ...ogySpecificInfoEutranRegistrationInfo.aidl | 35 + .../hardware/radio/RegistrationFailCause.aidl | 189 + .../android/hardware/radio/ResetNvType.aidl | 34 + .../hardware/radio/RestrictedState.aidl | 27 + .../radio/RouteSelectionDescriptor.aidl | 46 + .../android/hardware/radio/SapApduType.aidl | 24 + .../android/hardware/radio/SapConnectRsp.aidl | 27 + .../hardware/radio/SapDisconnectType.aidl | 24 + .../android/hardware/radio/SapResultCode.aidl | 30 + .../android/hardware/radio/SapStatus.aidl | 28 + .../hardware/radio/SapTransferProtocol.aidl | 24 + .../hardware/radio/ScanIntervalRange.aidl | 27 + .../android/hardware/radio/ScanStatus.aidl | 30 + .../aidl/android/hardware/radio/ScanType.aidl | 30 + .../android/hardware/radio/SelectUiccSub.aidl | 31 + .../android/hardware/radio/SendSmsResult.aidl | 35 + .../hardware/radio/SetupDataCallResult.aidl | 117 + .../hardware/radio/SignalMeasurementType.aidl | 83 + .../hardware/radio/SignalStrength.aidl | 64 + .../hardware/radio/SignalThresholdInfo.aidl | 51 + .../aidl/android/hardware/radio/SimApdu.aidl | 51 + .../hardware/radio/SimLockMultiSimPolicy.aidl | 32 + .../hardware/radio/SimRefreshResult.aidl | 35 + .../hardware/radio/SimRefreshType.aidl | 34 + .../android/hardware/radio/SliceInfo.aidl | 53 + .../hardware/radio/SliceServiceType.aidl | 41 + .../android/hardware/radio/SliceStatus.aidl | 43 + .../android/hardware/radio/SlicingConfig.aidl | 35 + .../radio/SmsAcknowledgeFailCause.aidl | 24 + .../android/hardware/radio/SmsWriteArgs.aidl | 37 + .../hardware/radio/SmsWriteArgsStatus.aidl | 26 + .../android/hardware/radio/SrvccState.aidl | 26 + .../android/hardware/radio/SsInfoData.aidl | 28 + .../android/hardware/radio/SsRequestType.aidl | 27 + .../android/hardware/radio/SsServiceType.aidl | 41 + .../hardware/radio/SsTeleserviceType.aidl | 28 + .../aidl/android/hardware/radio/SscMode.aidl | 28 + .../hardware/radio/StkCcUnsolSsResult.aidl | 44 + .../hardware/radio/SubscriptionType.aidl | 25 + .../hardware/radio/SuppServiceClass.aidl | 32 + .../hardware/radio/SuppSvcNotification.aidl | 43 + .../hardware/radio/TdscdmaSignalStrength.aidl | 36 + .../android/hardware/radio/TimeStampType.aidl | 27 + .../hardware/radio/TrafficDescriptor.aidl | 37 + .../android/hardware/radio/Translate.java | 2520 ++++++ .../aidl/android/hardware/radio/TtyMode.aidl | 32 + .../hardware/radio/UiccSubActStatus.aidl | 24 + .../aidl/android/hardware/radio/UrspRule.aidl | 40 + .../android/hardware/radio/UssdModeType.aidl | 46 + .../android/hardware/radio/UtranBands.aidl | 54 + radio/aidl/android/hardware/radio/UusDcs.aidl | 47 + .../aidl/android/hardware/radio/UusInfo.aidl | 39 + .../aidl/android/hardware/radio/UusType.aidl | 32 + .../hardware/radio/VoiceRegStateResult.aidl | 94 + .../android/hardware/radio/VopsIndicator.aidl | 37 + .../hardware/radio/WcdmaSignalStrength.aidl | 39 + .../android/hardware/radio/translate-ndk.cpp | 7404 +++++++++++++++++ .../android/hardware/radio/translate-ndk.h | 699 ++ 537 files changed, 41293 insertions(+) create mode 100644 radio/aidl/Android.bp create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AccessNetwork.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ActivityStatsInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AddressProperty.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ApnAuthType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ApnTypes.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AppState.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AppStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AppType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AudioQuality.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoBarringType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoBarringTypeSpecificInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoBarringTypeSpecificInfoConditional.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoServiceType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Call.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallForwardInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallForwardInfoStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallPresentation.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallState.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CardPowerState.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CardState.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CardStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Carrier.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CarrierMatchType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CarrierRestrictions.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CarrierRestrictionsWithPriority.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaBroadcastSmsConfigInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaiting.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaitingNumberPlan.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaitingNumberPresentation.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaitingNumberType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaDisplayInfoRecord.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaInfoRecName.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaInformationRecord.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaInformationRecords.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaLineControlInfoRecord.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaNumberInfoRecord.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaOtaProvisionStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaRedirectingNumberInfoRecord.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaRedirectingReason.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaRoamingType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSignalInfoRecord.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSignalStrength.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsAck.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsAddress.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsDigitMode.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsErrorClass.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsMessage.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsNumberMode.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsNumberPlan.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsNumberType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsSubaddress.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsSubaddressType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsWriteArgs.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsWriteArgsStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSubscriptionSource.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaT53AudioControlInfoRecord.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaT53ClirInfoRecord.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellConfigLte.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellConnectionStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentity.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityCdma.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityGsm.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityLte.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityNr.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityOperatorNames.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityTdscdma.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityWcdma.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoCdma.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoCellInfoRatSpecificInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoGsm.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoLte.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoNr.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoTdscdma.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoWcdma.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CfData.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ClipStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Clir.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ClosedSubscriberGroupInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataCallFailCause.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataConnActiveStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataProfileId.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataProfileInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataProfileInfoType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataRegStateResult.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataRegStateResultVopsInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataRequestReason.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataThrottlingAction.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DeviceStateType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Dial.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Domain.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmcIndicator.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyCallRouting.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyNumber.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyNumberSource.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyServiceCategory.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmfIndicator.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EpsQos.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EutranBands.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EvdoSignalStrength.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/FrequencyRange.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GeranBands.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GsmBroadcastSmsConfigInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GsmSignalStrength.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GsmSmsMessage.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HandoverFailureMode.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfig.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigModem.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigSim.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigState.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IRadio.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IRadioIndication.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IRadioResponse.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ISap.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ISapCallback.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IccIo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IccIoResult.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ImsSmsMessage.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ImsiEncryptionInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IncrementalResultsPeriodicityRange.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IndicationFilter.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveRequest.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveStatusCode.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LastCallFailCause.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LastCallFailCauseInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LceDataInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LceStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LceStatusInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LinkAddress.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LinkCapacityEstimate.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LteSignalStrength.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LteVopsInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/MaxSearchTimeRange.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/MaybePort.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/MvnoType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NeighboringCell.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NetworkScanRequest.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NetworkScanResult.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NgranBands.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrDualConnectivityState.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrIndicators.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrQos.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrSignalStrength.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrVopsInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NvItem.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NvWriteItem.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OperatorInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OperatorStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalCsgInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalDnn.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalOsAppId.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalPdpProtocolType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalSliceInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalSscMode.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalTrafficDescriptor.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OsAppId.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/P2Constant.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PbReceivedStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PcoDataInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PdpProtocolType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PersoSubstate.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhoneRestrictedState.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhonebookCapacity.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhonebookRecordInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhysicalChannelConfig.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhysicalChannelConfigBand.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PinState.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PortRange.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PreferredNetworkType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PrlIndicator.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PublicKeyType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Qos.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosBandwidth.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilter.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterDirection.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterIpsecSpi.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterIpv6FlowLabel.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterTypeOfService.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFlowIdRange.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosPortRange.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosProtocol.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosSession.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessFamily.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessNetworks.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessSpecifier.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessSpecifierBands.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioBandMode.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCapability.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCapabilityPhase.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCapabilityStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCdmaSmsConst.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioConst.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioError.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioFrequencyInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioIndicationType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseInfoModem.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioState.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioTechnology.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioTechnologyFamily.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegState.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResult.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResultAccessTechnologySpecificInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegistrationFailCause.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ResetNvType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RestrictedState.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RouteSelectionDescriptor.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapApduType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapConnectRsp.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapDisconnectType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapResultCode.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapTransferProtocol.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ScanIntervalRange.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ScanStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ScanType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SelectUiccSub.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SendSmsResult.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SetupDataCallResult.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SignalMeasurementType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SignalStrength.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SignalThresholdInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimApdu.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimLockMultiSimPolicy.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimRefreshResult.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimRefreshType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SliceInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SliceServiceType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SliceStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SlicingConfig.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SmsAcknowledgeFailCause.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SmsWriteArgs.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SmsWriteArgsStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SrvccState.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsInfoData.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsRequestType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsServiceType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsTeleserviceType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SscMode.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/StkCcUnsolSsResult.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SubscriptionType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SuppServiceClass.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SuppSvcNotification.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TdscdmaSignalStrength.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TimeStampType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TrafficDescriptor.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TtyMode.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UiccSubActStatus.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UrspRule.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UssdModeType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UtranBands.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UusDcs.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UusInfo.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UusType.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/VoiceRegStateResult.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/VopsIndicator.aidl create mode 100644 radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/WcdmaSignalStrength.aidl create mode 100644 radio/aidl/android/hardware/radio/AccessNetwork.aidl create mode 100644 radio/aidl/android/hardware/radio/ActivityStatsInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/AddressProperty.aidl create mode 100644 radio/aidl/android/hardware/radio/ApnAuthType.aidl create mode 100644 radio/aidl/android/hardware/radio/ApnTypes.aidl create mode 100644 radio/aidl/android/hardware/radio/AppState.aidl create mode 100644 radio/aidl/android/hardware/radio/AppStatus.aidl create mode 100644 radio/aidl/android/hardware/radio/AppType.aidl create mode 100644 radio/aidl/android/hardware/radio/AudioQuality.aidl create mode 100644 radio/aidl/android/hardware/radio/BarringInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/BarringInfoBarringType.aidl create mode 100644 radio/aidl/android/hardware/radio/BarringInfoBarringTypeSpecificInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/BarringInfoBarringTypeSpecificInfoConditional.aidl create mode 100644 radio/aidl/android/hardware/radio/BarringInfoServiceType.aidl create mode 100644 radio/aidl/android/hardware/radio/Call.aidl create mode 100644 radio/aidl/android/hardware/radio/CallForwardInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/CallForwardInfoStatus.aidl create mode 100644 radio/aidl/android/hardware/radio/CallPresentation.aidl create mode 100644 radio/aidl/android/hardware/radio/CallState.aidl create mode 100644 radio/aidl/android/hardware/radio/CardPowerState.aidl create mode 100644 radio/aidl/android/hardware/radio/CardState.aidl create mode 100644 radio/aidl/android/hardware/radio/CardStatus.aidl create mode 100644 radio/aidl/android/hardware/radio/Carrier.aidl create mode 100644 radio/aidl/android/hardware/radio/CarrierMatchType.aidl create mode 100644 radio/aidl/android/hardware/radio/CarrierRestrictions.aidl create mode 100644 radio/aidl/android/hardware/radio/CarrierRestrictionsWithPriority.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaBroadcastSmsConfigInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaCallWaiting.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaCallWaitingNumberPlan.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaCallWaitingNumberPresentation.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaCallWaitingNumberType.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaDisplayInfoRecord.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaInfoRecName.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaInformationRecord.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaInformationRecords.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaLineControlInfoRecord.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaNumberInfoRecord.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaOtaProvisionStatus.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaRedirectingNumberInfoRecord.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaRedirectingReason.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaRoamingType.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaSignalInfoRecord.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaSignalStrength.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaSmsAck.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaSmsAddress.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaSmsDigitMode.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaSmsErrorClass.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaSmsMessage.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaSmsNumberMode.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaSmsNumberPlan.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaSmsNumberType.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaSmsSubaddress.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaSmsSubaddressType.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaSmsWriteArgs.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaSmsWriteArgsStatus.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaSubscriptionSource.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaT53AudioControlInfoRecord.aidl create mode 100644 radio/aidl/android/hardware/radio/CdmaT53ClirInfoRecord.aidl create mode 100644 radio/aidl/android/hardware/radio/CellConfigLte.aidl create mode 100644 radio/aidl/android/hardware/radio/CellConnectionStatus.aidl create mode 100644 radio/aidl/android/hardware/radio/CellIdentity.aidl create mode 100644 radio/aidl/android/hardware/radio/CellIdentityCdma.aidl create mode 100644 radio/aidl/android/hardware/radio/CellIdentityGsm.aidl create mode 100644 radio/aidl/android/hardware/radio/CellIdentityLte.aidl create mode 100644 radio/aidl/android/hardware/radio/CellIdentityNr.aidl create mode 100644 radio/aidl/android/hardware/radio/CellIdentityOperatorNames.aidl create mode 100644 radio/aidl/android/hardware/radio/CellIdentityTdscdma.aidl create mode 100644 radio/aidl/android/hardware/radio/CellIdentityWcdma.aidl create mode 100644 radio/aidl/android/hardware/radio/CellInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/CellInfoCdma.aidl create mode 100644 radio/aidl/android/hardware/radio/CellInfoCellInfoRatSpecificInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/CellInfoGsm.aidl create mode 100644 radio/aidl/android/hardware/radio/CellInfoInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/CellInfoLte.aidl create mode 100644 radio/aidl/android/hardware/radio/CellInfoNr.aidl create mode 100644 radio/aidl/android/hardware/radio/CellInfoTdscdma.aidl create mode 100644 radio/aidl/android/hardware/radio/CellInfoType.aidl create mode 100644 radio/aidl/android/hardware/radio/CellInfoWcdma.aidl create mode 100644 radio/aidl/android/hardware/radio/CfData.aidl create mode 100644 radio/aidl/android/hardware/radio/ClipStatus.aidl create mode 100644 radio/aidl/android/hardware/radio/Clir.aidl create mode 100644 radio/aidl/android/hardware/radio/ClosedSubscriberGroupInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/DataCallFailCause.aidl create mode 100644 radio/aidl/android/hardware/radio/DataConnActiveStatus.aidl create mode 100644 radio/aidl/android/hardware/radio/DataProfileId.aidl create mode 100644 radio/aidl/android/hardware/radio/DataProfileInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/DataProfileInfoType.aidl create mode 100644 radio/aidl/android/hardware/radio/DataRegStateResult.aidl create mode 100644 radio/aidl/android/hardware/radio/DataRegStateResultVopsInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/DataRequestReason.aidl create mode 100644 radio/aidl/android/hardware/radio/DataThrottlingAction.aidl create mode 100644 radio/aidl/android/hardware/radio/DeviceStateType.aidl create mode 100644 radio/aidl/android/hardware/radio/Dial.aidl create mode 100644 radio/aidl/android/hardware/radio/Domain.aidl create mode 100644 radio/aidl/android/hardware/radio/EmcIndicator.aidl create mode 100644 radio/aidl/android/hardware/radio/EmergencyCallRouting.aidl create mode 100644 radio/aidl/android/hardware/radio/EmergencyNumber.aidl create mode 100644 radio/aidl/android/hardware/radio/EmergencyNumberSource.aidl create mode 100644 radio/aidl/android/hardware/radio/EmergencyServiceCategory.aidl create mode 100644 radio/aidl/android/hardware/radio/EmfIndicator.aidl create mode 100644 radio/aidl/android/hardware/radio/EpsQos.aidl create mode 100644 radio/aidl/android/hardware/radio/EutranBands.aidl create mode 100644 radio/aidl/android/hardware/radio/EvdoSignalStrength.aidl create mode 100644 radio/aidl/android/hardware/radio/FrequencyRange.aidl create mode 100644 radio/aidl/android/hardware/radio/GeranBands.aidl create mode 100644 radio/aidl/android/hardware/radio/GsmBroadcastSmsConfigInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/GsmSignalStrength.aidl create mode 100644 radio/aidl/android/hardware/radio/GsmSmsMessage.aidl create mode 100644 radio/aidl/android/hardware/radio/HandoverFailureMode.aidl create mode 100644 radio/aidl/android/hardware/radio/HardwareConfig.aidl create mode 100644 radio/aidl/android/hardware/radio/HardwareConfigModem.aidl create mode 100644 radio/aidl/android/hardware/radio/HardwareConfigSim.aidl create mode 100644 radio/aidl/android/hardware/radio/HardwareConfigState.aidl create mode 100644 radio/aidl/android/hardware/radio/HardwareConfigType.aidl create mode 100644 radio/aidl/android/hardware/radio/IRadio.aidl create mode 100644 radio/aidl/android/hardware/radio/IRadioIndication.aidl create mode 100644 radio/aidl/android/hardware/radio/IRadioResponse.aidl create mode 100644 radio/aidl/android/hardware/radio/ISap.aidl create mode 100644 radio/aidl/android/hardware/radio/ISapCallback.aidl create mode 100644 radio/aidl/android/hardware/radio/IccIo.aidl create mode 100644 radio/aidl/android/hardware/radio/IccIoResult.aidl create mode 100644 radio/aidl/android/hardware/radio/ImsSmsMessage.aidl create mode 100644 radio/aidl/android/hardware/radio/ImsiEncryptionInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/IncrementalResultsPeriodicityRange.aidl create mode 100644 radio/aidl/android/hardware/radio/IndicationFilter.aidl create mode 100644 radio/aidl/android/hardware/radio/KeepaliveRequest.aidl create mode 100644 radio/aidl/android/hardware/radio/KeepaliveStatus.aidl create mode 100644 radio/aidl/android/hardware/radio/KeepaliveStatusCode.aidl create mode 100644 radio/aidl/android/hardware/radio/KeepaliveType.aidl create mode 100644 radio/aidl/android/hardware/radio/LastCallFailCause.aidl create mode 100644 radio/aidl/android/hardware/radio/LastCallFailCauseInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/LceDataInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/LceStatus.aidl create mode 100644 radio/aidl/android/hardware/radio/LceStatusInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/LinkAddress.aidl create mode 100644 radio/aidl/android/hardware/radio/LinkCapacityEstimate.aidl create mode 100644 radio/aidl/android/hardware/radio/LteSignalStrength.aidl create mode 100644 radio/aidl/android/hardware/radio/LteVopsInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/MaxSearchTimeRange.aidl create mode 100644 radio/aidl/android/hardware/radio/MaybePort.aidl create mode 100644 radio/aidl/android/hardware/radio/MvnoType.aidl create mode 100644 radio/aidl/android/hardware/radio/NeighboringCell.aidl create mode 100644 radio/aidl/android/hardware/radio/NetworkScanRequest.aidl create mode 100644 radio/aidl/android/hardware/radio/NetworkScanResult.aidl create mode 100644 radio/aidl/android/hardware/radio/NgranBands.aidl create mode 100644 radio/aidl/android/hardware/radio/NrDualConnectivityState.aidl create mode 100644 radio/aidl/android/hardware/radio/NrIndicators.aidl create mode 100644 radio/aidl/android/hardware/radio/NrQos.aidl create mode 100644 radio/aidl/android/hardware/radio/NrSignalStrength.aidl create mode 100644 radio/aidl/android/hardware/radio/NrVopsInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/NvItem.aidl create mode 100644 radio/aidl/android/hardware/radio/NvWriteItem.aidl create mode 100644 radio/aidl/android/hardware/radio/OperatorInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/OperatorStatus.aidl create mode 100644 radio/aidl/android/hardware/radio/OptionalCsgInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/OptionalDnn.aidl create mode 100644 radio/aidl/android/hardware/radio/OptionalOsAppId.aidl create mode 100644 radio/aidl/android/hardware/radio/OptionalPdpProtocolType.aidl create mode 100644 radio/aidl/android/hardware/radio/OptionalSliceInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/OptionalSscMode.aidl create mode 100644 radio/aidl/android/hardware/radio/OptionalTrafficDescriptor.aidl create mode 100644 radio/aidl/android/hardware/radio/OsAppId.aidl create mode 100644 radio/aidl/android/hardware/radio/P2Constant.aidl create mode 100644 radio/aidl/android/hardware/radio/PbReceivedStatus.aidl create mode 100644 radio/aidl/android/hardware/radio/PcoDataInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/PdpProtocolType.aidl create mode 100644 radio/aidl/android/hardware/radio/PersoSubstate.aidl create mode 100644 radio/aidl/android/hardware/radio/PhoneRestrictedState.aidl create mode 100644 radio/aidl/android/hardware/radio/PhonebookCapacity.aidl create mode 100644 radio/aidl/android/hardware/radio/PhonebookRecordInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/PhysicalChannelConfig.aidl create mode 100644 radio/aidl/android/hardware/radio/PhysicalChannelConfigBand.aidl create mode 100644 radio/aidl/android/hardware/radio/PinState.aidl create mode 100644 radio/aidl/android/hardware/radio/PortRange.aidl create mode 100644 radio/aidl/android/hardware/radio/PreferredNetworkType.aidl create mode 100644 radio/aidl/android/hardware/radio/PrlIndicator.aidl create mode 100644 radio/aidl/android/hardware/radio/PublicKeyType.aidl create mode 100644 radio/aidl/android/hardware/radio/Qos.aidl create mode 100644 radio/aidl/android/hardware/radio/QosBandwidth.aidl create mode 100644 radio/aidl/android/hardware/radio/QosFilter.aidl create mode 100644 radio/aidl/android/hardware/radio/QosFilterDirection.aidl create mode 100644 radio/aidl/android/hardware/radio/QosFilterIpsecSpi.aidl create mode 100644 radio/aidl/android/hardware/radio/QosFilterIpv6FlowLabel.aidl create mode 100644 radio/aidl/android/hardware/radio/QosFilterTypeOfService.aidl create mode 100644 radio/aidl/android/hardware/radio/QosFlowIdRange.aidl create mode 100644 radio/aidl/android/hardware/radio/QosPortRange.aidl create mode 100644 radio/aidl/android/hardware/radio/QosProtocol.aidl create mode 100644 radio/aidl/android/hardware/radio/QosSession.aidl create mode 100644 radio/aidl/android/hardware/radio/RadioAccessFamily.aidl create mode 100644 radio/aidl/android/hardware/radio/RadioAccessNetworks.aidl create mode 100644 radio/aidl/android/hardware/radio/RadioAccessSpecifier.aidl create mode 100644 radio/aidl/android/hardware/radio/RadioAccessSpecifierBands.aidl create mode 100644 radio/aidl/android/hardware/radio/RadioBandMode.aidl create mode 100644 radio/aidl/android/hardware/radio/RadioCapability.aidl create mode 100644 radio/aidl/android/hardware/radio/RadioCapabilityPhase.aidl create mode 100644 radio/aidl/android/hardware/radio/RadioCapabilityStatus.aidl create mode 100644 radio/aidl/android/hardware/radio/RadioCdmaSmsConst.aidl create mode 100644 radio/aidl/android/hardware/radio/RadioConst.aidl create mode 100644 radio/aidl/android/hardware/radio/RadioError.aidl create mode 100644 radio/aidl/android/hardware/radio/RadioFrequencyInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/RadioIndicationType.aidl create mode 100644 radio/aidl/android/hardware/radio/RadioResponseInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/RadioResponseInfoModem.aidl create mode 100644 radio/aidl/android/hardware/radio/RadioResponseType.aidl create mode 100644 radio/aidl/android/hardware/radio/RadioState.aidl create mode 100644 radio/aidl/android/hardware/radio/RadioTechnology.aidl create mode 100644 radio/aidl/android/hardware/radio/RadioTechnologyFamily.aidl create mode 100644 radio/aidl/android/hardware/radio/RegState.aidl create mode 100644 radio/aidl/android/hardware/radio/RegStateResult.aidl create mode 100644 radio/aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/RegistrationFailCause.aidl create mode 100644 radio/aidl/android/hardware/radio/ResetNvType.aidl create mode 100644 radio/aidl/android/hardware/radio/RestrictedState.aidl create mode 100644 radio/aidl/android/hardware/radio/RouteSelectionDescriptor.aidl create mode 100644 radio/aidl/android/hardware/radio/SapApduType.aidl create mode 100644 radio/aidl/android/hardware/radio/SapConnectRsp.aidl create mode 100644 radio/aidl/android/hardware/radio/SapDisconnectType.aidl create mode 100644 radio/aidl/android/hardware/radio/SapResultCode.aidl create mode 100644 radio/aidl/android/hardware/radio/SapStatus.aidl create mode 100644 radio/aidl/android/hardware/radio/SapTransferProtocol.aidl create mode 100644 radio/aidl/android/hardware/radio/ScanIntervalRange.aidl create mode 100644 radio/aidl/android/hardware/radio/ScanStatus.aidl create mode 100644 radio/aidl/android/hardware/radio/ScanType.aidl create mode 100644 radio/aidl/android/hardware/radio/SelectUiccSub.aidl create mode 100644 radio/aidl/android/hardware/radio/SendSmsResult.aidl create mode 100644 radio/aidl/android/hardware/radio/SetupDataCallResult.aidl create mode 100644 radio/aidl/android/hardware/radio/SignalMeasurementType.aidl create mode 100644 radio/aidl/android/hardware/radio/SignalStrength.aidl create mode 100644 radio/aidl/android/hardware/radio/SignalThresholdInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/SimApdu.aidl create mode 100644 radio/aidl/android/hardware/radio/SimLockMultiSimPolicy.aidl create mode 100644 radio/aidl/android/hardware/radio/SimRefreshResult.aidl create mode 100644 radio/aidl/android/hardware/radio/SimRefreshType.aidl create mode 100644 radio/aidl/android/hardware/radio/SliceInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/SliceServiceType.aidl create mode 100644 radio/aidl/android/hardware/radio/SliceStatus.aidl create mode 100644 radio/aidl/android/hardware/radio/SlicingConfig.aidl create mode 100644 radio/aidl/android/hardware/radio/SmsAcknowledgeFailCause.aidl create mode 100644 radio/aidl/android/hardware/radio/SmsWriteArgs.aidl create mode 100644 radio/aidl/android/hardware/radio/SmsWriteArgsStatus.aidl create mode 100644 radio/aidl/android/hardware/radio/SrvccState.aidl create mode 100644 radio/aidl/android/hardware/radio/SsInfoData.aidl create mode 100644 radio/aidl/android/hardware/radio/SsRequestType.aidl create mode 100644 radio/aidl/android/hardware/radio/SsServiceType.aidl create mode 100644 radio/aidl/android/hardware/radio/SsTeleserviceType.aidl create mode 100644 radio/aidl/android/hardware/radio/SscMode.aidl create mode 100644 radio/aidl/android/hardware/radio/StkCcUnsolSsResult.aidl create mode 100644 radio/aidl/android/hardware/radio/SubscriptionType.aidl create mode 100644 radio/aidl/android/hardware/radio/SuppServiceClass.aidl create mode 100644 radio/aidl/android/hardware/radio/SuppSvcNotification.aidl create mode 100644 radio/aidl/android/hardware/radio/TdscdmaSignalStrength.aidl create mode 100644 radio/aidl/android/hardware/radio/TimeStampType.aidl create mode 100644 radio/aidl/android/hardware/radio/TrafficDescriptor.aidl create mode 100644 radio/aidl/android/hardware/radio/Translate.java create mode 100644 radio/aidl/android/hardware/radio/TtyMode.aidl create mode 100644 radio/aidl/android/hardware/radio/UiccSubActStatus.aidl create mode 100644 radio/aidl/android/hardware/radio/UrspRule.aidl create mode 100644 radio/aidl/android/hardware/radio/UssdModeType.aidl create mode 100644 radio/aidl/android/hardware/radio/UtranBands.aidl create mode 100644 radio/aidl/android/hardware/radio/UusDcs.aidl create mode 100644 radio/aidl/android/hardware/radio/UusInfo.aidl create mode 100644 radio/aidl/android/hardware/radio/UusType.aidl create mode 100644 radio/aidl/android/hardware/radio/VoiceRegStateResult.aidl create mode 100644 radio/aidl/android/hardware/radio/VopsIndicator.aidl create mode 100644 radio/aidl/android/hardware/radio/WcdmaSignalStrength.aidl create mode 100644 radio/aidl/android/hardware/radio/translate-ndk.cpp create mode 100644 radio/aidl/include/android/hardware/radio/translate-ndk.h diff --git a/compatibility_matrices/compatibility_matrix.current.xml b/compatibility_matrices/compatibility_matrix.current.xml index c88530a34c..ae5b736c02 100644 --- a/compatibility_matrices/compatibility_matrix.current.xml +++ b/compatibility_matrices/compatibility_matrix.current.xml @@ -413,6 +413,16 @@ default + + android.hardware.radio + 1 + + IRadio + slot1 + slot2 + slot3 + + android.hardware.radio 1.6 diff --git a/radio/aidl/Android.bp b/radio/aidl/Android.bp new file mode 100644 index 0000000000..29d7a58471 --- /dev/null +++ b/radio/aidl/Android.bp @@ -0,0 +1,54 @@ +aidl_interface { + name: "android.hardware.radio", + vendor_available: true, + srcs: ["android/hardware/radio/*.aidl"], + stability: "vintf", + backend: { + cpp: { + enabled: false, + }, + java: { + sdk_version: "module_current", + }, + ndk: { + vndk: { + enabled: true, + }, + }, + }, +} + +cc_library { + name: "android.hardware.radio-translate-ndk", + vendor_available: true, + srcs: ["android/hardware/radio/translate-ndk.cpp"], + shared_libs: [ + "libbinder_ndk", + "libhidlbase", + "android.hardware.radio-V1-ndk_platform", + "android.hardware.radio@1.0", + "android.hardware.radio@1.1", + "android.hardware.radio@1.2", + "android.hardware.radio@1.3", + "android.hardware.radio@1.4", + "android.hardware.radio@1.5", + "android.hardware.radio@1.6", + ], + export_include_dirs: ["include"], +} + +java_library { + name: "android.hardware.radio-translate-java", + srcs: ["android/hardware/radio/Translate.java"], + libs: [ + "android.hardware.radio-V1-java", + "android.hardware.radio-V1.0-java", + "android.hardware.radio-V1.1-java", + "android.hardware.radio-V1.2-java", + "android.hardware.radio-V1.3-java", + "android.hardware.radio-V1.4-java", + "android.hardware.radio-V1.5-java", + "android.hardware.radio-V1.6-java", + ], + sdk_version: "module_current", +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AccessNetwork.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AccessNetwork.aidl new file mode 100644 index 0000000000..0327d6c19d --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AccessNetwork.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum AccessNetwork { + UNKNOWN = 0, + GERAN = 1, + UTRAN = 2, + EUTRAN = 3, + CDMA2000 = 4, + IWLAN = 5, + NGRAN = 6, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ActivityStatsInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ActivityStatsInfo.aidl new file mode 100644 index 0000000000..f9ef742549 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ActivityStatsInfo.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable ActivityStatsInfo { + int sleepModeTimeMs; + int idleModeTimeMs; + int[] txmModetimeMs; + int rxModeTimeMs; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AddressProperty.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AddressProperty.aidl new file mode 100644 index 0000000000..dd6e79a1c1 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AddressProperty.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum AddressProperty { + NONE = 0, + DEPRECATED = 32, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ApnAuthType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ApnAuthType.aidl new file mode 100644 index 0000000000..bae7d1f261 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ApnAuthType.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum ApnAuthType { + NO_PAP_NO_CHAP = 0, + PAP_NO_CHAP = 1, + NO_PAP_CHAP = 2, + PAP_CHAP = 3, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ApnTypes.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ApnTypes.aidl new file mode 100644 index 0000000000..0829fa619f --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ApnTypes.aidl @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum ApnTypes { + NONE = 0, + DEFAULT = 1, + MMS = 2, + SUPL = 4, + DUN = 8, + HIPRI = 16, + FOTA = 32, + IMS = 64, + CBS = 128, + IA = 256, + EMERGENCY = 512, + ALL = 1023, + MCX = 1024, + XCAP = 2048, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AppState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AppState.aidl new file mode 100644 index 0000000000..59e2bd43ce --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AppState.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum AppState { + UNKNOWN = 0, + DETECTED = 1, + PIN = 2, + PUK = 3, + SUBSCRIPTION_PERSO = 4, + READY = 5, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AppStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AppStatus.aidl new file mode 100644 index 0000000000..c9abe3263c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AppStatus.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable AppStatus { + android.hardware.radio.AppType appType; + android.hardware.radio.AppState appState; + android.hardware.radio.PersoSubstate persoSubstate; + String aidPtr; + String appLabelPtr; + int pin1Replaced; + android.hardware.radio.PinState pin1; + android.hardware.radio.PinState pin2; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AppType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AppType.aidl new file mode 100644 index 0000000000..adbbe9f002 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AppType.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum AppType { + UNKNOWN = 0, + SIM = 1, + USIM = 2, + RUIM = 3, + CSIM = 4, + ISIM = 5, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AudioQuality.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AudioQuality.aidl new file mode 100644 index 0000000000..a596969147 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/AudioQuality.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum AudioQuality { + UNSPECIFIED = 0, + AMR = 1, + AMR_WB = 2, + GSM_EFR = 3, + GSM_FR = 4, + GSM_HR = 5, + EVRC = 6, + EVRC_B = 7, + EVRC_WB = 8, + EVRC_NW = 9, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfo.aidl new file mode 100644 index 0000000000..ac0b4aa6da --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfo.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable BarringInfo { + android.hardware.radio.BarringInfoServiceType serviceType; + android.hardware.radio.BarringInfoBarringType barringType; + android.hardware.radio.BarringInfoBarringTypeSpecificInfo barringTypeSpecificInfo; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoBarringType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoBarringType.aidl new file mode 100644 index 0000000000..6b8006ebaa --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoBarringType.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum BarringInfoBarringType { + NONE = 0, + CONDITIONAL = 1, + UNCONDITIONAL = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoBarringTypeSpecificInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoBarringTypeSpecificInfo.aidl new file mode 100644 index 0000000000..c2ba1d2e2d --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoBarringTypeSpecificInfo.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +union BarringInfoBarringTypeSpecificInfo { + boolean noinit; + android.hardware.radio.BarringInfoBarringTypeSpecificInfoConditional conditional; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoBarringTypeSpecificInfoConditional.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoBarringTypeSpecificInfoConditional.aidl new file mode 100644 index 0000000000..8c079e2e3a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoBarringTypeSpecificInfoConditional.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable BarringInfoBarringTypeSpecificInfoConditional { + int factor; + int timeSeconds; + boolean isBarred; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoServiceType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoServiceType.aidl new file mode 100644 index 0000000000..faea9b9ab8 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/BarringInfoServiceType.aidl @@ -0,0 +1,79 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum BarringInfoServiceType { + CS_SERVICE = 0, + PS_SERVICE = 1, + CS_VOICE = 2, + MO_SIGNALLING = 3, + MO_DATA = 4, + CS_FALLBACK = 5, + MMTEL_VOICE = 6, + MMTEL_VIDEO = 7, + EMERGENCY = 8, + SMS = 9, + OPERATOR_1 = 1001, + OPERATOR_2 = 1002, + OPERATOR_3 = 1003, + OPERATOR_4 = 1004, + OPERATOR_5 = 1005, + OPERATOR_6 = 1006, + OPERATOR_7 = 1007, + OPERATOR_8 = 1008, + OPERATOR_9 = 1009, + OPERATOR_10 = 1010, + OPERATOR_11 = 1011, + OPERATOR_12 = 1012, + OPERATOR_13 = 1013, + OPERATOR_14 = 1014, + OPERATOR_15 = 1015, + OPERATOR_16 = 1016, + OPERATOR_17 = 1017, + OPERATOR_18 = 1018, + OPERATOR_19 = 1019, + OPERATOR_20 = 1020, + OPERATOR_21 = 1021, + OPERATOR_22 = 1022, + OPERATOR_23 = 1023, + OPERATOR_24 = 1024, + OPERATOR_25 = 1025, + OPERATOR_26 = 1026, + OPERATOR_27 = 1027, + OPERATOR_28 = 1028, + OPERATOR_29 = 1029, + OPERATOR_30 = 1030, + OPERATOR_31 = 1031, + OPERATOR_32 = 1032, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Call.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Call.aidl new file mode 100644 index 0000000000..36e1ae31e5 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Call.aidl @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable Call { + android.hardware.radio.CallState state; + int index; + int toa; + boolean isMpty; + boolean isMT; + byte als; + boolean isVoice; + boolean isVoicePrivacy; + String number; + android.hardware.radio.CallPresentation numberPresentation; + String name; + android.hardware.radio.CallPresentation namePresentation; + android.hardware.radio.UusInfo[] uusInfo; + android.hardware.radio.AudioQuality audioQuality; + String forwardedNumber; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallForwardInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallForwardInfo.aidl new file mode 100644 index 0000000000..bcfa90fcdc --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallForwardInfo.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CallForwardInfo { + android.hardware.radio.CallForwardInfoStatus status; + int reason; + int serviceClass; + int toa; + String number; + int timeSeconds; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallForwardInfoStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallForwardInfoStatus.aidl new file mode 100644 index 0000000000..5ac129a0ee --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallForwardInfoStatus.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum CallForwardInfoStatus { + DISABLE = 0, + ENABLE = 1, + INTERROGATE = 2, + REGISTRATION = 3, + ERASURE = 4, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallPresentation.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallPresentation.aidl new file mode 100644 index 0000000000..c32cd08201 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallPresentation.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum CallPresentation { + ALLOWED = 0, + RESTRICTED = 1, + UNKNOWN = 2, + PAYPHONE = 3, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallState.aidl new file mode 100644 index 0000000000..375ca2c5af --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CallState.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum CallState { + ACTIVE = 0, + HOLDING = 1, + DIALING = 2, + ALERTING = 3, + INCOMING = 4, + WAITING = 5, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CardPowerState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CardPowerState.aidl new file mode 100644 index 0000000000..1a3b4c6295 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CardPowerState.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum CardPowerState { + POWER_DOWN = 0, + POWER_UP = 1, + POWER_UP_PASS_THROUGH = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CardState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CardState.aidl new file mode 100644 index 0000000000..d200b9757f --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CardState.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum CardState { + ABSENT = 0, + PRESENT = 1, + ERROR = 2, + RESTRICTED = 3, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CardStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CardStatus.aidl new file mode 100644 index 0000000000..e11bb21b5d --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CardStatus.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CardStatus { + android.hardware.radio.CardState cardState; + android.hardware.radio.PinState universalPinState; + int gsmUmtsSubscriptionAppIndex; + int cdmaSubscriptionAppIndex; + int imsSubscriptionAppIndex; + android.hardware.radio.AppStatus[] applications; + int physicalSlotId; + String atr; + String iccid; + String eid; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Carrier.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Carrier.aidl new file mode 100644 index 0000000000..bbf777f94a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Carrier.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable Carrier { + String mcc; + String mnc; + android.hardware.radio.CarrierMatchType matchType; + String matchData; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CarrierMatchType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CarrierMatchType.aidl new file mode 100644 index 0000000000..c3596cde1a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CarrierMatchType.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum CarrierMatchType { + ALL = 0, + SPN = 1, + IMSI_PREFIX = 2, + GID1 = 3, + GID2 = 4, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CarrierRestrictions.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CarrierRestrictions.aidl new file mode 100644 index 0000000000..f8cafb58a2 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CarrierRestrictions.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CarrierRestrictions { + android.hardware.radio.Carrier[] allowedCarriers; + android.hardware.radio.Carrier[] excludedCarriers; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CarrierRestrictionsWithPriority.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CarrierRestrictionsWithPriority.aidl new file mode 100644 index 0000000000..1f06980416 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CarrierRestrictionsWithPriority.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CarrierRestrictionsWithPriority { + android.hardware.radio.Carrier[] allowedCarriers; + android.hardware.radio.Carrier[] excludedCarriers; + boolean allowedCarriersPrioritized; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaBroadcastSmsConfigInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaBroadcastSmsConfigInfo.aidl new file mode 100644 index 0000000000..73c7faeeab --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaBroadcastSmsConfigInfo.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CdmaBroadcastSmsConfigInfo { + int serviceCategory; + int language; + boolean selected; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaiting.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaiting.aidl new file mode 100644 index 0000000000..564433fc9c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaiting.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CdmaCallWaiting { + String number; + android.hardware.radio.CdmaCallWaitingNumberPresentation numberPresentation; + String name; + android.hardware.radio.CdmaSignalInfoRecord signalInfoRecord; + android.hardware.radio.CdmaCallWaitingNumberType numberType; + android.hardware.radio.CdmaCallWaitingNumberPlan numberPlan; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaitingNumberPlan.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaitingNumberPlan.aidl new file mode 100644 index 0000000000..6dcd594c09 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaitingNumberPlan.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum CdmaCallWaitingNumberPlan { + UNKNOWN = 0, + ISDN = 1, + DATA = 3, + TELEX = 4, + NATIONAL = 8, + PRIVATE = 9, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaitingNumberPresentation.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaitingNumberPresentation.aidl new file mode 100644 index 0000000000..22eaf6bedd --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaitingNumberPresentation.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum CdmaCallWaitingNumberPresentation { + ALLOWED = 0, + RESTRICTED = 1, + UNKNOWN = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaitingNumberType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaitingNumberType.aidl new file mode 100644 index 0000000000..47401083c1 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaCallWaitingNumberType.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum CdmaCallWaitingNumberType { + UNKNOWN = 0, + INTERNATIONAL = 1, + NATIONAL = 2, + NETWORK_SPECIFIC = 3, + SUBSCRIBER = 4, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaDisplayInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaDisplayInfoRecord.aidl new file mode 100644 index 0000000000..11f082f1b0 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaDisplayInfoRecord.aidl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CdmaDisplayInfoRecord { + String alphaBuf; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaInfoRecName.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaInfoRecName.aidl new file mode 100644 index 0000000000..182dcc0cca --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaInfoRecName.aidl @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum CdmaInfoRecName { + DISPLAY = 0, + CALLED_PARTY_NUMBER = 1, + CALLING_PARTY_NUMBER = 2, + CONNECTED_NUMBER = 3, + SIGNAL = 4, + REDIRECTING_NUMBER = 5, + LINE_CONTROL = 6, + EXTENDED_DISPLAY = 7, + T53_CLIR = 8, + T53_RELEASE = 9, + T53_AUDIO_CONTROL = 10, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaInformationRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaInformationRecord.aidl new file mode 100644 index 0000000000..844a1bf86d --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaInformationRecord.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CdmaInformationRecord { + android.hardware.radio.CdmaInfoRecName name; + android.hardware.radio.CdmaDisplayInfoRecord[] display; + android.hardware.radio.CdmaNumberInfoRecord[] number; + android.hardware.radio.CdmaSignalInfoRecord[] signal; + android.hardware.radio.CdmaRedirectingNumberInfoRecord[] redir; + android.hardware.radio.CdmaLineControlInfoRecord[] lineCtrl; + android.hardware.radio.CdmaT53ClirInfoRecord[] clir; + android.hardware.radio.CdmaT53AudioControlInfoRecord[] audioCtrl; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaInformationRecords.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaInformationRecords.aidl new file mode 100644 index 0000000000..88a433148b --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaInformationRecords.aidl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CdmaInformationRecords { + android.hardware.radio.CdmaInformationRecord[] infoRec; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaLineControlInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaLineControlInfoRecord.aidl new file mode 100644 index 0000000000..48180a7717 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaLineControlInfoRecord.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CdmaLineControlInfoRecord { + byte lineCtrlPolarityIncluded; + byte lineCtrlToggle; + byte lineCtrlReverse; + byte lineCtrlPowerDenial; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaNumberInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaNumberInfoRecord.aidl new file mode 100644 index 0000000000..86376a7034 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaNumberInfoRecord.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CdmaNumberInfoRecord { + String number; + byte numberType; + byte numberPlan; + byte pi; + byte si; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaOtaProvisionStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaOtaProvisionStatus.aidl new file mode 100644 index 0000000000..7cd88ac9cd --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaOtaProvisionStatus.aidl @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum CdmaOtaProvisionStatus { + SPL_UNLOCKED = 0, + SPC_RETRIES_EXCEEDED = 1, + A_KEY_EXCHANGED = 2, + SSD_UPDATED = 3, + NAM_DOWNLOADED = 4, + MDN_DOWNLOADED = 5, + IMSI_DOWNLOADED = 6, + PRL_DOWNLOADED = 7, + COMMITTED = 8, + OTAPA_STARTED = 9, + OTAPA_STOPPED = 10, + OTAPA_ABORTED = 11, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaRedirectingNumberInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaRedirectingNumberInfoRecord.aidl new file mode 100644 index 0000000000..44b799323c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaRedirectingNumberInfoRecord.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CdmaRedirectingNumberInfoRecord { + android.hardware.radio.CdmaNumberInfoRecord redirectingNumber; + android.hardware.radio.CdmaRedirectingReason redirectingReason; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaRedirectingReason.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaRedirectingReason.aidl new file mode 100644 index 0000000000..e109c5b146 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaRedirectingReason.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum CdmaRedirectingReason { + UNKNOWN = 0, + CALL_FORWARDING_BUSY = 1, + CALL_FORWARDING_NO_REPLY = 2, + CALLED_DTE_OUT_OF_ORDER = 9, + CALL_FORWARDING_BY_THE_CALLED_DTE = 10, + CALL_FORWARDING_UNCONDITIONAL = 15, + RESERVED = 16, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaRoamingType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaRoamingType.aidl new file mode 100644 index 0000000000..09a59a0c35 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaRoamingType.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum CdmaRoamingType { + HOME_NETWORK = 0, + AFFILIATED_ROAM = 1, + ANY_ROAM = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSignalInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSignalInfoRecord.aidl new file mode 100644 index 0000000000..efb396af56 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSignalInfoRecord.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CdmaSignalInfoRecord { + boolean isPresent; + byte signalType; + byte alertPitch; + byte signal; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSignalStrength.aidl new file mode 100644 index 0000000000..29391838f4 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSignalStrength.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CdmaSignalStrength { + int dbm; + int ecio; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsAck.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsAck.aidl new file mode 100644 index 0000000000..0ef4331777 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsAck.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CdmaSmsAck { + android.hardware.radio.CdmaSmsErrorClass errorClass; + int smsCauseCode; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsAddress.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsAddress.aidl new file mode 100644 index 0000000000..a37f1e75e2 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsAddress.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CdmaSmsAddress { + android.hardware.radio.CdmaSmsDigitMode digitMode; + android.hardware.radio.CdmaSmsNumberMode numberMode; + android.hardware.radio.CdmaSmsNumberType numberType; + android.hardware.radio.CdmaSmsNumberPlan numberPlan; + byte[] digits; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsDigitMode.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsDigitMode.aidl new file mode 100644 index 0000000000..7c7783057e --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsDigitMode.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum CdmaSmsDigitMode { + FOUR_BIT = 0, + EIGHT_BIT = 1, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsErrorClass.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsErrorClass.aidl new file mode 100644 index 0000000000..3ad5c1a3f3 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsErrorClass.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum CdmaSmsErrorClass { + NO_ERROR = 0, + ERROR = 1, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsMessage.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsMessage.aidl new file mode 100644 index 0000000000..c419bada63 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsMessage.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CdmaSmsMessage { + int teleserviceId; + boolean isServicePresent; + int serviceCategory; + android.hardware.radio.CdmaSmsAddress address; + android.hardware.radio.CdmaSmsSubaddress subAddress; + byte[] bearerData; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsNumberMode.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsNumberMode.aidl new file mode 100644 index 0000000000..31d49d4373 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsNumberMode.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum CdmaSmsNumberMode { + NOT_DATA_NETWORK = 0, + DATA_NETWORK = 1, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsNumberPlan.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsNumberPlan.aidl new file mode 100644 index 0000000000..fcbd1cc637 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsNumberPlan.aidl @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum CdmaSmsNumberPlan { + UNKNOWN = 0, + TELEPHONY = 1, + RESERVED_2 = 2, + DATA = 3, + TELEX = 4, + RESERVED_5 = 5, + RESERVED_6 = 6, + RESERVED_7 = 7, + RESERVED_8 = 8, + PRIVATE = 9, + RESERVED_10 = 10, + RESERVED_11 = 11, + RESERVED_12 = 12, + RESERVED_13 = 13, + RESERVED_14 = 14, + RESERVED_15 = 15, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsNumberType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsNumberType.aidl new file mode 100644 index 0000000000..ca14dbc91f --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsNumberType.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum CdmaSmsNumberType { + UNKNOWN = 0, + INTERNATIONAL_OR_DATA_IP = 1, + NATIONAL_OR_INTERNET_MAIL = 2, + NETWORK = 3, + SUBSCRIBER = 4, + ALPHANUMERIC = 5, + ABBREVIATED = 6, + RESERVED_7 = 7, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsSubaddress.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsSubaddress.aidl new file mode 100644 index 0000000000..a0155daae1 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsSubaddress.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CdmaSmsSubaddress { + android.hardware.radio.CdmaSmsSubaddressType subaddressType; + boolean odd; + byte[] digits; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsSubaddressType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsSubaddressType.aidl new file mode 100644 index 0000000000..a4db5ec6e1 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsSubaddressType.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum CdmaSmsSubaddressType { + NSAP = 0, + USER_SPECIFIED = 1, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsWriteArgs.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsWriteArgs.aidl new file mode 100644 index 0000000000..3202314f34 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsWriteArgs.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CdmaSmsWriteArgs { + android.hardware.radio.CdmaSmsWriteArgsStatus status; + android.hardware.radio.CdmaSmsMessage message; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsWriteArgsStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsWriteArgsStatus.aidl new file mode 100644 index 0000000000..4bad261e2b --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSmsWriteArgsStatus.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum CdmaSmsWriteArgsStatus { + REC_UNREAD = 0, + REC_READ = 1, + STO_UNSENT = 2, + STO_SENT = 3, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSubscriptionSource.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSubscriptionSource.aidl new file mode 100644 index 0000000000..11e8a2466e --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaSubscriptionSource.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum CdmaSubscriptionSource { + RUIM_SIM = 0, + NV = 1, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaT53AudioControlInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaT53AudioControlInfoRecord.aidl new file mode 100644 index 0000000000..9285eb79f1 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaT53AudioControlInfoRecord.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CdmaT53AudioControlInfoRecord { + byte upLink; + byte downLink; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaT53ClirInfoRecord.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaT53ClirInfoRecord.aidl new file mode 100644 index 0000000000..ff4d3c3da5 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CdmaT53ClirInfoRecord.aidl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CdmaT53ClirInfoRecord { + byte cause; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellConfigLte.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellConfigLte.aidl new file mode 100644 index 0000000000..184af1cb04 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellConfigLte.aidl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CellConfigLte { + boolean isEndcAvailable; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellConnectionStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellConnectionStatus.aidl new file mode 100644 index 0000000000..96f8368a7a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellConnectionStatus.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum CellConnectionStatus { + NONE = 0, + PRIMARY_SERVING = 1, + SECONDARY_SERVING = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentity.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentity.aidl new file mode 100644 index 0000000000..aa37fdfa71 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentity.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +union CellIdentity { + boolean noinit; + android.hardware.radio.CellIdentityGsm gsm; + android.hardware.radio.CellIdentityWcdma wcdma; + android.hardware.radio.CellIdentityTdscdma tdscdma; + android.hardware.radio.CellIdentityCdma cdma; + android.hardware.radio.CellIdentityLte lte; + android.hardware.radio.CellIdentityNr nr; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityCdma.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityCdma.aidl new file mode 100644 index 0000000000..d24b91d213 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityCdma.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CellIdentityCdma { + int networkId; + int systemId; + int baseStationId; + int longitude; + int latitude; + android.hardware.radio.CellIdentityOperatorNames operatorNames; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityGsm.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityGsm.aidl new file mode 100644 index 0000000000..4ee2148798 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityGsm.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CellIdentityGsm { + String mcc; + String mnc; + int lac; + int cid; + int arfcn; + byte bsic; + android.hardware.radio.CellIdentityOperatorNames operatorNames; + String[] additionalPlmns; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityLte.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityLte.aidl new file mode 100644 index 0000000000..5a8c272080 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityLte.aidl @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CellIdentityLte { + String mcc; + String mnc; + int ci; + int pci; + int tac; + int earfcn; + android.hardware.radio.CellIdentityOperatorNames operatorNames; + int bandwidth; + String[] additionalPlmns; + android.hardware.radio.OptionalCsgInfo optionalCsgInfo; + android.hardware.radio.EutranBands[] bands; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityNr.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityNr.aidl new file mode 100644 index 0000000000..60a24d7e38 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityNr.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CellIdentityNr { + String mcc; + String mnc; + long nci; + int pci; + int tac; + int nrarfcn; + android.hardware.radio.CellIdentityOperatorNames operatorNames; + String[] additionalPlmns; + android.hardware.radio.NgranBands[] bands; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityOperatorNames.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityOperatorNames.aidl new file mode 100644 index 0000000000..161797f3f8 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityOperatorNames.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CellIdentityOperatorNames { + String alphaLong; + String alphaShort; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityTdscdma.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityTdscdma.aidl new file mode 100644 index 0000000000..35e1f5d0b6 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityTdscdma.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CellIdentityTdscdma { + String mcc; + String mnc; + int lac; + int cid; + int cpid; + int uarfcn; + android.hardware.radio.CellIdentityOperatorNames operatorNames; + String[] additionalPlmns; + android.hardware.radio.OptionalCsgInfo optionalCsgInfo; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityWcdma.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityWcdma.aidl new file mode 100644 index 0000000000..7bcc4d5d1c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellIdentityWcdma.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CellIdentityWcdma { + String mcc; + String mnc; + int lac; + int cid; + int psc; + int uarfcn; + android.hardware.radio.CellIdentityOperatorNames operatorNames; + String[] additionalPlmns; + android.hardware.radio.OptionalCsgInfo optionalCsgInfo; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfo.aidl new file mode 100644 index 0000000000..20ea3cb18a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfo.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CellInfo { + boolean registered; + android.hardware.radio.CellConnectionStatus connectionStatus; + android.hardware.radio.CellInfoCellInfoRatSpecificInfo ratSpecificInfo; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoCdma.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoCdma.aidl new file mode 100644 index 0000000000..dd940c2fa7 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoCdma.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CellInfoCdma { + android.hardware.radio.CellIdentityCdma cellIdentityCdma; + android.hardware.radio.CdmaSignalStrength signalStrengthCdma; + android.hardware.radio.EvdoSignalStrength signalStrengthEvdo; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoCellInfoRatSpecificInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoCellInfoRatSpecificInfo.aidl new file mode 100644 index 0000000000..7084e5e2ad --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoCellInfoRatSpecificInfo.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +union CellInfoCellInfoRatSpecificInfo { + android.hardware.radio.CellInfoGsm gsm; + android.hardware.radio.CellInfoWcdma wcdma; + android.hardware.radio.CellInfoTdscdma tdscdma; + android.hardware.radio.CellInfoLte lte; + android.hardware.radio.CellInfoNr nr; + android.hardware.radio.CellInfoCdma cdma; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoGsm.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoGsm.aidl new file mode 100644 index 0000000000..fda976c6b3 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoGsm.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CellInfoGsm { + android.hardware.radio.CellIdentityGsm cellIdentityGsm; + android.hardware.radio.GsmSignalStrength signalStrengthGsm; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoInfo.aidl new file mode 100644 index 0000000000..9c2255520d --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoInfo.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +union CellInfoInfo { + android.hardware.radio.CellInfoGsm gsm; + android.hardware.radio.CellInfoCdma cdma; + android.hardware.radio.CellInfoWcdma wcdma; + android.hardware.radio.CellInfoTdscdma tdscdma; + android.hardware.radio.CellInfoLte lte; + android.hardware.radio.CellInfoNr nr; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoLte.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoLte.aidl new file mode 100644 index 0000000000..9976feb52a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoLte.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CellInfoLte { + android.hardware.radio.CellIdentityLte cellIdentityLte; + android.hardware.radio.LteSignalStrength signalStrengthLte; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoNr.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoNr.aidl new file mode 100644 index 0000000000..7883692b55 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoNr.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CellInfoNr { + android.hardware.radio.CellIdentityNr cellIdentityNr; + android.hardware.radio.NrSignalStrength signalStrengthNr; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoTdscdma.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoTdscdma.aidl new file mode 100644 index 0000000000..4fbe5b61e6 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoTdscdma.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CellInfoTdscdma { + android.hardware.radio.CellIdentityTdscdma cellIdentityTdscdma; + android.hardware.radio.TdscdmaSignalStrength signalStrengthTdscdma; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoType.aidl new file mode 100644 index 0000000000..cb92ed9fd4 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoType.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum CellInfoType { + NONE = 0, + GSM = 1, + CDMA = 2, + LTE = 3, + WCDMA = 4, + TD_SCDMA = 5, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoWcdma.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoWcdma.aidl new file mode 100644 index 0000000000..88ca975ba6 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CellInfoWcdma.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CellInfoWcdma { + android.hardware.radio.CellIdentityWcdma cellIdentityWcdma; + android.hardware.radio.WcdmaSignalStrength signalStrengthWcdma; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CfData.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CfData.aidl new file mode 100644 index 0000000000..6a2b0269e5 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/CfData.aidl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable CfData { + android.hardware.radio.CallForwardInfo[] cfInfo; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ClipStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ClipStatus.aidl new file mode 100644 index 0000000000..36a15100b9 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ClipStatus.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum ClipStatus { + CLIP_PROVISIONED = 0, + CLIP_UNPROVISIONED = 1, + UNKNOWN = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Clir.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Clir.aidl new file mode 100644 index 0000000000..97ba4ed2df --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Clir.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum Clir { + DEFAULT = 0, + INVOCATION = 1, + SUPPRESSION = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ClosedSubscriberGroupInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ClosedSubscriberGroupInfo.aidl new file mode 100644 index 0000000000..0c10ca4622 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ClosedSubscriberGroupInfo.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable ClosedSubscriberGroupInfo { + boolean csgIndication; + String homeNodebName; + int csgIdentity; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataCallFailCause.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataCallFailCause.aidl new file mode 100644 index 0000000000..df895f825c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataCallFailCause.aidl @@ -0,0 +1,377 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum DataCallFailCause { + NONE = 0, + OPERATOR_BARRED = 8, + NAS_SIGNALLING = 14, + INSUFFICIENT_RESOURCES = 26, + MISSING_UNKNOWN_APN = 27, + UNKNOWN_PDP_ADDRESS_TYPE = 28, + USER_AUTHENTICATION = 29, + ACTIVATION_REJECT_GGSN = 30, + ACTIVATION_REJECT_UNSPECIFIED = 31, + SERVICE_OPTION_NOT_SUPPORTED = 32, + SERVICE_OPTION_NOT_SUBSCRIBED = 33, + SERVICE_OPTION_OUT_OF_ORDER = 34, + NSAPI_IN_USE = 35, + REGULAR_DEACTIVATION = 36, + QOS_NOT_ACCEPTED = 37, + NETWORK_FAILURE = 38, + UMTS_REACTIVATION_REQ = 39, + FEATURE_NOT_SUPP = 40, + TFT_SEMANTIC_ERROR = 41, + TFT_SYTAX_ERROR = 42, + UNKNOWN_PDP_CONTEXT = 43, + FILTER_SEMANTIC_ERROR = 44, + FILTER_SYTAX_ERROR = 45, + PDP_WITHOUT_ACTIVE_TFT = 46, + ONLY_IPV4_ALLOWED = 50, + ONLY_IPV6_ALLOWED = 51, + ONLY_SINGLE_BEARER_ALLOWED = 52, + ESM_INFO_NOT_RECEIVED = 53, + PDN_CONN_DOES_NOT_EXIST = 54, + MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED = 55, + MAX_ACTIVE_PDP_CONTEXT_REACHED = 65, + UNSUPPORTED_APN_IN_CURRENT_PLMN = 66, + INVALID_TRANSACTION_ID = 81, + MESSAGE_INCORRECT_SEMANTIC = 95, + INVALID_MANDATORY_INFO = 96, + MESSAGE_TYPE_UNSUPPORTED = 97, + MSG_TYPE_NONCOMPATIBLE_STATE = 98, + UNKNOWN_INFO_ELEMENT = 99, + CONDITIONAL_IE_ERROR = 100, + MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE = 101, + PROTOCOL_ERRORS = 111, + APN_TYPE_CONFLICT = 112, + INVALID_PCSCF_ADDR = 113, + INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN = 114, + EMM_ACCESS_BARRED = 115, + EMERGENCY_IFACE_ONLY = 116, + IFACE_MISMATCH = 117, + COMPANION_IFACE_IN_USE = 118, + IP_ADDRESS_MISMATCH = 119, + IFACE_AND_POL_FAMILY_MISMATCH = 120, + EMM_ACCESS_BARRED_INFINITE_RETRY = 121, + AUTH_FAILURE_ON_EMERGENCY_CALL = 122, + OEM_DCFAILCAUSE_1 = 4097, + OEM_DCFAILCAUSE_2 = 4098, + OEM_DCFAILCAUSE_3 = 4099, + OEM_DCFAILCAUSE_4 = 4100, + OEM_DCFAILCAUSE_5 = 4101, + OEM_DCFAILCAUSE_6 = 4102, + OEM_DCFAILCAUSE_7 = 4103, + OEM_DCFAILCAUSE_8 = 4104, + OEM_DCFAILCAUSE_9 = 4105, + OEM_DCFAILCAUSE_10 = 4106, + OEM_DCFAILCAUSE_11 = 4107, + OEM_DCFAILCAUSE_12 = 4108, + OEM_DCFAILCAUSE_13 = 4109, + OEM_DCFAILCAUSE_14 = 4110, + OEM_DCFAILCAUSE_15 = 4111, + VOICE_REGISTRATION_FAIL = -1, + DATA_REGISTRATION_FAIL = -2, + SIGNAL_LOST = -3, + PREF_RADIO_TECH_CHANGED = -4, + RADIO_POWER_OFF = -5, + TETHERED_CALL_ACTIVE = -6, + ERROR_UNSPECIFIED = 65535, + LLC_SNDCP = 25, + ACTIVATION_REJECTED_BCM_VIOLATION = 48, + COLLISION_WITH_NETWORK_INITIATED_REQUEST = 56, + ONLY_IPV4V6_ALLOWED = 57, + ONLY_NON_IP_ALLOWED = 58, + UNSUPPORTED_QCI_VALUE = 59, + BEARER_HANDLING_NOT_SUPPORTED = 60, + INVALID_DNS_ADDR = 123, + INVALID_PCSCF_OR_DNS_ADDRESS = 124, + CALL_PREEMPT_BY_EMERGENCY_APN = 127, + UE_INITIATED_DETACH_OR_DISCONNECT = 128, + MIP_FA_REASON_UNSPECIFIED = 2000, + MIP_FA_ADMIN_PROHIBITED = 2001, + MIP_FA_INSUFFICIENT_RESOURCES = 2002, + MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE = 2003, + MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE = 2004, + MIP_FA_REQUESTED_LIFETIME_TOO_LONG = 2005, + MIP_FA_MALFORMED_REQUEST = 2006, + MIP_FA_MALFORMED_REPLY = 2007, + MIP_FA_ENCAPSULATION_UNAVAILABLE = 2008, + MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE = 2009, + MIP_FA_REVERSE_TUNNEL_UNAVAILABLE = 2010, + MIP_FA_REVERSE_TUNNEL_IS_MANDATORY = 2011, + MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED = 2012, + MIP_FA_MISSING_NAI = 2013, + MIP_FA_MISSING_HOME_AGENT = 2014, + MIP_FA_MISSING_HOME_ADDRESS = 2015, + MIP_FA_UNKNOWN_CHALLENGE = 2016, + MIP_FA_MISSING_CHALLENGE = 2017, + MIP_FA_STALE_CHALLENGE = 2018, + MIP_HA_REASON_UNSPECIFIED = 2019, + MIP_HA_ADMIN_PROHIBITED = 2020, + MIP_HA_INSUFFICIENT_RESOURCES = 2021, + MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE = 2022, + MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE = 2023, + MIP_HA_REGISTRATION_ID_MISMATCH = 2024, + MIP_HA_MALFORMED_REQUEST = 2025, + MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS = 2026, + MIP_HA_REVERSE_TUNNEL_UNAVAILABLE = 2027, + MIP_HA_REVERSE_TUNNEL_IS_MANDATORY = 2028, + MIP_HA_ENCAPSULATION_UNAVAILABLE = 2029, + CLOSE_IN_PROGRESS = 2030, + NETWORK_INITIATED_TERMINATION = 2031, + MODEM_APP_PREEMPTED = 2032, + PDN_IPV4_CALL_DISALLOWED = 2033, + PDN_IPV4_CALL_THROTTLED = 2034, + PDN_IPV6_CALL_DISALLOWED = 2035, + PDN_IPV6_CALL_THROTTLED = 2036, + MODEM_RESTART = 2037, + PDP_PPP_NOT_SUPPORTED = 2038, + UNPREFERRED_RAT = 2039, + PHYSICAL_LINK_CLOSE_IN_PROGRESS = 2040, + APN_PENDING_HANDOVER = 2041, + PROFILE_BEARER_INCOMPATIBLE = 2042, + SIM_CARD_CHANGED = 2043, + LOW_POWER_MODE_OR_POWERING_DOWN = 2044, + APN_DISABLED = 2045, + MAX_PPP_INACTIVITY_TIMER_EXPIRED = 2046, + IPV6_ADDRESS_TRANSFER_FAILED = 2047, + TRAT_SWAP_FAILED = 2048, + EHRPD_TO_HRPD_FALLBACK = 2049, + MIP_CONFIG_FAILURE = 2050, + PDN_INACTIVITY_TIMER_EXPIRED = 2051, + MAX_IPV4_CONNECTIONS = 2052, + MAX_IPV6_CONNECTIONS = 2053, + APN_MISMATCH = 2054, + IP_VERSION_MISMATCH = 2055, + DUN_CALL_DISALLOWED = 2056, + INTERNAL_EPC_NONEPC_TRANSITION = 2057, + INTERFACE_IN_USE = 2058, + APN_DISALLOWED_ON_ROAMING = 2059, + APN_PARAMETERS_CHANGED = 2060, + NULL_APN_DISALLOWED = 2061, + THERMAL_MITIGATION = 2062, + DATA_SETTINGS_DISABLED = 2063, + DATA_ROAMING_SETTINGS_DISABLED = 2064, + DDS_SWITCHED = 2065, + FORBIDDEN_APN_NAME = 2066, + DDS_SWITCH_IN_PROGRESS = 2067, + CALL_DISALLOWED_IN_ROAMING = 2068, + NON_IP_NOT_SUPPORTED = 2069, + PDN_NON_IP_CALL_THROTTLED = 2070, + PDN_NON_IP_CALL_DISALLOWED = 2071, + CDMA_LOCK = 2072, + CDMA_INTERCEPT = 2073, + CDMA_REORDER = 2074, + CDMA_RELEASE_DUE_TO_SO_REJECTION = 2075, + CDMA_INCOMING_CALL = 2076, + CDMA_ALERT_STOP = 2077, + CHANNEL_ACQUISITION_FAILURE = 2078, + MAX_ACCESS_PROBE = 2079, + CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION = 2080, + NO_RESPONSE_FROM_BASE_STATION = 2081, + REJECTED_BY_BASE_STATION = 2082, + CONCURRENT_SERVICES_INCOMPATIBLE = 2083, + NO_CDMA_SERVICE = 2084, + RUIM_NOT_PRESENT = 2085, + CDMA_RETRY_ORDER = 2086, + ACCESS_BLOCK = 2087, + ACCESS_BLOCK_ALL = 2088, + IS707B_MAX_ACCESS_PROBES = 2089, + THERMAL_EMERGENCY = 2090, + CONCURRENT_SERVICES_NOT_ALLOWED = 2091, + INCOMING_CALL_REJECTED = 2092, + NO_SERVICE_ON_GATEWAY = 2093, + NO_GPRS_CONTEXT = 2094, + ILLEGAL_MS = 2095, + ILLEGAL_ME = 2096, + GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED = 2097, + GPRS_SERVICES_NOT_ALLOWED = 2098, + MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK = 2099, + IMPLICITLY_DETACHED = 2100, + PLMN_NOT_ALLOWED = 2101, + LOCATION_AREA_NOT_ALLOWED = 2102, + GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN = 2103, + PDP_DUPLICATE = 2104, + UE_RAT_CHANGE = 2105, + CONGESTION = 2106, + NO_PDP_CONTEXT_ACTIVATED = 2107, + ACCESS_CLASS_DSAC_REJECTION = 2108, + PDP_ACTIVATE_MAX_RETRY_FAILED = 2109, + RADIO_ACCESS_BEARER_FAILURE = 2110, + ESM_UNKNOWN_EPS_BEARER_CONTEXT = 2111, + DRB_RELEASED_BY_RRC = 2112, + CONNECTION_RELEASED = 2113, + EMM_DETACHED = 2114, + EMM_ATTACH_FAILED = 2115, + EMM_ATTACH_STARTED = 2116, + LTE_NAS_SERVICE_REQUEST_FAILED = 2117, + DUPLICATE_BEARER_ID = 2118, + ESM_COLLISION_SCENARIOS = 2119, + ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK = 2120, + ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER = 2121, + ESM_BAD_OTA_MESSAGE = 2122, + ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL = 2123, + ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT = 2124, + DS_EXPLICIT_DEACTIVATION = 2125, + ESM_LOCAL_CAUSE_NONE = 2126, + LTE_THROTTLING_NOT_REQUIRED = 2127, + ACCESS_CONTROL_LIST_CHECK_FAILURE = 2128, + SERVICE_NOT_ALLOWED_ON_PLMN = 2129, + EMM_T3417_EXPIRED = 2130, + EMM_T3417_EXT_EXPIRED = 2131, + RRC_UPLINK_DATA_TRANSMISSION_FAILURE = 2132, + RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER = 2133, + RRC_UPLINK_CONNECTION_RELEASE = 2134, + RRC_UPLINK_RADIO_LINK_FAILURE = 2135, + RRC_UPLINK_ERROR_REQUEST_FROM_NAS = 2136, + RRC_CONNECTION_ACCESS_STRATUM_FAILURE = 2137, + RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS = 2138, + RRC_CONNECTION_ACCESS_BARRED = 2139, + RRC_CONNECTION_CELL_RESELECTION = 2140, + RRC_CONNECTION_CONFIG_FAILURE = 2141, + RRC_CONNECTION_TIMER_EXPIRED = 2142, + RRC_CONNECTION_LINK_FAILURE = 2143, + RRC_CONNECTION_CELL_NOT_CAMPED = 2144, + RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE = 2145, + RRC_CONNECTION_REJECT_BY_NETWORK = 2146, + RRC_CONNECTION_NORMAL_RELEASE = 2147, + RRC_CONNECTION_RADIO_LINK_FAILURE = 2148, + RRC_CONNECTION_REESTABLISHMENT_FAILURE = 2149, + RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER = 2150, + RRC_CONNECTION_ABORT_REQUEST = 2151, + RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR = 2152, + NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH = 2153, + NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH = 2154, + ESM_PROCEDURE_TIME_OUT = 2155, + INVALID_CONNECTION_ID = 2156, + MAXIMIUM_NSAPIS_EXCEEDED = 2157, + INVALID_PRIMARY_NSAPI = 2158, + CANNOT_ENCODE_OTA_MESSAGE = 2159, + RADIO_ACCESS_BEARER_SETUP_FAILURE = 2160, + PDP_ESTABLISH_TIMEOUT_EXPIRED = 2161, + PDP_MODIFY_TIMEOUT_EXPIRED = 2162, + PDP_INACTIVE_TIMEOUT_EXPIRED = 2163, + PDP_LOWERLAYER_ERROR = 2164, + PDP_MODIFY_COLLISION = 2165, + MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED = 2166, + NAS_REQUEST_REJECTED_BY_NETWORK = 2167, + RRC_CONNECTION_INVALID_REQUEST = 2168, + RRC_CONNECTION_TRACKING_AREA_ID_CHANGED = 2169, + RRC_CONNECTION_RF_UNAVAILABLE = 2170, + RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE = 2171, + RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE = 2172, + RRC_CONNECTION_ABORTED_AFTER_HANDOVER = 2173, + RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE = 2174, + RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE = 2175, + IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER = 2176, + IMEI_NOT_ACCEPTED = 2177, + EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED = 2178, + EPS_SERVICES_NOT_ALLOWED_IN_PLMN = 2179, + MSC_TEMPORARILY_NOT_REACHABLE = 2180, + CS_DOMAIN_NOT_AVAILABLE = 2181, + ESM_FAILURE = 2182, + MAC_FAILURE = 2183, + SYNCHRONIZATION_FAILURE = 2184, + UE_SECURITY_CAPABILITIES_MISMATCH = 2185, + SECURITY_MODE_REJECTED = 2186, + UNACCEPTABLE_NON_EPS_AUTHENTICATION = 2187, + CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED = 2188, + NO_EPS_BEARER_CONTEXT_ACTIVATED = 2189, + INVALID_EMM_STATE = 2190, + NAS_LAYER_FAILURE = 2191, + MULTIPLE_PDP_CALL_NOT_ALLOWED = 2192, + EMBMS_NOT_ENABLED = 2193, + IRAT_HANDOVER_FAILED = 2194, + EMBMS_REGULAR_DEACTIVATION = 2195, + TEST_LOOPBACK_REGULAR_DEACTIVATION = 2196, + LOWER_LAYER_REGISTRATION_FAILURE = 2197, + DATA_PLAN_EXPIRED = 2198, + UMTS_HANDOVER_TO_IWLAN = 2199, + EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY = 2200, + EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE = 2201, + EVDO_HDR_CHANGED = 2202, + EVDO_HDR_EXITED = 2203, + EVDO_HDR_NO_SESSION = 2204, + EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL = 2205, + EVDO_HDR_CONNECTION_SETUP_TIMEOUT = 2206, + FAILED_TO_ACQUIRE_COLOCATED_HDR = 2207, + OTASP_COMMIT_IN_PROGRESS = 2208, + NO_HYBRID_HDR_SERVICE = 2209, + HDR_NO_LOCK_GRANTED = 2210, + DBM_OR_SMS_IN_PROGRESS = 2211, + HDR_FADE = 2212, + HDR_ACCESS_FAILURE = 2213, + UNSUPPORTED_1X_PREV = 2214, + LOCAL_END = 2215, + NO_SERVICE = 2216, + FADE = 2217, + NORMAL_RELEASE = 2218, + ACCESS_ATTEMPT_ALREADY_IN_PROGRESS = 2219, + REDIRECTION_OR_HANDOFF_IN_PROGRESS = 2220, + EMERGENCY_MODE = 2221, + PHONE_IN_USE = 2222, + INVALID_MODE = 2223, + INVALID_SIM_STATE = 2224, + NO_COLLOCATED_HDR = 2225, + UE_IS_ENTERING_POWERSAVE_MODE = 2226, + DUAL_SWITCH = 2227, + PPP_TIMEOUT = 2228, + PPP_AUTH_FAILURE = 2229, + PPP_OPTION_MISMATCH = 2230, + PPP_PAP_FAILURE = 2231, + PPP_CHAP_FAILURE = 2232, + PPP_CLOSE_IN_PROGRESS = 2233, + LIMITED_TO_IPV4 = 2234, + LIMITED_TO_IPV6 = 2235, + VSNCP_TIMEOUT = 2236, + VSNCP_GEN_ERROR = 2237, + VSNCP_APN_UNAUTHORIZED = 2238, + VSNCP_PDN_LIMIT_EXCEEDED = 2239, + VSNCP_NO_PDN_GATEWAY_ADDRESS = 2240, + VSNCP_PDN_GATEWAY_UNREACHABLE = 2241, + VSNCP_PDN_GATEWAY_REJECT = 2242, + VSNCP_INSUFFICIENT_PARAMETERS = 2243, + VSNCP_RESOURCE_UNAVAILABLE = 2244, + VSNCP_ADMINISTRATIVELY_PROHIBITED = 2245, + VSNCP_PDN_ID_IN_USE = 2246, + VSNCP_SUBSCRIBER_LIMITATION = 2247, + VSNCP_PDN_EXISTS_FOR_THIS_APN = 2248, + VSNCP_RECONNECT_NOT_ALLOWED = 2249, + IPV6_PREFIX_UNAVAILABLE = 2250, + HANDOFF_PREFERENCE_CHANGED = 2251, + SLICE_REJECTED = 2252, + MATCH_ALL_RULE_NOT_ALLOWED = 2253, + ALL_MATCHING_RULES_FAILED = 2254, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataConnActiveStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataConnActiveStatus.aidl new file mode 100644 index 0000000000..0d11390aef --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataConnActiveStatus.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum DataConnActiveStatus { + INACTIVE = 0, + DORMANT = 1, + ACTIVE = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataProfileId.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataProfileId.aidl new file mode 100644 index 0000000000..2c86c0fc49 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataProfileId.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum DataProfileId { + DEFAULT = 0, + TETHERED = 1, + IMS = 2, + FOTA = 3, + CBS = 4, + OEM_BASE = 1000, + INVALID = -1, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataProfileInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataProfileInfo.aidl new file mode 100644 index 0000000000..d9d0487e5a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataProfileInfo.aidl @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable DataProfileInfo { + android.hardware.radio.DataProfileId profileId; + String apn; + android.hardware.radio.PdpProtocolType protocol; + android.hardware.radio.PdpProtocolType roamingProtocol; + android.hardware.radio.ApnAuthType authType; + String user; + String password; + android.hardware.radio.DataProfileInfoType type; + int maxConnsTime; + int maxConns; + int waitTime; + boolean enabled; + android.hardware.radio.ApnTypes supportedApnTypesBitmap; + android.hardware.radio.RadioAccessFamily bearerBitmap; + int mtuV4; + int mtuV6; + boolean preferred; + boolean persistent; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataProfileInfoType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataProfileInfoType.aidl new file mode 100644 index 0000000000..a559de0829 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataProfileInfoType.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum DataProfileInfoType { + COMMON = 0, + THREE_GPP = 1, + THREE_GPP2 = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataRegStateResult.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataRegStateResult.aidl new file mode 100644 index 0000000000..303035f620 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataRegStateResult.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable DataRegStateResult { + android.hardware.radio.RegState regState; + int rat; + int reasonDataDenied; + int maxDataCalls; + android.hardware.radio.CellIdentity cellIdentity; + android.hardware.radio.DataRegStateResultVopsInfo vopsInfo; + android.hardware.radio.NrIndicators nrIndicators; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataRegStateResultVopsInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataRegStateResultVopsInfo.aidl new file mode 100644 index 0000000000..2ce646e386 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataRegStateResultVopsInfo.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +union DataRegStateResultVopsInfo { + boolean noinit; + android.hardware.radio.LteVopsInfo lteVopsInfo; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataRequestReason.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataRequestReason.aidl new file mode 100644 index 0000000000..1dd0e08ca9 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataRequestReason.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum DataRequestReason { + NORMAL = 1, + SHUTDOWN = 2, + HANDOVER = 3, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataThrottlingAction.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataThrottlingAction.aidl new file mode 100644 index 0000000000..70aaa0f4af --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DataThrottlingAction.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="byte") @VintfStability +enum DataThrottlingAction { + NO_DATA_THROTTLING = 0, + THROTTLE_SECONDARY_CARRIER = 1, + THROTTLE_ANCHOR_CARRIER = 2, + HOLD = 3, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DeviceStateType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DeviceStateType.aidl new file mode 100644 index 0000000000..2d3cea8bba --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/DeviceStateType.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum DeviceStateType { + POWER_SAVE_MODE = 0, + CHARGING_STATE = 1, + LOW_DATA_EXPECTED = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Dial.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Dial.aidl new file mode 100644 index 0000000000..f8edf48d44 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Dial.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable Dial { + String address; + android.hardware.radio.Clir clir; + android.hardware.radio.UusInfo[] uusInfo; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Domain.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Domain.aidl new file mode 100644 index 0000000000..062af35c27 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Domain.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum Domain { + CS = 1, + PS = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmcIndicator.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmcIndicator.aidl new file mode 100644 index 0000000000..846084b401 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmcIndicator.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="byte") @VintfStability +enum EmcIndicator { + EMC_NOT_SUPPORTED = 0, + EMC_NR_CONNECTED_TO_5GCN = 1, + EMC_EUTRA_CONNECTED_TO_5GCN = 2, + EMC_BOTH_NR_EUTRA_CONNECTED_TO_5GCN = 3, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyCallRouting.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyCallRouting.aidl new file mode 100644 index 0000000000..95f5a46059 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyCallRouting.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum EmergencyCallRouting { + UNKNOWN = 0, + EMERGENCY = 1, + NORMAL = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyNumber.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyNumber.aidl new file mode 100644 index 0000000000..7aa4cd8f9e --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyNumber.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable EmergencyNumber { + String number; + String mcc; + String mnc; + android.hardware.radio.EmergencyServiceCategory categories; + String[] urns; + android.hardware.radio.EmergencyNumberSource sources; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyNumberSource.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyNumberSource.aidl new file mode 100644 index 0000000000..1424bfa6ea --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyNumberSource.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum EmergencyNumberSource { + NETWORK_SIGNALING = 1, + SIM = 2, + MODEM_CONFIG = 4, + DEFAULT = 8, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyServiceCategory.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyServiceCategory.aidl new file mode 100644 index 0000000000..0341572f10 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmergencyServiceCategory.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum EmergencyServiceCategory { + UNSPECIFIED = 0, + POLICE = 1, + AMBULANCE = 2, + FIRE_BRIGADE = 4, + MARINE_GUARD = 8, + MOUNTAIN_RESCUE = 16, + MIEC = 32, + AIEC = 64, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmfIndicator.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmfIndicator.aidl new file mode 100644 index 0000000000..21100f2a12 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EmfIndicator.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="byte") @VintfStability +enum EmfIndicator { + EMF_NOT_SUPPORTED = 0, + EMF_NR_CONNECTED_TO_5GCN = 1, + EMF_EUTRA_CONNECTED_TO_5GCN = 2, + EMF_BOTH_NR_EUTRA_CONNECTED_TO_5GCN = 3, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EpsQos.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EpsQos.aidl new file mode 100644 index 0000000000..8eb3fdaa25 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EpsQos.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable EpsQos { + int qci; + android.hardware.radio.QosBandwidth downlink; + android.hardware.radio.QosBandwidth uplink; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EutranBands.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EutranBands.aidl new file mode 100644 index 0000000000..1449865474 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EutranBands.aidl @@ -0,0 +1,97 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum EutranBands { + BAND_1 = 1, + BAND_2 = 2, + BAND_3 = 3, + BAND_4 = 4, + BAND_5 = 5, + BAND_6 = 6, + BAND_7 = 7, + BAND_8 = 8, + BAND_9 = 9, + BAND_10 = 10, + BAND_11 = 11, + BAND_12 = 12, + BAND_13 = 13, + BAND_14 = 14, + BAND_17 = 17, + BAND_18 = 18, + BAND_19 = 19, + BAND_20 = 20, + BAND_21 = 21, + BAND_22 = 22, + BAND_23 = 23, + BAND_24 = 24, + BAND_25 = 25, + BAND_26 = 26, + BAND_27 = 27, + BAND_28 = 28, + BAND_30 = 30, + BAND_31 = 31, + BAND_33 = 33, + BAND_34 = 34, + BAND_35 = 35, + BAND_36 = 36, + BAND_37 = 37, + BAND_38 = 38, + BAND_39 = 39, + BAND_40 = 40, + BAND_41 = 41, + BAND_42 = 42, + BAND_43 = 43, + BAND_44 = 44, + BAND_45 = 45, + BAND_46 = 46, + BAND_47 = 47, + BAND_48 = 48, + BAND_65 = 65, + BAND_66 = 66, + BAND_68 = 68, + BAND_70 = 70, + BAND_49 = 49, + BAND_50 = 50, + BAND_51 = 51, + BAND_52 = 52, + BAND_53 = 53, + BAND_71 = 71, + BAND_72 = 72, + BAND_73 = 73, + BAND_74 = 74, + BAND_85 = 85, + BAND_87 = 87, + BAND_88 = 88, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EvdoSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EvdoSignalStrength.aidl new file mode 100644 index 0000000000..148dfa093c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/EvdoSignalStrength.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable EvdoSignalStrength { + int dbm; + int ecio; + int signalNoiseRatio; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/FrequencyRange.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/FrequencyRange.aidl new file mode 100644 index 0000000000..243b54e4d1 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/FrequencyRange.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum FrequencyRange { + LOW = 1, + MID = 2, + HIGH = 3, + MMWAVE = 4, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GeranBands.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GeranBands.aidl new file mode 100644 index 0000000000..0efe023429 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GeranBands.aidl @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum GeranBands { + BAND_T380 = 1, + BAND_T410 = 2, + BAND_450 = 3, + BAND_480 = 4, + BAND_710 = 5, + BAND_750 = 6, + BAND_T810 = 7, + BAND_850 = 8, + BAND_P900 = 9, + BAND_E900 = 10, + BAND_R900 = 11, + BAND_DCS1800 = 12, + BAND_PCS1900 = 13, + BAND_ER900 = 14, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GsmBroadcastSmsConfigInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GsmBroadcastSmsConfigInfo.aidl new file mode 100644 index 0000000000..e74845e250 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GsmBroadcastSmsConfigInfo.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable GsmBroadcastSmsConfigInfo { + int fromServiceId; + int toServiceId; + int fromCodeScheme; + int toCodeScheme; + boolean selected; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GsmSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GsmSignalStrength.aidl new file mode 100644 index 0000000000..5d3a6e1a32 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GsmSignalStrength.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable GsmSignalStrength { + int signalStrength; + int bitErrorRate; + int timingAdvance; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GsmSmsMessage.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GsmSmsMessage.aidl new file mode 100644 index 0000000000..1b00b0f099 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/GsmSmsMessage.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable GsmSmsMessage { + String smscPdu; + String pdu; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HandoverFailureMode.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HandoverFailureMode.aidl new file mode 100644 index 0000000000..661b7b771a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HandoverFailureMode.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="byte") @VintfStability +enum HandoverFailureMode { + LEGACY = 0, + DO_FALLBACK = 1, + NO_FALLBACK_RETRY_HANDOVER = 2, + NO_FALLBACK_RETRY_SETUP_NORMAL = 3, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfig.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfig.aidl new file mode 100644 index 0000000000..4a5c1076bc --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfig.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable HardwareConfig { + android.hardware.radio.HardwareConfigType type; + String uuid; + android.hardware.radio.HardwareConfigState state; + android.hardware.radio.HardwareConfigModem[] modem; + android.hardware.radio.HardwareConfigSim[] sim; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigModem.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigModem.aidl new file mode 100644 index 0000000000..08e12e6f25 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigModem.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable HardwareConfigModem { + int rilModel; + int rat; + int maxVoice; + int maxData; + int maxStandby; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigSim.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigSim.aidl new file mode 100644 index 0000000000..8df23b4bcc --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigSim.aidl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable HardwareConfigSim { + String modemUuid; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigState.aidl new file mode 100644 index 0000000000..672fe47462 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigState.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum HardwareConfigState { + ENABLED = 0, + STANDBY = 1, + DISABLED = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigType.aidl new file mode 100644 index 0000000000..a152282dc9 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/HardwareConfigType.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum HardwareConfigType { + MODEM = 0, + SIM = 1, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IRadio.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IRadio.aidl new file mode 100644 index 0000000000..5a7b251271 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IRadio.aidl @@ -0,0 +1,200 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +interface IRadio { + oneway void acceptCall(in int serial); + oneway void acknowledgeIncomingGsmSmsWithPdu(in int serial, in boolean success, in String ackPdu); + oneway void acknowledgeLastIncomingCdmaSms(in int serial, in android.hardware.radio.CdmaSmsAck smsAck); + oneway void acknowledgeLastIncomingGsmSms(in int serial, in boolean success, in android.hardware.radio.SmsAcknowledgeFailCause cause); + oneway void allocatePduSessionId(in int serial); + oneway void areUiccApplicationsEnabled(in int serial); + oneway void cancelHandover(in int serial, in int callId); + oneway void cancelPendingUssd(in int serial); + oneway void changeIccPin2ForApp(in int serial, in String oldPin2, in String newPin2, in String aid); + oneway void changeIccPinForApp(in int serial, in String oldPin, in String newPin, in String aid); + oneway void conference(in int serial); + oneway void deactivateDataCall(in int serial, in int cid, in android.hardware.radio.DataRequestReason reason); + oneway void deleteSmsOnRuim(in int serial, in int index); + oneway void deleteSmsOnSim(in int serial, in int index); + oneway void dial(in int serial, in android.hardware.radio.Dial dialInfo); + oneway void emergencyDial(in int serial, in android.hardware.radio.Dial dialInfo, in android.hardware.radio.EmergencyServiceCategory categories, in String[] urns, in android.hardware.radio.EmergencyCallRouting routing, in boolean hasKnownUserIntentEmergency, in boolean isTesting); + oneway void enableModem(in int serial, in boolean on); + oneway void enableUiccApplications(in int serial, in boolean enable); + oneway void exitEmergencyCallbackMode(in int serial); + oneway void explicitCallTransfer(in int serial); + oneway void getAllowedCarriers(in int serial); + oneway void getAllowedNetworkTypesBitmap(in int serial); + oneway void getAvailableBandModes(in int serial); + oneway void getAvailableNetworks(in int serial); + oneway void getBarringInfo(in int serial); + oneway void getBasebandVersion(in int serial); + oneway void getCDMASubscription(in int serial); + oneway void getCallForwardStatus(in int serial, in android.hardware.radio.CallForwardInfo callInfo); + oneway void getCallWaiting(in int serial, in int serviceClass); + oneway void getCdmaBroadcastConfig(in int serial); + oneway void getCdmaRoamingPreference(in int serial); + oneway void getCdmaSubscriptionSource(in int serial); + oneway void getCellInfoList(in int serial); + oneway void getClip(in int serial); + oneway void getClir(in int serial); + oneway void getCurrentCalls(in int serial); + oneway void getDataCallList(in int serial); + oneway void getDataRegistrationState(in int serial); + oneway void getDeviceIdentity(in int serial); + oneway void getFacilityLockForApp(in int serial, in String facility, in String password, in int serviceClass, in String appId); + oneway void getGsmBroadcastConfig(in int serial); + oneway void getHardwareConfig(in int serial); + oneway void getIccCardStatus(in int serial); + oneway void getImsRegistrationState(in int serial); + oneway void getImsiForApp(in int serial, in String aid); + oneway void getLastCallFailCause(in int serial); + oneway void getModemActivityInfo(in int serial); + oneway void getModemStackStatus(in int serial); + oneway void getMute(in int serial); + oneway void getNeighboringCids(in int serial); + oneway void getNetworkSelectionMode(in int serial); + oneway void getOperator(in int serial); + oneway void getPreferredNetworkType(in int serial); + oneway void getPreferredNetworkTypeBitmap(in int serial); + oneway void getPreferredVoicePrivacy(in int serial); + oneway void getRadioCapability(in int serial); + oneway void getSignalStrength(in int serial); + oneway void getSimPhonebookCapacity(in int serial); + oneway void getSimPhonebookRecords(in int serial); + oneway void getSlicingConfig(in int serial); + oneway void getSmscAddress(in int serial); + oneway void getSystemSelectionChannels(in int serial); + oneway void getTTYMode(in int serial); + oneway void getVoiceRadioTechnology(in int serial); + oneway void getVoiceRegistrationState(in int serial); + oneway void handleStkCallSetupRequestFromSim(in int serial, in boolean accept); + oneway void hangup(in int serial, in int gsmIndex); + oneway void hangupForegroundResumeBackground(in int serial); + oneway void hangupWaitingOrBackground(in int serial); + oneway void iccCloseLogicalChannel(in int serial, in int channelId); + oneway void iccIOForApp(in int serial, in android.hardware.radio.IccIo iccIo); + oneway void iccOpenLogicalChannel(in int serial, in String aid, in int p2); + oneway void iccTransmitApduBasicChannel(in int serial, in android.hardware.radio.SimApdu message); + oneway void iccTransmitApduLogicalChannel(in int serial, in android.hardware.radio.SimApdu message); + oneway void isNrDualConnectivityEnabled(in int serial); + oneway void nvReadItem(in int serial, in android.hardware.radio.NvItem itemId); + oneway void nvResetConfig(in int serial, in android.hardware.radio.ResetNvType resetType); + oneway void nvWriteCdmaPrl(in int serial, in byte[] prl); + oneway void nvWriteItem(in int serial, in android.hardware.radio.NvWriteItem item); + oneway void pullLceData(in int serial); + oneway void rejectCall(in int serial); + oneway void releasePduSessionId(in int serial, in int id); + oneway void reportSmsMemoryStatus(in int serial, in boolean available); + oneway void reportStkServiceIsRunning(in int serial); + oneway void requestIccSimAuthentication(in int serial, in int authContext, in String authData, in String aid); + oneway void requestIsimAuthentication(in int serial, in String challenge); + oneway void requestShutdown(in int serial); + oneway void responseAcknowledgement(); + oneway void sendBurstDtmf(in int serial, in String dtmf, in int on, in int off); + oneway void sendCDMAFeatureCode(in int serial, in String featureCode); + oneway void sendCdmaSms(in int serial, in android.hardware.radio.CdmaSmsMessage sms); + oneway void sendCdmaSmsExpectMore(in int serial, in android.hardware.radio.CdmaSmsMessage sms); + oneway void sendDeviceState(in int serial, in android.hardware.radio.DeviceStateType deviceStateType, in boolean state); + oneway void sendDtmf(in int serial, in String s); + oneway void sendEnvelope(in int serial, in String command); + oneway void sendEnvelopeWithStatus(in int serial, in String contents); + oneway void sendImsSms(in int serial, in android.hardware.radio.ImsSmsMessage message); + oneway void sendSMSExpectMore(in int serial, in android.hardware.radio.GsmSmsMessage message); + oneway void sendSms(in int serial, in android.hardware.radio.GsmSmsMessage message); + oneway void sendSmsExpectMore(in int serial, in android.hardware.radio.GsmSmsMessage message); + oneway void sendTerminalResponseToSim(in int serial, in String commandResponse); + oneway void sendUssd(in int serial, in String ussd); + oneway void separateConnection(in int serial, in int gsmIndex); + oneway void setAllowedCarriers(in int serial, in android.hardware.radio.CarrierRestrictionsWithPriority carriers, in android.hardware.radio.SimLockMultiSimPolicy multiSimPolicy); + oneway void setAllowedNetworkTypesBitmap(in int serial, in android.hardware.radio.RadioAccessFamily networkTypeBitmap); + oneway void setBandMode(in int serial, in android.hardware.radio.RadioBandMode mode); + oneway void setBarringPassword(in int serial, in String facility, in String oldPassword, in String newPassword); + oneway void setCallForward(in int serial, in android.hardware.radio.CallForwardInfo callInfo); + oneway void setCallWaiting(in int serial, in boolean enable, in int serviceClass); + oneway void setCarrierInfoForImsiEncryption(in int serial, in android.hardware.radio.ImsiEncryptionInfo imsiEncryptionInfo); + oneway void setCdmaBroadcastActivation(in int serial, in boolean activate); + oneway void setCdmaBroadcastConfig(in int serial, in android.hardware.radio.CdmaBroadcastSmsConfigInfo[] configInfo); + oneway void setCdmaRoamingPreference(in int serial, in android.hardware.radio.CdmaRoamingType type); + oneway void setCdmaSubscriptionSource(in int serial, in android.hardware.radio.CdmaSubscriptionSource cdmaSub); + oneway void setCellInfoListRate(in int serial, in int rate); + oneway void setClir(in int serial, in int status); + oneway void setDataAllowed(in int serial, in boolean allow); + oneway void setDataProfile(in int serial, in android.hardware.radio.DataProfileInfo[] profiles); + oneway void setDataThrottling(in int serial, in android.hardware.radio.DataThrottlingAction dataThrottlingAction, in long completionDurationMillis); + oneway void setFacilityLockForApp(in int serial, in String facility, in boolean lockState, in String password, in int serviceClass, in String appId); + oneway void setGsmBroadcastActivation(in int serial, in boolean activate); + oneway void setGsmBroadcastConfig(in int serial, in android.hardware.radio.GsmBroadcastSmsConfigInfo[] configInfo); + oneway void setIndicationFilter(in int serial, in android.hardware.radio.IndicationFilter indicationFilter); + oneway void setInitialAttachApn(in int serial, in android.hardware.radio.DataProfileInfo dataProfileInfo); + oneway void setLinkCapacityReportingCriteria(in int serial, in int hysteresisMs, in int hysteresisDlKbps, in int hysteresisUlKbps, in int[] thresholdsDownlinkKbps, in int[] thresholdsUplinkKbps, in android.hardware.radio.AccessNetwork accessNetwork); + oneway void setLocationUpdates(in int serial, in boolean enable); + oneway void setMute(in int serial, in boolean enable); + oneway void setNetworkSelectionModeAutomatic(in int serial); + oneway void setNetworkSelectionModeManual(in int serial, in String operatorNumeric, in android.hardware.radio.RadioAccessNetworks ran); + oneway void setNrDualConnectivityState(in int serial, in android.hardware.radio.NrDualConnectivityState nrDualConnectivityState); + oneway void setPreferredNetworkType(in int serial, in android.hardware.radio.PreferredNetworkType nwType); + oneway void setPreferredNetworkTypeBitmap(in int serial, in android.hardware.radio.RadioAccessFamily networkTypeBitmap); + oneway void setPreferredVoicePrivacy(in int serial, in boolean enable); + oneway void setRadioCapability(in int serial, in android.hardware.radio.RadioCapability rc); + oneway void setRadioPower(in int serial, in boolean powerOn, in boolean forEmergencyCall, in boolean preferredForEmergencyCall); + void setResponseFunctions(in android.hardware.radio.IRadioResponse radioResponse, in android.hardware.radio.IRadioIndication radioIndication); + oneway void setSignalStrengthReportingCriteria(in int serial, in android.hardware.radio.SignalThresholdInfo signalThresholdInfo, in android.hardware.radio.AccessNetwork accessNetwork); + oneway void setSimCardPower(in int serial, in android.hardware.radio.CardPowerState powerUp); + oneway void setSmscAddress(in int serial, in String smsc); + oneway void setSuppServiceNotifications(in int serial, in boolean enable); + oneway void setSystemSelectionChannels(in int serial, in boolean specifyChannels, in android.hardware.radio.RadioAccessSpecifier[] specifiers); + oneway void setTTYMode(in int serial, in android.hardware.radio.TtyMode mode); + oneway void setUiccSubscription(in int serial, in android.hardware.radio.SelectUiccSub uiccSub); + oneway void setupDataCall(in int serial, in android.hardware.radio.AccessNetwork accessNetwork, in android.hardware.radio.DataProfileInfo dataProfileInfo, in boolean roamingAllowed, in android.hardware.radio.DataRequestReason reason, in android.hardware.radio.LinkAddress[] addresses, in String[] dnses, in int pduSessionId, in android.hardware.radio.OptionalSliceInfo sliceInfo, in android.hardware.radio.OptionalTrafficDescriptor trafficDescriptor, in boolean matchAllRuleAllowed); + oneway void startDtmf(in int serial, in String s); + oneway void startHandover(in int serial, in int callId); + oneway void startKeepalive(in int serial, in android.hardware.radio.KeepaliveRequest keepalive); + oneway void startLceService(in int serial, in int reportInterval, in boolean pullMode); + oneway void startNetworkScan(in int serial, in android.hardware.radio.NetworkScanRequest request); + oneway void stopDtmf(in int serial); + oneway void stopKeepalive(in int serial, in int sessionHandle); + oneway void stopLceService(in int serial); + oneway void stopNetworkScan(in int serial); + oneway void supplyIccPin2ForApp(in int serial, in String pin2, in String aid); + oneway void supplyIccPinForApp(in int serial, in String pin, in String aid); + oneway void supplyIccPuk2ForApp(in int serial, in String puk2, in String pin2, in String aid); + oneway void supplyIccPukForApp(in int serial, in String puk, in String pin, in String aid); + oneway void supplyNetworkDepersonalization(in int serial, in String netPin); + oneway void supplySimDepersonalization(in int serial, in android.hardware.radio.PersoSubstate persoType, in String controlKey); + oneway void switchWaitingOrHoldingAndActive(in int serial); + oneway void updateSimPhonebookRecords(in int serial, in android.hardware.radio.PhonebookRecordInfo recordInfo); + oneway void writeSmsToRuim(in int serial, in android.hardware.radio.CdmaSmsWriteArgs cdmaSms); + oneway void writeSmsToSim(in int serial, in android.hardware.radio.SmsWriteArgs smsWriteArgs); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IRadioIndication.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IRadioIndication.aidl new file mode 100644 index 0000000000..48e9e3ec3e --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IRadioIndication.aidl @@ -0,0 +1,94 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +interface IRadioIndication { + oneway void barringInfoChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.CellIdentity cellIdentity, in android.hardware.radio.BarringInfo[] barringInfos); + oneway void callRing(in android.hardware.radio.RadioIndicationType type, in boolean isGsm, in android.hardware.radio.CdmaSignalInfoRecord record); + oneway void callStateChanged(in android.hardware.radio.RadioIndicationType type); + oneway void carrierInfoForImsiEncryption(in android.hardware.radio.RadioIndicationType info); + oneway void cdmaCallWaiting(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.CdmaCallWaiting callWaitingRecord); + oneway void cdmaInfoRec(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.CdmaInformationRecords records); + oneway void cdmaNewSms(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.CdmaSmsMessage msg); + oneway void cdmaOtaProvisionStatus(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.CdmaOtaProvisionStatus status); + oneway void cdmaPrlChanged(in android.hardware.radio.RadioIndicationType type, in int version); + oneway void cdmaRuimSmsStorageFull(in android.hardware.radio.RadioIndicationType type); + oneway void cdmaSubscriptionSourceChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.CdmaSubscriptionSource cdmaSource); + oneway void cellInfoList(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.CellInfo[] records); + oneway void currentEmergencyNumberList(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.EmergencyNumber[] emergencyNumberList); + oneway void currentLinkCapacityEstimate(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.LinkCapacityEstimate lce); + oneway void currentPhysicalChannelConfigs(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.PhysicalChannelConfig[] configs); + oneway void currentSignalStrength(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.SignalStrength signalStrength); + oneway void dataCallListChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.SetupDataCallResult[] dcList); + oneway void enterEmergencyCallbackMode(in android.hardware.radio.RadioIndicationType type); + oneway void exitEmergencyCallbackMode(in android.hardware.radio.RadioIndicationType type); + oneway void hardwareConfigChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.HardwareConfig[] configs); + oneway void imsNetworkStateChanged(in android.hardware.radio.RadioIndicationType type); + oneway void indicateRingbackTone(in android.hardware.radio.RadioIndicationType type, in boolean start); + oneway void keepaliveStatus(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.KeepaliveStatus status); + oneway void lceData(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.LceDataInfo lce); + oneway void modemReset(in android.hardware.radio.RadioIndicationType type, in String reason); + oneway void networkScanResult(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.NetworkScanResult result); + oneway void networkStateChanged(in android.hardware.radio.RadioIndicationType type); + oneway void newBroadcastSms(in android.hardware.radio.RadioIndicationType type, in byte[] data); + oneway void newSms(in android.hardware.radio.RadioIndicationType type, in byte[] pdu); + oneway void newSmsOnSim(in android.hardware.radio.RadioIndicationType type, in int recordNumber); + oneway void newSmsStatusReport(in android.hardware.radio.RadioIndicationType type, in byte[] pdu); + oneway void nitzTimeReceived(in android.hardware.radio.RadioIndicationType type, in String nitzTime, in long receivedTime); + oneway void onSupplementaryServiceIndication(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.StkCcUnsolSsResult ss); + oneway void onUssd(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.UssdModeType modeType, in String msg); + oneway void pcoData(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.PcoDataInfo pco); + oneway void radioCapabilityIndication(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.RadioCapability rc); + oneway void radioStateChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.RadioState radioState); + oneway void registrationFailed(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.CellIdentity cellIdentity, in String chosenPlmn, in android.hardware.radio.Domain domain, in int causeCode, in int additionalCauseCode); + oneway void resendIncallMute(in android.hardware.radio.RadioIndicationType type); + oneway void restrictedStateChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.PhoneRestrictedState state); + oneway void rilConnected(in android.hardware.radio.RadioIndicationType type); + oneway void simPhonebookChanged(in android.hardware.radio.RadioIndicationType type); + oneway void simPhonebookRecordsReceived(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.PbReceivedStatus status, in android.hardware.radio.PhonebookRecordInfo[] records); + oneway void simRefresh(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.SimRefreshResult refreshResult); + oneway void simSmsStorageFull(in android.hardware.radio.RadioIndicationType type); + oneway void simStatusChanged(in android.hardware.radio.RadioIndicationType type); + oneway void srvccStateNotify(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.SrvccState state); + oneway void stkCallControlAlphaNotify(in android.hardware.radio.RadioIndicationType type, in String alpha); + oneway void stkCallSetup(in android.hardware.radio.RadioIndicationType type, in long timeout); + oneway void stkEventNotify(in android.hardware.radio.RadioIndicationType type, in String cmd); + oneway void stkProactiveCommand(in android.hardware.radio.RadioIndicationType type, in String cmd); + oneway void stkSessionEnd(in android.hardware.radio.RadioIndicationType type); + oneway void subscriptionStatusChanged(in android.hardware.radio.RadioIndicationType type, in boolean activate); + oneway void suppSvcNotify(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.SuppSvcNotification suppSvc); + oneway void uiccApplicationsEnablementChanged(in android.hardware.radio.RadioIndicationType type, in boolean enabled); + oneway void unthrottleApn(in android.hardware.radio.RadioIndicationType type, in String apn); + oneway void voiceRadioTechChanged(in android.hardware.radio.RadioIndicationType type, in android.hardware.radio.RadioTechnology rat); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IRadioResponse.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IRadioResponse.aidl new file mode 100644 index 0000000000..9137b973ba --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IRadioResponse.aidl @@ -0,0 +1,199 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +interface IRadioResponse { + oneway void acceptCallResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void acknowledgeIncomingGsmSmsWithPduResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void acknowledgeLastIncomingCdmaSmsResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void acknowledgeLastIncomingGsmSmsResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void acknowledgeRequest(in int serial); + oneway void allocatePduSessionIdResponse(in android.hardware.radio.RadioResponseInfo info, in int id); + oneway void areUiccApplicationsEnabledResponse(in android.hardware.radio.RadioResponseInfo info, in boolean enabled); + oneway void cancelHandoverResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void cancelPendingUssdResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void changeIccPin2ForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries); + oneway void changeIccPinForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries); + oneway void conferenceResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void deactivateDataCallResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void deleteSmsOnRuimResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void deleteSmsOnSimResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void dialResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void emergencyDialResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void enableModemResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void enableUiccApplicationsResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void exitEmergencyCallbackModeResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void explicitCallTransferResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void getAllowedCarriersResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.CarrierRestrictionsWithPriority carriers, in android.hardware.radio.SimLockMultiSimPolicy multiSimPolicy); + oneway void getAllowedNetworkTypesBitmapResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.RadioAccessFamily networkTypeBitmap); + oneway void getAvailableBandModesResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.RadioBandMode[] bandModes); + oneway void getAvailableNetworksResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.OperatorInfo[] networkInfos); + oneway void getBarringInfoResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.CellIdentity cellIdentity, in android.hardware.radio.BarringInfo[] barringInfos); + oneway void getBasebandVersionResponse(in android.hardware.radio.RadioResponseInfo info, in String version); + oneway void getCDMASubscriptionResponse(in android.hardware.radio.RadioResponseInfo info, in String mdn, in String hSid, in String hNid, in String min, in String prl); + oneway void getCallForwardStatusResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.CallForwardInfo[] callForwardInfos); + oneway void getCallWaitingResponse(in android.hardware.radio.RadioResponseInfo info, in boolean enable, in int serviceClass); + oneway void getCdmaBroadcastConfigResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.CdmaBroadcastSmsConfigInfo[] configs); + oneway void getCdmaRoamingPreferenceResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.CdmaRoamingType type); + oneway void getCdmaSubscriptionSourceResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.CdmaSubscriptionSource source); + oneway void getCellInfoListResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.CellInfo[] cellInfo); + oneway void getClipResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.ClipStatus status); + oneway void getClirResponse(in android.hardware.radio.RadioResponseInfo info, in int n, in int m); + oneway void getCurrentCallsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.Call[] calls); + oneway void getDataCallListResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.SetupDataCallResult[] dcResponse); + oneway void getDataRegistrationStateResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.RegStateResult dataRegResponse); + oneway void getDeviceIdentityResponse(in android.hardware.radio.RadioResponseInfo info, in String imei, in String imeisv, in String esn, in String meid); + oneway void getFacilityLockForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int response); + oneway void getGsmBroadcastConfigResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.GsmBroadcastSmsConfigInfo[] configs); + oneway void getHardwareConfigResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.HardwareConfig[] config); + oneway void getIMSIForAppResponse(in android.hardware.radio.RadioResponseInfo info, in String imsi); + oneway void getIccCardStatusResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.CardStatus cardStatus); + oneway void getImsRegistrationStateResponse(in android.hardware.radio.RadioResponseInfo info, in boolean isRegistered, in android.hardware.radio.RadioTechnologyFamily ratFamily); + oneway void getLastCallFailCauseResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.LastCallFailCauseInfo failCauseinfo); + oneway void getModemActivityInfoResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.ActivityStatsInfo activityInfo); + oneway void getModemStackStatusResponse(in android.hardware.radio.RadioResponseInfo info, in boolean isEnabled); + oneway void getMuteResponse(in android.hardware.radio.RadioResponseInfo info, in boolean enable); + oneway void getNeighboringCidsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.NeighboringCell[] cells); + oneway void getNetworkSelectionModeResponse(in android.hardware.radio.RadioResponseInfo info, in boolean manual); + oneway void getOperatorResponse(in android.hardware.radio.RadioResponseInfo info, in String longName, in String shortName, in String numeric); + oneway void getPreferredNetworkTypeBitmapResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.RadioAccessFamily networkTypeBitmap); + oneway void getPreferredNetworkTypeResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.PreferredNetworkType nwType); + oneway void getPreferredVoicePrivacyResponse(in android.hardware.radio.RadioResponseInfo info, in boolean enable); + oneway void getRadioCapabilityResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.RadioCapability rc); + oneway void getSignalStrengthResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.SignalStrength signalStrength); + oneway void getSimPhonebookCapacityResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.PhonebookCapacity capacity); + oneway void getSimPhonebookRecordsResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void getSlicingConfigResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.SlicingConfig slicingConfig); + oneway void getSmscAddressResponse(in android.hardware.radio.RadioResponseInfo info, in String smsc); + oneway void getSystemSelectionChannelsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.RadioAccessSpecifier[] specifiers); + oneway void getTTYModeResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.TtyMode mode); + oneway void getVoiceRadioTechnologyResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.RadioTechnology rat); + oneway void getVoiceRegistrationStateResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.RegStateResult voiceRegResponse); + oneway void handleStkCallSetupRequestFromSimResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void hangupConnectionResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void hangupForegroundResumeBackgroundResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void hangupWaitingOrBackgroundResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void iccCloseLogicalChannelResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void iccIOForAppResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.IccIoResult iccIo); + oneway void iccOpenLogicalChannelResponse(in android.hardware.radio.RadioResponseInfo info, in int channelId, in byte[] selectResponse); + oneway void iccTransmitApduBasicChannelResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.IccIoResult result); + oneway void iccTransmitApduLogicalChannelResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.IccIoResult result); + oneway void isNrDualConnectivityEnabledResponse(in android.hardware.radio.RadioResponseInfo info, in boolean isEnabled); + oneway void nvReadItemResponse(in android.hardware.radio.RadioResponseInfo info, in String result); + oneway void nvResetConfigResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void nvWriteCdmaPrlResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void nvWriteItemResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void pullLceDataResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.LceDataInfo lceInfo); + oneway void rejectCallResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void releasePduSessionIdResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void reportSmsMemoryStatusResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void reportStkServiceIsRunningResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void requestIccSimAuthenticationResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.IccIoResult result); + oneway void requestIsimAuthenticationResponse(in android.hardware.radio.RadioResponseInfo info, in String response); + oneway void requestShutdownResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void sendBurstDtmfResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void sendCDMAFeatureCodeResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void sendCdmaSmsExpectMoreResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.SendSmsResult sms); + oneway void sendCdmaSmsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.SendSmsResult sms); + oneway void sendDeviceStateResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void sendDtmfResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void sendEnvelopeResponse(in android.hardware.radio.RadioResponseInfo info, in String commandResponse); + oneway void sendEnvelopeWithStatusResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.IccIoResult iccIo); + oneway void sendImsSmsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.SendSmsResult sms); + oneway void sendSMSExpectMoreResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.SendSmsResult sms); + oneway void sendSmsExpectMoreResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.SendSmsResult sms); + oneway void sendSmsResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.SendSmsResult sms); + oneway void sendTerminalResponseToSimResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void sendUssdResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void separateConnectionResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setAllowedCarriersResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setAllowedNetworkTypesBitmapResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setBandModeResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setBarringPasswordResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setCallForwardResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setCallWaitingResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setCarrierInfoForImsiEncryptionResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setCdmaBroadcastActivationResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setCdmaBroadcastConfigResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setCdmaRoamingPreferenceResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setCdmaSubscriptionSourceResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setCellInfoListRateResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setClirResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setDataAllowedResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setDataProfileResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setDataThrottlingResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setFacilityLockForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int retry); + oneway void setGsmBroadcastActivationResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setGsmBroadcastConfigResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setIndicationFilterResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setInitialAttachApnResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setLinkCapacityReportingCriteriaResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setLocationUpdatesResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setMuteResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setNetworkSelectionModeAutomaticResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setNetworkSelectionModeManualResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setNrDualConnectivityStateResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setPreferredNetworkTypeBitmapResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setPreferredNetworkTypeResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setPreferredVoicePrivacyResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setRadioCapabilityResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.RadioCapability rc); + oneway void setRadioPowerResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setSignalStrengthReportingCriteriaResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setSimCardPowerResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setSmscAddressResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setSuppServiceNotificationsResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setSystemSelectionChannelsResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setTTYModeResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setUiccSubscriptionResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void setupDataCallResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.SetupDataCallResult dcResponse); + oneway void startDtmfResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void startHandoverResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void startKeepaliveResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.KeepaliveStatus status); + oneway void startLceServiceResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.LceStatusInfo statusInfo); + oneway void startNetworkScanResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void stopDtmfResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void stopKeepaliveResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void stopLceServiceResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.LceStatusInfo statusInfo); + oneway void stopNetworkScanResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void supplyIccPin2ForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries); + oneway void supplyIccPinForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries); + oneway void supplyIccPuk2ForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries); + oneway void supplyIccPukForAppResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries); + oneway void supplyNetworkDepersonalizationResponse(in android.hardware.radio.RadioResponseInfo info, in int remainingRetries); + oneway void supplySimDepersonalizationResponse(in android.hardware.radio.RadioResponseInfo info, in android.hardware.radio.PersoSubstate persoType, in int remainingRetries); + oneway void switchWaitingOrHoldingAndActiveResponse(in android.hardware.radio.RadioResponseInfo info); + oneway void updateSimPhonebookRecordsResponse(in android.hardware.radio.RadioResponseInfo info, in int updatedRecordIndex); + oneway void writeSmsToRuimResponse(in android.hardware.radio.RadioResponseInfo info, in int index); + oneway void writeSmsToSimResponse(in android.hardware.radio.RadioResponseInfo info, in int index); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ISap.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ISap.aidl new file mode 100644 index 0000000000..fa0426442a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ISap.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +interface ISap { + oneway void apduReq(in int token, in android.hardware.radio.SapApduType type, in byte[] command); + oneway void connectReq(in int token, in int maxMsgSize); + oneway void disconnectReq(in int token); + oneway void powerReq(in int token, in boolean state); + oneway void resetSimReq(in int token); + void setCallback(in android.hardware.radio.ISapCallback sapCallback); + oneway void setTransferProtocolReq(in int token, in android.hardware.radio.SapTransferProtocol transferProtocol); + oneway void transferAtrReq(in int token); + oneway void transferCardReaderStatusReq(in int token); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ISapCallback.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ISapCallback.aidl new file mode 100644 index 0000000000..5ae0392c29 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ISapCallback.aidl @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +interface ISapCallback { + oneway void apduResponse(in int token, in android.hardware.radio.SapResultCode resultCode, in byte[] apduRsp); + oneway void connectResponse(in int token, in android.hardware.radio.SapConnectRsp sapConnectRsp, in int maxMsgSize); + oneway void disconnectIndication(in int token, in android.hardware.radio.SapDisconnectType disconnectType); + oneway void disconnectResponse(in int token); + oneway void errorResponse(in int token); + oneway void powerResponse(in int token, in android.hardware.radio.SapResultCode resultCode); + oneway void resetSimResponse(in int token, in android.hardware.radio.SapResultCode resultCode); + oneway void statusIndication(in int token, in android.hardware.radio.SapStatus status); + oneway void transferAtrResponse(in int token, in android.hardware.radio.SapResultCode resultCode, in byte[] atr); + oneway void transferCardReaderStatusResponse(in int token, in android.hardware.radio.SapResultCode resultCode, in int cardReaderStatus); + oneway void transferProtocolResponse(in int token, in android.hardware.radio.SapResultCode resultCode); +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IccIo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IccIo.aidl new file mode 100644 index 0000000000..1bea23a438 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IccIo.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable IccIo { + int command; + int fileId; + String path; + int p1; + int p2; + int p3; + String data; + String pin2; + String aid; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IccIoResult.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IccIoResult.aidl new file mode 100644 index 0000000000..50b1e9e68f --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IccIoResult.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable IccIoResult { + int sw1; + int sw2; + String simResponse; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ImsSmsMessage.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ImsSmsMessage.aidl new file mode 100644 index 0000000000..b5ffcc6474 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ImsSmsMessage.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable ImsSmsMessage { + android.hardware.radio.RadioTechnologyFamily tech; + boolean retry; + int messageRef; + android.hardware.radio.CdmaSmsMessage[] cdmaMessage; + android.hardware.radio.GsmSmsMessage[] gsmMessage; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ImsiEncryptionInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ImsiEncryptionInfo.aidl new file mode 100644 index 0000000000..c89c3a0f7a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ImsiEncryptionInfo.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable ImsiEncryptionInfo { + String mcc; + String mnc; + byte[] carrierKey; + String keyIdentifier; + long expirationTime; + android.hardware.radio.PublicKeyType keyType; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IncrementalResultsPeriodicityRange.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IncrementalResultsPeriodicityRange.aidl new file mode 100644 index 0000000000..ad3441f445 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IncrementalResultsPeriodicityRange.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum IncrementalResultsPeriodicityRange { + MIN = 1, + MAX = 10, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IndicationFilter.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IndicationFilter.aidl new file mode 100644 index 0000000000..629af68d64 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/IndicationFilter.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum IndicationFilter { + NONE = 0, + ALL = -1, + SIGNAL_STRENGTH = 1, + FULL_NETWORK_STATE = 2, + DATA_CALL_DORMANCY_CHANGED = 4, + LINK_CAPACITY_ESTIMATE = 8, + PHYSICAL_CHANNEL_CONFIG = 16, + REGISTRATION_FAILURE = 32, + BARRING_INFO = 64, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveRequest.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveRequest.aidl new file mode 100644 index 0000000000..1f23a6927f --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveRequest.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable KeepaliveRequest { + android.hardware.radio.KeepaliveType type; + byte[] sourceAddress; + int sourcePort; + byte[] destinationAddress; + int destinationPort; + int maxKeepaliveIntervalMillis; + int cid; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveStatus.aidl new file mode 100644 index 0000000000..8729b69e39 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveStatus.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable KeepaliveStatus { + int sessionHandle; + android.hardware.radio.KeepaliveStatusCode code; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveStatusCode.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveStatusCode.aidl new file mode 100644 index 0000000000..8ad5dc5dba --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveStatusCode.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum KeepaliveStatusCode { + ACTIVE = 0, + INACTIVE = 1, + PENDING = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveType.aidl new file mode 100644 index 0000000000..f0dd5216fb --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/KeepaliveType.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum KeepaliveType { + NATT_IPV4 = 0, + NATT_IPV6 = 1, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LastCallFailCause.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LastCallFailCause.aidl new file mode 100644 index 0000000000..024f7ead24 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LastCallFailCause.aidl @@ -0,0 +1,133 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum LastCallFailCause { + UNOBTAINABLE_NUMBER = 1, + NO_ROUTE_TO_DESTINATION = 3, + CHANNEL_UNACCEPTABLE = 6, + OPERATOR_DETERMINED_BARRING = 8, + NORMAL = 16, + BUSY = 17, + NO_USER_RESPONDING = 18, + NO_ANSWER_FROM_USER = 19, + CALL_REJECTED = 21, + NUMBER_CHANGED = 22, + PREEMPTION = 25, + DESTINATION_OUT_OF_ORDER = 27, + INVALID_NUMBER_FORMAT = 28, + FACILITY_REJECTED = 29, + RESP_TO_STATUS_ENQUIRY = 30, + NORMAL_UNSPECIFIED = 31, + CONGESTION = 34, + NETWORK_OUT_OF_ORDER = 38, + TEMPORARY_FAILURE = 41, + SWITCHING_EQUIPMENT_CONGESTION = 42, + ACCESS_INFORMATION_DISCARDED = 43, + REQUESTED_CIRCUIT_OR_CHANNEL_NOT_AVAILABLE = 44, + RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47, + QOS_UNAVAILABLE = 49, + REQUESTED_FACILITY_NOT_SUBSCRIBED = 50, + INCOMING_CALLS_BARRED_WITHIN_CUG = 55, + BEARER_CAPABILITY_NOT_AUTHORIZED = 57, + BEARER_CAPABILITY_UNAVAILABLE = 58, + SERVICE_OPTION_NOT_AVAILABLE = 63, + BEARER_SERVICE_NOT_IMPLEMENTED = 65, + ACM_LIMIT_EXCEEDED = 68, + REQUESTED_FACILITY_NOT_IMPLEMENTED = 69, + ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70, + SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79, + INVALID_TRANSACTION_IDENTIFIER = 81, + USER_NOT_MEMBER_OF_CUG = 87, + INCOMPATIBLE_DESTINATION = 88, + INVALID_TRANSIT_NW_SELECTION = 91, + SEMANTICALLY_INCORRECT_MESSAGE = 95, + INVALID_MANDATORY_INFORMATION = 96, + MESSAGE_TYPE_NON_IMPLEMENTED = 97, + MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98, + INFORMATION_ELEMENT_NON_EXISTENT = 99, + CONDITIONAL_IE_ERROR = 100, + MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101, + RECOVERY_ON_TIMER_EXPIRED = 102, + PROTOCOL_ERROR_UNSPECIFIED = 111, + INTERWORKING_UNSPECIFIED = 127, + CALL_BARRED = 240, + FDN_BLOCKED = 241, + IMSI_UNKNOWN_IN_VLR = 242, + IMEI_NOT_ACCEPTED = 243, + DIAL_MODIFIED_TO_USSD = 244, + DIAL_MODIFIED_TO_SS = 245, + DIAL_MODIFIED_TO_DIAL = 246, + RADIO_OFF = 247, + OUT_OF_SERVICE = 248, + NO_VALID_SIM = 249, + RADIO_INTERNAL_ERROR = 250, + NETWORK_RESP_TIMEOUT = 251, + NETWORK_REJECT = 252, + RADIO_ACCESS_FAILURE = 253, + RADIO_LINK_FAILURE = 254, + RADIO_LINK_LOST = 255, + RADIO_UPLINK_FAILURE = 256, + RADIO_SETUP_FAILURE = 257, + RADIO_RELEASE_NORMAL = 258, + RADIO_RELEASE_ABNORMAL = 259, + ACCESS_CLASS_BLOCKED = 260, + NETWORK_DETACH = 261, + CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000, + CDMA_DROP = 1001, + CDMA_INTERCEPT = 1002, + CDMA_REORDER = 1003, + CDMA_SO_REJECT = 1004, + CDMA_RETRY_ORDER = 1005, + CDMA_ACCESS_FAILURE = 1006, + CDMA_PREEMPTED = 1007, + CDMA_NOT_EMERGENCY = 1008, + CDMA_ACCESS_BLOCKED = 1009, + OEM_CAUSE_1 = 61441, + OEM_CAUSE_2 = 61442, + OEM_CAUSE_3 = 61443, + OEM_CAUSE_4 = 61444, + OEM_CAUSE_5 = 61445, + OEM_CAUSE_6 = 61446, + OEM_CAUSE_7 = 61447, + OEM_CAUSE_8 = 61448, + OEM_CAUSE_9 = 61449, + OEM_CAUSE_10 = 61450, + OEM_CAUSE_11 = 61451, + OEM_CAUSE_12 = 61452, + OEM_CAUSE_13 = 61453, + OEM_CAUSE_14 = 61454, + OEM_CAUSE_15 = 61455, + ERROR_UNSPECIFIED = 65535, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LastCallFailCauseInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LastCallFailCauseInfo.aidl new file mode 100644 index 0000000000..43ef0cd01b --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LastCallFailCauseInfo.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable LastCallFailCauseInfo { + android.hardware.radio.LastCallFailCause causeCode; + String vendorCause; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LceDataInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LceDataInfo.aidl new file mode 100644 index 0000000000..64c63674c6 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LceDataInfo.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable LceDataInfo { + int lastHopCapacityKbps; + byte confidenceLevel; + boolean lceSuspended; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LceStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LceStatus.aidl new file mode 100644 index 0000000000..2542cc7de9 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LceStatus.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum LceStatus { + NOT_SUPPORTED = 0, + STOPPED = 1, + ACTIVE = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LceStatusInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LceStatusInfo.aidl new file mode 100644 index 0000000000..29f5ab60f2 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LceStatusInfo.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable LceStatusInfo { + android.hardware.radio.LceStatus lceStatus; + byte actualIntervalMs; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LinkAddress.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LinkAddress.aidl new file mode 100644 index 0000000000..b64daf9de1 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LinkAddress.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable LinkAddress { + String address; + android.hardware.radio.AddressProperty properties; + long deprecationTime; + long expirationTime; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LinkCapacityEstimate.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LinkCapacityEstimate.aidl new file mode 100644 index 0000000000..d2a5c83a3c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LinkCapacityEstimate.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable LinkCapacityEstimate { + int downlinkCapacityKbps; + int uplinkCapacityKbps; + int secondaryDownlinkCapacityKbps; + int secondaryUplinkCapacityKbps; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LteSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LteSignalStrength.aidl new file mode 100644 index 0000000000..28840bccef --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LteSignalStrength.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable LteSignalStrength { + int signalStrength; + int rsrp; + int rsrq; + int rssnr; + int cqi; + int timingAdvance; + int cqiTableIndex; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LteVopsInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LteVopsInfo.aidl new file mode 100644 index 0000000000..b28c415c3e --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/LteVopsInfo.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable LteVopsInfo { + boolean isVopsSupported; + boolean isEmcBearerSupported; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/MaxSearchTimeRange.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/MaxSearchTimeRange.aidl new file mode 100644 index 0000000000..88cdf5fe18 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/MaxSearchTimeRange.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum MaxSearchTimeRange { + MIN = 60, + MAX = 3600, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/MaybePort.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/MaybePort.aidl new file mode 100644 index 0000000000..f556c7f8a3 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/MaybePort.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +union MaybePort { + boolean noinit; + android.hardware.radio.PortRange range; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/MvnoType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/MvnoType.aidl new file mode 100644 index 0000000000..8be23b6607 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/MvnoType.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum MvnoType { + NONE = 0, + IMSI = 1, + GID = 2, + SPN = 3, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NeighboringCell.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NeighboringCell.aidl new file mode 100644 index 0000000000..89d7818fe8 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NeighboringCell.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable NeighboringCell { + String cid; + int rssi; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NetworkScanRequest.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NetworkScanRequest.aidl new file mode 100644 index 0000000000..4e6f6139b1 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NetworkScanRequest.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable NetworkScanRequest { + android.hardware.radio.ScanType type; + int interval; + android.hardware.radio.RadioAccessSpecifier[] specifiers; + int maxSearchTime; + boolean incrementalResults; + int incrementalResultsPeriodicity; + String[] mccMncs; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NetworkScanResult.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NetworkScanResult.aidl new file mode 100644 index 0000000000..86543e3e1b --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NetworkScanResult.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable NetworkScanResult { + android.hardware.radio.ScanStatus status; + android.hardware.radio.RadioError error; + android.hardware.radio.CellInfo[] networkInfos; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NgranBands.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NgranBands.aidl new file mode 100644 index 0000000000..14db49b1ec --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NgranBands.aidl @@ -0,0 +1,90 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum NgranBands { + BAND_1 = 1, + BAND_2 = 2, + BAND_3 = 3, + BAND_5 = 5, + BAND_7 = 7, + BAND_8 = 8, + BAND_12 = 12, + BAND_14 = 14, + BAND_18 = 18, + BAND_20 = 20, + BAND_25 = 25, + BAND_26 = 26, + BAND_28 = 28, + BAND_29 = 29, + BAND_30 = 30, + BAND_34 = 34, + BAND_38 = 38, + BAND_39 = 39, + BAND_40 = 40, + BAND_41 = 41, + BAND_46 = 46, + BAND_48 = 48, + BAND_50 = 50, + BAND_51 = 51, + BAND_53 = 53, + BAND_65 = 65, + BAND_66 = 66, + BAND_70 = 70, + BAND_71 = 71, + BAND_74 = 74, + BAND_75 = 75, + BAND_76 = 76, + BAND_77 = 77, + BAND_78 = 78, + BAND_79 = 79, + BAND_80 = 80, + BAND_81 = 81, + BAND_82 = 82, + BAND_83 = 83, + BAND_84 = 84, + BAND_86 = 86, + BAND_89 = 89, + BAND_90 = 90, + BAND_91 = 91, + BAND_92 = 92, + BAND_93 = 93, + BAND_94 = 94, + BAND_95 = 95, + BAND_96 = 96, + BAND_257 = 257, + BAND_258 = 258, + BAND_260 = 260, + BAND_261 = 261, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrDualConnectivityState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrDualConnectivityState.aidl new file mode 100644 index 0000000000..c3fb9f2fd8 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrDualConnectivityState.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="byte") @VintfStability +enum NrDualConnectivityState { + ENABLE = 1, + DISABLE = 2, + DISABLE_IMMEDIATE = 3, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrIndicators.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrIndicators.aidl new file mode 100644 index 0000000000..81dc51c36e --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrIndicators.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable NrIndicators { + boolean isEndcAvailable; + boolean isDcNrRestricted; + boolean isNrAvailable; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrQos.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrQos.aidl new file mode 100644 index 0000000000..6cb8f33704 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrQos.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable NrQos { + int fiveQi; + android.hardware.radio.QosBandwidth downlink; + android.hardware.radio.QosBandwidth uplink; + byte qfi; + char averagingWindowMs; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrSignalStrength.aidl new file mode 100644 index 0000000000..daf6a418ff --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrSignalStrength.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable NrSignalStrength { + int ssRsrp; + int ssRsrq; + int ssSinr; + int csiRsrp; + int csiRsrq; + int csiSinr; + int csiCqiTableIndex; + byte[] csiCqiReport; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrVopsInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrVopsInfo.aidl new file mode 100644 index 0000000000..b737aaf414 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NrVopsInfo.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable NrVopsInfo { + android.hardware.radio.VopsIndicator vopsSupported; + android.hardware.radio.EmcIndicator emcSupported; + android.hardware.radio.EmfIndicator emfSupported; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NvItem.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NvItem.aidl new file mode 100644 index 0000000000..d7706c5dc2 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NvItem.aidl @@ -0,0 +1,78 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum NvItem { + CDMA_MEID = 1, + CDMA_MIN = 2, + CDMA_MDN = 3, + CDMA_ACCOLC = 4, + DEVICE_MSL = 11, + RTN_RECONDITIONED_STATUS = 12, + RTN_ACTIVATION_DATE = 13, + RTN_LIFE_TIMER = 14, + RTN_LIFE_CALLS = 15, + RTN_LIFE_DATA_TX = 16, + RTN_LIFE_DATA_RX = 17, + OMADM_HFA_LEVEL = 18, + MIP_PROFILE_NAI = 31, + MIP_PROFILE_HOME_ADDRESS = 32, + MIP_PROFILE_AAA_AUTH = 33, + MIP_PROFILE_HA_AUTH = 34, + MIP_PROFILE_PRI_HA_ADDR = 35, + MIP_PROFILE_SEC_HA_ADDR = 36, + MIP_PROFILE_REV_TUN_PREF = 37, + MIP_PROFILE_HA_SPI = 38, + MIP_PROFILE_AAA_SPI = 39, + MIP_PROFILE_MN_HA_SS = 40, + MIP_PROFILE_MN_AAA_SS = 41, + CDMA_PRL_VERSION = 51, + CDMA_BC10 = 52, + CDMA_BC14 = 53, + CDMA_SO68 = 54, + CDMA_SO73_COP0 = 55, + CDMA_SO73_COP1TO7 = 56, + CDMA_1X_ADVANCED_ENABLED = 57, + CDMA_EHRPD_ENABLED = 58, + CDMA_EHRPD_FORCED = 59, + LTE_BAND_ENABLE_25 = 71, + LTE_BAND_ENABLE_26 = 72, + LTE_BAND_ENABLE_41 = 73, + LTE_SCAN_PRIORITY_25 = 74, + LTE_SCAN_PRIORITY_26 = 75, + LTE_SCAN_PRIORITY_41 = 76, + LTE_HIDDEN_BAND_PRIORITY_25 = 77, + LTE_HIDDEN_BAND_PRIORITY_26 = 78, + LTE_HIDDEN_BAND_PRIORITY_41 = 79, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NvWriteItem.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NvWriteItem.aidl new file mode 100644 index 0000000000..9e60db6a28 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/NvWriteItem.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable NvWriteItem { + android.hardware.radio.NvItem itemId; + String value; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OperatorInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OperatorInfo.aidl new file mode 100644 index 0000000000..2f29c022f7 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OperatorInfo.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable OperatorInfo { + String alphaLong; + String alphaShort; + String operatorNumeric; + android.hardware.radio.OperatorStatus status; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OperatorStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OperatorStatus.aidl new file mode 100644 index 0000000000..4ef10caada --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OperatorStatus.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum OperatorStatus { + UNKNOWN = 0, + AVAILABLE = 1, + CURRENT = 2, + FORBIDDEN = 3, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalCsgInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalCsgInfo.aidl new file mode 100644 index 0000000000..6866dcaf94 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalCsgInfo.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +union OptionalCsgInfo { + boolean noinit; + android.hardware.radio.ClosedSubscriberGroupInfo csgInfo; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalDnn.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalDnn.aidl new file mode 100644 index 0000000000..88582dea50 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalDnn.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +union OptionalDnn { + boolean noinit; + String value; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalOsAppId.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalOsAppId.aidl new file mode 100644 index 0000000000..40bfa41026 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalOsAppId.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +union OptionalOsAppId { + boolean noinit; + android.hardware.radio.OsAppId value; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalPdpProtocolType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalPdpProtocolType.aidl new file mode 100644 index 0000000000..5b4964f0c8 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalPdpProtocolType.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +union OptionalPdpProtocolType { + boolean noinit; + android.hardware.radio.PdpProtocolType value; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalSliceInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalSliceInfo.aidl new file mode 100644 index 0000000000..d640aac680 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalSliceInfo.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +union OptionalSliceInfo { + boolean noinit; + android.hardware.radio.SliceInfo value; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalSscMode.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalSscMode.aidl new file mode 100644 index 0000000000..047261524d --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalSscMode.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +union OptionalSscMode { + boolean noinit; + android.hardware.radio.SscMode value; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalTrafficDescriptor.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalTrafficDescriptor.aidl new file mode 100644 index 0000000000..6b575255f8 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OptionalTrafficDescriptor.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +union OptionalTrafficDescriptor { + boolean noinit; + android.hardware.radio.TrafficDescriptor value; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OsAppId.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OsAppId.aidl new file mode 100644 index 0000000000..bc112296e9 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/OsAppId.aidl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable OsAppId { + byte[] osAppId; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/P2Constant.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/P2Constant.aidl new file mode 100644 index 0000000000..eb8b442c98 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/P2Constant.aidl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum P2Constant { + NO_P2 = -1, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PbReceivedStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PbReceivedStatus.aidl new file mode 100644 index 0000000000..dd95ad5127 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PbReceivedStatus.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="byte") @VintfStability +enum PbReceivedStatus { + PB_RECEIVED_OK = 1, + PB_RECEIVED_ERROR = 2, + PB_RECEIVED_ABORT = 3, + PB_RECEIVED_FINAL = 4, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PcoDataInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PcoDataInfo.aidl new file mode 100644 index 0000000000..828b08c610 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PcoDataInfo.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable PcoDataInfo { + int cid; + String bearerProto; + int pcoId; + byte[] contents; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PdpProtocolType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PdpProtocolType.aidl new file mode 100644 index 0000000000..980d3afc39 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PdpProtocolType.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum PdpProtocolType { + UNKNOWN = -1, + IP = 0, + IPV6 = 1, + IPV4V6 = 2, + PPP = 3, + NON_IP = 4, + UNSTRUCTURED = 5, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PersoSubstate.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PersoSubstate.aidl new file mode 100644 index 0000000000..35b75c63dd --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PersoSubstate.aidl @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum PersoSubstate { + UNKNOWN = 0, + IN_PROGRESS = 1, + READY = 2, + SIM_NETWORK = 3, + SIM_NETWORK_SUBSET = 4, + SIM_CORPORATE = 5, + SIM_SERVICE_PROVIDER = 6, + SIM_SIM = 7, + SIM_NETWORK_PUK = 8, + SIM_NETWORK_SUBSET_PUK = 9, + SIM_CORPORATE_PUK = 10, + SIM_SERVICE_PROVIDER_PUK = 11, + SIM_SIM_PUK = 12, + RUIM_NETWORK1 = 13, + RUIM_NETWORK2 = 14, + RUIM_HRPD = 15, + RUIM_CORPORATE = 16, + RUIM_SERVICE_PROVIDER = 17, + RUIM_RUIM = 18, + RUIM_NETWORK1_PUK = 19, + RUIM_NETWORK2_PUK = 20, + RUIM_HRPD_PUK = 21, + RUIM_CORPORATE_PUK = 22, + RUIM_SERVICE_PROVIDER_PUK = 23, + RUIM_RUIM_PUK = 24, + SIM_SPN = 25, + SIM_SPN_PUK = 26, + SIM_SP_EHPLMN = 27, + SIM_SP_EHPLMN_PUK = 28, + SIM_ICCID = 29, + SIM_ICCID_PUK = 30, + SIM_IMPI = 31, + SIM_IMPI_PUK = 32, + SIM_NS_SP = 33, + SIM_NS_SP_PUK = 34, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhoneRestrictedState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhoneRestrictedState.aidl new file mode 100644 index 0000000000..7a4982f5ea --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhoneRestrictedState.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum PhoneRestrictedState { + NONE = 0, + CS_EMERGENCY = 1, + CS_NORMAL = 2, + CS_ALL = 4, + PS_ALL = 16, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhonebookCapacity.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhonebookCapacity.aidl new file mode 100644 index 0000000000..8d2623bbb5 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhonebookCapacity.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable PhonebookCapacity { + int maxAdnRecords; + int usedAdnRecords; + int maxEmailRecords; + int usedEmailRecords; + int maxAdditionalNumberRecords; + int usedAdditionalNumberRecords; + int maxNameLen; + int maxNumberLen; + int maxEmailLen; + int maxAdditionalNumberLen; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhonebookRecordInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhonebookRecordInfo.aidl new file mode 100644 index 0000000000..02a166e18c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhonebookRecordInfo.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable PhonebookRecordInfo { + int recordId; + String name; + String number; + String[] emails; + String[] additionalNumbers; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhysicalChannelConfig.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhysicalChannelConfig.aidl new file mode 100644 index 0000000000..91c4a96a1f --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhysicalChannelConfig.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable PhysicalChannelConfig { + android.hardware.radio.CellConnectionStatus status; + android.hardware.radio.RadioTechnology rat; + int downlinkChannelNumber; + int uplinkChannelNumber; + int cellBandwidthDownlinkKhz; + int cellBandwidthUplinkKhz; + int[] contextIds; + int physicalCellId; + android.hardware.radio.PhysicalChannelConfigBand band; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhysicalChannelConfigBand.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhysicalChannelConfigBand.aidl new file mode 100644 index 0000000000..1953083771 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PhysicalChannelConfigBand.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +union PhysicalChannelConfigBand { + boolean noinit; + android.hardware.radio.GeranBands geranBand; + android.hardware.radio.UtranBands utranBand; + android.hardware.radio.EutranBands eutranBand; + android.hardware.radio.NgranBands ngranBand; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PinState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PinState.aidl new file mode 100644 index 0000000000..3b65179748 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PinState.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum PinState { + UNKNOWN = 0, + ENABLED_NOT_VERIFIED = 1, + ENABLED_VERIFIED = 2, + DISABLED = 3, + ENABLED_BLOCKED = 4, + ENABLED_PERM_BLOCKED = 5, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PortRange.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PortRange.aidl new file mode 100644 index 0000000000..9e4d2720f8 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PortRange.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable PortRange { + int start; + int end; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PreferredNetworkType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PreferredNetworkType.aidl new file mode 100644 index 0000000000..7615dff86f --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PreferredNetworkType.aidl @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum PreferredNetworkType { + GSM_WCDMA = 0, + GSM_ONLY = 1, + WCDMA = 2, + GSM_WCDMA_AUTO = 3, + CDMA_EVDO_AUTO = 4, + CDMA_ONLY = 5, + EVDO_ONLY = 6, + GSM_WCDMA_CDMA_EVDO_AUTO = 7, + LTE_CDMA_EVDO = 8, + LTE_GSM_WCDMA = 9, + LTE_CMDA_EVDO_GSM_WCDMA = 10, + LTE_ONLY = 11, + LTE_WCDMA = 12, + TD_SCDMA_ONLY = 13, + TD_SCDMA_WCDMA = 14, + TD_SCDMA_LTE = 15, + TD_SCDMA_GSM = 16, + TD_SCDMA_GSM_LTE = 17, + TD_SCDMA_GSM_WCDMA = 18, + TD_SCDMA_WCDMA_LTE = 19, + TD_SCDMA_GSM_WCDMA_LTE = 20, + TD_SCDMA_GSM_WCDMA_CDMA_EVDO_AUTO = 21, + TD_SCDMA_LTE_CDMA_EVDO_GSM_WCDMA = 22, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PrlIndicator.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PrlIndicator.aidl new file mode 100644 index 0000000000..b596d305b4 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PrlIndicator.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum PrlIndicator { + NOT_REGISTERED = -1, + NOT_IN_PRL = 0, + IN_PRL = 1, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PublicKeyType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PublicKeyType.aidl new file mode 100644 index 0000000000..68d96e86ed --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/PublicKeyType.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="byte") @VintfStability +enum PublicKeyType { + EPDG = 1, + WLAN = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Qos.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Qos.aidl new file mode 100644 index 0000000000..d69853fa2b --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/Qos.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +union Qos { + boolean noinit; + android.hardware.radio.EpsQos eps; + android.hardware.radio.NrQos nr; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosBandwidth.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosBandwidth.aidl new file mode 100644 index 0000000000..95622bc31e --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosBandwidth.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable QosBandwidth { + int maxBitrateKbps; + int guaranteedBitrateKbps; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilter.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilter.aidl new file mode 100644 index 0000000000..3376c6626b --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilter.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable QosFilter { + String[] localAddresses; + String[] remoteAddresses; + android.hardware.radio.MaybePort localPort; + android.hardware.radio.MaybePort remotePort; + android.hardware.radio.QosProtocol protocol; + android.hardware.radio.QosFilterTypeOfService tos; + android.hardware.radio.QosFilterIpv6FlowLabel flowLabel; + android.hardware.radio.QosFilterIpsecSpi spi; + android.hardware.radio.QosFilterDirection direction; + int precedence; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterDirection.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterDirection.aidl new file mode 100644 index 0000000000..efb9c504cf --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterDirection.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="byte") @VintfStability +enum QosFilterDirection { + DOWNLINK = 0, + UPLINK = 1, + BIDIRECTIONAL = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterIpsecSpi.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterIpsecSpi.aidl new file mode 100644 index 0000000000..695b7352a2 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterIpsecSpi.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +union QosFilterIpsecSpi { + boolean noinit; + int value; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterIpv6FlowLabel.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterIpv6FlowLabel.aidl new file mode 100644 index 0000000000..5b9c82c188 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterIpv6FlowLabel.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +union QosFilterIpv6FlowLabel { + boolean noinit; + int value; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterTypeOfService.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterTypeOfService.aidl new file mode 100644 index 0000000000..c7c0331afc --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFilterTypeOfService.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +union QosFilterTypeOfService { + boolean noinit; + byte value; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFlowIdRange.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFlowIdRange.aidl new file mode 100644 index 0000000000..95468e0074 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosFlowIdRange.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="byte") @VintfStability +enum QosFlowIdRange { + MIN = 1, + MAX = 63, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosPortRange.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosPortRange.aidl new file mode 100644 index 0000000000..7171c7ebd5 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosPortRange.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum QosPortRange { + MIN = 20, + MAX = 65535, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosProtocol.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosProtocol.aidl new file mode 100644 index 0000000000..cb68f04418 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosProtocol.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="byte") @VintfStability +enum QosProtocol { + UNSPECIFIED = -1, + TCP = 6, + UDP = 17, + ESP = 50, + AH = 51, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosSession.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosSession.aidl new file mode 100644 index 0000000000..8f1b913fb2 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/QosSession.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable QosSession { + int qosSessionId; + android.hardware.radio.Qos qos; + android.hardware.radio.QosFilter[] qosFilters; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessFamily.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessFamily.aidl new file mode 100644 index 0000000000..10a956e4d8 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessFamily.aidl @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum RadioAccessFamily { + UNKNOWN = 1, + GPRS = 2, + EDGE = 4, + UMTS = 8, + IS95A = 16, + IS95B = 32, + ONE_X_RTT = 64, + EVDO_0 = 128, + EVDO_A = 256, + HSDPA = 512, + HSUPA = 1024, + HSPA = 2048, + EVDO_B = 4096, + EHRPD = 8192, + LTE = 16384, + HSPAP = 32768, + GSM = 65536, + TD_SCDMA = 131072, + LTE_CA = 524288, + NR = 1048576, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessNetworks.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessNetworks.aidl new file mode 100644 index 0000000000..67f5e8a246 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessNetworks.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum RadioAccessNetworks { + UNKNOWN = 0, + GERAN = 1, + UTRAN = 2, + EUTRAN = 3, + NGRAN = 4, + CDMA2000 = 5, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessSpecifier.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessSpecifier.aidl new file mode 100644 index 0000000000..b47ee2d49c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessSpecifier.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable RadioAccessSpecifier { + android.hardware.radio.RadioAccessNetworks radioAccessNetwork; + android.hardware.radio.RadioAccessSpecifierBands bands; + int[] channels; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessSpecifierBands.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessSpecifierBands.aidl new file mode 100644 index 0000000000..9d0a99733c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioAccessSpecifierBands.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +union RadioAccessSpecifierBands { + boolean noinit; + android.hardware.radio.GeranBands[] geranBands; + android.hardware.radio.UtranBands[] utranBands; + android.hardware.radio.EutranBands[] eutranBands; + android.hardware.radio.NgranBands[] ngranBands; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioBandMode.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioBandMode.aidl new file mode 100644 index 0000000000..973ca524b1 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioBandMode.aidl @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum RadioBandMode { + BAND_MODE_UNSPECIFIED = 0, + BAND_MODE_EURO = 1, + BAND_MODE_USA = 2, + BAND_MODE_JPN = 3, + BAND_MODE_AUS = 4, + BAND_MODE_AUS_2 = 5, + BAND_MODE_CELL_800 = 6, + BAND_MODE_PCS = 7, + BAND_MODE_JTACS = 8, + BAND_MODE_KOREA_PCS = 9, + BAND_MODE_5_450M = 10, + BAND_MODE_IMT2000 = 11, + BAND_MODE_7_700M_2 = 12, + BAND_MODE_8_1800M = 13, + BAND_MODE_9_900M = 14, + BAND_MODE_10_800M_2 = 15, + BAND_MODE_EURO_PAMR_400M = 16, + BAND_MODE_AWS = 17, + BAND_MODE_USA_2500M = 18, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCapability.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCapability.aidl new file mode 100644 index 0000000000..99c1a41363 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCapability.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable RadioCapability { + int session; + android.hardware.radio.RadioCapabilityPhase phase; + android.hardware.radio.RadioAccessFamily raf; + String logicalModemUuid; + android.hardware.radio.RadioCapabilityStatus status; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCapabilityPhase.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCapabilityPhase.aidl new file mode 100644 index 0000000000..7a4b9adac2 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCapabilityPhase.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum RadioCapabilityPhase { + CONFIGURED = 0, + START = 1, + APPLY = 2, + UNSOL_RSP = 3, + FINISH = 4, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCapabilityStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCapabilityStatus.aidl new file mode 100644 index 0000000000..72e0bd53f2 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCapabilityStatus.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum RadioCapabilityStatus { + NONE = 0, + SUCCESS = 1, + FAIL = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCdmaSmsConst.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCdmaSmsConst.aidl new file mode 100644 index 0000000000..7e5c471841 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioCdmaSmsConst.aidl @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum RadioCdmaSmsConst { + ADDRESS_MAX = 36, + SUBADDRESS_MAX = 36, + BEARER_DATA_MAX = 255, + UDH_MAX_SND_SIZE = 128, + UDH_EO_DATA_SEGMENT_MAX = 131, + MAX_UD_HEADERS = 7, + USER_DATA_MAX = 229, + UDH_LARGE_PIC_SIZE = 128, + UDH_SMALL_PIC_SIZE = 32, + UDH_VAR_PIC_SIZE = 134, + UDH_ANIM_NUM_BITMAPS = 4, + UDH_LARGE_BITMAP_SIZE = 32, + UDH_SMALL_BITMAP_SIZE = 8, + UDH_OTHER_SIZE = 226, + IP_ADDRESS_SIZE = 4, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioConst.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioConst.aidl new file mode 100644 index 0000000000..d37f13bf0f --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioConst.aidl @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum RadioConst { + CDMA_ALPHA_INFO_BUFFER_LENGTH = 64, + CDMA_NUMBER_INFO_BUFFER_LENGTH = 81, + MAX_RILDS = 3, + MAX_SOCKET_NAME_LENGTH = 6, + MAX_CLIENT_ID_LENGTH = 2, + MAX_DEBUG_SOCKET_NAME_LENGTH = 12, + MAX_QEMU_PIPE_NAME_LENGTH = 11, + MAX_UUID_LENGTH = 64, + CARD_MAX_APPS = 8, + CDMA_MAX_NUMBER_OF_INFO_RECS = 10, + SS_INFO_MAX = 4, + NUM_SERVICE_CLASSES = 7, + NUM_TX_POWER_LEVELS = 5, + RADIO_ACCESS_SPECIFIER_MAX_SIZE = 8, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioError.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioError.aidl new file mode 100644 index 0000000000..3ef67bccdb --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioError.aidl @@ -0,0 +1,126 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum RadioError { + NONE = 0, + RADIO_NOT_AVAILABLE = 1, + GENERIC_FAILURE = 2, + PASSWORD_INCORRECT = 3, + SIM_PIN2 = 4, + SIM_PUK2 = 5, + REQUEST_NOT_SUPPORTED = 6, + CANCELLED = 7, + OP_NOT_ALLOWED_DURING_VOICE_CALL = 8, + OP_NOT_ALLOWED_BEFORE_REG_TO_NW = 9, + SMS_SEND_FAIL_RETRY = 10, + SIM_ABSENT = 11, + SUBSCRIPTION_NOT_AVAILABLE = 12, + MODE_NOT_SUPPORTED = 13, + FDN_CHECK_FAILURE = 14, + ILLEGAL_SIM_OR_ME = 15, + MISSING_RESOURCE = 16, + NO_SUCH_ELEMENT = 17, + DIAL_MODIFIED_TO_USSD = 18, + DIAL_MODIFIED_TO_SS = 19, + DIAL_MODIFIED_TO_DIAL = 20, + USSD_MODIFIED_TO_DIAL = 21, + USSD_MODIFIED_TO_SS = 22, + USSD_MODIFIED_TO_USSD = 23, + SS_MODIFIED_TO_DIAL = 24, + SS_MODIFIED_TO_USSD = 25, + SUBSCRIPTION_NOT_SUPPORTED = 26, + SS_MODIFIED_TO_SS = 27, + LCE_NOT_SUPPORTED = 36, + NO_MEMORY = 37, + INTERNAL_ERR = 38, + SYSTEM_ERR = 39, + MODEM_ERR = 40, + INVALID_STATE = 41, + NO_RESOURCES = 42, + SIM_ERR = 43, + INVALID_ARGUMENTS = 44, + INVALID_SIM_STATE = 45, + INVALID_MODEM_STATE = 46, + INVALID_CALL_ID = 47, + NO_SMS_TO_ACK = 48, + NETWORK_ERR = 49, + REQUEST_RATE_LIMITED = 50, + SIM_BUSY = 51, + SIM_FULL = 52, + NETWORK_REJECT = 53, + OPERATION_NOT_ALLOWED = 54, + EMPTY_RECORD = 55, + INVALID_SMS_FORMAT = 56, + ENCODING_ERR = 57, + INVALID_SMSC_ADDRESS = 58, + NO_SUCH_ENTRY = 59, + NETWORK_NOT_READY = 60, + NOT_PROVISIONED = 61, + NO_SUBSCRIPTION = 62, + NO_NETWORK_FOUND = 63, + DEVICE_IN_USE = 64, + ABORTED = 65, + INVALID_RESPONSE = 66, + OEM_ERROR_1 = 501, + OEM_ERROR_2 = 502, + OEM_ERROR_3 = 503, + OEM_ERROR_4 = 504, + OEM_ERROR_5 = 505, + OEM_ERROR_6 = 506, + OEM_ERROR_7 = 507, + OEM_ERROR_8 = 508, + OEM_ERROR_9 = 509, + OEM_ERROR_10 = 510, + OEM_ERROR_11 = 511, + OEM_ERROR_12 = 512, + OEM_ERROR_13 = 513, + OEM_ERROR_14 = 514, + OEM_ERROR_15 = 515, + OEM_ERROR_16 = 516, + OEM_ERROR_17 = 517, + OEM_ERROR_18 = 518, + OEM_ERROR_19 = 519, + OEM_ERROR_20 = 520, + OEM_ERROR_21 = 521, + OEM_ERROR_22 = 522, + OEM_ERROR_23 = 523, + OEM_ERROR_24 = 524, + OEM_ERROR_25 = 525, + SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED = 67, + ACCESS_BARRED = 68, + BLOCKED_DUE_TO_CALL = 69, + RF_HARDWARE_ISSUE = 70, + NO_RF_CALIBRATION_INFO = 71, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioFrequencyInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioFrequencyInfo.aidl new file mode 100644 index 0000000000..6c0704585e --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioFrequencyInfo.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +union RadioFrequencyInfo { + boolean noinit; + android.hardware.radio.FrequencyRange range; + int channelNumber; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioIndicationType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioIndicationType.aidl new file mode 100644 index 0000000000..fc5d4dfc04 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioIndicationType.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum RadioIndicationType { + UNSOLICITED = 0, + UNSOLICITED_ACK_EXP = 1, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseInfo.aidl new file mode 100644 index 0000000000..08c30232f5 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseInfo.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable RadioResponseInfo { + android.hardware.radio.RadioResponseType type; + int serial; + android.hardware.radio.RadioError error; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseInfoModem.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseInfoModem.aidl new file mode 100644 index 0000000000..cbc4ab9759 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseInfoModem.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable RadioResponseInfoModem { + android.hardware.radio.RadioResponseType type; + int serial; + android.hardware.radio.RadioError error; + boolean isEnabled; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseType.aidl new file mode 100644 index 0000000000..cf24183016 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioResponseType.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum RadioResponseType { + SOLICITED = 0, + SOLICITED_ACK = 1, + SOLICITED_ACK_EXP = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioState.aidl new file mode 100644 index 0000000000..3dad483679 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioState.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum RadioState { + OFF = 0, + UNAVAILABLE = 1, + ON = 10, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioTechnology.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioTechnology.aidl new file mode 100644 index 0000000000..d0ca9b5cf5 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioTechnology.aidl @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum RadioTechnology { + UNKNOWN = 0, + GPRS = 1, + EDGE = 2, + UMTS = 3, + IS95A = 4, + IS95B = 5, + ONE_X_RTT = 6, + EVDO_0 = 7, + EVDO_A = 8, + HSDPA = 9, + HSUPA = 10, + HSPA = 11, + EVDO_B = 12, + EHRPD = 13, + LTE = 14, + HSPAP = 15, + GSM = 16, + TD_SCDMA = 17, + IWLAN = 18, + LTE_CA = 19, + NR = 20, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioTechnologyFamily.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioTechnologyFamily.aidl new file mode 100644 index 0000000000..c11cd1cac6 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RadioTechnologyFamily.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum RadioTechnologyFamily { + THREE_GPP = 0, + THREE_GPP2 = 1, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegState.aidl new file mode 100644 index 0000000000..049ded1c1d --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegState.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum RegState { + NOT_REG_MT_NOT_SEARCHING_OP = 0, + REG_HOME = 1, + NOT_REG_MT_SEARCHING_OP = 2, + REG_DENIED = 3, + UNKNOWN = 4, + REG_ROAMING = 5, + NOT_REG_MT_NOT_SEARCHING_OP_EM = 10, + NOT_REG_MT_SEARCHING_OP_EM = 12, + REG_DENIED_EM = 13, + UNKNOWN_EM = 14, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResult.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResult.aidl new file mode 100644 index 0000000000..78c5c2d30f --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResult.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable RegStateResult { + android.hardware.radio.RegState regState; + android.hardware.radio.RadioTechnology rat; + android.hardware.radio.RegistrationFailCause reasonForDenial; + android.hardware.radio.CellIdentity cellIdentity; + String registeredPlmn; + android.hardware.radio.RegStateResultAccessTechnologySpecificInfo accessTechnologySpecificInfo; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResultAccessTechnologySpecificInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResultAccessTechnologySpecificInfo.aidl new file mode 100644 index 0000000000..6ce6398498 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResultAccessTechnologySpecificInfo.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +union RegStateResultAccessTechnologySpecificInfo { + boolean noinit; + android.hardware.radio.RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo cdmaInfo; + android.hardware.radio.RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo eutranInfo; + android.hardware.radio.NrVopsInfo ngranNrVopsInfo; + boolean geranDtmSupported; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo.aidl new file mode 100644 index 0000000000..a56a791c7a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo { + boolean cssSupported; + int roamingIndicator; + android.hardware.radio.PrlIndicator systemIsInPrl; + int defaultRoamingIndicator; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo.aidl new file mode 100644 index 0000000000..ed422eb967 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo { + android.hardware.radio.LteVopsInfo lteVopsInfo; + android.hardware.radio.NrIndicators nrIndicators; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegistrationFailCause.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegistrationFailCause.aidl new file mode 100644 index 0000000000..c5529b6ddb --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RegistrationFailCause.aidl @@ -0,0 +1,89 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum RegistrationFailCause { + NONE = 0, + IMSI_UNKNOWN_IN_HLR = 2, + ILLEGAL_MS = 3, + IMSI_UNKNOWN_IN_VLR = 4, + IMEI_NOT_ACCEPTED = 5, + ILLEGAL_ME = 6, + GPRS_SERVICES_NOT_ALLOWED = 7, + GPRS_AND_NON_GPRS_SERVICES_NOT_ALLOWED = 8, + MS_IDENTITY_CANNOT_BE_DERIVED_BY_NETWORK = 9, + IMPLICITLY_DETACHED = 10, + PLMN_NOT_ALLOWED = 11, + LOCATION_AREA_NOT_ALLOWED = 12, + ROAMING_NOT_ALLOWED = 13, + GPRS_SERVICES_NOT_ALLOWED_IN_PLMN = 14, + NO_SUITABLE_CELLS = 15, + MSC_TEMPORARILY_NOT_REACHABLE = 15, + NETWORK_FAILURE = 17, + MAC_FAILURE = 20, + SYNC_FAILURE = 21, + CONGESTION = 22, + GSM_AUTHENTICATION_UNACCEPTABLE = 23, + NOT_AUTHORIZED_FOR_THIS_CSG = 25, + SMS_PROVIDED_BY_GPRS_IN_ROUTING_AREA = 26, + SERVICE_OPTION_NOT_SUPPORTED = 32, + SERVICE_OPTION_NOT_SUBSCRIBED = 33, + SERVICE_OPTION_TEMPORARILY_OUT_OF_ORDER = 34, + CALL_CANNOT_BE_IDENTIFIED = 38, + NO_PDP_CONTEXT_ACTIVATED = 40, + RETRY_UPON_ENTRY_INTO_NEW_CELL_1 = 48, + RETRY_UPON_ENTRY_INTO_NEW_CELL_2 = 49, + RETRY_UPON_ENTRY_INTO_NEW_CELL_3 = 50, + RETRY_UPON_ENTRY_INTO_NEW_CELL_4 = 51, + RETRY_UPON_ENTRY_INTO_NEW_CELL_5 = 52, + RETRY_UPON_ENTRY_INTO_NEW_CELL_6 = 53, + RETRY_UPON_ENTRY_INTO_NEW_CELL_7 = 54, + RETRY_UPON_ENTRY_INTO_NEW_CELL_8 = 55, + RETRY_UPON_ENTRY_INTO_NEW_CELL_9 = 56, + RETRY_UPON_ENTRY_INTO_NEW_CELL_10 = 57, + RETRY_UPON_ENTRY_INTO_NEW_CELL_11 = 58, + RETRY_UPON_ENTRY_INTO_NEW_CELL_12 = 59, + RETRY_UPON_ENTRY_INTO_NEW_CELL_13 = 60, + RETRY_UPON_ENTRY_INTO_NEW_CELL_14 = 61, + RETRY_UPON_ENTRY_INTO_NEW_CELL_15 = 62, + RETRY_UPON_ENTRY_INTO_NEW_CELL_16 = 63, + SEMANTICALLY_INCORRECT_MESSAGE = 95, + INVALID_MANDATORY_INFORMATION = 96, + MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED = 97, + MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98, + INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED = 99, + CONDITIONAL_IE_ERROR = 100, + MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101, + PROTOCOL_ERROR_UNSPECIFIED = 111, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ResetNvType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ResetNvType.aidl new file mode 100644 index 0000000000..3852a7719e --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ResetNvType.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum ResetNvType { + RELOAD = 0, + ERASE = 1, + FACTORY_RESET = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RestrictedState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RestrictedState.aidl new file mode 100644 index 0000000000..dc83ba57af --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RestrictedState.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum RestrictedState { + NONE = 0, + CS_EMERGENCY = 1, + CS_NORMAL = 2, + CS_ALL = 4, + PS_ALL = 16, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RouteSelectionDescriptor.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RouteSelectionDescriptor.aidl new file mode 100644 index 0000000000..689ee2ff97 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/RouteSelectionDescriptor.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable RouteSelectionDescriptor { + byte precedence; + android.hardware.radio.OptionalPdpProtocolType sessionType; + android.hardware.radio.OptionalSscMode sscMode; + android.hardware.radio.SliceInfo[] sliceInfo; + String[] dnn; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapApduType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapApduType.aidl new file mode 100644 index 0000000000..9bfb725bfa --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapApduType.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum SapApduType { + APDU = 0, + APDU7816 = 1, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapConnectRsp.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapConnectRsp.aidl new file mode 100644 index 0000000000..7e4d246765 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapConnectRsp.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum SapConnectRsp { + SUCCESS = 0, + CONNECT_FAILURE = 1, + MSG_SIZE_TOO_LARGE = 2, + MSG_SIZE_TOO_SMALL = 3, + CONNECT_OK_CALL_ONGOING = 4, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapDisconnectType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapDisconnectType.aidl new file mode 100644 index 0000000000..e0d8eb2481 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapDisconnectType.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum SapDisconnectType { + GRACEFUL = 0, + IMMEDIATE = 1, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapResultCode.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapResultCode.aidl new file mode 100644 index 0000000000..0c6c5139dd --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapResultCode.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum SapResultCode { + SUCCESS = 0, + GENERIC_FAILURE = 1, + CARD_NOT_ACCESSSIBLE = 2, + CARD_ALREADY_POWERED_OFF = 3, + CARD_REMOVED = 4, + CARD_ALREADY_POWERED_ON = 5, + DATA_NOT_AVAILABLE = 6, + NOT_SUPPORTED = 7, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapStatus.aidl new file mode 100644 index 0000000000..715c5074a5 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapStatus.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum SapStatus { + UNKNOWN_ERROR = 0, + CARD_RESET = 1, + CARD_NOT_ACCESSIBLE = 2, + CARD_REMOVED = 3, + CARD_INSERTED = 4, + RECOVERED = 5, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapTransferProtocol.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapTransferProtocol.aidl new file mode 100644 index 0000000000..6eadbb7737 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SapTransferProtocol.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum SapTransferProtocol { + T0 = 0, + T1 = 1, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ScanIntervalRange.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ScanIntervalRange.aidl new file mode 100644 index 0000000000..3e6539b8f9 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ScanIntervalRange.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum ScanIntervalRange { + MIN = 5, + MAX = 300, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ScanStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ScanStatus.aidl new file mode 100644 index 0000000000..f8810b6690 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ScanStatus.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum ScanStatus { + PARTIAL = 1, + COMPLETE = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ScanType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ScanType.aidl new file mode 100644 index 0000000000..7d51ce25f1 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/ScanType.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum ScanType { + ONE_SHOT = 0, + PERIODIC = 1, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SelectUiccSub.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SelectUiccSub.aidl new file mode 100644 index 0000000000..a285f64891 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SelectUiccSub.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable SelectUiccSub { + int slot; + int appIndex; + android.hardware.radio.SubscriptionType subType; + android.hardware.radio.UiccSubActStatus actStatus; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SendSmsResult.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SendSmsResult.aidl new file mode 100644 index 0000000000..7063db5a3a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SendSmsResult.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable SendSmsResult { + int messageRef; + String ackPDU; + int errorCode; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SetupDataCallResult.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SetupDataCallResult.aidl new file mode 100644 index 0000000000..ae4493d50e --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SetupDataCallResult.aidl @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable SetupDataCallResult { + android.hardware.radio.DataCallFailCause cause; + long suggestedRetryTime; + int cid; + android.hardware.radio.DataConnActiveStatus active; + android.hardware.radio.PdpProtocolType type; + String ifname; + android.hardware.radio.LinkAddress[] addresses; + String[] dnses; + String[] gateways; + String[] pcscf; + int mtuV4; + int mtuV6; + android.hardware.radio.Qos defaultQos; + android.hardware.radio.QosSession[] qosSessions; + android.hardware.radio.HandoverFailureMode handoverFailureMode; + int pduSessionId; + android.hardware.radio.OptionalSliceInfo sliceInfo; + android.hardware.radio.TrafficDescriptor[] trafficDescriptors; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SignalMeasurementType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SignalMeasurementType.aidl new file mode 100644 index 0000000000..7f864e5b32 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SignalMeasurementType.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum SignalMeasurementType { + RSSI = 1, + RSCP = 2, + RSRP = 3, + RSRQ = 4, + RSSNR = 5, + SSRSRP = 6, + SSRSRQ = 7, + SSSINR = 8, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SignalStrength.aidl new file mode 100644 index 0000000000..7c7eade8a3 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SignalStrength.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable SignalStrength { + android.hardware.radio.GsmSignalStrength gsm; + android.hardware.radio.CdmaSignalStrength cdma; + android.hardware.radio.EvdoSignalStrength evdo; + android.hardware.radio.LteSignalStrength lte; + android.hardware.radio.TdscdmaSignalStrength tdscdma; + android.hardware.radio.WcdmaSignalStrength wcdma; + android.hardware.radio.NrSignalStrength nr; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SignalThresholdInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SignalThresholdInfo.aidl new file mode 100644 index 0000000000..f519d69b5b --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SignalThresholdInfo.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable SignalThresholdInfo { + android.hardware.radio.SignalMeasurementType signalMeasurement; + int hysteresisMs; + int hysteresisDb; + int[] thresholds; + boolean isEnabled; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimApdu.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimApdu.aidl new file mode 100644 index 0000000000..511031aec7 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimApdu.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable SimApdu { + int sessionId; + int cla; + int instruction; + int p1; + int p2; + int p3; + String data; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimLockMultiSimPolicy.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimLockMultiSimPolicy.aidl new file mode 100644 index 0000000000..ad967940fd --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimLockMultiSimPolicy.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum SimLockMultiSimPolicy { + NO_MULTISIM_POLICY = 0, + ONE_VALID_SIM_MUST_BE_PRESENT = 1, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimRefreshResult.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimRefreshResult.aidl new file mode 100644 index 0000000000..720c8a20fc --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimRefreshResult.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable SimRefreshResult { + android.hardware.radio.SimRefreshType type; + int efId; + String aid; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimRefreshType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimRefreshType.aidl new file mode 100644 index 0000000000..b114ec7c92 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SimRefreshType.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum SimRefreshType { + SIM_FILE_UPDATE = 0, + SIM_INIT = 1, + SIM_RESET = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SliceInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SliceInfo.aidl new file mode 100644 index 0000000000..8b363801ce --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SliceInfo.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable SliceInfo { + android.hardware.radio.SliceServiceType sst; + int sliceDifferentiator; + android.hardware.radio.SliceServiceType mappedHplmnSst; + int mappedHplmnSD; + android.hardware.radio.SliceStatus status; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SliceServiceType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SliceServiceType.aidl new file mode 100644 index 0000000000..d0a9f58d80 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SliceServiceType.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="byte") @VintfStability +enum SliceServiceType { + NONE = 0, + EMBB = 1, + URLLC = 2, + MIOT = 3, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SliceStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SliceStatus.aidl new file mode 100644 index 0000000000..3fa1ee6b15 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SliceStatus.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="byte") @VintfStability +enum SliceStatus { + UNKNOWN = 0, + CONFIGURED = 1, + ALLOWED = 2, + REJECTED_NOT_AVAILABLE_IN_PLMN = 3, + REJECTED_NOT_AVAILABLE_IN_REG_AREA = 4, + DEFAULT_CONFIGURED = 5, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SlicingConfig.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SlicingConfig.aidl new file mode 100644 index 0000000000..9d3633836c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SlicingConfig.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable SlicingConfig { + android.hardware.radio.UrspRule[] urspRules; + android.hardware.radio.SliceInfo[] sliceInfo; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SmsAcknowledgeFailCause.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SmsAcknowledgeFailCause.aidl new file mode 100644 index 0000000000..c5b13b934a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SmsAcknowledgeFailCause.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum SmsAcknowledgeFailCause { + MEMORY_CAPACITY_EXCEEDED = 211, + UNSPECIFIED_ERROR = 255, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SmsWriteArgs.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SmsWriteArgs.aidl new file mode 100644 index 0000000000..6b0d9bf3bd --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SmsWriteArgs.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable SmsWriteArgs { + android.hardware.radio.SmsWriteArgsStatus status; + String pdu; + String smsc; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SmsWriteArgsStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SmsWriteArgsStatus.aidl new file mode 100644 index 0000000000..31a3f42e77 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SmsWriteArgsStatus.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum SmsWriteArgsStatus { + REC_UNREAD = 0, + REC_READ = 1, + STO_UNSENT = 2, + STO_SENT = 3, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SrvccState.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SrvccState.aidl new file mode 100644 index 0000000000..d4a941763c --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SrvccState.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum SrvccState { + HANDOVER_STARTED = 0, + HANDOVER_COMPLETED = 1, + HANDOVER_FAILED = 2, + HANDOVER_CANCELED = 3, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsInfoData.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsInfoData.aidl new file mode 100644 index 0000000000..10b4c3d81a --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsInfoData.aidl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable SsInfoData { + int[] ssInfo; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsRequestType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsRequestType.aidl new file mode 100644 index 0000000000..75ad9bb2c5 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsRequestType.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum SsRequestType { + ACTIVATION = 0, + DEACTIVATION = 1, + INTERROGATION = 2, + REGISTRATION = 3, + ERASURE = 4, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsServiceType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsServiceType.aidl new file mode 100644 index 0000000000..c3506b10c6 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsServiceType.aidl @@ -0,0 +1,56 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum SsServiceType { + CFU = 0, + CF_BUSY = 1, + CF_NO_REPLY = 2, + CF_NOT_REACHABLE = 3, + CF_ALL = 4, + CF_ALL_CONDITIONAL = 5, + CLIP = 6, + CLIR = 7, + COLP = 8, + COLR = 9, + WAIT = 10, + BAOC = 11, + BAOIC = 12, + BAOIC_EXC_HOME = 13, + BAIC = 14, + BAIC_ROAMING = 15, + ALL_BARRING = 16, + OUTGOING_BARRING = 17, + INCOMING_BARRING = 18, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsTeleserviceType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsTeleserviceType.aidl new file mode 100644 index 0000000000..f06014cd50 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SsTeleserviceType.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum SsTeleserviceType { + ALL_TELE_AND_BEARER_SERVICES = 0, + ALL_TELESEVICES = 1, + TELEPHONY = 2, + ALL_DATA_TELESERVICES = 3, + SMS_SERVICES = 4, + ALL_TELESERVICES_EXCEPT_SMS = 5, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SscMode.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SscMode.aidl new file mode 100644 index 0000000000..e2c3e09492 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SscMode.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="byte") @VintfStability +enum SscMode { + MODE_1 = 1, + MODE_2 = 2, + MODE_3 = 3, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/StkCcUnsolSsResult.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/StkCcUnsolSsResult.aidl new file mode 100644 index 0000000000..1e4f95b69d --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/StkCcUnsolSsResult.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable StkCcUnsolSsResult { + android.hardware.radio.SsServiceType serviceType; + android.hardware.radio.SsRequestType requestType; + android.hardware.radio.SsTeleserviceType teleserviceType; + android.hardware.radio.SuppServiceClass serviceClass; + android.hardware.radio.RadioError result; + android.hardware.radio.SsInfoData[] ssInfo; + android.hardware.radio.CfData[] cfData; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SubscriptionType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SubscriptionType.aidl new file mode 100644 index 0000000000..f469f2faef --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SubscriptionType.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum SubscriptionType { + SUBSCRIPTION_1 = 0, + SUBSCRIPTION_2 = 1, + SUBSCRIPTION_3 = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SuppServiceClass.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SuppServiceClass.aidl new file mode 100644 index 0000000000..e59f40b1df --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SuppServiceClass.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum SuppServiceClass { + NONE = 0, + VOICE = 1, + DATA = 2, + FAX = 4, + SMS = 8, + DATA_SYNC = 16, + DATA_ASYNC = 32, + PACKET = 64, + PAD = 128, + MAX = 128, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SuppSvcNotification.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SuppSvcNotification.aidl new file mode 100644 index 0000000000..c098e245fc --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/SuppSvcNotification.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable SuppSvcNotification { + boolean isMT; + int code; + int index; + int type; + String number; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TdscdmaSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TdscdmaSignalStrength.aidl new file mode 100644 index 0000000000..a2ba211d3f --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TdscdmaSignalStrength.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable TdscdmaSignalStrength { + int signalStrength; + int bitErrorRate; + int rscp; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TimeStampType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TimeStampType.aidl new file mode 100644 index 0000000000..ae70522aa7 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TimeStampType.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum TimeStampType { + UNKNOWN = 0, + ANTENNA = 1, + MODEM = 2, + OEM_RIL = 3, + JAVA_RIL = 4, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TrafficDescriptor.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TrafficDescriptor.aidl new file mode 100644 index 0000000000..9f46848d44 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TrafficDescriptor.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable TrafficDescriptor { + android.hardware.radio.OptionalDnn dnn; + android.hardware.radio.OptionalOsAppId osAppId; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TtyMode.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TtyMode.aidl new file mode 100644 index 0000000000..cee3057c27 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/TtyMode.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum TtyMode { + OFF = 0, + FULL = 1, + HCO = 2, + VCO = 3, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UiccSubActStatus.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UiccSubActStatus.aidl new file mode 100644 index 0000000000..5ec511e989 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UiccSubActStatus.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum UiccSubActStatus { + DEACTIVATE = 0, + ACTIVATE = 1, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UrspRule.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UrspRule.aidl new file mode 100644 index 0000000000..ababb29539 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UrspRule.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable UrspRule { + byte precedence; + android.hardware.radio.TrafficDescriptor[] trafficDescriptors; + android.hardware.radio.RouteSelectionDescriptor[] routeSelectionDescriptor; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UssdModeType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UssdModeType.aidl new file mode 100644 index 0000000000..992a55f5d0 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UssdModeType.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum UssdModeType { + NOTIFY = 0, + REQUEST = 1, + NW_RELEASE = 2, + LOCAL_CLIENT = 3, + NOT_SUPPORTED = 4, + NW_TIMEOUT = 5, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UtranBands.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UtranBands.aidl new file mode 100644 index 0000000000..32cff727ff --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UtranBands.aidl @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum UtranBands { + BAND_1 = 1, + BAND_2 = 2, + BAND_3 = 3, + BAND_4 = 4, + BAND_5 = 5, + BAND_6 = 6, + BAND_7 = 7, + BAND_8 = 8, + BAND_9 = 9, + BAND_10 = 10, + BAND_11 = 11, + BAND_12 = 12, + BAND_13 = 13, + BAND_14 = 14, + BAND_19 = 19, + BAND_20 = 20, + BAND_21 = 21, + BAND_22 = 22, + BAND_25 = 25, + BAND_26 = 26, + BAND_A = 101, + BAND_B = 102, + BAND_C = 103, + BAND_D = 104, + BAND_E = 105, + BAND_F = 106, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UusDcs.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UusDcs.aidl new file mode 100644 index 0000000000..cf1bacacb3 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UusDcs.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum UusDcs { + USP = 0, + OSIHLP = 1, + X244 = 2, + RMCF = 3, + IA5C = 4, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UusInfo.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UusInfo.aidl new file mode 100644 index 0000000000..3551fe3b70 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UusInfo.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable UusInfo { + android.hardware.radio.UusType uusType; + android.hardware.radio.UusDcs uusDcs; + String uusData; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UusType.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UusType.aidl new file mode 100644 index 0000000000..7176d400c5 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/UusType.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="int") @VintfStability +enum UusType { + TYPE1_IMPLICIT = 0, + TYPE1_REQUIRED = 1, + TYPE1_NOT_REQUIRED = 2, + TYPE2_REQUIRED = 3, + TYPE2_NOT_REQUIRED = 4, + TYPE3_REQUIRED = 5, + TYPE3_NOT_REQUIRED = 6, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/VoiceRegStateResult.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/VoiceRegStateResult.aidl new file mode 100644 index 0000000000..a693ff5240 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/VoiceRegStateResult.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable VoiceRegStateResult { + android.hardware.radio.RegState regState; + int rat; + boolean cssSupported; + int roamingIndicator; + int systemIsInPrl; + int defaultRoamingIndicator; + int reasonForDenial; + android.hardware.radio.CellIdentity cellIdentity; +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/VopsIndicator.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/VopsIndicator.aidl new file mode 100644 index 0000000000..028b71907d --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/VopsIndicator.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@Backing(type="byte") @VintfStability +enum VopsIndicator { + VOPS_NOT_SUPPORTED = 0, + VOPS_OVER_3GPP = 1, + VOPS_OVER_NON_3GPP = 2, +} diff --git a/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/WcdmaSignalStrength.aidl b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/WcdmaSignalStrength.aidl new file mode 100644 index 0000000000..764ddedfa1 --- /dev/null +++ b/radio/aidl/aidl_api/android.hardware.radio/current/android/hardware/radio/WcdmaSignalStrength.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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. + */ +/////////////////////////////////////////////////////////////////////////////// +// THIS FILE IS IMMUTABLE. DO NOT EDIT IN ANY CASE. // +/////////////////////////////////////////////////////////////////////////////// + +// This file is a snapshot of an AIDL file. Do not edit it manually. There are +// two cases: +// 1). this is a frozen version file - do not edit this in any case. +// 2). this is a 'current' file. If you make a backwards compatible change to +// the interface (from the latest frozen version), the build system will +// prompt you to update this file with `m -update-api`. +// +// You must not make a backward incompatible change to any AIDL file built +// with the aidl_interface module type with versions property set. The module +// type is used to build AIDL files in a way that they can be used across +// independently updatable components of the system. If a device is shipped +// with such a backward incompatible change, it has a high risk of breaking +// later when a module using the interface is updated, e.g., Mainline modules. + +package android.hardware.radio; +@VintfStability +parcelable WcdmaSignalStrength { + int signalStrength; + int bitErrorRate; + int rscp; + int ecno; +} diff --git a/radio/aidl/android/hardware/radio/AccessNetwork.aidl b/radio/aidl/android/hardware/radio/AccessNetwork.aidl new file mode 100644 index 0000000000..10b84f4948 --- /dev/null +++ b/radio/aidl/android/hardware/radio/AccessNetwork.aidl @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum AccessNetwork { + /** + * Unknown access network + */ + UNKNOWN, + /** + * GSM EDGE Radio Access Network + */ + GERAN, + /** + * Universal Terrestrial Radio Access Network + */ + UTRAN, + /** + * Evolved Universal Terrestrial Radio Access Network + */ + EUTRAN, + /** + * CDMA 2000 network + */ + CDMA2000, + /** + * Interworking Wireless LAN + */ + IWLAN, + /** + * Next-Generation Radio Access Network (NGRAN). + * Note NGRAN is only for standalone mode. Non-standalone mode uses AccessNetwork EUTRAN. + */ + NGRAN, +} diff --git a/radio/aidl/android/hardware/radio/ActivityStatsInfo.aidl b/radio/aidl/android/hardware/radio/ActivityStatsInfo.aidl new file mode 100644 index 0000000000..f1a6e0e355 --- /dev/null +++ b/radio/aidl/android/hardware/radio/ActivityStatsInfo.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable ActivityStatsInfo { + /** + * Total time (in ms) when modem is in a low power or sleep state + */ + int sleepModeTimeMs; + /** + * Total time (in ms) when modem is awake but neither the transmitter nor receiver are + * active/awake + */ + int idleModeTimeMs; + /** + * Each index represent total time (in ms) during which the transmitter is active/awake for a + * particular power range as shown below. + * index 0 = tx_power < 0dBm + * index 1 = 0dBm < tx_power < 5dBm + * index 2 = 5dBm < tx_power < 15dBm + * index 3 = 15dBm < tx_power < 20dBm + * index 4 = tx_power > 20dBm + */ + int[] txmModetimeMs; + /** + * Total time (in ms) for which receiver is active/awake and the transmitter is inactive + */ + int rxModeTimeMs; +} diff --git a/radio/aidl/android/hardware/radio/AddressProperty.aidl b/radio/aidl/android/hardware/radio/AddressProperty.aidl new file mode 100644 index 0000000000..dbafc17b2b --- /dev/null +++ b/radio/aidl/android/hardware/radio/AddressProperty.aidl @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2021 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; + +/** + * The properties of the link address. This enum reflects the definition in if_addr.h in + * Linux kernel. + */ +@VintfStability +@Backing(type="int") +enum AddressProperty { + NONE = 0, + /** + * Indicates this address is deprecated + */ + DEPRECATED = 0x20, +} diff --git a/radio/aidl/android/hardware/radio/ApnAuthType.aidl b/radio/aidl/android/hardware/radio/ApnAuthType.aidl new file mode 100644 index 0000000000..c836a31476 --- /dev/null +++ b/radio/aidl/android/hardware/radio/ApnAuthType.aidl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum ApnAuthType { + /** + * PAP and CHAP is never performed. + */ + NO_PAP_NO_CHAP, + /** + * PAP may be performed; CHAP is never performed. + */ + PAP_NO_CHAP, + /** + * CHAP may be performed; PAP is never performed. + */ + NO_PAP_CHAP, + /** + * PAP / CHAP may be performed - baseband dependent. + */ + PAP_CHAP, +} diff --git a/radio/aidl/android/hardware/radio/ApnTypes.aidl b/radio/aidl/android/hardware/radio/ApnTypes.aidl new file mode 100644 index 0000000000..340301fd40 --- /dev/null +++ b/radio/aidl/android/hardware/radio/ApnTypes.aidl @@ -0,0 +1,81 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum ApnTypes { + /** + * None + */ + NONE = 0, + /** + * APN type for default data traffic + */ + DEFAULT = 1 << 0, + /** + * APN type for MMS traffic + */ + MMS = 1 << 1, + /** + * APN type for SUPL assisted GPS + */ + SUPL = 1 << 2, + /** + * APN type for DUN traffic + */ + DUN = 1 << 3, + /** + * APN type for HiPri traffic + */ + HIPRI = 1 << 4, + /** + * APN type for FOTA + */ + FOTA = 1 << 5, + /** + * APN type for IMS + */ + IMS = 1 << 6, + /** + * APN type for CBS + */ + CBS = 1 << 7, + /** + * APN type for IA Initial Attach APN + */ + IA = 1 << 8, + /** + * APN type for Emergency PDN. This is not an IA apn, but is used for access to carrier services + * in an emergency call situation. + */ + EMERGENCY = 1 << 9, + /** + * Due to the addition of values after EMERGENCY (eg. MCX, XCAP), this value is now deprecated + * and should not be used. + */ + ALL = DEFAULT | MMS | SUPL | DUN | HIPRI | FOTA | IMS | CBS | IA | EMERGENCY, + /** + * APN type for Mission Critical Service + * Reference: 3GPP TS 22.280 V15.3.0 + */ + MCX = 1 << 10, + /** + * APN type for XCAP + */ + XCAP = 1 << 11, +} diff --git a/radio/aidl/android/hardware/radio/AppState.aidl b/radio/aidl/android/hardware/radio/AppState.aidl new file mode 100644 index 0000000000..9488282cc2 --- /dev/null +++ b/radio/aidl/android/hardware/radio/AppState.aidl @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum AppState { + UNKNOWN, + DETECTED, + /** + * If PIN1 or UPin is required + */ + PIN, + /** + * If PUK1 or Puk for Upin is required + */ + PUK, + /** + * perso_substate must be looked at when app_state is assigned to this value + */ + SUBSCRIPTION_PERSO, + READY, +} diff --git a/radio/aidl/android/hardware/radio/AppStatus.aidl b/radio/aidl/android/hardware/radio/AppStatus.aidl new file mode 100644 index 0000000000..6b6269754d --- /dev/null +++ b/radio/aidl/android/hardware/radio/AppStatus.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.AppState; +import android.hardware.radio.AppType; +import android.hardware.radio.PersoSubstate; +import android.hardware.radio.PinState; + +@VintfStability +parcelable AppStatus { + AppType appType; + AppState appState; + /** + * Applicable only if appState == SUBSCRIPTION_PERSO + */ + PersoSubstate persoSubstate; + /** + * e.g., from 0xA0, 0x00 -> 0x41, 0x30, 0x30, 0x30 + */ + String aidPtr; + String appLabelPtr; + /** + * Applicable to USIM, CSIM and ISIM + */ + int pin1Replaced; + PinState pin1; + PinState pin2; +} diff --git a/radio/aidl/android/hardware/radio/AppType.aidl b/radio/aidl/android/hardware/radio/AppType.aidl new file mode 100644 index 0000000000..8403f7dd63 --- /dev/null +++ b/radio/aidl/android/hardware/radio/AppType.aidl @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum AppType { + UNKNOWN, + SIM, + USIM, + RUIM, + CSIM, + ISIM, +} diff --git a/radio/aidl/android/hardware/radio/AudioQuality.aidl b/radio/aidl/android/hardware/radio/AudioQuality.aidl new file mode 100644 index 0000000000..bc4c2f1201 --- /dev/null +++ b/radio/aidl/android/hardware/radio/AudioQuality.aidl @@ -0,0 +1,66 @@ +/* + * Copyright (C) 2021 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; + +/** + * Audio codec which is used on GSM, UMTS, and CDMA. These values must be opaque to the Android + * framework. Only for display. + */ +@VintfStability +@Backing(type="int") +enum AudioQuality { + /** + * Unspecified audio codec + */ + UNSPECIFIED, + /** + * AMR (Narrowband) audio codec + */ + AMR, + /** + * AMR (Wideband) audio codec + */ + AMR_WB, + /** + * GSM Enhanced Full-Rate audio codec + */ + GSM_EFR, + /** + * GSM Full-Rate audio codec + */ + GSM_FR, + /** + * GSM Half-Rate audio codec + */ + GSM_HR, + /** + * Enhanced Variable rate codec + */ + EVRC, + /** + * Enhanced Variable rate codec revision B + */ + EVRC_B, + /** + * Enhanced Variable rate codec (Wideband) + */ + EVRC_WB, + /** + * Enhanced Variable rate codec (Narrowband) + */ + EVRC_NW, +} diff --git a/radio/aidl/android/hardware/radio/BarringInfo.aidl b/radio/aidl/android/hardware/radio/BarringInfo.aidl new file mode 100644 index 0000000000..c50fa4b5db --- /dev/null +++ b/radio/aidl/android/hardware/radio/BarringInfo.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.BarringInfoBarringType; +import android.hardware.radio.BarringInfoBarringTypeSpecificInfo; +import android.hardware.radio.BarringInfoServiceType; + +@VintfStability +parcelable BarringInfo { + /** + * Combined list of barring services for UTRAN, EUTRAN, and NGRAN. + * + * Barring information is defined in: + * -UTRAN - 3gpp 25.331 Sec 10.2.48.8.6. + * -EUTRAN - 3gpp 36.331 Sec 6.3.1 SystemInformationBlockType2 + * -NGRAN - 3gpp 38.331 Sec 6.3.2 UAC-BarringInfo and 22.261 Sec 6.22.2.[2-3] + */ + BarringInfoServiceType serviceType; + /** + * The type of barring applied to the service + */ + BarringInfoBarringType barringType; + /** + * Type-specific barring info if applicable + */ + BarringInfoBarringTypeSpecificInfo barringTypeSpecificInfo; +} diff --git a/radio/aidl/android/hardware/radio/BarringInfoBarringType.aidl b/radio/aidl/android/hardware/radio/BarringInfoBarringType.aidl new file mode 100644 index 0000000000..41f5fbb719 --- /dev/null +++ b/radio/aidl/android/hardware/radio/BarringInfoBarringType.aidl @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum BarringInfoBarringType { + /** + * Device is not barred for the given service + */ + NONE, + /** + * Device may be barred based on time and probability factors + */ + CONDITIONAL, + /* + * Device is unconditionally barred + */ + UNCONDITIONAL, +} diff --git a/radio/aidl/android/hardware/radio/BarringInfoBarringTypeSpecificInfo.aidl b/radio/aidl/android/hardware/radio/BarringInfoBarringTypeSpecificInfo.aidl new file mode 100644 index 0000000000..18f309dad4 --- /dev/null +++ b/radio/aidl/android/hardware/radio/BarringInfoBarringTypeSpecificInfo.aidl @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.BarringInfoBarringTypeSpecificInfoConditional; + +@VintfStability +union BarringInfoBarringTypeSpecificInfo { + /** + * Barring type is either none or unconditional + */ + boolean noinit; + /** + * Must be included if barring is conditional + */ + BarringInfoBarringTypeSpecificInfoConditional conditional; +} diff --git a/radio/aidl/android/hardware/radio/BarringInfoBarringTypeSpecificInfoConditional.aidl b/radio/aidl/android/hardware/radio/BarringInfoBarringTypeSpecificInfoConditional.aidl new file mode 100644 index 0000000000..e3b7dfa657 --- /dev/null +++ b/radio/aidl/android/hardware/radio/BarringInfoBarringTypeSpecificInfoConditional.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable BarringInfoBarringTypeSpecificInfoConditional { + /** + * The barring factor as a percentage 0-100 + */ + int factor; + /** + * The number of seconds between re-evaluations of barring + */ + int timeSeconds; + /** + * Indicates whether barring is currently being applied. + * + *

True if the UE applies barring to a conditionally barred service based on the conditional + * barring parameters. + * + *

False if the service is conditionally barred but barring is not currently applied, which + * could be due to either the barring criteria not having been evaluated (if the UE has not + * attempted to use the service) or due to the criteria being evaluated and the UE being + * permitted to use the service despite conditional barring. + */ + boolean isBarred; +} diff --git a/radio/aidl/android/hardware/radio/BarringInfoServiceType.aidl b/radio/aidl/android/hardware/radio/BarringInfoServiceType.aidl new file mode 100644 index 0000000000..1fa52a06d5 --- /dev/null +++ b/radio/aidl/android/hardware/radio/BarringInfoServiceType.aidl @@ -0,0 +1,100 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum BarringInfoServiceType { + /** + * Applicable to UTRAN + * Barring for all CS services, including registration + */ + CS_SERVICE, + /** + * Barring for all PS services, including registration + */ + PS_SERVICE, + /** + * Barring for mobile-originated circuit-switched voice calls + */ + CS_VOICE, + /** + * Applicable to EUTRAN, NGRAN + * Barring for mobile-originated signalling for any purpose + */ + MO_SIGNALLING, + /** + * Barring for mobile-originated internet or other interactive data + */ + MO_DATA, + /** + * Barring for circuit-switched fallback calling + */ + CS_FALLBACK, + /** + * Barring for IMS voice calling + */ + MMTEL_VOICE, + /** + * Barring for IMS video calling + */ + MMTEL_VIDEO, + /** + * Applicable to UTRAN, EUTRAN, NGRAN + * Barring for emergency services, either CS or emergency MMTEL + */ + EMERGENCY, + /** + * Barring for short message services + */ + SMS, + /** + * Operator-specific barring codes; applicable to NGRAN + */ + OPERATOR_1 = 1001, + OPERATOR_2 = 1002, + OPERATOR_3 = 1003, + OPERATOR_4 = 1004, + OPERATOR_5 = 1005, + OPERATOR_6 = 1006, + OPERATOR_7 = 1007, + OPERATOR_8 = 1008, + OPERATOR_9 = 1009, + OPERATOR_10 = 1010, + OPERATOR_11 = 1011, + OPERATOR_12 = 1012, + OPERATOR_13 = 1013, + OPERATOR_14 = 1014, + OPERATOR_15 = 1015, + OPERATOR_16 = 1016, + OPERATOR_17 = 1017, + OPERATOR_18 = 1018, + OPERATOR_19 = 1019, + OPERATOR_20 = 1020, + OPERATOR_21 = 1021, + OPERATOR_22 = 1022, + OPERATOR_23 = 1023, + OPERATOR_24 = 1024, + OPERATOR_25 = 1025, + OPERATOR_26 = 1026, + OPERATOR_27 = 1027, + OPERATOR_28 = 1028, + OPERATOR_29 = 1029, + OPERATOR_30 = 1030, + OPERATOR_31 = 1031, + OPERATOR_32 = 1032, +} diff --git a/radio/aidl/android/hardware/radio/Call.aidl b/radio/aidl/android/hardware/radio/Call.aidl new file mode 100644 index 0000000000..38cb3d3fdc --- /dev/null +++ b/radio/aidl/android/hardware/radio/Call.aidl @@ -0,0 +1,75 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.AudioQuality; +import android.hardware.radio.CallPresentation; +import android.hardware.radio.CallState; +import android.hardware.radio.UusInfo; + +@VintfStability +parcelable Call { + CallState state; + /** + * Connection index for use with, eg, AT+CHLD + */ + int index; + /** + * Type of address, eg 145 = intl + */ + int toa; + /** + * true if is mpty call + */ + boolean isMpty; + /** + * true if call is mobile terminated + */ + boolean isMT; + /** + * ALS line indicator if availale (0 = line 1) + */ + byte als; + /** + * true if this is a voice call + */ + boolean isVoice; + /** + * true if CDMA voice privacy mode is active + */ + boolean isVoicePrivacy; + /** + * Remote party nummber + */ + String number; + CallPresentation numberPresentation; + /** + * Remote party name + */ + String name; + CallPresentation namePresentation; + /** + * Vector of User-User Signaling Information + */ + UusInfo[] uusInfo; + AudioQuality audioQuality; + /** + * Forwarded number. It can set only one forwarded number based on 3GPP rule of the CS. + * Reference: 3GPP TS 24.008 section 10.5.4.21b + */ + String forwardedNumber; +} diff --git a/radio/aidl/android/hardware/radio/CallForwardInfo.aidl b/radio/aidl/android/hardware/radio/CallForwardInfo.aidl new file mode 100644 index 0000000000..91a30555eb --- /dev/null +++ b/radio/aidl/android/hardware/radio/CallForwardInfo.aidl @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CallForwardInfoStatus; + +/** + * See also com.android.internal.telephony.gsm.CallForwardInfo + */ +@VintfStability +parcelable CallForwardInfo { + /** + * For queryCallForwardStatus() status is DISABLE (Not used by vendor code currently) + * For setCallForward() status must be DISABLE, ENABLE, INTERROGATE, REGISTRATION, ERASURE + */ + CallForwardInfoStatus status; + /** + * From TS 27.007 7.11 "reason" + */ + int reason; + /** + * From TS 27.007 +CCFC/+CLCK "class". See table for Android mapping from MMI service code. + * 0 means user doesn't input class. + */ + int serviceClass; + /** + * From TS 27.007 7.11 "type" + */ + int toa; + /** + * From TS 27.007 7.11 "number" + */ + String number; + int timeSeconds; +} diff --git a/radio/aidl/android/hardware/radio/CallForwardInfoStatus.aidl b/radio/aidl/android/hardware/radio/CallForwardInfoStatus.aidl new file mode 100644 index 0000000000..f4ae503e4c --- /dev/null +++ b/radio/aidl/android/hardware/radio/CallForwardInfoStatus.aidl @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum CallForwardInfoStatus { + DISABLE, + ENABLE, + INTERROGATE, + REGISTRATION, + ERASURE, +} diff --git a/radio/aidl/android/hardware/radio/CallPresentation.aidl b/radio/aidl/android/hardware/radio/CallPresentation.aidl new file mode 100644 index 0000000000..76b5f21a2a --- /dev/null +++ b/radio/aidl/android/hardware/radio/CallPresentation.aidl @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum CallPresentation { + ALLOWED, + RESTRICTED, + UNKNOWN, + PAYPHONE, +} diff --git a/radio/aidl/android/hardware/radio/CallState.aidl b/radio/aidl/android/hardware/radio/CallState.aidl new file mode 100644 index 0000000000..4b6f1ac235 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CallState.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum CallState { + ACTIVE, + HOLDING, + /** + * MO call only + */ + DIALING, + /** + * MO call only + */ + ALERTING, + /** + * MT call only + */ + INCOMING, + /** + * MT call only + */ + WAITING, +} diff --git a/radio/aidl/android/hardware/radio/CardPowerState.aidl b/radio/aidl/android/hardware/radio/CardPowerState.aidl new file mode 100644 index 0000000000..23088c9635 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CardPowerState.aidl @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum CardPowerState { + POWER_DOWN, + POWER_UP, + POWER_UP_PASS_THROUGH, +} diff --git a/radio/aidl/android/hardware/radio/CardState.aidl b/radio/aidl/android/hardware/radio/CardState.aidl new file mode 100644 index 0000000000..c1bbee6b0a --- /dev/null +++ b/radio/aidl/android/hardware/radio/CardState.aidl @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum CardState { + /* + * Card is physically absent from device. (Some old modems use CardState.ABSENT when the SIM + * is powered off. This is no longer correct, however the platform will still support this + * legacy behavior.) + */ + ABSENT, + /* + * Card is inserted in the device + */ + PRESENT, + ERROR, + /* + * Card is present but not usable due to carrier restrictions + */ + RESTRICTED, +} diff --git a/radio/aidl/android/hardware/radio/CardStatus.aidl b/radio/aidl/android/hardware/radio/CardStatus.aidl new file mode 100644 index 0000000000..a8df53d81c --- /dev/null +++ b/radio/aidl/android/hardware/radio/CardStatus.aidl @@ -0,0 +1,71 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.AppStatus; +import android.hardware.radio.CardState; +import android.hardware.radio.PinState; + +@VintfStability +parcelable CardStatus { + CardState cardState; + /** + * Applicable to USIM and CSIM + */ + PinState universalPinState; + /** + * Value < RadioConst:CARD_MAX_APPS, -1 if none + */ + int gsmUmtsSubscriptionAppIndex; + /** + * Value < RadioConst:CARD_MAX_APPS, -1 if none + */ + int cdmaSubscriptionAppIndex; + /** + * Value < RadioConst:CARD_MAX_APPS, -1 if none + */ + int imsSubscriptionAppIndex; + /** + * size <= RadioConst::CARD_MAX_APPS + */ + AppStatus[] applications; + int physicalSlotId; + /** + * An Answer To Reset (ATR) is a message output by a Smart Card conforming to ISO/IEC 7816 + * standards, following electrical reset of the card's chip. The ATR conveys information about + * the communication parameters proposed by the card, and the card's nature and state. + * + * This data is applicable only when cardState is CardState:PRESENT. + */ + String atr; + /** + * Integrated Circuit Card IDentifier (ICCID) is Unique Identifier of the SIM CARD. File is + * located in the SIM card at EFiccid (0x2FE2) as per ETSI 102.221. The ICCID is defined by + * the ITU-T recommendation E.118 ISO/IEC 7816. + * + * This data is applicable only when cardState is CardState:PRESENT. + */ + String iccid; + /** + * The EID is the eUICC identifier. The EID shall be stored within the ECASD and can be + * retrieved by the Device at any time using the standard GlobalPlatform GET DATA command. + * + * This data is mandatory and applicable only when cardState is CardState:PRESENT and SIM card + * supports eUICC. + */ + String eid; +} diff --git a/radio/aidl/android/hardware/radio/Carrier.aidl b/radio/aidl/android/hardware/radio/Carrier.aidl new file mode 100644 index 0000000000..be619b941b --- /dev/null +++ b/radio/aidl/android/hardware/radio/Carrier.aidl @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CarrierMatchType; + +@VintfStability +parcelable Carrier { + String mcc; + String mnc; + /** + * Specify match type for the carrier. If it’s ALL, matchData is empty string; otherwise, + * matchData is the value for the match type. + */ + CarrierMatchType matchType; + String matchData; +} diff --git a/radio/aidl/android/hardware/radio/CarrierMatchType.aidl b/radio/aidl/android/hardware/radio/CarrierMatchType.aidl new file mode 100644 index 0000000000..39b9466d69 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CarrierMatchType.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum CarrierMatchType { + /** + * Apply to all carrier with the same mcc/mnc + */ + ALL, + /** + * Use SPN and mcc/mnc to identify the carrier + */ + SPN, + /** + * Use IMSI prefix and mcc/mnc to identify the carrier + */ + IMSI_PREFIX, + /** + * Use GID1 and mcc/mnc to identify the carrier + */ + GID1, + /** + * Use GID2 and mcc/mnc to identify the carrier + */ + GID2, +} diff --git a/radio/aidl/android/hardware/radio/CarrierRestrictions.aidl b/radio/aidl/android/hardware/radio/CarrierRestrictions.aidl new file mode 100644 index 0000000000..70df637f6e --- /dev/null +++ b/radio/aidl/android/hardware/radio/CarrierRestrictions.aidl @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.Carrier; + +@VintfStability +parcelable CarrierRestrictions { + /** + * Allowed carriers + */ + Carrier[] allowedCarriers; + /** + * Explicitly excluded carriers which match allowed_carriers. Eg. allowedCarriers match mcc/mnc, + * excludedCarriers has same mcc/mnc and gid1 is ABCD. It means except the carrier whose gid1 + * is ABCD, all carriers with the same mcc/mnc are allowed. + */ + Carrier[] excludedCarriers; +} diff --git a/radio/aidl/android/hardware/radio/CarrierRestrictionsWithPriority.aidl b/radio/aidl/android/hardware/radio/CarrierRestrictionsWithPriority.aidl new file mode 100644 index 0000000000..057b016415 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CarrierRestrictionsWithPriority.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.Carrier; + +@VintfStability +parcelable CarrierRestrictionsWithPriority { + /** + * List of allowed carriers. + * The character '?' is used as wildcard character to match any value. + */ + Carrier[] allowedCarriers; + /** + * List of excluded carriers. + * The character '?' is used as wildcard character to match any value. + */ + Carrier[] excludedCarriers; + /** + * True means that only carriers included in the allowed list and not in the excluded list + * are permitted. Eg. allowedCarriers match mcc/mnc, excludedCarriers has same mcc/mnc and + * gid1 is ABCD. It means except the carrier whose gid1 is ABCD, all carriers with the + * same mcc/mnc are allowed. + * False means that all carriers are allowed except those included in the excluded list + * and not in the allowed list. + */ + boolean allowedCarriersPrioritized; +} diff --git a/radio/aidl/android/hardware/radio/CdmaBroadcastSmsConfigInfo.aidl b/radio/aidl/android/hardware/radio/CdmaBroadcastSmsConfigInfo.aidl new file mode 100644 index 0000000000..46f634558c --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaBroadcastSmsConfigInfo.aidl @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable CdmaBroadcastSmsConfigInfo { + /** + * Defines a broadcast message identifier whose value is 0x0000 - 0xFFFF as defined in + * C.R1001G 9.3.1 and 9.3.2. + */ + int serviceCategory; + /** + * Language code of broadcast message whose value is 0x00 - 0x07 as defined in C.R1001G 9.2. + */ + int language; + /** + * Selected false means message types specified in serviceCategory are not accepted, + * while true means accepted. + */ + boolean selected; +} diff --git a/radio/aidl/android/hardware/radio/CdmaCallWaiting.aidl b/radio/aidl/android/hardware/radio/CdmaCallWaiting.aidl new file mode 100644 index 0000000000..3db6ee003b --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaCallWaiting.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CdmaCallWaitingNumberPlan; +import android.hardware.radio.CdmaCallWaitingNumberPresentation; +import android.hardware.radio.CdmaCallWaitingNumberType; +import android.hardware.radio.CdmaSignalInfoRecord; + +@VintfStability +parcelable CdmaCallWaiting { + /** + * Remote party number + */ + String number; + CdmaCallWaitingNumberPresentation numberPresentation; + /** + * Remote party name + */ + String name; + CdmaSignalInfoRecord signalInfoRecord; + /** + * Required to support International Call Waiting + */ + CdmaCallWaitingNumberType numberType; + /** + * Required to support International Call Waiting + */ + CdmaCallWaitingNumberPlan numberPlan; +} diff --git a/radio/aidl/android/hardware/radio/CdmaCallWaitingNumberPlan.aidl b/radio/aidl/android/hardware/radio/CdmaCallWaitingNumberPlan.aidl new file mode 100644 index 0000000000..76d2197060 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaCallWaitingNumberPlan.aidl @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum CdmaCallWaitingNumberPlan { + UNKNOWN = 0, + ISDN = 1, + DATA = 3, + TELEX = 4, + NATIONAL = 8, + PRIVATE = 9, +} diff --git a/radio/aidl/android/hardware/radio/CdmaCallWaitingNumberPresentation.aidl b/radio/aidl/android/hardware/radio/CdmaCallWaitingNumberPresentation.aidl new file mode 100644 index 0000000000..f9fca965d9 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaCallWaitingNumberPresentation.aidl @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum CdmaCallWaitingNumberPresentation { + ALLOWED, + RESTRICTED, + UNKNOWN, +} diff --git a/radio/aidl/android/hardware/radio/CdmaCallWaitingNumberType.aidl b/radio/aidl/android/hardware/radio/CdmaCallWaitingNumberType.aidl new file mode 100644 index 0000000000..9c5b8ed9ac --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaCallWaitingNumberType.aidl @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum CdmaCallWaitingNumberType { + UNKNOWN, + INTERNATIONAL, + NATIONAL, + NETWORK_SPECIFIC, + SUBSCRIBER, +} diff --git a/radio/aidl/android/hardware/radio/CdmaDisplayInfoRecord.aidl b/radio/aidl/android/hardware/radio/CdmaDisplayInfoRecord.aidl new file mode 100644 index 0000000000..9b11f37c6d --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaDisplayInfoRecord.aidl @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2021 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; + +/** + * Display Info Rec as defined in C.S0005 section 3.7.5.1. Extended Display Info Rec as defined in + * C.S0005 section 3.7.5.16. Note that the Extended Display info rec contains multiple records of + * the form: display_tag, display_len, and display_len occurrences of the char field if the + * display_tag is not 10000000 or 10000001. To save space, the records are stored consecutively in + * a byte buffer. The display_tag, display_len and chari fields are all 1 byte. + */ +@VintfStability +parcelable CdmaDisplayInfoRecord { + /** + * Max length = RadioConst:CDMA_ALPHA_INFO_BUFFER_LENGTH + */ + String alphaBuf; +} diff --git a/radio/aidl/android/hardware/radio/CdmaInfoRecName.aidl b/radio/aidl/android/hardware/radio/CdmaInfoRecName.aidl new file mode 100644 index 0000000000..63ec699a57 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaInfoRecName.aidl @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2021 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; + +/** + * Names of the CDMA info records (C.S0005 section 3.7.5) + */ +@VintfStability +@Backing(type="int") +enum CdmaInfoRecName { + DISPLAY, + CALLED_PARTY_NUMBER, + CALLING_PARTY_NUMBER, + CONNECTED_NUMBER, + SIGNAL, + REDIRECTING_NUMBER, + LINE_CONTROL, + EXTENDED_DISPLAY, + T53_CLIR, + T53_RELEASE, + T53_AUDIO_CONTROL, +} diff --git a/radio/aidl/android/hardware/radio/CdmaInformationRecord.aidl b/radio/aidl/android/hardware/radio/CdmaInformationRecord.aidl new file mode 100644 index 0000000000..7d9cb0ac13 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaInformationRecord.aidl @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CdmaDisplayInfoRecord; +import android.hardware.radio.CdmaInfoRecName; +import android.hardware.radio.CdmaLineControlInfoRecord; +import android.hardware.radio.CdmaNumberInfoRecord; +import android.hardware.radio.CdmaRedirectingNumberInfoRecord; +import android.hardware.radio.CdmaSignalInfoRecord; +import android.hardware.radio.CdmaT53AudioControlInfoRecord; +import android.hardware.radio.CdmaT53ClirInfoRecord; + +@VintfStability +parcelable CdmaInformationRecord { + /** + * Based on CdmaInfoRecName, only one of the below vectors must have size = 1. + * All other vectors must have size 0. + */ + CdmaInfoRecName name; + /** + * Display and extended display info rec + */ + CdmaDisplayInfoRecord[] display; + /** + * Called party number, calling party number, connected number info rec + */ + CdmaNumberInfoRecord[] number; + /** + * Signal info rec + */ + CdmaSignalInfoRecord[] signal; + /** + * Redirecting number info rec + */ + CdmaRedirectingNumberInfoRecord[] redir; + /** + * Line control info rec + */ + CdmaLineControlInfoRecord[] lineCtrl; + /** + * T53 CLIR info rec + */ + CdmaT53ClirInfoRecord[] clir; + /** + * T53 Audio Control info rec + */ + CdmaT53AudioControlInfoRecord[] audioCtrl; +} diff --git a/radio/aidl/android/hardware/radio/CdmaInformationRecords.aidl b/radio/aidl/android/hardware/radio/CdmaInformationRecords.aidl new file mode 100644 index 0000000000..dcf0ed20ac --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaInformationRecords.aidl @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CdmaInformationRecord; + +@VintfStability +parcelable CdmaInformationRecords { + /** + * Max length = RadioConst:CDMA_MAX_NUMBER_OF_INFO_RECS + */ + CdmaInformationRecord[] infoRec; +} diff --git a/radio/aidl/android/hardware/radio/CdmaLineControlInfoRecord.aidl b/radio/aidl/android/hardware/radio/CdmaLineControlInfoRecord.aidl new file mode 100644 index 0000000000..a6178afd52 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaLineControlInfoRecord.aidl @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2021 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; + +/** + * Line Control Information Record as defined in C.S0005 section 3.7.5.15 + */ +@VintfStability +parcelable CdmaLineControlInfoRecord { + byte lineCtrlPolarityIncluded; + byte lineCtrlToggle; + byte lineCtrlReverse; + byte lineCtrlPowerDenial; +} diff --git a/radio/aidl/android/hardware/radio/CdmaNumberInfoRecord.aidl b/radio/aidl/android/hardware/radio/CdmaNumberInfoRecord.aidl new file mode 100644 index 0000000000..06e8317bd0 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaNumberInfoRecord.aidl @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2021 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; + +/** + * Called Party Number Info Rec as defined in C.S0005 section 3.7.5.2 + * Calling Party Number Info Rec as defined in C.S0005 section 3.7.5.3 + * Connected Number Info Rec as defined in C.S0005 section 3.7.5.4 + */ +@VintfStability +parcelable CdmaNumberInfoRecord { + /** + * Max length = RADIO_CDMA_NUMBER_INFO_BUFFER_LENGTH + */ + String number; + byte numberType; + byte numberPlan; + byte pi; + byte si; +} diff --git a/radio/aidl/android/hardware/radio/CdmaOtaProvisionStatus.aidl b/radio/aidl/android/hardware/radio/CdmaOtaProvisionStatus.aidl new file mode 100644 index 0000000000..0cb43141f6 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaOtaProvisionStatus.aidl @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum CdmaOtaProvisionStatus { + SPL_UNLOCKED, + SPC_RETRIES_EXCEEDED, + A_KEY_EXCHANGED, + SSD_UPDATED, + NAM_DOWNLOADED, + MDN_DOWNLOADED, + IMSI_DOWNLOADED, + PRL_DOWNLOADED, + COMMITTED, + OTAPA_STARTED, + OTAPA_STOPPED, + OTAPA_ABORTED, +} diff --git a/radio/aidl/android/hardware/radio/CdmaRedirectingNumberInfoRecord.aidl b/radio/aidl/android/hardware/radio/CdmaRedirectingNumberInfoRecord.aidl new file mode 100644 index 0000000000..d15621a5b5 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaRedirectingNumberInfoRecord.aidl @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CdmaNumberInfoRecord; +import android.hardware.radio.CdmaRedirectingReason; + +@VintfStability +parcelable CdmaRedirectingNumberInfoRecord { + CdmaNumberInfoRecord redirectingNumber; + /** + * Set to UNKNOWN if not included. + */ + CdmaRedirectingReason redirectingReason; +} diff --git a/radio/aidl/android/hardware/radio/CdmaRedirectingReason.aidl b/radio/aidl/android/hardware/radio/CdmaRedirectingReason.aidl new file mode 100644 index 0000000000..c86b9b2265 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaRedirectingReason.aidl @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2021 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; + +/** + * Redirecting Number Information Record as defined in C.S0005 section 3.7.5.11 + */ +@VintfStability +@Backing(type="int") +enum CdmaRedirectingReason { + UNKNOWN = 0, + CALL_FORWARDING_BUSY = 1, + CALL_FORWARDING_NO_REPLY = 2, + CALLED_DTE_OUT_OF_ORDER = 9, + CALL_FORWARDING_BY_THE_CALLED_DTE = 10, + CALL_FORWARDING_UNCONDITIONAL = 15, + RESERVED, +} diff --git a/radio/aidl/android/hardware/radio/CdmaRoamingType.aidl b/radio/aidl/android/hardware/radio/CdmaRoamingType.aidl new file mode 100644 index 0000000000..df09e0337c --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaRoamingType.aidl @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum CdmaRoamingType { + HOME_NETWORK, + AFFILIATED_ROAM, + ANY_ROAM, +} diff --git a/radio/aidl/android/hardware/radio/CdmaSignalInfoRecord.aidl b/radio/aidl/android/hardware/radio/CdmaSignalInfoRecord.aidl new file mode 100644 index 0000000000..36ecb1813d --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaSignalInfoRecord.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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; + +/** + * CDMA Signal Information Record as defined in C.S0005 section 3.7.5.5 + */ +@VintfStability +parcelable CdmaSignalInfoRecord { + /** + * True if signal information record is present + */ + boolean isPresent; + /** + * Defined in 3.7.5.5-1 + */ + byte signalType; + /** + * Defined in 3.7.5.5-2 + */ + byte alertPitch; + /** + * Defined in 3.7.5.5-3, 3.7.5.5-4 or 3.7.5.5-5 + */ + byte signal; +} diff --git a/radio/aidl/android/hardware/radio/CdmaSignalStrength.aidl b/radio/aidl/android/hardware/radio/CdmaSignalStrength.aidl new file mode 100644 index 0000000000..e6c2fb5e2f --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaSignalStrength.aidl @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable CdmaSignalStrength { + /** + * This value is the actual RSSI value multiplied by -1. Example: If the actual RSSI is -75, + * then this response value will be 75. INT_MAX means invalid/unreported. + */ + int dbm; + /** + * This value is the actual Ec/Io multiplied by -10. Example: If the actual Ec/Io is -12.5 dB, + * then this response value will be 125. INT_MAX means invalid/unreported. + */ + int ecio; +} diff --git a/radio/aidl/android/hardware/radio/CdmaSmsAck.aidl b/radio/aidl/android/hardware/radio/CdmaSmsAck.aidl new file mode 100644 index 0000000000..b412b704d5 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaSmsAck.aidl @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CdmaSmsErrorClass; + +@VintfStability +parcelable CdmaSmsAck { + CdmaSmsErrorClass errorClass; + /** + * SMS cause code as defined in N.S00005, 6.5.2.125. + * Currently, only 35 (resource shortage) and 39 (other terminal problem) are reported. + */ + int smsCauseCode; +} diff --git a/radio/aidl/android/hardware/radio/CdmaSmsAddress.aidl b/radio/aidl/android/hardware/radio/CdmaSmsAddress.aidl new file mode 100644 index 0000000000..83e883925e --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaSmsAddress.aidl @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CdmaSmsDigitMode; +import android.hardware.radio.CdmaSmsNumberMode; +import android.hardware.radio.CdmaSmsNumberPlan; +import android.hardware.radio.CdmaSmsNumberType; + +@VintfStability +parcelable CdmaSmsAddress { + /** + * CdmaSmsDigitMode is of two types : 4 bit and 8 bit. + * For 4-bit type, only "digits" field defined below in this struct is used. + */ + CdmaSmsDigitMode digitMode; + /** + * Used only when digitMode is 8-bit. + */ + CdmaSmsNumberMode numberMode; + /** + * Used only when digitMode is 8-bit. To specify an international address, use the following: + * digitMode = CdmaSmsDigitMode:EIGHT_BIT: + * numberMode = CdmaSmsNumberMode:NOT_DATA_NETWORK + * numberType = CdmaSmsNumberType:INTERNATIONAL_OR_DATA_IP + * numberPlan = CdmaSmsNumberPlan:TELEPHONY + * numberOfDigits = number of digits + * digits = ASCII digits, e.g. '1', '2', '3', '4', and '5' + */ + CdmaSmsNumberType numberType; + /** + * Used only when digitMode is 8-bit. + */ + CdmaSmsNumberPlan numberPlan; + /** + * Each byte in this array represents a 4 bit or 8-bit digit of address data. + */ + byte[] digits; +} diff --git a/radio/aidl/android/hardware/radio/CdmaSmsDigitMode.aidl b/radio/aidl/android/hardware/radio/CdmaSmsDigitMode.aidl new file mode 100644 index 0000000000..662311dd06 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaSmsDigitMode.aidl @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum CdmaSmsDigitMode { + /** + * DTMF digits + */ + FOUR_BIT, + EIGHT_BIT, +} diff --git a/radio/aidl/android/hardware/radio/CdmaSmsErrorClass.aidl b/radio/aidl/android/hardware/radio/CdmaSmsErrorClass.aidl new file mode 100644 index 0000000000..ec8c74edcc --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaSmsErrorClass.aidl @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum CdmaSmsErrorClass { + NO_ERROR, + ERROR, +} diff --git a/radio/aidl/android/hardware/radio/CdmaSmsMessage.aidl b/radio/aidl/android/hardware/radio/CdmaSmsMessage.aidl new file mode 100644 index 0000000000..f38cc5b5ea --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaSmsMessage.aidl @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CdmaSmsAddress; +import android.hardware.radio.CdmaSmsSubaddress; + +@VintfStability +parcelable CdmaSmsMessage { + int teleserviceId; + boolean isServicePresent; + int serviceCategory; + CdmaSmsAddress address; + CdmaSmsSubaddress subAddress; + /** + * 3GPP2 C.S0015-B, v2.0 + */ + byte[] bearerData; +} diff --git a/radio/aidl/android/hardware/radio/CdmaSmsNumberMode.aidl b/radio/aidl/android/hardware/radio/CdmaSmsNumberMode.aidl new file mode 100644 index 0000000000..e1e96dd9f2 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaSmsNumberMode.aidl @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum CdmaSmsNumberMode { + NOT_DATA_NETWORK, + DATA_NETWORK, +} diff --git a/radio/aidl/android/hardware/radio/CdmaSmsNumberPlan.aidl b/radio/aidl/android/hardware/radio/CdmaSmsNumberPlan.aidl new file mode 100644 index 0000000000..23dea9be9d --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaSmsNumberPlan.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum CdmaSmsNumberPlan { + UNKNOWN, + /** + * CCITT E.164 and E.163, including ISDN plan + */ + TELEPHONY, + RESERVED_2, + /** + * CCITT X.121 + */ + DATA, + /** + * CCITT F.69 + */ + TELEX, + RESERVED_5, + RESERVED_6, + RESERVED_7, + RESERVED_8, + PRIVATE, + RESERVED_10, + RESERVED_11, + RESERVED_12, + RESERVED_13, + RESERVED_14, + RESERVED_15, +} diff --git a/radio/aidl/android/hardware/radio/CdmaSmsNumberType.aidl b/radio/aidl/android/hardware/radio/CdmaSmsNumberType.aidl new file mode 100644 index 0000000000..e439d1fe7b --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaSmsNumberType.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum CdmaSmsNumberType { + UNKNOWN, + /** + * INTERNATIONAL is used when number mode is not data network address. DATA_IP is used when the + * number mode is data network address. + */ + INTERNATIONAL_OR_DATA_IP, + /** + * NATIONAL is used when the number mode is not data netework address. INTERNET_MAIL is used + * when the number mode is data network address. For INTERNET_MAIL, in the address data + * "digits", each byte contains an ASCII character. Examples are: "x@y.com,a@b.com" + * Ref TIA/EIA-637A 3.4.3.3 + */ + NATIONAL_OR_INTERNET_MAIL, + NETWORK, + SUBSCRIBER, + /** + * GSM SMS: address value is GSM 7-bit chars + */ + ALPHANUMERIC, + ABBREVIATED, + RESERVED_7, +} diff --git a/radio/aidl/android/hardware/radio/CdmaSmsSubaddress.aidl b/radio/aidl/android/hardware/radio/CdmaSmsSubaddress.aidl new file mode 100644 index 0000000000..4a84c792be --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaSmsSubaddress.aidl @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CdmaSmsSubaddressType; + +@VintfStability +parcelable CdmaSmsSubaddress { + CdmaSmsSubaddressType subaddressType; + /** + * True means the last byte's lower 4 bits must be ignored + */ + boolean odd; + /** + * Each byte represents an 8-bit digit of subaddress data + */ + byte[] digits; +} diff --git a/radio/aidl/android/hardware/radio/CdmaSmsSubaddressType.aidl b/radio/aidl/android/hardware/radio/CdmaSmsSubaddressType.aidl new file mode 100644 index 0000000000..60aa37bd8a --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaSmsSubaddressType.aidl @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum CdmaSmsSubaddressType { + /** + * CCITT X.213 or ISO 8348 AD2 + */ + NSAP, + /** + * e.g. X.25 + */ + USER_SPECIFIED, +} diff --git a/radio/aidl/android/hardware/radio/CdmaSmsWriteArgs.aidl b/radio/aidl/android/hardware/radio/CdmaSmsWriteArgs.aidl new file mode 100644 index 0000000000..f613e392b6 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaSmsWriteArgs.aidl @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CdmaSmsMessage; +import android.hardware.radio.CdmaSmsWriteArgsStatus; + +@VintfStability +parcelable CdmaSmsWriteArgs { + /** + * Status of message. See TS 27.005 3.1 + */ + CdmaSmsWriteArgsStatus status; + CdmaSmsMessage message; +} diff --git a/radio/aidl/android/hardware/radio/CdmaSmsWriteArgsStatus.aidl b/radio/aidl/android/hardware/radio/CdmaSmsWriteArgsStatus.aidl new file mode 100644 index 0000000000..009e8a913f --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaSmsWriteArgsStatus.aidl @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum CdmaSmsWriteArgsStatus { + REC_UNREAD, + REC_READ, + STO_UNSENT, + STO_SENT, +} diff --git a/radio/aidl/android/hardware/radio/CdmaSubscriptionSource.aidl b/radio/aidl/android/hardware/radio/CdmaSubscriptionSource.aidl new file mode 100644 index 0000000000..b83e81a227 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaSubscriptionSource.aidl @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum CdmaSubscriptionSource { + RUIM_SIM, + NV, +} diff --git a/radio/aidl/android/hardware/radio/CdmaT53AudioControlInfoRecord.aidl b/radio/aidl/android/hardware/radio/CdmaT53AudioControlInfoRecord.aidl new file mode 100644 index 0000000000..715a2f7b2c --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaT53AudioControlInfoRecord.aidl @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2021 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; + +/** + * T53 Audio Control Information Record + */ +@VintfStability +parcelable CdmaT53AudioControlInfoRecord { + byte upLink; + byte downLink; +} diff --git a/radio/aidl/android/hardware/radio/CdmaT53ClirInfoRecord.aidl b/radio/aidl/android/hardware/radio/CdmaT53ClirInfoRecord.aidl new file mode 100644 index 0000000000..636d40c48a --- /dev/null +++ b/radio/aidl/android/hardware/radio/CdmaT53ClirInfoRecord.aidl @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2021 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; + +/** + * T53 CLIR Information Record + */ +@VintfStability +parcelable CdmaT53ClirInfoRecord { + byte cause; +} diff --git a/radio/aidl/android/hardware/radio/CellConfigLte.aidl b/radio/aidl/android/hardware/radio/CellConfigLte.aidl new file mode 100644 index 0000000000..56a1a10c1d --- /dev/null +++ b/radio/aidl/android/hardware/radio/CellConfigLte.aidl @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2021 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; + +/** + * Contains the configuration of the LTE cell tower. + */ +@VintfStability +parcelable CellConfigLte { + /** + * Indicates that if E-UTRA-NR Dual Connectivity (EN-DC) is supported by the LTE cell. + * True if the plmn-InfoList-r15 is present in SIB2 and at least one bit in this list is true, + * otherwise this value should be false. + * Reference: 3GPP TS 36.331 v15.2.2 6.3.1 System information blocks. + */ + boolean isEndcAvailable; +} diff --git a/radio/aidl/android/hardware/radio/CellConnectionStatus.aidl b/radio/aidl/android/hardware/radio/CellConnectionStatus.aidl new file mode 100644 index 0000000000..faa9b28635 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CellConnectionStatus.aidl @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum CellConnectionStatus { + /** + * Cell is not a serving cell. + */ + NONE, + /** + * UE has connection to cell for signalling and possibly data (3GPP 36.331, 25.331). + */ + PRIMARY_SERVING, + /** + * UE has connection to cell for data (3GPP 36.331, 25.331). + */ + SECONDARY_SERVING, +} diff --git a/radio/aidl/android/hardware/radio/CellIdentity.aidl b/radio/aidl/android/hardware/radio/CellIdentity.aidl new file mode 100644 index 0000000000..abfcc9d11f --- /dev/null +++ b/radio/aidl/android/hardware/radio/CellIdentity.aidl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CellIdentityCdma; +import android.hardware.radio.CellIdentityGsm; +import android.hardware.radio.CellIdentityLte; +import android.hardware.radio.CellIdentityNr; +import android.hardware.radio.CellIdentityTdscdma; +import android.hardware.radio.CellIdentityWcdma; + +/** + * A union representing the CellIdentity of a single cell. + */ +@VintfStability +union CellIdentity { + boolean noinit; + CellIdentityGsm gsm; + CellIdentityWcdma wcdma; + CellIdentityTdscdma tdscdma; + CellIdentityCdma cdma; + CellIdentityLte lte; + CellIdentityNr nr; +} diff --git a/radio/aidl/android/hardware/radio/CellIdentityCdma.aidl b/radio/aidl/android/hardware/radio/CellIdentityCdma.aidl new file mode 100644 index 0000000000..56867e982b --- /dev/null +++ b/radio/aidl/android/hardware/radio/CellIdentityCdma.aidl @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CellIdentityOperatorNames; + +@VintfStability +parcelable CellIdentityCdma { + /** + * Network Id 0..65535, INT_MAX if unknown + */ + int networkId; + /** + * CDMA System Id 0..32767, INT_MAX if unknown + */ + int systemId; + /** + * Base Station Id 0..65535, INT_MAX if unknown + */ + int baseStationId; + /** + * Longitude is a decimal number as specified in 3GPP2 C.S0005-A v6.0. It is represented in + * units of 0.25 seconds and ranges from -2592000 to 2592000, both values inclusive + * (corresponding to a range of -180 to +180 degrees). INT_MAX if unknown + */ + int longitude; + /** + * Latitude is a decimal number as specified in 3GPP2 C.S0005-A v6.0. It is represented in + * units of 0.25 seconds and ranges from -1296000 to 1296000, both values inclusive + * (corresponding to a range of -90 to +90 degrees). INT_MAX if unknown + */ + int latitude; + CellIdentityOperatorNames operatorNames; +} diff --git a/radio/aidl/android/hardware/radio/CellIdentityGsm.aidl b/radio/aidl/android/hardware/radio/CellIdentityGsm.aidl new file mode 100644 index 0000000000..f1c5042fe8 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CellIdentityGsm.aidl @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CellIdentityOperatorNames; + +@VintfStability +parcelable CellIdentityGsm { + /** + * 3-digit Mobile Country Code, 0..999, empty string if unknown + */ + String mcc; + /** + * 2 or 3-digit Mobile Network Code, 0..999, empty string if unknown + */ + String mnc; + /** + * 16-bit Location Area Code, 0..65535, INT_MAX if unknown + */ + int lac; + /** + * 16-bit GSM Cell Identity described in TS 27.007, 0..65535, INT_MAX if unknown + */ + int cid; + /** + * 16-bit GSM Absolute RF channel number; this value must be valid + */ + int arfcn; + /** + * 6-bit Base Station Identity Code, 0xFF if unknown + */ + byte bsic; + CellIdentityOperatorNames operatorNames; + /** + * Additional PLMN-IDs beyond the primary PLMN broadcast for this cell + */ + String[] additionalPlmns; +} diff --git a/radio/aidl/android/hardware/radio/CellIdentityLte.aidl b/radio/aidl/android/hardware/radio/CellIdentityLte.aidl new file mode 100644 index 0000000000..f7f8fef663 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CellIdentityLte.aidl @@ -0,0 +1,66 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CellIdentityOperatorNames; +import android.hardware.radio.EutranBands; +import android.hardware.radio.OptionalCsgInfo; + +@VintfStability +parcelable CellIdentityLte { + /** + * 3-digit Mobile Country Code, 0..999, empty string if unknown + */ + String mcc; + /** + * 2 or 3-digit Mobile Network Code, 0..999, empty string if unknown + */ + String mnc; + /** + * 28-bit Cell Identity described in TS TS 27.007, INT_MAX if unknown + */ + int ci; + /** + * Physical cell id 0..503; this value must be valid + */ + int pci; + /** + * 16-bit tracking area code, INT_MAX if unknown + */ + int tac; + /** + * 18-bit LTE Absolute RF Channel Number; this value must be valid + */ + int earfcn; + CellIdentityOperatorNames operatorNames; + /** + * Cell bandwidth, in kHz. + */ + int bandwidth; + /** + * Additional PLMN-IDs beyond the primary PLMN broadcast for this cell + */ + String[] additionalPlmns; + /** + * Information about any closed subscriber group ID for this cell + */ + OptionalCsgInfo optionalCsgInfo; + /** + * Bands used by the cell. + */ + EutranBands[] bands; +} diff --git a/radio/aidl/android/hardware/radio/CellIdentityNr.aidl b/radio/aidl/android/hardware/radio/CellIdentityNr.aidl new file mode 100644 index 0000000000..6879c63faa --- /dev/null +++ b/radio/aidl/android/hardware/radio/CellIdentityNr.aidl @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CellIdentityOperatorNames; +import android.hardware.radio.NgranBands; + +/** + * The CellIdentity structure should be reported once for each element of the PLMN-IdentityInfoList + * broadcast in SIB1 CellAccessRelatedInfo as per 3GPP TS 38.331 Section 6.3.2. + */ +@VintfStability +parcelable CellIdentityNr { + /** + * 3-digit Mobile Country Code, in range[0, 999]; This value must be valid for registered or + * camped cells; INT_MAX means invalid/unreported. + */ + String mcc; + /** + * 2 or 3-digit Mobile Network Code, in range [0, 999], This value must be valid for + * registered or camped cells; INT_MAX means invalid/unreported. + */ + String mnc; + /** + * NR Cell Identity in range [0, 68719476735] (36 bits) described in 3GPP TS 38.331, which + * unambiguously identifies a cell within a PLMN. This value must be valid for registered or + * camped cells; LONG_MAX (2^63-1) means invalid/unreported. + */ + long nci; + /** + * Physical cell id in range [0, 1007] described in 3GPP TS 38.331. This value must be valid. + */ + int pci; + /** + * 16-bit tracking area code, INT_MAX means invalid/unreported. + */ + int tac; + /** + * NR Absolute Radio Frequency Channel Number, in range [0, 3279165]. + * Reference: 3GPP TS 38.101-1 and 3GPP TS 38.101-2 section 5.4.2.1. + * This value must be valid. + */ + int nrarfcn; + CellIdentityOperatorNames operatorNames; + /** + * Additional PLMN-IDs beyond the primary PLMN broadcast for this cell + */ + String[] additionalPlmns; + /** + * Bands used by the cell. + */ + NgranBands[] bands; +} diff --git a/radio/aidl/android/hardware/radio/CellIdentityOperatorNames.aidl b/radio/aidl/android/hardware/radio/CellIdentityOperatorNames.aidl new file mode 100644 index 0000000000..dea9929f73 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CellIdentityOperatorNames.aidl @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable CellIdentityOperatorNames { + /** + * Long alpha operator name string or enhanced operator name string. + */ + String alphaLong; + /** + * Short alpha operator name string or enhanced operator name string. + */ + String alphaShort; +} diff --git a/radio/aidl/android/hardware/radio/CellIdentityTdscdma.aidl b/radio/aidl/android/hardware/radio/CellIdentityTdscdma.aidl new file mode 100644 index 0000000000..8268bba14a --- /dev/null +++ b/radio/aidl/android/hardware/radio/CellIdentityTdscdma.aidl @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CellIdentityOperatorNames; +import android.hardware.radio.OptionalCsgInfo; + +@VintfStability +parcelable CellIdentityTdscdma { + /** + * 3-digit Mobile Country Code, 0..999, empty string if unknown. + */ + String mcc; + /** + * 2 or 3-digit Mobile Network Code, 0..999, empty string if unknown. + */ + String mnc; + /** + * 16-bit Location Area Code, 0..65535, INT_MAX if unknown. + */ + int lac; + /** + * 28-bit UMTS Cell Identity described in TS 25.331, 0..268435455, INT_MAX if unknown. + */ + int cid; + /** + * 8-bit Cell Parameters ID described in TS 25.331, 0..127, INT_MAX if unknown. + */ + int cpid; + /** + * 16-bit UMTS Absolute RF Channel Number defined in TS 25.102 5.4.4; this value must be valid. + */ + int uarfcn; + CellIdentityOperatorNames operatorNames; + /** + * Additional PLMN-IDs beyond the primary PLMN broadcast for this cell. + */ + String[] additionalPlmns; + /** + * Information about any closed subscriber group ID for this cell. + */ + OptionalCsgInfo optionalCsgInfo; +} diff --git a/radio/aidl/android/hardware/radio/CellIdentityWcdma.aidl b/radio/aidl/android/hardware/radio/CellIdentityWcdma.aidl new file mode 100644 index 0000000000..667c15b65c --- /dev/null +++ b/radio/aidl/android/hardware/radio/CellIdentityWcdma.aidl @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CellIdentityOperatorNames; +import android.hardware.radio.OptionalCsgInfo; + +@VintfStability +parcelable CellIdentityWcdma { + /** + * 3-digit Mobile Country Code, 0..999, empty string if unknown. + */ + String mcc; + /** + * 2 or 3-digit Mobile Network Code, 0..999, empty string if unknown. + */ + String mnc; + /** + * 16-bit Location Area Code, 0..65535, INT_MAX if unknown. + */ + int lac; + /** + * 28-bit UMTS Cell Identity described in TS 25.331, 0..268435455, INT_MAX if unknown. + */ + int cid; + /** + * 9-bit UMTS Primary Scrambling Code described in TS 25.331, 0..511; this value must be valid. + */ + int psc; + /** + * 16-bit UMTS Absolute RF Channel Number; this value must be valid. + */ + int uarfcn; + CellIdentityOperatorNames operatorNames; + /** + * Additional PLMN-IDs beyond the primary PLMN broadcast for this cell. + */ + String[] additionalPlmns; + /** + * Information about any closed subscriber group ID for this cell. + */ + OptionalCsgInfo optionalCsgInfo; +} diff --git a/radio/aidl/android/hardware/radio/CellInfo.aidl b/radio/aidl/android/hardware/radio/CellInfo.aidl new file mode 100644 index 0000000000..fe4f330611 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CellInfo.aidl @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CellConnectionStatus; +import android.hardware.radio.CellInfoCellInfoRatSpecificInfo; + +@VintfStability +parcelable CellInfo { + /** + * True if this cell is registered false if not registered. + */ + boolean registered; + /** + * Connection status for the cell. + */ + CellConnectionStatus connectionStatus; + CellInfoCellInfoRatSpecificInfo ratSpecificInfo; +} diff --git a/radio/aidl/android/hardware/radio/CellInfoCdma.aidl b/radio/aidl/android/hardware/radio/CellInfoCdma.aidl new file mode 100644 index 0000000000..27a35d1247 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CellInfoCdma.aidl @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CdmaSignalStrength; +import android.hardware.radio.CellIdentityCdma; +import android.hardware.radio.EvdoSignalStrength; + +@VintfStability +parcelable CellInfoCdma { + CellIdentityCdma cellIdentityCdma; + CdmaSignalStrength signalStrengthCdma; + EvdoSignalStrength signalStrengthEvdo; +} diff --git a/radio/aidl/android/hardware/radio/CellInfoCellInfoRatSpecificInfo.aidl b/radio/aidl/android/hardware/radio/CellInfoCellInfoRatSpecificInfo.aidl new file mode 100644 index 0000000000..cdd33863de --- /dev/null +++ b/radio/aidl/android/hardware/radio/CellInfoCellInfoRatSpecificInfo.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CellInfoCdma; +import android.hardware.radio.CellInfoGsm; +import android.hardware.radio.CellInfoLte; +import android.hardware.radio.CellInfoNr; +import android.hardware.radio.CellInfoTdscdma; +import android.hardware.radio.CellInfoWcdma; + +@VintfStability +union CellInfoCellInfoRatSpecificInfo { + /** + * 3gpp CellInfo types. + */ + CellInfoGsm gsm; + CellInfoWcdma wcdma; + CellInfoTdscdma tdscdma; + CellInfoLte lte; + CellInfoNr nr; + /** + * 3gpp2 CellInfo types; + */ + CellInfoCdma cdma; +} diff --git a/radio/aidl/android/hardware/radio/CellInfoGsm.aidl b/radio/aidl/android/hardware/radio/CellInfoGsm.aidl new file mode 100644 index 0000000000..16ba8574ef --- /dev/null +++ b/radio/aidl/android/hardware/radio/CellInfoGsm.aidl @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CellIdentityGsm; +import android.hardware.radio.GsmSignalStrength; + +@VintfStability +parcelable CellInfoGsm { + CellIdentityGsm cellIdentityGsm; + GsmSignalStrength signalStrengthGsm; +} diff --git a/radio/aidl/android/hardware/radio/CellInfoInfo.aidl b/radio/aidl/android/hardware/radio/CellInfoInfo.aidl new file mode 100644 index 0000000000..4d5e12d4cd --- /dev/null +++ b/radio/aidl/android/hardware/radio/CellInfoInfo.aidl @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CellInfoCdma; +import android.hardware.radio.CellInfoGsm; +import android.hardware.radio.CellInfoLte; +import android.hardware.radio.CellInfoNr; +import android.hardware.radio.CellInfoTdscdma; +import android.hardware.radio.CellInfoWcdma; + +@VintfStability +union CellInfoInfo { + CellInfoGsm gsm; + CellInfoCdma cdma; + CellInfoWcdma wcdma; + CellInfoTdscdma tdscdma; + CellInfoLte lte; + CellInfoNr nr; +} diff --git a/radio/aidl/android/hardware/radio/CellInfoLte.aidl b/radio/aidl/android/hardware/radio/CellInfoLte.aidl new file mode 100644 index 0000000000..d3389c1564 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CellInfoLte.aidl @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CellIdentityLte; +import android.hardware.radio.LteSignalStrength; + +@VintfStability +parcelable CellInfoLte { + CellIdentityLte cellIdentityLte; + LteSignalStrength signalStrengthLte; +} diff --git a/radio/aidl/android/hardware/radio/CellInfoNr.aidl b/radio/aidl/android/hardware/radio/CellInfoNr.aidl new file mode 100644 index 0000000000..b1f311f113 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CellInfoNr.aidl @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CellIdentityNr; +import android.hardware.radio.NrSignalStrength; + +@VintfStability +parcelable CellInfoNr { + CellIdentityNr cellIdentityNr; + NrSignalStrength signalStrengthNr; +} diff --git a/radio/aidl/android/hardware/radio/CellInfoTdscdma.aidl b/radio/aidl/android/hardware/radio/CellInfoTdscdma.aidl new file mode 100644 index 0000000000..b7d09bc07b --- /dev/null +++ b/radio/aidl/android/hardware/radio/CellInfoTdscdma.aidl @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CellIdentityTdscdma; +import android.hardware.radio.TdscdmaSignalStrength; + +@VintfStability +parcelable CellInfoTdscdma { + CellIdentityTdscdma cellIdentityTdscdma; + TdscdmaSignalStrength signalStrengthTdscdma; +} diff --git a/radio/aidl/android/hardware/radio/CellInfoType.aidl b/radio/aidl/android/hardware/radio/CellInfoType.aidl new file mode 100644 index 0000000000..8e5e8c92d3 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CellInfoType.aidl @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum CellInfoType { + NONE, + GSM, + CDMA, + LTE, + WCDMA, + TD_SCDMA, +} diff --git a/radio/aidl/android/hardware/radio/CellInfoWcdma.aidl b/radio/aidl/android/hardware/radio/CellInfoWcdma.aidl new file mode 100644 index 0000000000..03b086367a --- /dev/null +++ b/radio/aidl/android/hardware/radio/CellInfoWcdma.aidl @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CellIdentityWcdma; +import android.hardware.radio.WcdmaSignalStrength; + +@VintfStability +parcelable CellInfoWcdma { + CellIdentityWcdma cellIdentityWcdma; + WcdmaSignalStrength signalStrengthWcdma; +} diff --git a/radio/aidl/android/hardware/radio/CfData.aidl b/radio/aidl/android/hardware/radio/CfData.aidl new file mode 100644 index 0000000000..c6a91b9807 --- /dev/null +++ b/radio/aidl/android/hardware/radio/CfData.aidl @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CallForwardInfo; + +@VintfStability +parcelable CfData { + /** + * This is the response data for SS request to query call forward status. + * See getCallForwardStatus(). Max size = RadioConst:NUM_SERVICE_CLASSES. + */ + CallForwardInfo[] cfInfo; +} diff --git a/radio/aidl/android/hardware/radio/ClipStatus.aidl b/radio/aidl/android/hardware/radio/ClipStatus.aidl new file mode 100644 index 0000000000..c75c609092 --- /dev/null +++ b/radio/aidl/android/hardware/radio/ClipStatus.aidl @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum ClipStatus { + /** + * CLIP provisioned + */ + CLIP_PROVISIONED, + /** + * CLIP not provisioned + */ + CLIP_UNPROVISIONED, + /** + * Unknown, e.g. no networks etc + */ + UNKNOWN, +} diff --git a/radio/aidl/android/hardware/radio/Clir.aidl b/radio/aidl/android/hardware/radio/Clir.aidl new file mode 100644 index 0000000000..a13ff9da3e --- /dev/null +++ b/radio/aidl/android/hardware/radio/Clir.aidl @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum Clir { + /** + * Use subscription default value + */ + DEFAULT, + /** + * Restrict CLI presentation + */ + INVOCATION, + /** + * Allow CLI presentation + */ + SUPPRESSION, +} diff --git a/radio/aidl/android/hardware/radio/ClosedSubscriberGroupInfo.aidl b/radio/aidl/android/hardware/radio/ClosedSubscriberGroupInfo.aidl new file mode 100644 index 0000000000..7c6fb7a5fe --- /dev/null +++ b/radio/aidl/android/hardware/radio/ClosedSubscriberGroupInfo.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable ClosedSubscriberGroupInfo { + /** + * Indicates whether the cell is restricted to only CSG members. A cell not broadcasting the + * CSG Indication but reporting CSG information is considered a Hybrid Cell. + * Refer to the "csg-Indication" field in 3GPP TS 36.331 section 6.2.2 + * SystemInformationBlockType1. + * Also refer to "CSG Indicator" in 3GPP TS 25.331 section 10.2.48.8.1 and TS 25.304. + */ + boolean csgIndication; + /** + * The human-readable name of the closed subscriber group operating this cell. + * Refer to "hnb-Name" in TS 36.331 section 6.2.2 SystemInformationBlockType9. + * Also refer to "HNB Name" in 3GPP TS25.331 section 10.2.48.8.23 and TS 23.003 section 4.8. + */ + String homeNodebName; + /** + * The identity of the closed subscriber group that the cell belongs to. + * Refer to "CSG-Identity" in TS 36.336 section 6.3.4. + * Also refer to "CSG Identity" in 3GPP TS 25.331 section 10.3.2.8 and TS 23.003 section 4.7. + */ + int csgIdentity; +} diff --git a/radio/aidl/android/hardware/radio/DataCallFailCause.aidl b/radio/aidl/android/hardware/radio/DataCallFailCause.aidl new file mode 100644 index 0000000000..021988b221 --- /dev/null +++ b/radio/aidl/android/hardware/radio/DataCallFailCause.aidl @@ -0,0 +1,1303 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum DataCallFailCause { + /** + * An integer cause code defined in TS 24.008 section 6.1.3.1.3 or TS 24.301 Release 8+ Annex B. + * If the implementation does not have access to the exact cause codes, then it must return one + * of the following values, as the UI layer needs to distinguish these cases for error + * notification and potential retries. + */ + NONE = 0, + /** + * No retry + */ + OPERATOR_BARRED = 0x08, + /** + * PDP_FAIL_LLC_SNDCP = 0x19 + */ + NAS_SIGNALLING = 0x0E, + INSUFFICIENT_RESOURCES = 0x1A, + /** + * No retry + */ + MISSING_UNKNOWN_APN = 0x1B, + /** + * No retry + */ + UNKNOWN_PDP_ADDRESS_TYPE = 0x1C, + /** + * No retry + */ + USER_AUTHENTICATION = 0x1D, + /** + * No retry + */ + ACTIVATION_REJECT_GGSN = 0x1E, + ACTIVATION_REJECT_UNSPECIFIED = 0x1F, + /** + * No retry + */ + SERVICE_OPTION_NOT_SUPPORTED = 0x20, + /** + * No retry + */ + SERVICE_OPTION_NOT_SUBSCRIBED = 0x21, + SERVICE_OPTION_OUT_OF_ORDER = 0x22, + /** + * No retry + */ + NSAPI_IN_USE = 0x23, + /** + * Possibly restart radio, based on framework config + */ + REGULAR_DEACTIVATION = 0x24, + QOS_NOT_ACCEPTED = 0x25, + NETWORK_FAILURE = 0x26, + UMTS_REACTIVATION_REQ = 0x27, + FEATURE_NOT_SUPP = 0x28, + TFT_SEMANTIC_ERROR = 0x29, + TFT_SYTAX_ERROR = 0x2A, + UNKNOWN_PDP_CONTEXT = 0x2B, + FILTER_SEMANTIC_ERROR = 0x2C, + FILTER_SYTAX_ERROR = 0x2D, + PDP_WITHOUT_ACTIVE_TFT = 0x2E, + /** + * No retry + */ + ONLY_IPV4_ALLOWED = 0x32, + /** + * No retry + */ + ONLY_IPV6_ALLOWED = 0x33, + ONLY_SINGLE_BEARER_ALLOWED = 0x34, + ESM_INFO_NOT_RECEIVED = 0x35, + PDN_CONN_DOES_NOT_EXIST = 0x36, + MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED = 0x37, + MAX_ACTIVE_PDP_CONTEXT_REACHED = 0x41, + UNSUPPORTED_APN_IN_CURRENT_PLMN = 0x42, + INVALID_TRANSACTION_ID = 0x51, + MESSAGE_INCORRECT_SEMANTIC = 0x5F, + INVALID_MANDATORY_INFO = 0x60, + MESSAGE_TYPE_UNSUPPORTED = 0x61, + MSG_TYPE_NONCOMPATIBLE_STATE = 0x62, + UNKNOWN_INFO_ELEMENT = 0x63, + CONDITIONAL_IE_ERROR = 0x64, + MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE = 0x65, + /** + * No retry + */ + PROTOCOL_ERRORS = 0x6F, + APN_TYPE_CONFLICT = 0x70, + INVALID_PCSCF_ADDR = 0x71, + INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN = 0x72, + EMM_ACCESS_BARRED = 0x73, + EMERGENCY_IFACE_ONLY = 0x74, + IFACE_MISMATCH = 0x75, + COMPANION_IFACE_IN_USE = 0x76, + IP_ADDRESS_MISMATCH = 0x77, + IFACE_AND_POL_FAMILY_MISMATCH = 0x78, + EMM_ACCESS_BARRED_INFINITE_RETRY = 0x79, + AUTH_FAILURE_ON_EMERGENCY_CALL = 0x7A, + OEM_DCFAILCAUSE_1 = 0x1001, + OEM_DCFAILCAUSE_2 = 0x1002, + OEM_DCFAILCAUSE_3 = 0x1003, + OEM_DCFAILCAUSE_4 = 0x1004, + OEM_DCFAILCAUSE_5 = 0x1005, + OEM_DCFAILCAUSE_6 = 0x1006, + OEM_DCFAILCAUSE_7 = 0x1007, + OEM_DCFAILCAUSE_8 = 0x1008, + OEM_DCFAILCAUSE_9 = 0x1009, + OEM_DCFAILCAUSE_10 = 0x100A, + OEM_DCFAILCAUSE_11 = 0x100B, + OEM_DCFAILCAUSE_12 = 0x100C, + OEM_DCFAILCAUSE_13 = 0x100D, + OEM_DCFAILCAUSE_14 = 0x100E, + OEM_DCFAILCAUSE_15 = 0x100F, + /** + * Not mentioned in the specification + */ + VOICE_REGISTRATION_FAIL = -1, + /** + * Not mentioned in the specification + */ + DATA_REGISTRATION_FAIL = -2, + /** + * Network/modem disonnect + */ + SIGNAL_LOST = -3, + /** + * Preferred technology has changed, must retry with parameters appropriate for new technology + */ + PREF_RADIO_TECH_CHANGED = -4, + /** + * Data call was disconnected because radio was resetting, powered off - no retry + */ + RADIO_POWER_OFF = -5, + /** + * Data call was disconnected by modem because tethered mode was up on same APN/data profile + * No retry until tethered call is off + */ + TETHERED_CALL_ACTIVE = -6, + ERROR_UNSPECIFIED = 0xffff, + /** + * Network cannot provide the requested service and PDP context is deactivated because of LLC + * or SNDCP failure. + */ + LLC_SNDCP = 0x19, + /** + * UE requested to modify QoS parameters or the bearer control mode, which is not compatible + * with the selected bearer control mode. + */ + ACTIVATION_REJECTED_BCM_VIOLATION = 0x30, + /** + * Network has already initiated the activation, modification, or deactivation of bearer + * resources that was requested by the UE. + */ + COLLISION_WITH_NETWORK_INITIATED_REQUEST = 0x38, + /** + * Network supports IPv4v6 PDP type only. Non-IP type is not allowed. In LTE mode of operation, + * this is a PDN throttling cause code, meaning the UE may throttle further requests to the + * same APN. + */ + ONLY_IPV4V6_ALLOWED = 0x39, + /** + * Network supports non-IP PDP type only. IPv4, IPv6 and IPv4v6 is not allowed. In LTE mode of + * operation, this is a PDN throttling cause code, meaning the UE can throttle further requests + * to the same APN. + */ + ONLY_NON_IP_ALLOWED = 0x3A, + /** + * QCI (QoS Class Identifier) indicated in the UE request cannot be supported. + */ + UNSUPPORTED_QCI_VALUE = 0x3B, + /** + * Procedure requested by the UE was rejected because the bearer handling is not supported. + */ + BEARER_HANDLING_NOT_SUPPORTED = 0x3C, + /** + * Not receiving a DNS address that was mandatory. + */ + INVALID_DNS_ADDR = 0x7B, + /** + * Not receiving either a PCSCF or a DNS address, one of them being mandatory. + */ + INVALID_PCSCF_OR_DNS_ADDRESS = 0x7C, + /** + * Emergency call bring up on a different ePDG. + */ + CALL_PREEMPT_BY_EMERGENCY_APN = 0x7F, + /** + * UE performs a detach or disconnect PDN action based on TE requirements. + */ + UE_INITIATED_DETACH_OR_DISCONNECT = 0x80, + /** + * Reason unspecified for foreign agent rejected MIP (Mobile IP) registration. + */ + MIP_FA_REASON_UNSPECIFIED = 0x7D0, + /** + * Foreign agent administratively prohibited MIP (Mobile IP) registration. + */ + MIP_FA_ADMIN_PROHIBITED = 0x7D1, + /** + * Foreign agent rejected MIP (Mobile IP) registration because of insufficient resources. + */ + MIP_FA_INSUFFICIENT_RESOURCES = 0x7D2, + /** + * Foreign agent rejected MIP (Mobile IP) registration because of MN-AAA authenticator was + * wrong. + */ + MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE = 0x7D3, + /** + * Foreign agent rejected MIP (Mobile IP) registration because of home agent authentication + * failure. + */ + MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE = 0x7D4, + /** + * Foreign agent rejected MIP (Mobile IP) registration because of requested lifetime was too + * long. + */ + MIP_FA_REQUESTED_LIFETIME_TOO_LONG = 0x7D5, + /** + * Foreign agent rejected MIP (Mobile IP) registration because of malformed request. + */ + MIP_FA_MALFORMED_REQUEST = 0x7D6, + /** + * Foreign agent rejected MIP (Mobile IP) registration because of malformed reply. + */ + MIP_FA_MALFORMED_REPLY = 0x7D7, + /** + * Foreign agent rejected MIP (Mobile IP) registration because of requested encapsulation was + * unavailable. + */ + MIP_FA_ENCAPSULATION_UNAVAILABLE = 0x7D8, + /** + * Foreign agent rejected MIP (Mobile IP) registration of VJ Header Compression was unavailable. + */ + MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE = 0x7D9, + /** + * Foreign agent rejected MIP (Mobile IP) registration because of reverse tunnel was + * unavailable. + */ + MIP_FA_REVERSE_TUNNEL_UNAVAILABLE = 0x7DA, + /** + * Foreign agent rejected MIP (Mobile IP) registration because of reverse tunnel was mandatory + * but not requested by device. + */ + MIP_FA_REVERSE_TUNNEL_IS_MANDATORY = 0x7DB, + /** + * Foreign agent rejected MIP (Mobile IP) registration because of delivery style was not + * supported. + */ + MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED = 0x7DC, + /** + * Foreign agent rejected MIP (Mobile IP) registration because of missing NAI (Network Access + * Identifier). + */ + MIP_FA_MISSING_NAI = 0x7DD, + /** + * Foreign agent rejected MIP (Mobile IP) registration because of missing Home Agent. + */ + MIP_FA_MISSING_HOME_AGENT = 0x7DE, + /** + * Foreign agent rejected MIP (Mobile IP) registration because of missing Home Address. + */ + MIP_FA_MISSING_HOME_ADDRESS = 0x7DF, + /** + * Foreign agent rejected MIP (Mobile IP) registration because of unknown challenge. + */ + MIP_FA_UNKNOWN_CHALLENGE = 0x7E0, + /** + * Foreign agent rejected MIP (Mobile IP) registration because of missing challenge. + */ + MIP_FA_MISSING_CHALLENGE = 0x7E1, + /** + * Foreign agent rejected MIP (Mobile IP) registration because of stale challenge. + */ + MIP_FA_STALE_CHALLENGE = 0x7E2, + /** + * Reason unspecified for home agent rejected MIP (Mobile IP) registration. + */ + MIP_HA_REASON_UNSPECIFIED = 0x7E3, + /** + * Home agent administratively prohibited MIP (Mobile IP) registration. + */ + MIP_HA_ADMIN_PROHIBITED = 0x7E4, + /** + * Home agent rejected MIP (Mobile IP) registration because of insufficient resources. + */ + MIP_HA_INSUFFICIENT_RESOURCES = 0x7E5, + /** + * Home agent rejected MIP (Mobile IP) registration because of MN-HA authenticator was wrong. + */ + MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE = 0x7E6, + /** + * Home agent rejected MIP (Mobile IP) registration because of foreign agent authentication + * failure. + */ + MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE = 0x7E7, + /** + * Home agent rejected MIP (Mobile IP) registration because of registration id mismatch. + */ + MIP_HA_REGISTRATION_ID_MISMATCH = 0x7E8, + /** + * Home agent rejected MIP (Mobile IP) registration because of malformed request. + */ + MIP_HA_MALFORMED_REQUEST = 0x7E9, + /** + * Home agent rejected MIP (Mobile IP) registration because of unknown home agent address. + */ + MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS = 0x7EA, + /** + * Home agent rejected MIP (Mobile IP) registration because of reverse tunnel was unavailable. + */ + MIP_HA_REVERSE_TUNNEL_UNAVAILABLE = 0x7EB, + /** + * Home agent rejected MIP (Mobile IP) registration because of reverse tunnel is mandatory but + * not requested by device. + */ + MIP_HA_REVERSE_TUNNEL_IS_MANDATORY = 0x7EC, + /** + * Home agent rejected MIP (Mobile IP) registration because of encapsulation unavailable. + */ + MIP_HA_ENCAPSULATION_UNAVAILABLE = 0x7ED, + /** + * Tearing down is in progress. + */ + CLOSE_IN_PROGRESS = 0x7EE, + /** + * Brought down by the network. + */ + NETWORK_INITIATED_TERMINATION = 0x7EF, + /** + * Another application in modem preempts the data call. + */ + MODEM_APP_PREEMPTED = 0x7F0, + /** + * IPV4 PDN is in throttled state due to network providing only IPV6 address during the previous + * VSNCP bringup (subs_limited_to_v6). + */ + PDN_IPV4_CALL_DISALLOWED = 0x7F1, + /** + * IPV4 PDN is in throttled state due to previous VSNCP bringup failure(s). + */ + PDN_IPV4_CALL_THROTTLED = 0x7F2, + /** + * IPV6 PDN is in throttled state due to network providing only IPV4 address during the previous + * VSNCP bringup (subs_limited_to_v4). + */ + PDN_IPV6_CALL_DISALLOWED = 0x7F3, + /** + * IPV6 PDN is in throttled state due to previous VSNCP bringup failure(s). + */ + PDN_IPV6_CALL_THROTTLED = 0x7F4, + /** + * Modem restart. + */ + MODEM_RESTART = 0x7F5, + /** + * PDP PPP calls are not supported. + */ + PDP_PPP_NOT_SUPPORTED = 0x7F6, + /** + * RAT on which the data call is attempted/connected is no longer the preferred RAT. + */ + UNPREFERRED_RAT = 0x7F7, + /** + * Physical link is in the process of cleanup. + */ + PHYSICAL_LINK_CLOSE_IN_PROGRESS = 0x7F8, + /** + * Interface bring up is attempted for an APN that is yet to be handed over to target RAT. + */ + APN_PENDING_HANDOVER = 0x7F9, + /** + * APN bearer type in the profile does not match preferred network mode. + */ + PROFILE_BEARER_INCOMPATIBLE = 0x7FA, + /** + * Card was refreshed or removed. + */ + SIM_CARD_CHANGED = 0x7FB, + /** + * Device is going into lower power mode or powering down. + */ + LOW_POWER_MODE_OR_POWERING_DOWN = 0x7FC, + /** + * APN has been disabled. + */ + APN_DISABLED = 0x7FD, + /** + * Maximum PPP inactivity timer expired. + */ + MAX_PPP_INACTIVITY_TIMER_EXPIRED = 0x7FE, + /** + * IPv6 address transfer failed. + */ + IPV6_ADDRESS_TRANSFER_FAILED = 0x7FF, + /** + * Target RAT swap failed. + */ + TRAT_SWAP_FAILED = 0x800, + /** + * Device falls back from eHRPD to HRPD. + */ + EHRPD_TO_HRPD_FALLBACK = 0x801, + /** + * UE is in MIP-only configuration but the MIP configuration fails on call bring up due to + * incorrect provisioning. + */ + MIP_CONFIG_FAILURE = 0x802, + /** + * PDN inactivity timer expired due to no data transmission in a configurable duration of time. + */ + PDN_INACTIVITY_TIMER_EXPIRED = 0x803, + /** + * IPv4 data call bring up is rejected because the UE already maintains the allotted maximum + * number of IPv4 data connections. + */ + MAX_IPV4_CONNECTIONS = 0x804, + /** + * IPv6 data call bring up is rejected because the UE already maintains the allotted maximum + * number of IPv6 data connections. + */ + MAX_IPV6_CONNECTIONS = 0x805, + /** + * New PDN bring up is rejected during interface selection because the UE has already allotted + * the available interfaces for other PDNs. + */ + APN_MISMATCH = 0x806, + /** + * New call bring up is rejected since the existing data call IP type doesn't match the + * requested IP. + */ + IP_VERSION_MISMATCH = 0x807, + /** + * Dial up networking (DUN) call bring up is rejected since UE is in eHRPD RAT. + */ + DUN_CALL_DISALLOWED = 0x808, + /** + * Rejected/Brought down since UE is transition between EPC and NONEPC RAT. + */ + INTERNAL_EPC_NONEPC_TRANSITION = 0x809, + /** + * The current interface is being in use. + */ + INTERFACE_IN_USE = 0x80A, + /** + * PDN connection to the APN is disallowed on the roaming network. + */ + APN_DISALLOWED_ON_ROAMING = 0x80B, + /** + * APN-related parameters are changed. + */ + APN_PARAMETERS_CHANGED = 0x80C, + /** + * PDN is attempted to be brought up with NULL APN but NULL APN is not supported. + */ + NULL_APN_DISALLOWED = 0x80D, + /** + * Thermal level increases and causes calls to be torn down when normal mode of operation is + * not allowed. + */ + THERMAL_MITIGATION = 0x80E, + /** + * PDN Connection to a given APN is disallowed because data is disabled from the device user + * interface settings. + */ + DATA_SETTINGS_DISABLED = 0x80F, + /** + * PDN Connection to a given APN is disallowed because data roaming is disabled from the device + * user interface settings and the UE is roaming. + */ + DATA_ROAMING_SETTINGS_DISABLED = 0x810, + /** + * DDS (Default data subscription) switch occurs. + */ + DDS_SWITCHED = 0x811, + /** + * PDN being brought up with an APN that is part of forbidden APN Name list. + */ + FORBIDDEN_APN_NAME = 0x812, + /** + * Default data subscription switch is in progress. + */ + DDS_SWITCH_IN_PROGRESS = 0x813, + /** + * Roaming is disallowed during call bring up. + */ + CALL_DISALLOWED_IN_ROAMING = 0x814, + /** + * UE is unable to bring up a non-IP data call because the device is not camped on a NB1 cell. + */ + NON_IP_NOT_SUPPORTED = 0x815, + /** + * Non-IP PDN is in throttled state due to previous VSNCP bringup failure(s). + */ + PDN_NON_IP_CALL_THROTTLED = 0x816, + /** + * Non-IP PDN is in disallowed state due to the network providing only an IP address. + */ + PDN_NON_IP_CALL_DISALLOWED = 0x817, + /** + * Device in CDMA locked state. + */ + CDMA_LOCK = 0x818, + /** + * Received an intercept order from the base station. + */ + CDMA_INTERCEPT = 0x819, + /** + * Receiving a reorder from the base station. + */ + CDMA_REORDER = 0x81A, + /** + * Receiving a release from the base station with a SO (Service Option) Reject reason. + */ + CDMA_RELEASE_DUE_TO_SO_REJECTION = 0x81B, + /** + * Receiving an incoming call from the base station. + */ + CDMA_INCOMING_CALL = 0x81C, + /** + * Received an alert stop from the base station due to incoming only. + */ + CDMA_ALERT_STOP = 0x81D, + /** + * Channel acquisition failures. This indicates that device has failed acquiring all the + * channels in the PRL. + */ + CHANNEL_ACQUISITION_FAILURE = 0x81E, + /** + * Maximum access probes transmitted. + */ + MAX_ACCESS_PROBE = 0x81F, + /** + * Concurrent service is not supported by base station. + */ + CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION = 0x820, + /** + * There was no response received from the base station. + */ + NO_RESPONSE_FROM_BASE_STATION = 0x821, + /** + * The base station rejecting the call. + */ + REJECTED_BY_BASE_STATION = 0x822, + /** + * The concurrent services requested were not compatible. + */ + CONCURRENT_SERVICES_INCOMPATIBLE = 0x823, + /** + * Device does not have CDMA service. + */ + NO_CDMA_SERVICE = 0x824, + /** + * RUIM not being present. + */ + RUIM_NOT_PRESENT = 0x825, + /** + * Receiving a retry order from the base station. + */ + CDMA_RETRY_ORDER = 0x826, + /** + * Access blocked by the base station. + */ + ACCESS_BLOCK = 0x827, + /** + * Access blocked by the base station for all mobile devices. + */ + ACCESS_BLOCK_ALL = 0x828, + /** + * Maximum access probes for the IS-707B call. + */ + IS707B_MAX_ACCESS_PROBES = 0x829, + /** + * Put device in thermal emergency. + */ + THERMAL_EMERGENCY = 0x82A, + /** + * In favor of a voice call or SMS when concurrent voice and data are not supported. + */ + CONCURRENT_SERVICES_NOT_ALLOWED = 0x82B, + /** + * The other clients rejected incoming call. + */ + INCOMING_CALL_REJECTED = 0x82C, + /** + * No service on the gateway. + */ + NO_SERVICE_ON_GATEWAY = 0x82D, + /** + * GPRS context is not available. + */ + NO_GPRS_CONTEXT = 0x82E, + /** + * Network refuses service to the MS because either an identity of the MS is not acceptable to + * the network or the MS does not pass the authentication check. + */ + ILLEGAL_MS = 0x82F, + /** + * ME could not be authenticated and the ME used is not acceptable to the network. + */ + ILLEGAL_ME = 0x830, + /** + * Not allowed to operate either GPRS or non-GPRS services. + */ + GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED = 0x831, + /** + * MS is not allowed to operate GPRS services. + */ + GPRS_SERVICES_NOT_ALLOWED = 0x832, + /** + * No matching identity or context could be found in the network. + */ + MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK = 0x833, + /** + * Mobile reachable timer has expired, or the GMM context data related to the subscription does + * not exist in the SGSN. + */ + IMPLICITLY_DETACHED = 0x834, + /** + * UE requests GPRS service, or the network initiates a detach request in a PLMN which does not + * offer roaming for GPRS services to that MS. + */ + PLMN_NOT_ALLOWED = 0x835, + /** + * MS requests service, or the network initiates a detach request, in a location area where the + * HPLMN determines that the MS, by subscription, is not allowed to operate. + */ + LOCATION_AREA_NOT_ALLOWED = 0x836, + /** + * UE requests GPRS service or the network initiates a detach request in a PLMN that does not + * offer roaming for GPRS services. + */ + GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN = 0x837, + /** + * PDP context already exists. + */ + PDP_DUPLICATE = 0x838, + /** + * RAT change on the UE. + */ + UE_RAT_CHANGE = 0x839, + /** + * Network cannot serve a request from the MS due to congestion. + */ + CONGESTION = 0x83A, + /** + * MS requests an establishment of the radio access bearers for all active PDP contexts by + * sending a service request message indicating data to the network, but the SGSN does not have + * any active PDP context. + */ + NO_PDP_CONTEXT_ACTIVATED = 0x83B, + /** + * Access class blocking restrictions for the current camped cell. + */ + ACCESS_CLASS_DSAC_REJECTION = 0x83C, + /** + * SM attempts PDP activation for a maximum of four attempts. + */ + PDP_ACTIVATE_MAX_RETRY_FAILED = 0x83D, + /** + * Radio access bearer failure. + */ + RADIO_ACCESS_BEARER_FAILURE = 0x83E, + /** + * Invalid EPS bearer identity in the request. + */ + ESM_UNKNOWN_EPS_BEARER_CONTEXT = 0x83F, + /** + * Data radio bearer is released by the RRC. + */ + DRB_RELEASED_BY_RRC = 0x840, + /** + * Indicate the connection was released. + */ + CONNECTION_RELEASED = 0x841, + /** + * UE is detached. + */ + EMM_DETACHED = 0x842, + /** + * Attach procedure is rejected by the network. + */ + EMM_ATTACH_FAILED = 0x843, + /** + * Attach procedure is started for EMC purposes. + */ + EMM_ATTACH_STARTED = 0x844, + /** + * Service request procedure failure. + */ + LTE_NAS_SERVICE_REQUEST_FAILED = 0x845, + /** + * Active dedicated bearer was requested using the same default bearer ID. + */ + DUPLICATE_BEARER_ID = 0x846, + /** + * Collision scenarios for the UE and network-initiated procedures. + */ + ESM_COLLISION_SCENARIOS = 0x847, + /** + * Bearer must be deactivated to synchronize with the network. + */ + ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK = 0x848, + /** + * Active dedicated bearer was requested for an existing default bearer. + */ + ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER = 0x849, + /** + * Bad OTA message is received from the network. + */ + ESM_BAD_OTA_MESSAGE = 0x84A, + /** + * Download server rejected the call. + */ + ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL = 0x84B, + /** + * PDN was disconnected by the downlaod server due to IRAT. + */ + ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT = 0x84C, + /** + * Dedicated bearer will be deactivated regardless of the network response. + */ + DS_EXPLICIT_DEACTIVATION = 0x84D, + /** + * No specific local cause is mentioned, usually a valid OTA cause. + */ + ESM_LOCAL_CAUSE_NONE = 0x84E, + /** + * Throttling is not needed for this service request failure. + */ + LTE_THROTTLING_NOT_REQUIRED = 0x84F, + /** + * Access control list check failure at the lower layer. + */ + ACCESS_CONTROL_LIST_CHECK_FAILURE = 0x850, + /** + * Service is not allowed on the requested PLMN. + */ + SERVICE_NOT_ALLOWED_ON_PLMN = 0x851, + /** + * T3417 timer expiration of the service request procedure. + */ + EMM_T3417_EXPIRED = 0x852, + /** + * Extended service request fails due to expiration of the T3417 EXT timer. + */ + EMM_T3417_EXT_EXPIRED = 0x853, + /** + * Transmission failure of radio resource control (RRC) uplink data. + */ + RRC_UPLINK_DATA_TRANSMISSION_FAILURE = 0x854, + /** + * Radio resource control (RRC) uplink data delivery failed due to a handover. + */ + RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER = 0x855, + /** + * Radio resource control (RRC) uplink data delivery failed due to a connection release. + */ + RRC_UPLINK_CONNECTION_RELEASE = 0x856, + /** + * Radio resource control (RRC) uplink data delivery failed due to a radio link failure. + */ + RRC_UPLINK_RADIO_LINK_FAILURE = 0x857, + /** + * Radio resource control (RRC) is not connected but the non-access stratum (NAS) sends an + * uplink data request. + */ + RRC_UPLINK_ERROR_REQUEST_FROM_NAS = 0x858, + /** + * Radio resource control (RRC) connection failure at access stratum. + */ + RRC_CONNECTION_ACCESS_STRATUM_FAILURE = 0x859, + /** + * Radio resource control (RRC) connection establishment is aborted due to another procedure. + */ + RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS = 0x85A, + /** + * Radio resource control (RRC) connection establishment failed due to access barrred. + */ + RRC_CONNECTION_ACCESS_BARRED = 0x85B, + /** + * Radio resource control (RRC) connection establishment failed due to cell reselection at + * access stratum. + */ + RRC_CONNECTION_CELL_RESELECTION = 0x85C, + /** + * Connection establishment failed due to configuration failure at the radio resource control + * (RRC). + */ + RRC_CONNECTION_CONFIG_FAILURE = 0x85D, + /** + * Radio resource control (RRC) connection could not be established in the time limit. + */ + RRC_CONNECTION_TIMER_EXPIRED = 0x85E, + /** + * Connection establishment failed due to a link failure at the radio resource control (RRC). + */ + RRC_CONNECTION_LINK_FAILURE = 0x85F, + /** + * Connection establishment failed as the radio resource control (RRC) is not camped on any + * cell. + */ + RRC_CONNECTION_CELL_NOT_CAMPED = 0x860, + /** + * Connection establishment failed due to a service interval failure at the radio resource + * control (RRC). + */ + RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE = 0x861, + /** + * Radio resource control (RRC) connection establishment failed due to the network rejecting the + * UE connection request. + */ + RRC_CONNECTION_REJECT_BY_NETWORK = 0x862, + /** + * Normal radio resource control (RRC) connection release. + */ + RRC_CONNECTION_NORMAL_RELEASE = 0x863, + /** + * Radio resource control (RRC) connection release failed due to radio link failure conditions. + */ + RRC_CONNECTION_RADIO_LINK_FAILURE = 0x864, + /** + * Radio resource control (RRC) connection re-establishment failure. + */ + RRC_CONNECTION_REESTABLISHMENT_FAILURE = 0x865, + /** + * UE is out of service during the call register. + */ + RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER = 0x866, + /** + * Connection has been released by the radio resource control (RRC) due to an abort request. + */ + RRC_CONNECTION_ABORT_REQUEST = 0x867, + /** + * Radio resource control (RRC) connection released due to a system information block read + * error. + */ + RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR = 0x868, + /** + * Network-initiated detach with reattach. + */ + NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH = 0x869, + /** + * Network-initiated detach without reattach. + */ + NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH = 0x86A, + /** + * ESM procedure maximum attempt timeout failure. + */ + ESM_PROCEDURE_TIME_OUT = 0x86B, + /** + * No PDP exists with the given connection ID while modifying or deactivating or activation for + * an already active PDP. + */ + INVALID_CONNECTION_ID = 0x86C, + /** + * Maximum NSAPIs have been exceeded during PDP activation. + */ + MAXIMIUM_NSAPIS_EXCEEDED = 0x86D, + /** + * Primary context for NSAPI does not exist. + */ + INVALID_PRIMARY_NSAPI = 0x86E, + /** + * Unable to encode the OTA message for MT PDP or deactivate PDP. + */ + CANNOT_ENCODE_OTA_MESSAGE = 0x86F, + /** + * Radio access bearer is not established by the lower layers during activation, modification, + * or deactivation. + */ + RADIO_ACCESS_BEARER_SETUP_FAILURE = 0x870, + /** + * Expiration of the PDP establish timer with a maximum of five retries. + */ + PDP_ESTABLISH_TIMEOUT_EXPIRED = 0x871, + /** + * Expiration of the PDP modify timer with a maximum of four retries. + */ + PDP_MODIFY_TIMEOUT_EXPIRED = 0x872, + /** + * Expiration of the PDP deactivate timer with a maximum of four retries. + */ + PDP_INACTIVE_TIMEOUT_EXPIRED = 0x873, + /** + * PDP activation failed due to RRC_ABORT or a forbidden PLMN. + */ + PDP_LOWERLAYER_ERROR = 0x874, + /** + * MO PDP modify collision when the MT PDP is already in progress. + */ + PDP_MODIFY_COLLISION = 0x875, + /** + * Maximum size of the L2 message was exceeded. + */ + MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED = 0x876, + /** + * Non-access stratum (NAS) request was rejected by the network. + */ + NAS_REQUEST_REJECTED_BY_NETWORK = 0x877, + /** + * Radio resource control (RRC) connection establishment failure due to an error in the request + * message. + */ + RRC_CONNECTION_INVALID_REQUEST = 0x878, + /** + * Radio resource control (RRC) connection establishment failure due to a change in the tracking + * area ID. + */ + RRC_CONNECTION_TRACKING_AREA_ID_CHANGED = 0x879, + /** + * Radio resource control (RRC) connection establishment failure due to the RF was unavailable. + */ + RRC_CONNECTION_RF_UNAVAILABLE = 0x87A, + /** + * Radio resource control (RRC) connection was aborted before deactivating the LTE stack due to + * a successful LTE to WCDMA/GSM/TD-SCDMA IRAT change. + */ + RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE = 0x87B, + /** + * If the UE has an LTE radio link failure before security is established, the radio resource + * control (RRC) connection must be released and the UE must return to idle. + */ + RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE = 0x87C, + /** + * Radio resource control (RRC) connection was aborted by the non-access stratum (NAS) after an + * IRAT to LTE IRAT handover. + */ + RRC_CONNECTION_ABORTED_AFTER_HANDOVER = 0x87D, + /** + * Radio resource control (RRC) connection was aborted before deactivating the LTE stack after a + * successful LTE to GSM/EDGE IRAT cell change order procedure. + */ + RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE = 0x87E, + /** + * Radio resource control (RRC) connection was aborted in the middle of a LTE to GSM IRAT cell + * change order procedure. + */ + RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE = 0x87F, + /** + * IMSI present in the UE is unknown in the home subscriber server. + */ + IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER = 0x880, + /** + * IMEI of the UE is not accepted by the network. + */ + IMEI_NOT_ACCEPTED = 0x881, + /** + * EPS and non-EPS services are not allowed by the network. + */ + EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED = 0x882, + /** + * EPS services are not allowed in the PLMN. + */ + EPS_SERVICES_NOT_ALLOWED_IN_PLMN = 0x883, + /** + * Mobile switching center is temporarily unreachable. + */ + MSC_TEMPORARILY_NOT_REACHABLE = 0x884, + /** + * CS domain is not available. + */ + CS_DOMAIN_NOT_AVAILABLE = 0x885, + /** + * ESM level failure. + */ + ESM_FAILURE = 0x886, + /** + * MAC level failure. + */ + MAC_FAILURE = 0x887, + /** + * Synchronization failure. + */ + SYNCHRONIZATION_FAILURE = 0x888, + /** + * UE security capabilities mismatch. + */ + UE_SECURITY_CAPABILITIES_MISMATCH = 0x889, + /** + * Unspecified security mode reject. + */ + SECURITY_MODE_REJECTED = 0x88A, + /** + * Unacceptable non-EPS authentication. + */ + UNACCEPTABLE_NON_EPS_AUTHENTICATION = 0x88B, + /** + * CS fallback call establishment is not allowed. + */ + CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED = 0x88C, + /** + * No EPS bearer context was activated. + */ + NO_EPS_BEARER_CONTEXT_ACTIVATED = 0x88D, + /** + * Invalid EMM state. + */ + INVALID_EMM_STATE = 0x88E, + /** + * Non-Access Spectrum layer failure. + */ + NAS_LAYER_FAILURE = 0x88F, + /** + * Multiple PDP call feature is disabled. + */ + MULTIPLE_PDP_CALL_NOT_ALLOWED = 0x890, + /** + * Data call has been brought down because EMBMS is not enabled at the RRC layer. + */ + EMBMS_NOT_ENABLED = 0x891, + /** + * Data call was unsuccessfully transferred during the IRAT handover. + */ + IRAT_HANDOVER_FAILED = 0x892, + /** + * EMBMS data call has been successfully brought down. + */ + EMBMS_REGULAR_DEACTIVATION = 0x893, + /** + * Test loop-back data call has been successfully brought down. + */ + TEST_LOOPBACK_REGULAR_DEACTIVATION = 0x894, + /** + * Lower layer registration failure. + */ + LOWER_LAYER_REGISTRATION_FAILURE = 0x895, + /** + * Network initiates a detach on LTE with error cause "data plan has been replenished or has + * expired". + */ + DATA_PLAN_EXPIRED = 0x896, + /** + * UMTS interface is brought down due to handover from UMTS to iWLAN. + */ + UMTS_HANDOVER_TO_IWLAN = 0x897, + /** + * Received a connection deny due to general or network busy on EVDO network. + */ + EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY = 0x898, + /** + * Received a connection deny due to billing or authentication failure on EVDO network. + */ + EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE = 0x899, + /** + * HDR system has been changed due to redirection or the PRL was not preferred. + */ + EVDO_HDR_CHANGED = 0x89A, + /** + * Device exited HDR due to redirection or the PRL was not preferred. + */ + EVDO_HDR_EXITED = 0x89B, + /** + * Device does not have an HDR session. + */ + EVDO_HDR_NO_SESSION = 0x89C, + /** + * It is ending an HDR call origination in favor of a GPS fix. + */ + EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL = 0x89D, + /** + * Connection setup on the HDR system was time out. + */ + EVDO_HDR_CONNECTION_SETUP_TIMEOUT = 0x89E, + /** + * Device failed to acquire a co-located HDR for origination. + */ + FAILED_TO_ACQUIRE_COLOCATED_HDR = 0x89F, + /** + * OTASP commit is in progress. + */ + OTASP_COMMIT_IN_PROGRESS = 0x8A0, + /** + * Device has no hybrid HDR service. + */ + NO_HYBRID_HDR_SERVICE = 0x8A1, + /** + * HDR module could not be obtained because of the RF locked. + */ + HDR_NO_LOCK_GRANTED = 0x8A2, + /** + * DBM or SMS is in progress. + */ + DBM_OR_SMS_IN_PROGRESS = 0x8A3, + /** + * HDR module released the call due to fade. + */ + HDR_FADE = 0x8A4, + /** + * HDR system access failure. + */ + HDR_ACCESS_FAILURE = 0x8A5, + /** + * P_rev supported by 1 base station is less than 6, which is not supported for a 1X data call. + * The UE must be in the footprint of BS which has p_rev >= 6 to support this SO33 call. + */ + UNSUPPORTED_1X_PREV = 0x8A6, + /** + * Client ended the data call. + */ + LOCAL_END = 0x8A7, + /** + * Device has no service. + */ + NO_SERVICE = 0x8A8, + /** + * Device lost the system due to fade. + */ + FADE = 0x8A9, + /** + * Receiving a release from the base station with no reason. + */ + NORMAL_RELEASE = 0x8AA, + /** + * Access attempt is already in progress. + */ + ACCESS_ATTEMPT_ALREADY_IN_PROGRESS = 0x8AB, + /** + * Device is in the process of redirecting or handing off to a different target system. + */ + REDIRECTION_OR_HANDOFF_IN_PROGRESS = 0x8AC, + /** + * Device is operating in Emergency mode. + */ + EMERGENCY_MODE = 0x8AD, + /** + * Device is in use (e.g., voice call). + */ + PHONE_IN_USE = 0x8AE, + /** + * Device operational mode is different from the mode requested in the traffic channel bring up. + */ + INVALID_MODE = 0x8AF, + /** + * SIM was marked by the network as invalid for the circuit and/or packet service domain. + */ + INVALID_SIM_STATE = 0x8B0, + /** + * There is no co-located HDR. + */ + NO_COLLOCATED_HDR = 0x8B1, + /** + * UE is entering power save mode. + */ + UE_IS_ENTERING_POWERSAVE_MODE = 0x8B2, + /** + * Dual switch from single standby to dual standby is in progress. + */ + DUAL_SWITCH = 0x8B3, + /** + * Data call bring up fails in the PPP setup due to a timeout. (e.g., an LCP conf ack was not + * received from the network) + */ + PPP_TIMEOUT = 0x8B4, + /** + * Data call bring up fails in the PPP setup due to an authorization failure. + * (e.g., authorization is required, but not negotiated with the network during an LCP phase) + */ + PPP_AUTH_FAILURE = 0x8B5, + /** + * Data call bring up fails in the PPP setup due to an option mismatch. + */ + PPP_OPTION_MISMATCH = 0x8B6, + /** + * Data call bring up fails in the PPP setup due to a PAP failure. + */ + PPP_PAP_FAILURE = 0x8B7, + /** + * Data call bring up fails in the PPP setup due to a CHAP failure. + */ + PPP_CHAP_FAILURE = 0x8B8, + /** + * Data call bring up fails in the PPP setup because the PPP is in the process of cleaning the + * previous PPP session. + */ + PPP_CLOSE_IN_PROGRESS = 0x8B9, + /** + * IPv6 interface bring up fails because the network provided only the IPv4 address for the + * upcoming PDN permanent client can reattempt a IPv6 call bring up after the IPv4 interface is + * also brought down. However, there is no guarantee that the network will provide a IPv6 + * address. + */ + LIMITED_TO_IPV4 = 0x8BA, + /** + * IPv4 interface bring up fails because the network provided only the IPv6 address for the + * upcoming PDN permanent client can reattempt a IPv4 call bring up after the IPv6 interface is + * also brought down. However there is no guarantee that the network will provide a IPv4 + * address. + */ + LIMITED_TO_IPV6 = 0x8BB, + /** + * Data call bring up fails in the VSNCP phase due to a VSNCP timeout error. + */ + VSNCP_TIMEOUT = 0x8BC, + /** + * Data call bring up fails in the VSNCP phase due to a general error. It's used when there is + * no other specific error code available to report the failure. + */ + VSNCP_GEN_ERROR = 0x8BD, + /** + * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP + * configuration request because the requested APN is unauthorized. + */ + VSNCP_APN_UNAUTHORIZED = 0x8BE, + /** + * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP + * configuration request because the PDN limit has been exceeded. + */ + VSNCP_PDN_LIMIT_EXCEEDED = 0x8BF, + /** + * Data call bring up fails in the VSNCP phase due to the network rejected the VSNCP + * configuration request due to no PDN gateway address. + */ + VSNCP_NO_PDN_GATEWAY_ADDRESS = 0x8C0, + /** + * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP + * configuration request because the PDN gateway is unreachable. + */ + VSNCP_PDN_GATEWAY_UNREACHABLE = 0x8C1, + /** + * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP + * configuration request due to a PDN gateway reject. + */ + VSNCP_PDN_GATEWAY_REJECT = 0x8C2, + /** + * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP + * configuration request with the reason of insufficient parameter. + */ + VSNCP_INSUFFICIENT_PARAMETERS = 0x8C3, + /** + * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP + * configuration request with the reason of resource unavailable. + */ + VSNCP_RESOURCE_UNAVAILABLE = 0x8C4, + /** + * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP + * configuration request with the reason of administratively prohibited at the HSGW. + */ + VSNCP_ADMINISTRATIVELY_PROHIBITED = 0x8C5, + /** + * Data call bring up fails in the VSNCP phase due to a network rejection of PDN ID in use, or + * all existing PDNs are brought down with this end reason because one of the PDN bring up was + * rejected by the network with the reason of PDN ID in use. + */ + VSNCP_PDN_ID_IN_USE = 0x8C6, + /** + * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP + * configuration request for the reason of subscriber limitation. + */ + VSNCP_SUBSCRIBER_LIMITATION = 0x8C7, + /** + * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP + * configuration request because the PDN exists for this APN. + */ + VSNCP_PDN_EXISTS_FOR_THIS_APN = 0x8C8, + /** + * Data call bring up fails in the VSNCP phase due to a network rejection of the VSNCP + * configuration request with reconnect to this PDN not allowed, or an active data call is + * terminated by the network because reconnection to this PDN is not allowed. Upon receiving + * this error code from the network, the modem infinitely throttles the PDN until the next power + * cycle. + */ + VSNCP_RECONNECT_NOT_ALLOWED = 0x8C9, + /** + * Device failure to obtain the prefix from the network. + */ + IPV6_PREFIX_UNAVAILABLE = 0x8CA, + /** + * System preference change back to SRAT during handoff + */ + HANDOFF_PREFERENCE_CHANGED = 0x8CB, + /** + * Data call fail due to the slice not being allowed for the data call. + */ + SLICE_REJECTED = 0x8CC, + /** + * No matching rule available for the request, and match-all rule is not allowed for it. + */ + MATCH_ALL_RULE_NOT_ALLOWED = 0x8CD, + /** + * If connection failed for all matching URSP rules. + */ + ALL_MATCHING_RULES_FAILED = 0x8CE, +} diff --git a/radio/aidl/android/hardware/radio/DataConnActiveStatus.aidl b/radio/aidl/android/hardware/radio/DataConnActiveStatus.aidl new file mode 100644 index 0000000000..1e837275d0 --- /dev/null +++ b/radio/aidl/android/hardware/radio/DataConnActiveStatus.aidl @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2021 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; + +/** + * Data connection active status + */ +@VintfStability +@Backing(type="int") +enum DataConnActiveStatus { + /** + * Indicates the data connection is inactive. + */ + INACTIVE, + /** + * Indicates the data connection is active with physical link dormant. + */ + DORMANT, + /** + * Indicates the data connection is active with physical link up. + */ + ACTIVE, +} diff --git a/radio/aidl/android/hardware/radio/DataProfileId.aidl b/radio/aidl/android/hardware/radio/DataProfileId.aidl new file mode 100644 index 0000000000..f173f1f1e4 --- /dev/null +++ b/radio/aidl/android/hardware/radio/DataProfileId.aidl @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum DataProfileId { + DEFAULT = 0, + TETHERED = 1, + IMS = 2, + FOTA = 3, + CBS = 4, + /** + * Start of OEM-specific profiles + */ + OEM_BASE = 1000, + INVALID = 0xFFFFFFFF, +} diff --git a/radio/aidl/android/hardware/radio/DataProfileInfo.aidl b/radio/aidl/android/hardware/radio/DataProfileInfo.aidl new file mode 100644 index 0000000000..5e2d4d20b9 --- /dev/null +++ b/radio/aidl/android/hardware/radio/DataProfileInfo.aidl @@ -0,0 +1,103 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.ApnAuthType; +import android.hardware.radio.ApnTypes; +import android.hardware.radio.DataProfileId; +import android.hardware.radio.DataProfileInfoType; +import android.hardware.radio.PdpProtocolType; +import android.hardware.radio.RadioAccessFamily; + +@VintfStability +parcelable DataProfileInfo { + /** + * ID of the data profile. + */ + DataProfileId profileId; + /** + * The APN name. + */ + String apn; + /** + * PDP_type values. + */ + PdpProtocolType protocol; + /** + * PDP_type values used on roaming network. + */ + PdpProtocolType roamingProtocol; + /** + * APN authentication type. + */ + ApnAuthType authType; + /** + * The username for APN, or empty string. + */ + String user; + /** + * The password for APN, or empty string. + */ + String password; + /** + * Data profile technology type. + */ + DataProfileInfoType type; + /** + * The period in seconds to limit the maximum connections. + */ + int maxConnsTime; + /** + * The maximum connections during maxConnsTime. + */ + int maxConns; + /** + * The required wait time in seconds after a successful UE initiated disconnect of a given PDN + * connection before the device can send a new PDN connection request for that given PDN. + */ + int waitTime; + /** + * True to enable the profile, false to disable. + */ + boolean enabled; + /** + * Supported APN types bitmap. See ApnTypes for the value of each bit. + */ + ApnTypes supportedApnTypesBitmap; + /** + * The bearer bitmap. See RadioAccessFamily for the value of each bit. + */ + RadioAccessFamily bearerBitmap; + /** + * Maximum transmission unit (MTU) size in bytes for IPv4. + */ + int mtuV4; + /** + * Maximum transmission unit (MTU) size in bytes for IPv6. + */ + int mtuV6; + /** + * True if this data profile was used to bring up the last default (i.e internet) data + * connection successfully. + */ + boolean preferred; + /** + * If true, modem must persist this data profile and profileId must not be set to + * DataProfileId.INVALID. If the same data profile exists, this data profile must overwrite it. + */ + boolean persistent; +} diff --git a/radio/aidl/android/hardware/radio/DataProfileInfoType.aidl b/radio/aidl/android/hardware/radio/DataProfileInfoType.aidl new file mode 100644 index 0000000000..df46ef39fe --- /dev/null +++ b/radio/aidl/android/hardware/radio/DataProfileInfoType.aidl @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum DataProfileInfoType { + COMMON, + THREE_GPP, + THREE_GPP2, +} diff --git a/radio/aidl/android/hardware/radio/DataRegStateResult.aidl b/radio/aidl/android/hardware/radio/DataRegStateResult.aidl new file mode 100644 index 0000000000..53a3e52e85 --- /dev/null +++ b/radio/aidl/android/hardware/radio/DataRegStateResult.aidl @@ -0,0 +1,63 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CellIdentity; +import android.hardware.radio.DataRegStateResultVopsInfo; +import android.hardware.radio.NrIndicators; +import android.hardware.radio.RegState; + +@VintfStability +parcelable DataRegStateResult { + /** + * Valid reg states are NOT_REG_MT_NOT_SEARCHING_OP, REG_HOME, NOT_REG_MT_SEARCHING_OP, + * REG_DENIED, UNKNOWN, REG_ROAMING defined in RegState + */ + RegState regState; + /** + * Indicates the available data radio technology, valid values as defined by RadioTechnology. + */ + int rat; + /** + * If registration state is 3 (Registration denied) this is an enumerated reason why + * registration was denied. See 3GPP TS 24.008, Annex G.6 "Additional cause codes for GMM". + * 7 == GPRS services not allowed + * 8 == GPRS services and non-GPRS services not allowed + * 9 == MS identity cannot be derived by the network + * 10 == Implicitly detached + * 14 == GPRS services not allowed in this PLMN + * 16 == MSC temporarily not reachable + * 40 == No PDP context activated + */ + int reasonDataDenied; + /** + * The maximum number of simultaneous Data Calls must be established using setupDataCall(). + */ + int maxDataCalls; + CellIdentity cellIdentity; + /** + * Network capabilities for voice over PS services. This info is valid only on LTE network and + * must be present when device is camped on LTE. vopsInfo must be empty when device is camped + * only on 2G/3G. + */ + DataRegStateResultVopsInfo vopsInfo; + /** + * The parameters of NR 5G Non-Standalone. This value is only valid on E-UTRAN, otherwise + * must be empty. + */ + NrIndicators nrIndicators; +} diff --git a/radio/aidl/android/hardware/radio/DataRegStateResultVopsInfo.aidl b/radio/aidl/android/hardware/radio/DataRegStateResultVopsInfo.aidl new file mode 100644 index 0000000000..885d5b2395 --- /dev/null +++ b/radio/aidl/android/hardware/radio/DataRegStateResultVopsInfo.aidl @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.LteVopsInfo; + +@VintfStability +union DataRegStateResultVopsInfo { + boolean noinit; + /** + * LTE network capability + */ + LteVopsInfo lteVopsInfo; +} diff --git a/radio/aidl/android/hardware/radio/DataRequestReason.aidl b/radio/aidl/android/hardware/radio/DataRequestReason.aidl new file mode 100644 index 0000000000..74afdcb328 --- /dev/null +++ b/radio/aidl/android/hardware/radio/DataRequestReason.aidl @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum DataRequestReason { + /** + * The reason of the data request is normal + */ + NORMAL = 1, + /** + * The reason of the data request is device shutdown + */ + SHUTDOWN = 2, + /** + * The reason of the data request is IWLAN data handover to another transport + * (e.g. from cellular to wifi or vise versa) + */ + HANDOVER = 3, +} diff --git a/radio/aidl/android/hardware/radio/DataThrottlingAction.aidl b/radio/aidl/android/hardware/radio/DataThrottlingAction.aidl new file mode 100644 index 0000000000..1a49762374 --- /dev/null +++ b/radio/aidl/android/hardware/radio/DataThrottlingAction.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="byte") +enum DataThrottlingAction { + /* + * Clear all existing data throttling. + */ + NO_DATA_THROTTLING, + /** + * Enact secondary carrier data throttling and remove any existing data throttling on + * anchor carrier. + */ + THROTTLE_SECONDARY_CARRIER, + /** + * Enact anchor carrier data throttling and disable data on secondary carrier if currently + * enabled. + */ + THROTTLE_ANCHOR_CARRIER, + /** + * Immediately hold on to current level of throttling. + */ + HOLD, +} diff --git a/radio/aidl/android/hardware/radio/DeviceStateType.aidl b/radio/aidl/android/hardware/radio/DeviceStateType.aidl new file mode 100644 index 0000000000..e622486293 --- /dev/null +++ b/radio/aidl/android/hardware/radio/DeviceStateType.aidl @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum DeviceStateType { + /** + * Device power save mode (provided by PowerManager). True indicates the device is in + * power save mode. + */ + POWER_SAVE_MODE, + /** + * Device charging state (provided by BatteryManager). True indicates the device is charging. + */ + CHARGING_STATE, + /** + * Low data expected mode. True indicates low data traffic is expected, for example, when the + * device is idle (e.g. not doing tethering in the background). Note this doesn't mean no data + * is expected. + */ + LOW_DATA_EXPECTED, +} diff --git a/radio/aidl/android/hardware/radio/Dial.aidl b/radio/aidl/android/hardware/radio/Dial.aidl new file mode 100644 index 0000000000..90568158ed --- /dev/null +++ b/radio/aidl/android/hardware/radio/Dial.aidl @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.Clir; +import android.hardware.radio.UusInfo; + +@VintfStability +parcelable Dial { + String address; + Clir clir; + /** + * Vector of User-User Signaling Information + */ + UusInfo[] uusInfo; +} diff --git a/radio/aidl/android/hardware/radio/Domain.aidl b/radio/aidl/android/hardware/radio/Domain.aidl new file mode 100644 index 0000000000..f5e5261310 --- /dev/null +++ b/radio/aidl/android/hardware/radio/Domain.aidl @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum Domain { + /** + * Circuit-switched + */ + CS = 1 << 0, + /** + * Packet-switched + */ + PS = 1 << 1, +} diff --git a/radio/aidl/android/hardware/radio/EmcIndicator.aidl b/radio/aidl/android/hardware/radio/EmcIndicator.aidl new file mode 100644 index 0000000000..6f0b19fdba --- /dev/null +++ b/radio/aidl/android/hardware/radio/EmcIndicator.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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; + +/** + * Defines the values for emergency service indicator of NR as per 3gpp spec 24.501 sec 9.10.3.5 + */ +@VintfStability +@Backing(type="byte") +enum EmcIndicator { + /** + * Emergency services not supported + */ + EMC_NOT_SUPPORTED, + /** + * Emergency services supported in NR connected to 5GCN only + */ + EMC_NR_CONNECTED_TO_5GCN, + /** + * Emergency services supported in E-UTRA connected to 5GCN only + */ + EMC_EUTRA_CONNECTED_TO_5GCN, + /** + * Emergency services supported in NR connected to 5GCN and E-UTRA connected to 5GCN + */ + EMC_BOTH_NR_EUTRA_CONNECTED_TO_5GCN, +} diff --git a/radio/aidl/android/hardware/radio/EmergencyCallRouting.aidl b/radio/aidl/android/hardware/radio/EmergencyCallRouting.aidl new file mode 100644 index 0000000000..a915ee69ce --- /dev/null +++ b/radio/aidl/android/hardware/radio/EmergencyCallRouting.aidl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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; + +/** + * Indicates how the implementation should handle the emergency call if it is required by Android. + */ +@VintfStability +@Backing(type="int") +enum EmergencyCallRouting { + /** + * Indicates Android does not require how to handle the corresponding emergency call; it is + * decided by implementation. + */ + UNKNOWN, + /** + * Indicates the implementation must handle the call through emergency routing. + */ + EMERGENCY, + /** + * Indicates the implementation must handle the call through normal call routing. + */ + NORMAL, +} diff --git a/radio/aidl/android/hardware/radio/EmergencyNumber.aidl b/radio/aidl/android/hardware/radio/EmergencyNumber.aidl new file mode 100644 index 0000000000..ee425f87a1 --- /dev/null +++ b/radio/aidl/android/hardware/radio/EmergencyNumber.aidl @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.EmergencyNumberSource; +import android.hardware.radio.EmergencyServiceCategory; + +/** + * Emergency number contains information of number, one or more service category(s), zero or more + * emergency uniform resource names, mobile country code (mcc), mobile network country (mnc) and + * source(s) that indicate where it comes from. + * + * If the emergency number is associated with country, field ‘mcc’ must be provided, otherwise + * field ‘mcc’ must be an empty string. If the emergency number is associated with network operator, + * field ‘mcc’ and 'mnc' must be provided, otherwise field ‘mnc’ must be an empty string. If the + * emergency number is specified with emergency service category(s), field 'categories' must be + * provided, otherwise field 'categories' must be EmergencyServiceCategories::UNSPECIFIED. If the + * emergency number is specified with emergency uniform resource names (URN), field 'urns' must be + * provided, otherwise field 'urns' must be an empty list. + * + * A unique EmergencyNumber has a unique combination of ‘number’, ‘mcc’, 'mnc', 'categories' and + * 'urns' fields. Multiple EmergencyNumberSource should be merged into one 'sources' field via + * bitwise-OR combination for the same EmergencyNumber. + * + * Reference: 3gpp 22.101, Section 10 - Emergency Calls; + * 3gpp 23.167, Section 6 - Functional description; + * 3gpp 24.503, Section 5.1.6.8.1 - General; + * RFC 5031 + */ +@VintfStability +parcelable EmergencyNumber { + /** + * The emergency number. The character in the number string should only be the dial pad + * character('0'-'9', '*', or '#'). For example: 911. + */ + String number; + /** + * 3-digit Mobile Country Code, 0..999. Empty string if not applicable. + */ + String mcc; + /** + * 2 or 3-digit Mobile Network Code, 0..999. Empty string if not applicable. + */ + String mnc; + /** + * The bitfield of EmergencyServiceCategory(s). See EmergencyServiceCategory for the value of + * each bit. + */ + EmergencyServiceCategory categories; + /** + * The list of emergency Uniform Resource Names (URN). + */ + String[] urns; + /** + * The bitfield of EmergencyNumberSource(s). See EmergencyNumberSource for the value of + * each bit. + */ + EmergencyNumberSource sources; +} diff --git a/radio/aidl/android/hardware/radio/EmergencyNumberSource.aidl b/radio/aidl/android/hardware/radio/EmergencyNumberSource.aidl new file mode 100644 index 0000000000..c2d6547d64 --- /dev/null +++ b/radio/aidl/android/hardware/radio/EmergencyNumberSource.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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; + +/** + * The source to tell where the corresponding EmergencyNumber comes from. + * Reference: 3gpp 22.101, Section 10 - Emergency Calls + */ +@VintfStability +@Backing(type="int") +enum EmergencyNumberSource { + /** + * Indicates the number is from the network signal. + */ + NETWORK_SIGNALING = 1 << 0, + /** + * Indicates the number is from the sim card. + */ + SIM = 1 << 1, + /** + * Indicates the number is from the modem config. + */ + MODEM_CONFIG = 1 << 2, + /** + * Indicates the number is available as default. Per the reference, 112, 911 must always be + * available; additionally, 000, 08, 110, 999, 118 and 119 must be available when sim is not + * present. + */ + DEFAULT = 1 << 3, +} diff --git a/radio/aidl/android/hardware/radio/EmergencyServiceCategory.aidl b/radio/aidl/android/hardware/radio/EmergencyServiceCategory.aidl new file mode 100644 index 0000000000..30d34ab210 --- /dev/null +++ b/radio/aidl/android/hardware/radio/EmergencyServiceCategory.aidl @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2021 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; + +/** + * Defining Emergency Service Category as follows: + * - General emergency call, all categories; + * - Police; + * - Ambulance; + * - Fire Brigade; + * - Marine Guard; + * - Mountain Rescue; + * - Manually Initiated eCall (MIeC); + * - Automatically Initiated eCall (AIeC); + * + * Category UNSPECIFIED (General emergency call, all categories) indicates that no specific + * services are associated with this emergency number. + * + * Reference: 3gpp 22.101, Section 10 - Emergency Calls + */ +@VintfStability +@Backing(type="int") +enum EmergencyServiceCategory { + /** + * General emergency call, all categories + */ + UNSPECIFIED = 0, + POLICE = 1 << 0, + AMBULANCE = 1 << 1, + FIRE_BRIGADE = 1 << 2, + MARINE_GUARD = 1 << 3, + MOUNTAIN_RESCUE = 1 << 4, + /** + * Manually Initiated eCall (MIeC) + */ + MIEC = 1 << 5, + /** + * Automatically Initiated eCall (AIeC) + */ + AIEC = 1 << 6, +} diff --git a/radio/aidl/android/hardware/radio/EmfIndicator.aidl b/radio/aidl/android/hardware/radio/EmfIndicator.aidl new file mode 100644 index 0000000000..226e6844fc --- /dev/null +++ b/radio/aidl/android/hardware/radio/EmfIndicator.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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; + +/** + * Defines the values for emergency service fallback indicator of NR as per TS 24.501 sec 9.10.3.5. + */ +@VintfStability +@Backing(type="byte") +enum EmfIndicator { + /** + * Emergency services fallback not supported + */ + EMF_NOT_SUPPORTED, + /** + * Emergency services fallback supported in NR connected to 5GCN only + */ + EMF_NR_CONNECTED_TO_5GCN, + /** + * Emergency services fallback supported in E-UTRA connected to 5GCN only + */ + EMF_EUTRA_CONNECTED_TO_5GCN, + /** + * Emergency services fallback supported in NR connected to 5GCN and E-UTRA connected to 5GCN. + */ + EMF_BOTH_NR_EUTRA_CONNECTED_TO_5GCN, +} diff --git a/radio/aidl/android/hardware/radio/EpsQos.aidl b/radio/aidl/android/hardware/radio/EpsQos.aidl new file mode 100644 index 0000000000..ee4cbdd6c2 --- /dev/null +++ b/radio/aidl/android/hardware/radio/EpsQos.aidl @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.QosBandwidth; + +/** + * LTE/EPS Quality of Service parameters as per 3gpp spec 24.301 sec 9.9.4.3. + */ +@VintfStability +parcelable EpsQos { + /** + * Quality of Service Class Identifier (QCI), see 3GPP TS 23.203 and 29.212. + * The allowed values are standard values(1-9, 65-68, 69-70, 75, 79-80, 82-85) + * defined in the spec and operator specific values in the range 128-254. + */ + int qci; + QosBandwidth downlink; + QosBandwidth uplink; +} diff --git a/radio/aidl/android/hardware/radio/EutranBands.aidl b/radio/aidl/android/hardware/radio/EutranBands.aidl new file mode 100644 index 0000000000..59fe6c4036 --- /dev/null +++ b/radio/aidl/android/hardware/radio/EutranBands.aidl @@ -0,0 +1,85 @@ +/* + * Copyright (C) 2021 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; + +/** + * EUTRAN bands up to V16.4.0 + */ +@VintfStability +@Backing(type="int") +enum EutranBands { + BAND_1 = 1, + BAND_2 = 2, + BAND_3 = 3, + BAND_4 = 4, + BAND_5 = 5, + BAND_6 = 6, + BAND_7 = 7, + BAND_8 = 8, + BAND_9 = 9, + BAND_10 = 10, + BAND_11 = 11, + BAND_12 = 12, + BAND_13 = 13, + BAND_14 = 14, + BAND_17 = 17, + BAND_18 = 18, + BAND_19 = 19, + BAND_20 = 20, + BAND_21 = 21, + BAND_22 = 22, + BAND_23 = 23, + BAND_24 = 24, + BAND_25 = 25, + BAND_26 = 26, + BAND_27 = 27, + BAND_28 = 28, + BAND_30 = 30, + BAND_31 = 31, + BAND_33 = 33, + BAND_34 = 34, + BAND_35 = 35, + BAND_36 = 36, + BAND_37 = 37, + BAND_38 = 38, + BAND_39 = 39, + BAND_40 = 40, + BAND_41 = 41, + BAND_42 = 42, + BAND_43 = 43, + BAND_44 = 44, + BAND_45 = 45, + BAND_46 = 46, + BAND_47 = 47, + BAND_48 = 48, + BAND_65 = 65, + BAND_66 = 66, + BAND_68 = 68, + BAND_70 = 70, + BAND_49 = 49, + BAND_50 = 50, + BAND_51 = 51, + BAND_52 = 52, + BAND_53 = 53, + BAND_71 = 71, + BAND_72 = 72, + BAND_73 = 73, + BAND_74 = 74, + BAND_85 = 85, + BAND_87 = 87, + BAND_88 = 88, +} diff --git a/radio/aidl/android/hardware/radio/EvdoSignalStrength.aidl b/radio/aidl/android/hardware/radio/EvdoSignalStrength.aidl new file mode 100644 index 0000000000..ff631f311b --- /dev/null +++ b/radio/aidl/android/hardware/radio/EvdoSignalStrength.aidl @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable EvdoSignalStrength { + /** + * This value is the actual RSSI value multiplied by -1. Example: If the actual RSSI is -75, + * then this response value will be 75; INT_MAX means invalid/unreported. + */ + int dbm; + /** + * This value is the actual Ec/Io multiplied by -10. Example: If the actual Ec/Io is -12.5 dB, + * then this response value will be 125; INT_MAX means invalid/unreported. + */ + int ecio; + /** + * Valid values are 0-8. 8 is the highest signal to noise ratio; INT_MAX means + * invalid/unreported. + */ + int signalNoiseRatio; +} diff --git a/radio/aidl/android/hardware/radio/FrequencyRange.aidl b/radio/aidl/android/hardware/radio/FrequencyRange.aidl new file mode 100644 index 0000000000..09ec3bc1a7 --- /dev/null +++ b/radio/aidl/android/hardware/radio/FrequencyRange.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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; + +/** + * Mapping the frequency to a rough range. + */ +@VintfStability +@Backing(type="int") +enum FrequencyRange { + /** + * Indicates the frequency range is below 1GHz. + */ + LOW = 1, + /** + * Indicates the frequency range is between 1GHz and 3GHz. + */ + MID = 2, + /** + * Indicates the frequency range is between 3GHz and 6GHz. + */ + HIGH = 3, + /** + * Indicates the frequency range is above 6GHz (millimeter wave frequency). + */ + MMWAVE = 4, +} diff --git a/radio/aidl/android/hardware/radio/GeranBands.aidl b/radio/aidl/android/hardware/radio/GeranBands.aidl new file mode 100644 index 0000000000..d3a7598570 --- /dev/null +++ b/radio/aidl/android/hardware/radio/GeranBands.aidl @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum GeranBands { + BAND_T380 = 1, + BAND_T410 = 2, + BAND_450 = 3, + BAND_480 = 4, + BAND_710 = 5, + BAND_750 = 6, + BAND_T810 = 7, + BAND_850 = 8, + BAND_P900 = 9, + BAND_E900 = 10, + BAND_R900 = 11, + BAND_DCS1800 = 12, + BAND_PCS1900 = 13, + BAND_ER900 = 14, +} diff --git a/radio/aidl/android/hardware/radio/GsmBroadcastSmsConfigInfo.aidl b/radio/aidl/android/hardware/radio/GsmBroadcastSmsConfigInfo.aidl new file mode 100644 index 0000000000..9b08ad9b6a --- /dev/null +++ b/radio/aidl/android/hardware/radio/GsmBroadcastSmsConfigInfo.aidl @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2021 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; + +/** + * Which types of Cell Broadcast Message (CBM) are to be received by the ME + */ +@VintfStability +parcelable GsmBroadcastSmsConfigInfo { + /** + * Beginning of the range of CBM message identifiers whose value is 0x0000 - 0xFFFF as defined + * in TS 23.041 9.4.1.2.2 for GMS and 9.4.4.2.2 for UMTS. + * All other values must be treated as empty CBM message ID. + */ + int fromServiceId; + /** + * End of the range of CBM message identifiers whose value is 0x0000 - 0xFFFF as defined in + * TS 23.041 9.4.1.2.2 for GMS and 9.4.4.2.2 for UMTS. + * All other values must be treated as empty CBM message ID. + */ + int toServiceId; + /** + * Beginning of the range of CBM data coding schemes whose value is 0x00 - 0xFF as defined in + * TS 23.041 9.4.1.2.3 for GMS and 9.4.4.2.3 for UMTS. + * All other values must be treated as empty CBM data coding scheme. + */ + int fromCodeScheme; + /** + * End of the range of CBM data coding schemes whose value is 0x00 - 0xFF as defined in + * TS 23.041 9.4.1.2.3 for GMS and 9.4.4.2.3 for UMTS. + * All other values must be treated as empty CBM data coding scheme. + */ + int toCodeScheme; + /** + * False means message types specified in + * and are not accepted, while true means accepted. + */ + boolean selected; +} diff --git a/radio/aidl/android/hardware/radio/GsmSignalStrength.aidl b/radio/aidl/android/hardware/radio/GsmSignalStrength.aidl new file mode 100644 index 0000000000..65f853a1f7 --- /dev/null +++ b/radio/aidl/android/hardware/radio/GsmSignalStrength.aidl @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable GsmSignalStrength { + /** + * Valid values are (0-61, 99) as defined in TS 27.007 8.69; INT_MAX means invalid/unreported. + */ + int signalStrength; + /** + * Bit error rate (0-7, 99) as defined in TS 27.007 8.5; INT_MAX means invalid/unreported. + */ + int bitErrorRate; + /** + * Timing advance in bit periods. 1 bit period = 48/13 us. INT_MAX means invalid/unreported. + */ + int timingAdvance; +} diff --git a/radio/aidl/android/hardware/radio/GsmSmsMessage.aidl b/radio/aidl/android/hardware/radio/GsmSmsMessage.aidl new file mode 100644 index 0000000000..248b4be6a4 --- /dev/null +++ b/radio/aidl/android/hardware/radio/GsmSmsMessage.aidl @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable GsmSmsMessage { + /** + * SMSC address in GSM BCD format prefixed by a length byte (as expected by TS 27.005) + * or empty string for default SMSC + */ + String smscPdu; + /** + * SMS in PDU format as an ASCII hex string less the SMSC address. + * TP-Layer-Length is be "strlen(pdu)/2 + */ + String pdu; +} diff --git a/radio/aidl/android/hardware/radio/HandoverFailureMode.aidl b/radio/aidl/android/hardware/radio/HandoverFailureMode.aidl new file mode 100644 index 0000000000..f6918a8bd6 --- /dev/null +++ b/radio/aidl/android/hardware/radio/HandoverFailureMode.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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; + +/** + * The allowed failure modes on an IWLAN handover failure. + */ +@VintfStability +@Backing(type="byte") +enum HandoverFailureMode { + /** + * On data handover failure, fallback to the source data transport when the fail cause is due + * to a hand off preference change. + */ + LEGACY, + /** + * On data handover failure, fallback to the source data transport. + */ + DO_FALLBACK, + /** + * On data handover failure, retry the handover instead of falling back to the source data + * transport. + */ + NO_FALLBACK_RETRY_HANDOVER, + /** + * On data handover failure, setup a new data connection by sending a normal request to the + * underlying data service. + */ + NO_FALLBACK_RETRY_SETUP_NORMAL, +} diff --git a/radio/aidl/android/hardware/radio/HardwareConfig.aidl b/radio/aidl/android/hardware/radio/HardwareConfig.aidl new file mode 100644 index 0000000000..d3902afcce --- /dev/null +++ b/radio/aidl/android/hardware/radio/HardwareConfig.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.HardwareConfigModem; +import android.hardware.radio.HardwareConfigSim; +import android.hardware.radio.HardwareConfigState; +import android.hardware.radio.HardwareConfigType; + +@VintfStability +parcelable HardwareConfig { + HardwareConfigType type; + /** + * RadioConst:MAX_UUID_LENGTH is max length of the string + */ + String uuid; + HardwareConfigState state; + /** + * Valid only if type is Modem and size = 1 else must be empty. Only one of modem or sim must + * have size = 1 based on the HardwareConfigType, and the other must have size = 0. + */ + HardwareConfigModem[] modem; + /** + * Valid only if type is SIM and size = 1 else must be empty. Only one of modem or sim must + * have size = 1 based on the HardwareConfigType, and the other must have size = 0. + */ + HardwareConfigSim[] sim; +} diff --git a/radio/aidl/android/hardware/radio/HardwareConfigModem.aidl b/radio/aidl/android/hardware/radio/HardwareConfigModem.aidl new file mode 100644 index 0000000000..ef348d6699 --- /dev/null +++ b/radio/aidl/android/hardware/radio/HardwareConfigModem.aidl @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable HardwareConfigModem { + int rilModel; + /** + * bitset - ref. RadioTechnology. + */ + int rat; + int maxVoice; + int maxData; + int maxStandby; +} diff --git a/radio/aidl/android/hardware/radio/HardwareConfigSim.aidl b/radio/aidl/android/hardware/radio/HardwareConfigSim.aidl new file mode 100644 index 0000000000..85055de7c4 --- /dev/null +++ b/radio/aidl/android/hardware/radio/HardwareConfigSim.aidl @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable HardwareConfigSim { + /** + * RadioConst:MAX_UUID_LENGTH is max length of the string + */ + String modemUuid; +} diff --git a/radio/aidl/android/hardware/radio/HardwareConfigState.aidl b/radio/aidl/android/hardware/radio/HardwareConfigState.aidl new file mode 100644 index 0000000000..05c806d52a --- /dev/null +++ b/radio/aidl/android/hardware/radio/HardwareConfigState.aidl @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum HardwareConfigState { + ENABLED, + STANDBY, + DISABLED, +} diff --git a/radio/aidl/android/hardware/radio/HardwareConfigType.aidl b/radio/aidl/android/hardware/radio/HardwareConfigType.aidl new file mode 100644 index 0000000000..5605c2b802 --- /dev/null +++ b/radio/aidl/android/hardware/radio/HardwareConfigType.aidl @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum HardwareConfigType { + MODEM, + SIM, +} diff --git a/radio/aidl/android/hardware/radio/IRadio.aidl b/radio/aidl/android/hardware/radio/IRadio.aidl new file mode 100644 index 0000000000..352cbfbaa8 --- /dev/null +++ b/radio/aidl/android/hardware/radio/IRadio.aidl @@ -0,0 +1,2073 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.AccessNetwork; +import android.hardware.radio.CallForwardInfo; +import android.hardware.radio.CardPowerState; +import android.hardware.radio.CarrierRestrictions; +import android.hardware.radio.CarrierRestrictionsWithPriority; +import android.hardware.radio.CdmaBroadcastSmsConfigInfo; +import android.hardware.radio.CdmaRoamingType; +import android.hardware.radio.CdmaSmsAck; +import android.hardware.radio.CdmaSmsMessage; +import android.hardware.radio.CdmaSmsWriteArgs; +import android.hardware.radio.CdmaSubscriptionSource; +import android.hardware.radio.DataProfileInfo; +import android.hardware.radio.DataRequestReason; +import android.hardware.radio.DataThrottlingAction; +import android.hardware.radio.DeviceStateType; +import android.hardware.radio.Dial; +import android.hardware.radio.EmergencyCallRouting; +import android.hardware.radio.EmergencyServiceCategory; +import android.hardware.radio.GsmBroadcastSmsConfigInfo; +import android.hardware.radio.GsmSmsMessage; +import android.hardware.radio.IRadioIndication; +import android.hardware.radio.IRadioResponse; +import android.hardware.radio.IccIo; +import android.hardware.radio.ImsSmsMessage; +import android.hardware.radio.ImsiEncryptionInfo; +import android.hardware.radio.IndicationFilter; +import android.hardware.radio.KeepaliveRequest; +import android.hardware.radio.LinkAddress; +import android.hardware.radio.NetworkScanRequest; +import android.hardware.radio.NrDualConnectivityState; +import android.hardware.radio.NvItem; +import android.hardware.radio.NvWriteItem; +import android.hardware.radio.OptionalSliceInfo; +import android.hardware.radio.OptionalTrafficDescriptor; +import android.hardware.radio.PersoSubstate; +import android.hardware.radio.PhonebookRecordInfo; +import android.hardware.radio.PreferredNetworkType; +import android.hardware.radio.RadioAccessFamily; +import android.hardware.radio.RadioAccessNetworks; +import android.hardware.radio.RadioAccessSpecifier; +import android.hardware.radio.RadioBandMode; +import android.hardware.radio.RadioCapability; +import android.hardware.radio.RadioTechnology; +import android.hardware.radio.ResetNvType; +import android.hardware.radio.SelectUiccSub; +import android.hardware.radio.SignalThresholdInfo; +import android.hardware.radio.SimApdu; +import android.hardware.radio.SimLockMultiSimPolicy; +import android.hardware.radio.SmsAcknowledgeFailCause; +import android.hardware.radio.SmsWriteArgs; +import android.hardware.radio.TtyMode; + +/** + * This interface is used by telephony and telecom to talk to cellular radio. + * All the functions have minimum one parameter: + * serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the + * duration of a method call. If clients provide colliding serials (including passing the same + * serial to different methods), multiple responses (one for each method call) must still be served. + * setResponseFunctions must work with IRadioResponse and IRadioIndication. + */ +@VintfStability +interface IRadio { + /** + * Answer incoming call. Must not be called for WAITING calls. + * switchWaitingOrHoldingAndActive() must be used in this case instead + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.acceptCallResponse() + */ + oneway void acceptCall(in int serial); + + /** + * Acknowledge successful or failed receipt of SMS previously indicated via unsol + * responseNewSms(), including acknowledgement TPDU to send as the RP-User-Data element of the + * RP-ACK or RP-ERROR PDU. + * + * @param serial Serial number of request. + * @param success true on successful receipt (send RP-ACK) + * false on failed receipt (send RP-ERROR) + * @param ackPdu acknowledgement TPDU in hexadecimal format + * + * Response callback is IRadioResponse.acknowledgeIncomingGsmSmsWithPduResponse() + */ + oneway void acknowledgeIncomingGsmSmsWithPdu( + in int serial, in boolean success, in String ackPdu); + + /** + * Acknowledge the success or failure in the receipt of SMS previously indicated + * via responseCdmaNewSms() + * + * @param serial Serial number of request. + * @param smsAck Cdma Sms ack to be sent described by CdmaSmsAck in types.hal + * + * Response callback is IRadioResponse.acknowledgeLastIncomingCdmaSmsResponse() + */ + oneway void acknowledgeLastIncomingCdmaSms(in int serial, in CdmaSmsAck smsAck); + + /** + * Acknowledge successful or failed receipt of SMS previously indicated via unsolResponseNewSms + * + * @param serial Serial number of request. + * @param success is true on successful receipt + * (basically, AT+CNMA=1 from TS 27.005 is 0 on failed receipt + * (basically, AT+CNMA=2 from TS 27.005) + * @param cause: if success is false, this contains the failure cause as defined + * in TS 23.040, 9.2.3.22. + * + * Response function is IRadioResponse.acknowledgeLastIncomingGsmSmsResponse() + */ + oneway void acknowledgeLastIncomingGsmSms( + in int serial, in boolean success, in SmsAcknowledgeFailCause cause); + + /** + * Reserves an unallocated pdu session id from the pool of ids. The allocated id is returned + * in the response. When the id is no longer needed, call releasePduSessionId to return it to + * the pool. + * + * Reference: 3GPP TS 24.007 section 11.2.3.1b + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.allocatePduSessionIdResponse() + */ + oneway void allocatePduSessionId(in int serial); + + /** + * Whether uiccApplications are enabled, or disabled. + * By default uiccApplications must be enabled, unless enableUiccApplications() with enable + * being false is called. + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.areUiccApplicationsEnabledResponse() + */ + oneway void areUiccApplicationsEnabled(in int serial); + + /** + * Indicates that a handover was cancelled after a call to IRadio::startHandover. + * Since the handover was unsuccessful, the modem retains ownership over any of the resources + * being transferred and is still responsible for releasing them. + * + * @param serial Serial number of request. + * @param id callId The identifier of the data call which is provided in SetupDataCallResult + * + * Response function is IRadioResponse.cancelHandoverResponse() + */ + oneway void cancelHandover(in int serial, in int callId); + + /** + * Cancel the current USSD session if one exists. + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.cancelPendingUssdResponse() + */ + oneway void cancelPendingUssd(in int serial); + + /** + * Supplies old ICC PIN2 and new PIN2. + * + * @param serial Serial number of request. + * @param oldPin2 Old pin2 value + * @param newPin2 New pin2 value + * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value. + * + * Response function is IRadioResponse.changeIccPin2ForAppResponse() + */ + oneway void changeIccPin2ForApp( + in int serial, in String oldPin2, in String newPin2, in String aid); + + /** + * Supplies old ICC PIN and new PIN. + * + * @param serial Serial number of request. + * @param oldPin Old pin value + * @param newPin New pin value + * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value. + * + * Response function is IRadioResponse.changeIccPinForAppResponse() + */ + oneway void changeIccPinForApp( + in int serial, in String oldPin, in String newPin, in String aid); + + /** + * Conference holding and active (like AT+CHLD=3) + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.conferenceResponse() + */ + oneway void conference(in int serial); + + /** + * Deactivate packet data connection and remove from the data call list. An + * unsolDataCallListChanged() must be sent when data connection is deactivated. + * + * @param serial Serial number of request. + * @param cid Data call id. + * @param reason The request reason. Must be normal, handover, or shutdown. + * + * Response function is IRadioResponse.deactivateDataCallResponse() + */ + oneway void deactivateDataCall(in int serial, in int cid, in DataRequestReason reason); + + /** + * Deletes a CDMA SMS message from RUIM memory. + * + * @param serial Serial number of request. + * @param index record index of the message to delete + * + * Response callback is IRadioResponse.deleteSmsOnRuimResponse() + */ + oneway void deleteSmsOnRuim(in int serial, in int index); + + /** + * Deletes a SMS message from SIM memory. + * + * @param serial Serial number of request. + * @param index Record index of the message to delete. + * + * Response function is IRadioResponse.deleteSmsOnSimResponse() + */ + oneway void deleteSmsOnSim(in int serial, in int index); + + /** + * Initiate voice call. This method is never used for supplementary service codes. + * + * @param serial Serial number of request. + * @param dialInfo Dial struct + * + * Response function is IRadioResponse.dialResponse() + */ + oneway void dial(in int serial, in Dial dialInfo); + + /** + * Initiate emergency voice call, with zero or more emergency service category(s), zero or + * more emergency Uniform Resource Names (URN), and routing information for handling the call. + * Android uses this request to make its emergency call instead of using @1.0::IRadio.dial + * if the 'address' in the 'dialInfo' field is identified as an emergency number by Android. + * + * In multi-sim scenario, if the emergency number is from a specific subscription, this radio + * request can still be sent out on the other subscription as long as routing is set to + * @1.4::EmergencyNumberRouting#EMERGENCY. This radio request will not be sent on an inactive + * (PIN/PUK locked) subscription unless both subscriptions are PIN/PUK locked. In this case, + * the request will be sent on the primary subscription. + * + * Some countries or carriers require some emergency numbers that must be handled with normal + * call routing if possible or emergency routing. 1) if the 'routing' field is specified as + * @1.4::EmergencyNumberRouting#NORMAL, the implementation must try the full radio service to + * use normal call routing to handle the call; if service cannot support normal routing, the + * implementation must use emergency routing to handle the call. 2) if 'routing' is specified + * as @1.4::EmergencyNumberRouting#EMERGENCY, the implementation must use emergency routing to + * handle the call. 3) if 'routing' is specified as @1.4::EmergencyNumberRouting#UNKNOWN, + * Android does not know how to handle the call. + * + * If the dialed emergency number does not have a specified emergency service category, the + * 'categories' field is set to @1.4::EmergencyServiceCategory#UNSPECIFIED; if the dialed + * emergency number does not have specified emergency Uniform Resource Names, the 'urns' field + * is set to an empty list. If the underlying technology used to request emergency services + * does not support the emergency service category or emergency uniform resource names, the + * field 'categories' or 'urns' may be ignored. + * + * In the scenarios that the 'address' in the 'dialInfo' field has other functions besides the + * emergency number function, if the 'hasKnownUserIntentEmergency' field is true, the user's + * intent for this dial request is emergency call, and the modem must treat this as an actual + * emergency dial; if the 'hasKnownUserIntentEmergency' field is false, Android does not know + * user's intent for this call. + * + * If 'isTesting' is true, this request is for testing purpose, and must not be sent to a real + * emergency service; otherwise it's for a real emergency call request. + * + * Reference: 3gpp 22.101, Section 10 - Emergency Calls; + * 3gpp 23.167, Section 6 - Functional description; + * 3gpp 24.503, Section 5.1.6.8.1 - General; + * RFC 5031 + * + * @param serial Serial number of request. + * @param dialInfo the same @1.0::Dial information used by @1.0::IRadio.dial. + * @param categories bitfield<@1.4::EmergencyServiceCategory> the Emergency Service Category(s) + * of the call. + * @param urns the emergency Uniform Resource Names (URN) + * @param routing @1.4::EmergencyCallRouting the emergency call routing information. + * @param hasKnownUserIntentEmergency Flag indicating if user's intent for the emergency call + * is known. + * @param isTesting Flag indicating if this request is for testing purpose. + * + * Response function is IRadioResponse.emergencyDialResponse() + */ + oneway void emergencyDial(in int serial, in Dial dialInfo, + in EmergencyServiceCategory categories, in String[] urns, + in EmergencyCallRouting routing, in boolean hasKnownUserIntentEmergency, + in boolean isTesting); + + /** + * Toggle logical modem on/off. This is similar to @1.0::IRadio.setRadioPower(), however that + * does not enforce that radio power is toggled only for the corresponding radio and certain + * vendor implementations do it for all radios. This new API should affect only the modem for + * which it is called. A modem stack must be on/active only when both setRadioPower() and + * enableModem() are set to on for it. + * + * SIM must be read if available even if modem is off/inactive. + * + * @param serial Serial number of request. + * @param on True to turn on the logical modem, otherwise turn it off. + * + * Response function is IRadioResponse.enableModemResponse() + */ + oneway void enableModem(in int serial, in boolean on); + + /** + * Enable or disable UiccApplications on the SIM. If disabled: + * - Modem will not register on any network. + * - SIM must be PRESENT, and the IccId of the SIM must still be accessible. + * - The corresponding modem stack is still functional, e.g. able to make emergency calls or + * do network scan. + * By default if this API is not called, the uiccApplications must be enabled automatically. + * It must work for both single SIM and DSDS cases for UX consistency. + * The preference is per SIM, and must be remembered over power cycle, modem reboot, or SIM + * insertion / unplug. + * + * @param serial Serial number of request. + * @param enable true if to enable uiccApplications, false to disable. + * + * Response callback is IRadioResponse.enableUiccApplicationsResponse() + */ + oneway void enableUiccApplications(in int serial, in boolean enable); + + /** + * Request the radio's system selection module to exit emergency callback mode. Radio must not + * respond with SUCCESS until the modem has completely exited from Emergency Callback Mode. + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.exitEmergencyCallbackModeResponse() + */ + oneway void exitEmergencyCallbackMode(in int serial); + + /** + * Connects the two calls and disconnects the subscriber from both calls. + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.explicitCallTransferResponse() + */ + oneway void explicitCallTransfer(in int serial); + + /** + * Get carrier restrictions. + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.getAllowedCarriersResponse_1_4() + */ + oneway void getAllowedCarriers(in int serial); + + /** + * Requests bitmap representing the currently allowed network types. + * getPreferredNetworkType, getPreferredNetworkTypesBitmap will not be called anymore + * except for IRadio v1.5 or older devices. + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.getAllowedNetworkTypesBitmapResponse() + */ + oneway void getAllowedNetworkTypesBitmap(in int serial); + + /** + * Get the list of band modes supported by RF. + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.getAvailableBandModesResponse() + */ + oneway void getAvailableBandModes(in int serial); + + /** + * Scans for available networks + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.getAvailableNetworksResponse() + */ + oneway void getAvailableNetworks(in int serial); + + /** + * Get all the barring info for the current camped cell applicable to the current user. + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.getBarringInfoResponse() + */ + oneway void getBarringInfo(in int serial); + + /** + * Return string value indicating baseband version, eg response from AT+CGMR + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.getBasebandVersionResponse() + */ + oneway void getBasebandVersion(in int serial); + + /** + * Request the device MDN / H_SID / H_NID. The request is only allowed when CDMA subscription + * is available. When CDMA subscription is changed, application layer must re-issue the request + * to update the subscription information. + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.getCDMASubscriptionResponse() + */ + oneway void getCDMASubscription(in int serial); + + /** + * Request call forward status. + * + * @param serial Serial number of request. + * @param callInfo CallForwardInfo + * + * Response function is IRadioResponse.getCallForwardStatusResponse() + */ + oneway void getCallForwardStatus(in int serial, in CallForwardInfo callInfo); + + /** + * Query current call waiting state + * + * @param serial Serial number of request. + * @param serviceClass Service class is the TS 27.007 service class to query + * + * Response function is IRadioResponse.getCallWaitingResponse() + */ + oneway void getCallWaiting(in int serial, in int serviceClass); + + /** + * Request the setting of CDMA Broadcast SMS config + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.getCdmaBroadcastConfigResponse() + */ + oneway void getCdmaBroadcastConfig(in int serial); + + /** + * Request the actual setting of the roaming preferences in CDMA in the modem + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.getCdmaRoamingPreferenceResponse() + */ + oneway void getCdmaRoamingPreference(in int serial); + + /** + * Request to query the location where the CDMA subscription shall be retrieved. + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.getCdmaSubscriptionSourceResponse() + */ + oneway void getCdmaSubscriptionSource(in int serial); + + /** + * Request all of the current cell information known to the radio. The radio + * must return list of all current cells, including the neighboring cells. If for a particular + * cell information isn't known then the appropriate unknown value will be returned. + * This does not cause or change the rate of unsolicited cellInfoList(). + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.getCellInfoListResponse() + */ + oneway void getCellInfoList(in int serial); + + /** + * Queries the status of the CLIP supplementary service (for MMI code "*#30#") + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.getClipResponse() + */ + oneway void getClip(in int serial); + + /** + * Gets current CLIR status + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.getClirResponse() + */ + oneway void getClir(in int serial); + + /** + * Requests current call list + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.getCurrentCallsResponse_1_6() + */ + oneway void getCurrentCalls(in int serial); + + /** + * Returns the data call list. An entry is added when a setupDataCall() is issued and removed + * on a deactivateDataCall(). The list is emptied when setRadioPower() off/on issued or when + * the vendor HAL or modem crashes. + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.getDataCallListResponse_1_6() + */ + oneway void getDataCallList(in int serial); + + /** + * Request current data registration state. + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.getDataRegistrationStateResponse_1_6() + */ + oneway void getDataRegistrationState(in int serial); + + /** + * Request the device ESN / MEID / IMEI / IMEISV. The request is always allowed and contains + * GSM and CDMA device identity. When CDMA subscription is changed the ESN/MEID changes. + * The application layer must re-issue the request to update the device identity in this case. + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.getDeviceIdentityResponse() + */ + oneway void getDeviceIdentity(in int serial); + + /** + * Query the status of a facility lock state + * + * @param serial Serial number of request. + * @param facility is the facility string code from TS 27.007 7.4 + * (eg "AO" for BAOC, "SC" for SIM lock) + * @param password is the password, or "" if not required + * @param serviceClass is the TS 27.007 service class bit vector of services to query + * @param appId is AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value. + * This is only applicable in the case of Fixed Dialing Numbers (FDN) requests. + * + * Response function is IRadioResponse.getFacilityLockForAppResponse() + */ + oneway void getFacilityLockForApp(in int serial, in String facility, in String password, + in int serviceClass, in String appId); + + /** + * Request the setting of GSM/WCDMA Cell Broadcast SMS config. + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.getGsmBroadcastConfigResponse() + */ + oneway void getGsmBroadcastConfig(in int serial); + + /** + * Request all of the current hardware (modem and sim) associated with Radio. + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.getHardwareConfigResponse() + */ + oneway void getHardwareConfig(in int serial); + + /** + * Requests status of the ICC card + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.getIccCardStatusResponse() + * + */ + oneway void getIccCardStatus(in int serial); + + /** + * Request current IMS registration state + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.getImsRegistrationStateResponse() + */ + oneway void getImsRegistrationState(in int serial); + + /** + * Get the SIM IMSI. Only valid when radio state is "RADIO_STATE_ON" + * + * @param serial Serial number of request. + * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value. + * + * Response function is IRadioResponse.getImsiForAppResponse() + * + */ + oneway void getImsiForApp(in int serial, in String aid); + + /** + * Requests the failure cause code for the most recently terminated call. + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.getLastCallFailCauseResponse() + * + */ + oneway void getLastCallFailCause(in int serial); + + /** + * Get modem activity information for power consumption estimation. Request clear-on-read + * statistics information that is used for estimating the per-millisecond power consumption + * of the cellular modem. + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.getModemActivityInfoResponse() + */ + oneway void getModemActivityInfo(in int serial); + + /** + * Request status of logical modem. It returns isEnabled=true if the logical modem is on. + * This method is the getter method for enableModem. + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.getModemStackStatusResponse() + */ + oneway void getModemStackStatus(in int serial); + + /** + * Queries the current state of the uplink mute setting + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.getMuteResponse() + */ + oneway void getMute(in int serial); + + /** + * Request neighboring cell id in GSM network + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.getNeighboringCidsResponse() + */ + oneway void getNeighboringCids(in int serial); + + /** + * Query current network selection mode + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.getNetworkSelectionModeResponse() + */ + oneway void getNetworkSelectionMode(in int serial); + + /** + * Request current operator ONS or EONS + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.getOperatorResponse() + */ + oneway void getOperator(in int serial); + + /** + * Query the preferred network type (CS/PS domain, RAT, and operation mode) + * for searching and registering + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.getPreferredNetworkTypeResponse() + */ + oneway void getPreferredNetworkType(in int serial); + + /** + * Query the preferred network type bitmap. + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.getPreferredNetworkTypeBitmapResponse() + */ + oneway void getPreferredNetworkTypeBitmap(in int serial); + + /** + * Request the setting of preferred voice privacy mode. + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.getPreferredVoicePrivacyResponse() + */ + oneway void getPreferredVoicePrivacy(in int serial); + + /** + * Used to get phone radio capability. + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.getRadioCapabilityResponse() + */ + oneway void getRadioCapability(in int serial); + + /** + * Requests current signal strength and associated information. Must succeed if radio is on. + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.getSignalStrengthResponse_1_6() + */ + oneway void getSignalStrength(in int serial); + + /** + * Get the phone book capacity + * + * @param serial Serial number of request. + * + * Response function is defined from IRadioResponse.getSimPhonebookCapacityResponse() + */ + oneway void getSimPhonebookCapacity(in int serial); + + /** + * Get the local and global phonebook records from the SIM card. + * This should be called again after a simPhonebookChanged notification is received. + * The phonebook records are received via IRadioIndication.simPhonebookRecordsReceived() + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.getSimPhonebookRecordsResponse() + */ + oneway void getSimPhonebookRecords(in int serial); + + /** + * Request to get the current slicing configuration including URSP rules and NSSAIs + * (configured, allowed and rejected). URSP stands for UE route selection policy and is defined + * in 3GPP TS 24.526 Section 4.2. An NSSAI is a collection of network slices. Each network slice + * is identified by an S-NSSAI and is represented by the struct SliceInfo. NSSAI and S-NSSAI + * are defined in 3GPP TS 24.501. + * + * Response function is IRadioResponse.getSlicingConfigResponse() + */ + oneway void getSlicingConfig(in int serial); + + /** + * Get the default Short Message Service Center address on the device. + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.getSmscAddressResponse() + */ + oneway void getSmscAddress(in int serial); + + /** + * Get which bands the modem's background scan is acting on. + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.getSystemSelectionChannelsResponse() + */ + oneway void getSystemSelectionChannels(in int serial); + + /** + * Request the setting of TTY mode + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.getTTYModeResponse() + */ + oneway void getTTYMode(in int serial); + + /** + * Query the radio technology type (3GPP/3GPP2) used for voice. Query is valid only + * when radio state is not RADIO_STATE_UNAVAILABLE + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.getVoiceRadioTechnologyResponse() + */ + oneway void getVoiceRadioTechnology(in int serial); + + /** + * Request current voice registration state. + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.getVoiceRegistrationStateResponse() + */ + oneway void getVoiceRegistrationState(in int serial); + + /** + * When STK application gets stkCallSetup(), the call actually has been initialized by the + * mobile device already. (We could see the call has been in the 'call list'). STK application + * needs to accept/reject the call according to user operations. + * + * @param serial Serial number of request. + * @param accept true = accept the call setup, false = reject the call setup + * + * Response callback is IRadioResponse.handleStkCallSetupRequestFromSimResponse() + */ + oneway void handleStkCallSetupRequestFromSim(in int serial, in boolean accept); + + /** + * Hang up a specific line (like AT+CHLD=1x). After this HANGUP request returns, Radio must + * show the connection is NOT active anymore in next getCurrentCalls() query. + * + * @param serial Serial number of request. + * @param gsmIndex Connection index (value of 'x' in CHLD above) + * + * Response function is IRadioResponse.hangupResponse() + */ + oneway void hangup(in int serial, in int gsmIndex); + + /** + * Hang up waiting or held (like AT+CHLD=1). After this HANGUP request returns, Radio must show + * the connection is NOT active anymore in next getCurrentCalls() query. + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.hangupForegroundResumeBackgroundResponse() + */ + oneway void hangupForegroundResumeBackground(in int serial); + + /** + * Hang up waiting or held (like AT+CHLD=0). After this HANGUP request returns, Radio must show + * the connection is NOT active anymore in next getCurrentCalls() query. + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.hangupWaitingOrBackgroundResponse() + */ + oneway void hangupWaitingOrBackground(in int serial); + + /** + * Close a previously opened logical channel. This command reflects TS 27.007 + * "close logical channel" operation (+CCHC). + * + * @param serial Serial number of request. + * @param channelId session id of the logical channel (+CCHC). + * + * Response callback is IRadioResponse.iccCloseLogicalChannelResponse() + */ + oneway void iccCloseLogicalChannel(in int serial, in int channelId); + + /** + * Request ICC I/O operation. This is similar to the TS 27.007 "restricted SIM" operation where + * it assumes all of the EF selection must be done by the callee. Arguments and responses that + * are unused for certain values of "command" must be ignored or set to empty string. + * Note that IccIo has a "PIN2" field which may be empty string, or may specify a PIN2 for + * operations that require a PIN2 (eg updating FDN records). + * + * @param serial Serial number of request. + * @param iccIo IccIo + * + * Response function is IRadioResponse.iccIOForAppResponse() + */ + oneway void iccIOForApp(in int serial, in IccIo iccIo); + + /** + * Open a new logical channel and select the given application. This command + * reflects TS 27.007 "open logical channel" operation (+CCHO). + * + * @param serial Serial number of request. + * @param aid AID value, See ETSI 102.221 and 101.220. + * @param p2 P2 value, described in ISO 7816-4. Ignore if equal to P2Constant:NO_P2 + * + * Response callback is IRadioResponse.iccOpenLogicalChannelResponse() + */ + oneway void iccOpenLogicalChannel(in int serial, in String aid, in int p2); + + /** + * Request APDU exchange on the basic channel. This command reflects TS 27.007 + * "generic SIM access" operation (+CSIM). The modem must ensure proper function of GSM/CDMA, + * and filter commands appropriately. It must filter channel management and SELECT by DF + * name commands. "sessionid" field must be ignored. + * + * @param serial Serial number of request. + * @param message SimApdu as defined in types.hal to be sent + * + * Response callback is IRadioResponse.iccTransmitApduBasicChannelResponse() + */ + oneway void iccTransmitApduBasicChannel(in int serial, in SimApdu message); + + /** + * Exchange APDUs with a UICC over a previously opened logical channel. This command reflects + * TS 27.007 "generic logical channel access" operation (+CGLA). The modem must filter channel + * management and SELECT by DF name commands. + * + * @param serial Serial number of request. + * @param message SimApdu as defined in types.hal to be sent + * + * Response callback is IRadioResponse.iccTransmitApduLogicalChannelResponse() + */ + oneway void iccTransmitApduLogicalChannel(in int serial, in SimApdu message); + + /** + * Is E-UTRA-NR Dual Connectivity enabled + * + * @param serial Serial number of request. + * Response callback is IRadioResponse.isNrDualConnectivityEnabledResponse() + */ + oneway void isNrDualConnectivityEnabled(in int serial); + + /** + * Read one of the radio NV items. + * This is used for device configuration by some CDMA operators. + * + * @param serial Serial number of request. + * @param itemId NvItem is radio NV item as defined in types.hal + * + * Response callback is IRadioResponse.nvReadItemResponse() + */ + oneway void nvReadItem(in int serial, in NvItem itemId); + + /** + * Reset the radio NV configuration to the factory state. + * This is used for device configuration by some CDMA operators. + * + * @param serial Serial number of request. + * @param resetType ResetNvType as defined in types.hal + * + * Response callback is IRadioResponse.nvResetConfigResponse() + */ + oneway void nvResetConfig(in int serial, in ResetNvType resetType); + + /** + * Update the CDMA Preferred Roaming List (PRL) in the radio NV storage. + * This is used for device configuration by some CDMA operators. + * + * @param serial Serial number of request. + * @param prl PRL as a byte array + * + * Response callback is IRadioResponse.nvWriteCdmaPrlResponse() + */ + oneway void nvWriteCdmaPrl(in int serial, in byte[] prl); + + /** + * Write one of the radio NV items. + * This is used for device configuration by some CDMA operators. + * + * @param serial Serial number of request. + * @param item NvWriteItem as defined in types.hal + * + * Response callback is IRadioResponse.nvWriteItemResponse() + */ + oneway void nvWriteItem(in int serial, in NvWriteItem item); + + /** + * Pull LCE service for capacity information. + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.pullLceDataResponse() which may return + * RadioError:REQUEST_NOT_SUPPORTED if @1.2::IRadio or higher is supported. + * + * DEPRECATED in @1.2 or higher which use the always-on LCE that relies on indications. + */ + oneway void pullLceData(in int serial); + + /** + * Send UDUB (user determined user busy) to ringing or waiting call answer) + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.rejectCallResponse() + */ + oneway void rejectCall(in int serial); + + /** + * Releases a pdu session id that was previously allocated using allocatePduSessionId. + * Reference: 3GPP TS 24.007 section 11.2.3.1b + * + * @param serial Serial number of request. + * @param id Pdu session id to release. + * + * Response function is IRadioResponse.releasePduSessionIdResponse() + */ + oneway void releasePduSessionId(in int serial, in int id); + + /** + * Indicates whether there is storage available for new SMS messages. + * + * @param serial Serial number of request. + * @param available true if memory is available for storing new messages, + * false if memory capacity is exceeded + * + * Response callback is IRadioResponse.reportSmsMemoryStatusResponse() + */ + oneway void reportSmsMemoryStatus(in int serial, in boolean available); + + /** + * Indicates that the StkService is running and is ready to receive unsolicited stk commands. + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.reportStkServiceIsRunningResponse() + */ + oneway void reportStkServiceIsRunning(in int serial); + + /** + * Returns the response of SIM Authentication through Radio challenge request. + * + * @param serial Serial number of request. + * @param authContext P2 value of authentication command, see P2 parameter in + * 3GPP TS 31.102 7.1.2 + * @param authData the challenge string in Base64 format, see 3GPP TS 31.102 7.1.2 + * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value + * + * Response callback is IRadioResponse.requestIccSimAuthenticationResponse() + */ + oneway void requestIccSimAuthentication( + in int serial, in int authContext, in String authData, in String aid); + + /** + * Request the ISIM application on the UICC to perform AKA challenge/response algorithm + * for IMS authentication + * + * @param serial Serial number of request. + * @param challenge challenge string in Base64 format + * + * Response callback is IRadioResponse.requestIsimAuthenticationResponse() + */ + oneway void requestIsimAuthentication(in int serial, in String challenge); + + /** + * Device is shutting down. All further commands are ignored and RADIO_NOT_AVAILABLE + * must be returned. + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.requestShutdownResponse() + */ + oneway void requestShutdown(in int serial); + + /** + * When response type received from a radio indication or radio response is + * RadioIndicationType:UNSOLICITED_ACK_EXP or RadioResponseType:SOLICITED_ACK_EXP respectively, + * acknowledge the receipt of those messages by sending responseAcknowledgement(). + */ + oneway void responseAcknowledgement(); + + /** + * Send DTMF string + * + * @param serial Serial number of request. + * @param dtmf DTMF string + * @param on DTMF ON length in milliseconds, or 0 to use default + * @param off is the DTMF OFF length in milliseconds, or 0 to use default + * + * Response callback is IRadioResponse.sendBurstDtmfResponse() + */ + oneway void sendBurstDtmf(in int serial, in String dtmf, in int on, in int off); + + /** + * Send FLASH command + * + * @param serial Serial number of request. + * @param featureCode String associated with Flash command + * + * Response callback is IRadioResponse.sendCDMAFeatureCodeResponse() + */ + oneway void sendCDMAFeatureCode(in int serial, in String featureCode); + + /** + * Send a CDMA SMS message + * + * @param serial Serial number of request. + * @param sms Cdma Sms to be sent described by CdmaSmsMessage in types.hal + * + * Response callback is IRadioResponse.sendCdmaSmsResponse() + */ + oneway void sendCdmaSms(in int serial, in CdmaSmsMessage sms); + + /** + * Send an SMS message. Identical to sendCdmaSms, except that more messages are expected to be + * sent soon. + * + * @param serial Serial number of request. + * @param sms Cdma Sms to be sent described by CdmaSmsMessage in types.hal + * + * Response callback is IRadioResponse.sendCdmaSMSExpectMoreResponse() + */ + oneway void sendCdmaSmsExpectMore(in int serial, in CdmaSmsMessage sms); + + /** + * Send the updated device state. This is providing the device state information for the modem + * to perform power saving strategies. + * + * @param serial Serial number of request. + * @param deviceStateType The updated device state type. + * @param state The updated state. See the definition of state at DeviceStateType. + * + * Response callback is IRadioResponse.sendDeviceStateResponse() + */ + oneway void sendDeviceState( + in int serial, in DeviceStateType deviceStateType, in boolean state); + + /** + * Send a DTMF tone. If the implementation is currently playing a tone requested via + * startDtmf(), that tone must be cancelled and the new tone must be played instead. + * + * @param serial Serial number of request. + * @param s string with single char having one of 12 values: 0-9, *, # + * + * Response function is IRadioResponse.sendDtmfResponse() + */ + oneway void sendDtmf(in int serial, in String s); + + /** + * Requests to send a SAT/USAT envelope command to SIM. + * The SAT/USAT envelope command refers to 3GPP TS 11.14 and 3GPP TS 31.111 + * + * @param serial Serial number of request. + * @param command SAT/USAT command in hexadecimal format string starting with command tag + * + * Response function is IRadioResponse.sendEnvelopeResponse() + */ + oneway void sendEnvelope(in int serial, in String command); + + /** + * Requests to send a SAT/USAT envelope command to SIM. The SAT/USAT envelope command refers to + * 3GPP TS 11.14 and 3GPP TS 31.111. This request has one difference from sendEnvelope(): + * The SW1 and SW2 status bytes from the UICC response are returned along with the response + * data, using the same structure as iccIOForApp(). The implementation must perform normal + * processing of a '91XX' response in SW1/SW2 to retrieve the pending proactive command and + * send it as an unsolicited response, as sendEnvelope() does. + * + * @param serial Serial number of request. + * @param contents SAT/USAT command in hexadecimal format starting with command tag + * + * Response callback is IRadioResponse.sendEnvelopeWithStatusResponse() + */ + oneway void sendEnvelopeWithStatus(in int serial, in String contents); + + /** + * Send a SMS message over IMS. Based on the return error, caller decides to resend if sending + * sms fails. SMS_SEND_FAIL_RETRY means retry, and other errors means no retry. + * In case of retry, data is encoded based on Voice Technology available. + * + * @param serial Serial number of request. + * @param message ImsSmsMessage as defined in types.hal to be sent + * + * Response callback is IRadioResponse.sendImsSmsResponse() + */ + oneway void sendImsSms(in int serial, in ImsSmsMessage message); + + /** + * Send an SMS message. Identical to sendSms, except that more messages are expected to be sent + * soon. If possible, keep SMS relay protocol link open (eg TS 27.005 AT+CMMS command). + * Based on the returned error, caller decides to resend if sending sms fails. + * RadioError:SMS_SEND_FAIL_RETRY means retry (i.e. error cause is 332) and + * RadioError:GENERIC_FAILURE means no retry (i.e. error cause is 500) + * + * @param serial Serial number of request. + * @param message GsmSmsMessage as defined in types.hal + * + * Response function is IRadioResponse.sendSMSExpectMoreResponse() + * + * DEPRECATED in @1.6 or higher which uses sendSmsExpectMore(). + */ + oneway void sendSMSExpectMore(in int serial, in GsmSmsMessage message); + + /** + * Send an SMS message. Based on the returned error, caller decides to resend if sending sms + * fails. RadioError:SMS_SEND_FAIL_RETRY means retry (i.e. error cause is 332) and + * RadioError:GENERIC_FAILURE means no retry (i.e. error cause is 500) + * + * @param serial Serial number of request. + * @param message GsmSmsMessage as defined in types.hal + * + * Response function is IRadioResponse.sendSmsResponse() + */ + oneway void sendSms(in int serial, in GsmSmsMessage message); + + /** + * Send an SMS message. Identical to sendSms, except that more messages are expected to be sent + * soon. If possible, keep SMS relay protocol link open (eg TS 27.005 AT+CMMS command). + * Based on the return error, caller decides to resend if sending sms fails. + * RadioError:SMS_SEND_FAIL_RETRY means retry (i.e. error cause is 332) and + * RadioError:GENERIC_FAILURE means no retry (i.e. error cause is 500) + * + * @param serial Serial number of request. + * @param message GsmSmsMessage as defined in types.hal + * + * Response function is IRadioResponse.sendSmsExpectMoreResponse() + */ + oneway void sendSmsExpectMore(in int serial, in GsmSmsMessage message); + + /** + * Requests to send a terminal response to SIM for a received proactive command + * + * @param serial Serial number of request. + * @param commandResponse SAT/USAT response in hexadecimal format string starting with + * first byte of response data + * + * Response function is IRadioResponse.sendTerminalResponseResponseToSim() + */ + oneway void sendTerminalResponseToSim(in int serial, in String commandResponse); + + /** + * Send a USSD message. If a USSD session already exists, the message must be sent in the + * context of that session. Otherwise, a new session must be created. The network reply must be + * reported via unsolOnUssd. + * + * Only one USSD session must exist at a time, and the session is assumed to exist until: + * a) The android system invokes cancelUssd() + * b) The implementation sends a unsolOnUssd() with a type code of + * "0" (USSD-Notify/no further action) or "2" (session terminated) + * + * @param serial Serial number of request. + * @param ussd string containing the USSD request in UTF-8 format + * + * Response function is IRadioResponse.sendUssdResponse() + * + * See also requestCancelUssd, unsolOnUssd + */ + oneway void sendUssd(in int serial, in String ussd); + + /** + * Separate a party from a multiparty call placing the multiparty call (less the specified + * party) on hold and leaving the specified party as the only other member of the current + * (active) call. Like AT+CHLD=2x. + * + * See TS 22.084 1.3.8.2 (iii) + * TS 22.030 6.5.5 "Entering "2X followed by send" + * TS 27.007 "AT+CHLD=2x" + * + * @param serial Serial number of request. + * @param gsmIndex contains Connection index (value of 'x' in CHLD above) + * + * Response function is IRadioResponse.separateConnectionResponse() + */ + oneway void separateConnection(in int serial, in int gsmIndex); + + /** + * Set carrier restrictions. Expected modem behavior: + * If never receives this command: + * - Must allow all carriers + * Receives this command: + * - Only allow carriers specified in carriers. The restriction persists across power cycles + * and FDR. If a present SIM is allowed, modem must not reload the SIM. If a present SIM is + * *not* allowed, modem must detach from the registered network and only keep emergency + * service, and notify Android SIM refresh reset with new SIM state being + * CardState:RESTRICTED. Emergency service must be enabled. + * + * @param serial Serial number of request. + * @param carriers CarrierRestrictionsWithPriority consisting allowed and excluded carriers + * as defined in types.hal + * @param multiSimPolicy Policy to be used for devices with multiple SIMs. + * + * Response callback is IRadioResponse.setAllowedCarriersResponse() + */ + oneway void setAllowedCarriers(in int serial, in CarrierRestrictionsWithPriority carriers, + in SimLockMultiSimPolicy multiSimPolicy); + + /** + * Requests to set the network type for searching and registering. Instruct the radio to + * *only* accept the types of network provided. setPreferredNetworkTypesBitmap and + * setPreferredNetworkType will not be called anymore except for IRadio v1.5 or older devices. + * In case of an emergency call, the modem is authorized to bypass this restriction. + * + * @param serial Serial number of request. + * @param networkTypeBitmap a 32-bit bearer bitmap of RadioAccessFamily + * + * Response callback is IRadioResponse.setAllowedNetworkTypesBitmapResponse() + */ + oneway void setAllowedNetworkTypesBitmap(in int serial, in RadioAccessFamily networkTypeBitmap); + + /** + * Assign a specified band for RF configuration. + * + * @param serial Serial number of request. + * @param mode RadioBandMode defined in types.hal + * + * Response function is IRadioResponse.setBandModeResponse() + */ + oneway void setBandMode(in int serial, in RadioBandMode mode); + + /** + * Change call barring facility password + * + * @param serial Serial number of request. + * @param facility facility string code from TS 27.007 7.4 (eg "AO" for BAOC) + * @param oldPassword old password + * @param newPassword new password + * + * Response function is IRadioResponse.setBarringPasswordResponse() + */ + oneway void setBarringPassword( + in int serial, in String facility, in String oldPassword, in String newPassword); + + /** + * Configure call forward rule + * + * @param serial Serial number of request. + * @param callInfo CallForwardInfo + * + * Response function is IRadioResponse.setCallForwardResponse() + */ + oneway void setCallForward(in int serial, in CallForwardInfo callInfo); + + /** + * Configure current call waiting state + * + * @param serial Serial number of request. + * @param enable is false for "disabled" and true for "enabled" + * @param serviceClass is the TS 27.007 service class bit vector of services to modify + * + * Response function is IRadioResponse.setCallWaitingResponse() + */ + oneway void setCallWaiting(in int serial, in boolean enable, in int serviceClass); + + /** + * Provide Carrier specific information to the modem that must be used to encrypt the IMSI and + * IMPI. Sent by the framework during boot, carrier switch and everytime the framework receives + * a new certificate. + * + * @param serial Serial number of request. + * @param imsiEncryptionInfo ImsiEncryptionInfo as defined in types.hal. + * + * Response callback is IRadioResponse.setCarrierInfoForImsiEncryptionResponse() + */ + oneway void setCarrierInfoForImsiEncryption( + in int serial, in ImsiEncryptionInfo imsiEncryptionInfo); + + /** + * Enable or disable the reception of CDMA Cell Broadcast SMS + * + * @param serial Serial number of request. + * @param activate indicates to activate or turn off the reception of CDMA + * Cell Broadcast SMS. true = activate, false = turn off + * + * Response callback is IRadioResponse.setCdmaBroadcastActivationResponse() + */ + oneway void setCdmaBroadcastActivation(in int serial, in boolean activate); + + /** + * Set CDMA Broadcast SMS config + * + * @param serial Serial number of request. + * @param configInfo CDMA Broadcast SMS config to be set. + * + * Response callback is IRadioResponse.setCdmaBroadcastConfigResponse() + */ + oneway void setCdmaBroadcastConfig(in int serial, in CdmaBroadcastSmsConfigInfo[] configInfo); + + /** + * Request to set the roaming preferences in CDMA + * + * @param serial Serial number of request. + * @param type CdmaRoamingType defined in types.hal + * + * Response callback is IRadioResponse.setCdmaRoamingPreferenceResponse() + */ + oneway void setCdmaRoamingPreference(in int serial, in CdmaRoamingType type); + + /** + * Request to set the location where the CDMA subscription shall be retrieved + * + * @param serial Serial number of request. + * @param cdmaSub CdmaSubscriptionSource + * + * Response callback is IRadioResponse.setCdmaSubscriptionSourceResponse() + */ + oneway void setCdmaSubscriptionSource(in int serial, in CdmaSubscriptionSource cdmaSub); + + /** + * Sets the minimum time between when unsolicited cellInfoList() must be invoked. + * A value of 0, means invoke cellInfoList() when any of the reported information changes. + * Setting the value to INT_MAX(0x7fffffff) means never issue a unsolicited cellInfoList(). + * + * @param serial Serial number of request. + * @param rate minimum time in milliseconds to indicate time between unsolicited cellInfoList() + * + * Response callback is IRadioResponse.setCellInfoListRateResponse() + */ + oneway void setCellInfoListRate(in int serial, in int rate); + + /** + * Set current CLIR status + * + * @param serial Serial number of request. + * @param status "n" parameter from TS 27.007 7.7 + * + * Response function is IRadioResponse.setClirResponse() + */ + oneway void setClir(in int serial, in int status); + + /** + * Tells the modem whether data calls are allowed or not + * + * @param serial Serial number of request. + * @param allow true to allow data calls, false to disallow data calls + * + * Response callback is IRadioResponse.setDataAllowedResponse() + */ + oneway void setDataAllowed(in int serial, in boolean allow); + + /** + * Send data profiles of the current carrier to the modem. + * + * @param serial Serial number of request. + * @param profiles Array of DataProfileInfo to set. + * + * Response callback is IRadioResponse.setDataProfileResponse() + */ + oneway void setDataProfile(in int serial, in DataProfileInfo[] profiles); + + /** + * Control data throttling at modem. + * - DataThrottlingAction:NO_DATA_THROTTLING should clear any existing data throttling within + * the requested completion window. + * - DataThrottlingAction:THROTTLE_SECONDARY_CARRIER: Remove any existing throttling on anchor + * carrier and achieve maximum data throttling on secondary carrier within the requested + * completion window. + * - DataThrottlingAction:THROTTLE_ANCHOR_CARRIER: disable secondary carrier and achieve maximum + * data throttling on anchor carrier by requested completion window. + * - DataThrottlingAction:HOLD: Immediately hold on to current level of throttling. + * + * @param serial Serial number of request. + * @param dataThrottlingAction DataThrottlingAction as defined in types.hal + * @param completionDurationMillis window, in milliseconds, in which the requested throttling + * action has to be achieved. This must be 0 when dataThrottlingAction is + * DataThrottlingAction:HOLD. + * + * Response function is IRadioResponse.setDataThrottlingResponse() + */ + oneway void setDataThrottling(in int serial, in DataThrottlingAction dataThrottlingAction, + in long completionDurationMillis); + + /** + * Enable/disable one facility lock + * + * @param serial Serial number of request. + * @param facility is the facility string code from TS 27.007 7.4 (eg "AO" for BAOC) + * @param lockState false for "unlock" and true for "lock" + * @param password is the password + * @param serviceClass is string representation of decimal TS 27.007 service class bit vector. + * Eg, the string "1" means "set this facility for voice services" + * @param appId is AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value. + * This is only applicable in the case of Fixed Dialing Numbers (FDN) requests. + * + * Response function is IRadioResponse.setFacilityLockForAppResponse() + */ + oneway void setFacilityLockForApp(in int serial, in String facility, in boolean lockState, + in String password, in int serviceClass, in String appId); + + /** + * Enable or disable the reception of GSM/WCDMA Cell Broadcast SMS + * + * @param serial Serial number of request. + * @param activate indicates to activate or turn off the reception of GSM/WCDMA + * Cell Broadcast SMS. true = activate, false = turn off + * + * Response callback is IRadioResponse.setGsmBroadcastActivationResponse() + */ + oneway void setGsmBroadcastActivation(in int serial, in boolean activate); + + /** + * Set GSM/WCDMA Cell Broadcast SMS config + * + * @param serial Serial number of request. + * @param configInfo Setting of GSM/WCDMA Cell broadcast config + * + * Response callback is IRadioResponse.setGsmBroadcastConfigResponse() + */ + oneway void setGsmBroadcastConfig(in int serial, in GsmBroadcastSmsConfigInfo[] configInfo); + + /** + * Sets the indication filter. Prevents the reporting of specified unsolicited indications from + * the radio. This is used for power saving in instances when those indications are not needed. + * If unset, defaults to IndicationFilter:ALL. + * + * @param serial Serial number of request. + * @param indicationFilter 32-bit bitmap of IndicationFilter. Bits set to 1 indicate the + * indications are enabled. See IndicationFilter for the definition of each bit. + * + * Response callback is IRadioResponse.setIndicationFilterResponse() + */ + oneway void setIndicationFilter(in int serial, in IndicationFilter indicationFilter); + + /** + * Set an APN to initial attach network. + * + * @param serial Serial number of request. + * @param dataProfileInfo data profile containing APN settings + * + * Response callback is IRadioResponse.setInitialAttachApnResponse() + */ + oneway void setInitialAttachApn(in int serial, in DataProfileInfo dataProfileInfo); + + /** + * Sets the link capacity reporting criteria. The resulting reporting criteria are the AND of + * all the supplied criteria. Note that reporting criteria must be individually set for each + * RAN. If unset, reporting criteria for that RAN are implementation-defined. + * + * Response callback is IRadioResponse.setLinkCapacityReportingCriteriaResponse(). + * + * @param serial Serial number of request. + * @param hysteresisMs A hysteresis time in milliseconds to prevent flapping. A value of 0 + * disables hysteresis. + * @param hysteresisDlKbps An interval in kbps defining the required magnitude change between DL + * reports. hysteresisDlKbps must be smaller than the smallest threshold delta. A value + * of 0 disables hysteresis. + * @param hysteresisUlKbps An interval in kbps defining the required magnitude change between UL + * reports. hysteresisUlKbps must be smaller than the smallest threshold delta. A value + * of 0 disables hysteresis. + * @param thresholdsDownlinkKbps A vector of trigger thresholds in kbps for downlink reports. A + * vector size of 0 disables the use of DL thresholds for reporting. + * @param thresholdsUplinkKbps A vector of trigger thresholds in kbps for uplink reports. A + * vector size of 0 disables the use of UL thresholds for reporting. + * @param accessNetwork The type of network for which to apply these thresholds. + */ + oneway void setLinkCapacityReportingCriteria(in int serial, in int hysteresisMs, + in int hysteresisDlKbps, in int hysteresisUlKbps, in int[] thresholdsDownlinkKbps, + in int[] thresholdsUplinkKbps, in AccessNetwork accessNetwork); + + /** + * Enables/disables network state change notifications due to changes in LAC and/or CID (for + * GSM) or BID/SID/NID/latitude/longitude (for CDMA). Basically +CREG=2 vs. +CREG=1 (TS 27.007). + * The Radio implementation must default to "updates enabled" when the screen is on and + * "updates disabled" when the screen is off. + * + * @param serial Serial number of request. + * @param enable true=updates enabled (+CREG=2), false=updates disabled (+CREG=1) + * + * Response callback is IRadioResponse.setLocationUpdatesResponse() + */ + oneway void setLocationUpdates(in int serial, in boolean enable); + + /** + * Turn on or off uplink (microphone) mute. Must only be sent while voice call is active. + * Must always be reset to "disable mute" when a new voice call is initiated + * + * @param serial Serial number of request. + * @param enable true for "enable mute" and false for "disable mute" + * + * Response function is IRadioResponse.setMuteResponse() + */ + oneway void setMute(in int serial, in boolean enable); + + /** + * Specify that the network must be selected automatically. + * This request must not respond until the new operator is selected and registered. + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.setNetworkSelectionModeAutomaticResponse() + */ + oneway void setNetworkSelectionModeAutomatic(in int serial); + + /** + * Manually select a specified network. This request must not respond until the new operator is + * selected and registered. Per TS 23.122, the RAN is just the initial suggested value. + * If registration fails, the RAN is not available afterwards, or the RAN is not within the + * network types specified by IRadio::setPreferredNetworkTypeBitmap, then the modem will need to + * select the next best RAN for network registration. + * + * @param serial Serial number of request. + * @param operatorNumeric String specifying MCCMNC of network to select (eg "310170"). + * @param ran Initial suggested radio access network type. If value is UNKNOWN, the modem + * will select the next best RAN for network registration. + * + * Response function is IRadioResponse.setNetworkSelectionModeManualResponse() + */ + oneway void setNetworkSelectionModeManual( + in int serial, in String operatorNumeric, in RadioAccessNetworks ran); + + /** + * Enable or disable E-UTRA-NR dual connectivity. If disabled then UE will not connect + * to secondary carrier. + * + * @param serial Serial number of request. + * @param nrDualConnectivityState expected NR dual connectivity state. + * 1: Enable NR dual connectivity {NrDualConnectivityState:ENABLE} + * 2: Disable NR dual connectivity {NrDualConnectivityState:DISABLE} + * 3: Disable NR dual connectivity and force secondary cell to be released + * {NrDualConnectivityState:DISABLE_IMMEDIATE} + * + * Response callback is IRadioResponse.setNRDualConnectivityStateResponse() + */ + oneway void setNrDualConnectivityState( + in int serial, in NrDualConnectivityState nrDualConnectivityState); + + /** + * Requests to set the preferred network type for searching and registering + * (CS/PS domain, RAT, and operation mode) + * + * @param serial Serial number of request. + * @param nwType PreferredNetworkType defined in types.hal + * + * Response callback is IRadioResponse.setPreferredNetworkTypeResponse() + */ + oneway void setPreferredNetworkType(in int serial, in PreferredNetworkType nwType); + + /** + * Requests to set the preferred network type for searching and registering. + * + * @param serial Serial number of request. + * @param networkTypeBitmap a 32-bit bitmap of RadioAccessFamily. + * + * Response callback is IRadioResponse.setPreferredNetworkTypeBitmapResponse() + */ + oneway void setPreferredNetworkTypeBitmap( + in int serial, in RadioAccessFamily networkTypeBitmap); + + /** + * Request to set the preferred voice privacy mode used in voice scrambling. + * + * @param serial Serial number of request. + * @param enable false for Standard Privacy Mode (Public Long Code Mask) + * true for Enhanced Privacy Mode (Private Long Code Mask) + * + * Response callback is IRadioResponse.setPreferredVoicePrivacyResponse() + */ + oneway void setPreferredVoicePrivacy(in int serial, in boolean enable); + + /** + * Used to set the phones radio capability. Be VERY careful using this request as it may cause + * some vendor modems to reset. Because of the possible modem reset any radio commands after + * this one may not be processed. + * + * @param serial Serial number of request. + * @param rc RadioCapability structure to be set + * + * Response callback is IRadioResponse.setRadioCapabilityResponse() + */ + oneway void setRadioCapability(in int serial, in RadioCapability rc); + + /** + * Toggle radio on and off (for "airplane" mode). If the radio is turned off/on the radio modem + * subsystem is expected return to an initialized state. For instance, any voice and data calls + * must be terminated and all associated lists emptied. + * When setting radio power on to exit from airplane mode to place an emergency call on this + * logical modem, powerOn, forEmergencyCall and preferredForEmergencyCall must be true. In + * this case, this modem is optimized to scan only emergency call bands, until: + * 1) Emergency call is completed; or + * 2) Another setRadioPower_1_5 is issued with forEmergencyCall being false or + * preferredForEmergencyCall being false; or + * 3) Timeout after 30 seconds if dial or emergencyDial is not called. + * Once one of these conditions is reached, the modem should move into normal operation. + * + * @param serial Serial number of request. + * @param powerOn To turn on radio -> on = true, to turn off radio -> on = false. + * @param forEmergencyCall To indication to radio if this request is due to emergency call. + * No effect if powerOn is false. + * @param preferredForEmergencyCall indicate whether the following emergency call will be sent + * on this modem or not. No effect if forEmergencyCall is false, or powerOn is false. + * + * Response callback is IRadioConfigResponse.setRadioPowerResponse. + */ + oneway void setRadioPower(in int serial, in boolean powerOn, in boolean forEmergencyCall, + in boolean preferredForEmergencyCall); + + /** + * Set response functions for radio requests & radio indications. + * + * @param radioResponse Object containing response functions + * @param radioIndication Object containing radio indications + */ + void setResponseFunctions(in IRadioResponse radioResponse, in IRadioIndication radioIndication); + + /** + * Sets the signal strength reporting criteria. The resulting reporting rules are the AND of all + * the supplied criteria. For each RAN the hysteresisDb and thresholds apply to only the + * following measured quantities: + * -GERAN - RSSI + * -CDMA2000 - RSSI + * -UTRAN - RSCP + * -EUTRAN - RSRP/RSRQ/RSSNR + * -NGRAN - SSRSRP/SSRSRQ/SSSINR + * Note that reporting criteria must be individually set for each RAN. For each RAN, if none of + * reporting criteria of any measurement is set enabled (see SignalThresholdInfo.isEnabled), + * the reporting criteria for this RAN is implementation-defined. For each RAN, if any reporting + * criteria of any measure is set enabled, the reporting criteria of the other measures in this + * RAN are set disabled (see SignalThresholdInfo.isEnabled) until they are set enabled. + * + * @param serial Serial number of request. + * @param signalThresholdInfo Signal threshold info including the threshold values, + * hysteresisDb, hysteresisMs and isEnabled. See SignalThresholdInfo for details. + * @param accessNetwork The type of network for which to apply these thresholds. + * + * Response callback is IRadioResponse.setSignalStrengthReportingCriteriaResponse() + */ + oneway void setSignalStrengthReportingCriteria(in int serial, + in SignalThresholdInfo signalThresholdInfo, in AccessNetwork accessNetwork); + + /** + * Set SIM card power state. Request is used to power off or power on the card. It should not + * generate a CardState.CARDSTATE_ABSENT indication, since the SIM is still physically inserted. + * When SIM card is in POWER_UP_PASS_THROUGH, the modem does not send any command to it (for + * example SELECT of MF, or TERMINAL CAPABILITY), and the SIM card is controlled completely by + * Telephony sending APDUs directly. The SIM card state must be RIL_CARDSTATE_PRESENT and the + * number of card apps will be 0. No new error code is generated. Emergency calls are supported + * in the same way as if the SIM card is absent. Pass-through mode is valid only for the + * specific card session where it is activated, and normal behavior occurs at the next SIM + * initialization, unless POWER_UP_PASS_THROUGH is requested again. + * The device is required to power down the SIM card before it can switch the mode between + * POWER_UP and POWER_UP_PASS_THROUGH. At device power up, the SIM interface is powered up + * automatically. Each subsequent request to this method is processed only after the completion + * of the previous one. + * When the SIM is in POWER_DOWN, the modem should send an empty vector of AppStatus in + * CardStatus.applications. If a SIM in the POWER_DOWN state is removed and a new SIM is + * inserted, the new SIM should be in POWER_UP mode by default. If the device is turned off or + * restarted while the SIM is in POWER_DOWN, then the SIM should turn on normally in POWER_UP + * mode when the device turns back on. + * + * @param serial Serial number of request + * @param powerUp POWER_DOWN if powering down the SIM card + * POWER_UP if powering up the SIM card + * POWER_UP_PASS_THROUGH if powering up the SIM card in pass through mode + * + * Response callback is IRadioResponse.setSimCardPowerResponse(). + */ + oneway void setSimCardPower(in int serial, in CardPowerState powerUp); + + /** + * Set the default Short Message Service Center address on the device. + * + * @param serial Serial number of request. + * @param smsc Short Message Service Center address to set + * + * Response callback is IRadioResponse.setSmscAddressResponse() + */ + oneway void setSmscAddress(in int serial, in String smsc); + + /** + * Enables/disables supplementary service related notifications from the network. + * Notifications are reported via unsolSuppSvcNotification(). + * + * @param serial Serial number of request. + * @param enable true = notifications enabled, false = notifications disabled. + * + * Response function is IRadioResponse.setSuppServiceNotificationsResponse() + */ + oneway void setSuppServiceNotifications(in int serial, in boolean enable); + + /** + * Specify which bands modem's background scan must act on. If specifyChannels is true, it only + * scans bands specified in specifiers. If specifyChannels is false, it scans all bands. For + * example, CBRS is only on LTE band 48. By specifying this band, modem saves more power. + * + * @param serial Serial number of request. + * @param specifyChannels whether to scan bands defined in specifiers. + * @param specifiers which bands to scan. Only used if specifyChannels is true. + * + * Response callback is IRadioResponse.setSystemSelectionChannelsResponse() + */ + oneway void setSystemSelectionChannels( + in int serial, in boolean specifyChannels, in RadioAccessSpecifier[] specifiers); + + /** + * Request to set the TTY mode + * + * @param serial Serial number of request. + * @param mode TtyMode + * + * Response callback is IRadioResponse.setTTYModeResponse() + */ + oneway void setTTYMode(in int serial, in TtyMode mode); + + /** + * Selection/de-selection of a subscription from a SIM card + * + * @param serial Serial number of request. + * @param uiccSub SelectUiccSub as defined in types.hal + * + * Response callback is IRadioResponse.setUiccSubscriptionResponse() + */ + oneway void setUiccSubscription(in int serial, in SelectUiccSub uiccSub); + + /** + * Setup a packet data connection. If DataCallResponse.status returns DataCallFailCause:NONE, + * the data connection must be added to data calls and a unsolDataCallListChanged() must be + * sent. The call remains until removed by subsequent unsolDataCallIstChanged(). It may be lost + * due to many factors, including deactivateDataCall() being issued, the radio powered off, + * reception lost or even transient factors like congestion. This data call list is returned by + * getDataCallList() and dataCallListChanged(). + * The Radio is expected to: + * - Create one data call context. + * - Create and configure a dedicated interface for the context. + * - The interface must be point to point. + * - The interface is configured with one or more addresses and is capable of sending and + * receiving packets. The format is IP address with optional "/" prefix length (The format is + * defined in RFC-4291 section 2.3). For example, "192.0.1.3", "192.0.1.11/16", or + * "2001:db8::1/64". Typically one IPv4 or one IPv6 or one of each. If the prefix length is + * absent, then the addresses are assumed to be point to point with IPv4 with prefix length 32 + * or IPv6 with prefix length 128. + * - Must not modify routing configuration related to this interface; routing management is + * exclusively within the purview of the Android OS. + * - Support simultaneous data call contexts up to DataRegStateResult.maxDataCalls specified in + * the response of getDataRegistrationState. + * + * @param serial Serial number of request. + * @param accessNetwork The access network to setup the data call. If the data connection cannot + * be established on the specified access network then this should respond with an error. + * @param dataProfileInfo Data profile info. + * @param roamingAllowed Indicates whether or not data roaming is allowed by the user. + * @param reason The request reason. Must be DataRequestReason:NORMAL or + * DataRequestReason:HANDOVER. + * @param addresses If the reason is DataRequestReason:HANDOVER, this indicates the list of link + * addresses of the existing data connection. This parameter must be ignored unless + * reason is DataRequestReason:HANDOVER. + * @param dnses If the reason is DataRequestReason:HANDOVER, this indicates the list of DNS + * addresses of the existing data connection. The format is defined in RFC-4291 section + * 2.2. For example, "192.0.1.3" or "2001:db8::1". This parameter must be ignored unless + * reason is DataRequestReason:HANDOVER. + * @param pduSessionId The pdu session id to be used for this data call. A value of 0 means no + * pdu session id was attached to this call. Reference: 3GPP TS 24.007 section 11.2.3.1b + * @param sliceInfo SliceInfo to be used for the data connection when a handover occurs from + * EPDG to 5G. It is valid only when accessNetwork is AccessNetwork:NGRAN. If the slice + * passed from EPDG is rejected, then the data failure cause must be + * DataCallFailCause:SLICE_REJECTED. + * @param trafficDescriptor TrafficDescriptor for which data connection needs to be established. + * It is used for URSP traffic matching as described in TS 24.526 Section 4.2.2. + * It includes an optional DNN which, if present, must be used for traffic matching -- + * it does not specify the end point to be used for the data call. The end point is + * specified by DataProfileInfo.apn; DataProfileInfo.apn must be used as the end point if + * one is not specified through URSP rules. + * @param matchAllRuleAllowed bool to indicate if using default match-all URSP rule for this + * request is allowed. If false, this request must not use the match-all URSP rule and if + * a non-match-all rule is not found (or if URSP rules are not available) it should + * return failure with cause DataCallFailCause:MATCH_ALL_RULE_NOT_ALLOWED. This is needed + * as some requests need to have a hard failure if the intention cannot be met, for + * example, a zero-rating slice. + * + * Response function is IRadioResponse.setupDataCallResponse() + */ + oneway void setupDataCall(in int serial, in AccessNetwork accessNetwork, + in DataProfileInfo dataProfileInfo, in boolean roamingAllowed, + in DataRequestReason reason, in LinkAddress[] addresses, in String[] dnses, + in int pduSessionId, in OptionalSliceInfo sliceInfo, + in OptionalTrafficDescriptor trafficDescriptor, in boolean matchAllRuleAllowed); + + /** + * Start playing a DTMF tone. Continue playing DTMF tone until stopDtmf is received. If a + * startDtmf() is received while a tone is currently playing, it must cancel the previous tone + * and play the new one. + * + * @param serial Serial number of request. + * @param s string having a single character with one of 12 values: 0-9,*,# + * + * Response function is IRadioResponse.startDtmfResponse() + */ + oneway void startDtmf(in int serial, in String s); + + /** + * Indicates that a handover to the IWLAN transport has begun. Any resources being transferred + * to the IWLAN transport cannot be released while a handover is underway. For example, if a + * pdu session id needs to be transferred to IWLAN, then the modem should not release the id + * while the handover is in progress. If a handover was unsuccessful, then the framework calls + * IRadio::cancelHandover. The modem retains ownership over any of the resources being + * transferred to IWLAN. If a handover was successful, the framework calls + * IRadio::deactivateDataCall with reason HANDOVER. The IWLAN transport now owns the transferred + * resources and is responsible for releasing them. + * + * @param serial Serial number of request. + * @param id callId The identifier of the data call which is provided in SetupDataCallResult + * + * Response function is IRadioResponse.startHandoverResponse() + */ + oneway void startHandover(in int serial, in int callId); + + /** + * Start a Keepalive session (for IPsec) + * + * @param serial Serial number of request. + * @param keepalive A request structure containing all necessary info to describe a keepalive + * + * Response function is IRadioResponse.startKeepaliveResponse() + */ + oneway void startKeepalive(in int serial, in KeepaliveRequest keepalive); + + /** + * Start Link Capacity Estimate (LCE) service if supported by the radio. + * + * @param serial Serial number of request. + * @param reportInterval desired reporting interval (ms). + * @param pullMode LCE service mode. true: PULL; false: PUSH. + * + * Response callback is IRadioResponse.startLceServiceResponse() + * + * DEPRECATED in @1.2 or higher which use the always-on LCE that relies on indications. + */ + oneway void startLceService(in int serial, in int reportInterval, in boolean pullMode); + + /** + * Starts a network scan. + * + * @param serial Serial number of request. + * @param request Defines the radio networks/bands/channels which need to be scanned. + * + * Response function is IRadioResponse.startNetworkScanResponse() + */ + oneway void startNetworkScan(in int serial, in NetworkScanRequest request); + + /** + * Stop playing a currently playing DTMF tone. + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.stopDtmfResponse() + */ + oneway void stopDtmf(in int serial); + + /** + * Stop an ongoing Keepalive session (for IPsec) + * + * @param serial Serial number of request. + * @param sessionHandle The handle that was provided by IRadioResponse.startKeepaliveResponse + * + * Response function is IRadioResponse.stopKeepaliveResponse() + */ + oneway void stopKeepalive(in int serial, in int sessionHandle); + + /** + * Stop Link Capacity Estimate (LCE) service, the STOP operation must be idempotent for the + * radio modem. + * + * @param serial Serial number of request. + * + * Response callback is IRadioResponse.stopLceServiceResponse() + * + * DEPRECATED in @1.2 or higher which use the always-on LCE that relies on indications. + */ + oneway void stopLceService(in int serial); + + /** + * Stops ongoing network scan + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.stopNetworkScanResponse() + */ + oneway void stopNetworkScan(in int serial); + + /** + * Supplies ICC PIN2. Only called following operation where SIM_PIN2 was returned as a failure + * from a previous operation. + * + * @param serial Serial number of request. + * @param pin2 PIN2 value + * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value. + * + * Response function is IRadioResponse.supplyIccPin2ForAppResponse() + */ + oneway void supplyIccPin2ForApp(in int serial, in String pin2, in String aid); + + /** + * Supplies ICC PIN. Only called if CardStatus has AppState.PIN state + * + * @param serial Serial number of request. + * @param pin PIN value + * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value. + * + * Response function is IRadioResponse.supplyIccPinForAppResponse() + */ + oneway void supplyIccPinForApp(in int serial, in String pin, in String aid); + + /** + * Supplies ICC PUK2 and new PIN2. + * + * @param serial Serial number of request. + * @param puk2 PUK2 value + * @param pin2 New PIN2 value + * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value. + * + * Response function is IRadioResponse.supplyIccPuk2ForAppResponse() + */ + oneway void supplyIccPuk2ForApp(in int serial, in String puk2, in String pin2, in String aid); + + /** + * Supplies ICC PUK and new PIN. + * + * @param serial Serial number of request. + * @param puk PUK value + * @param pin New PIN value + * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value. + * + * Response function is IRadioResponse.supplyIccPukForAppResponse() + */ + oneway void supplyIccPukForApp(in int serial, in String puk, in String pin, in String aid); + + /** + * Requests that network personalization be deactivated + * + * @param serial Serial number of request. + * @param netPin Network depersonlization code + * + * Response function is IRadioResponse.supplyNetworkDepersonalizationResponse() + */ + oneway void supplyNetworkDepersonalization(in int serial, in String netPin); + + /** + * Request that deactivates one category of device personalization. Device personalization + * generally binds the device so it can only be used on one carrier or even one carrier subnet + * (See TS 22.022). When the user has gained the rights to unbind the device (at the end of a + * contract period or other event), the controlKey will be delivered to either the user for + * manual entry or to a carrier app on the device for automatic entry. + * + * @param serial Serial number of request. + * @param persoType SIM personalization type. + * @param controlKey the unlock code for removing persoType personalization from this device + * + * Response function is IRadioResponse.supplySimDepersonalizationResponse() + */ + oneway void supplySimDepersonalization( + in int serial, in PersoSubstate persoType, in String controlKey); + + /** + * Switch waiting or holding call and active call (like AT+CHLD=2). + * Call transitions must happen as shown below. + * BEFORE AFTER + * Call 1 Call 2 Call 1 Call 2 + * ACTIVE HOLDING HOLDING ACTIVE + * ACTIVE WAITING HOLDING ACTIVE + * HOLDING WAITING HOLDING ACTIVE + * ACTIVE IDLE HOLDING IDLE + * IDLE IDLE IDLE IDLE + * + * @param serial Serial number of request. + * + * Response function is IRadioResponse.switchWaitingOrHoldingAndActiveResponse() + */ + oneway void switchWaitingOrHoldingAndActive(in int serial); + + /** + * Insert, delete or update a phonebook record on the SIM card. If the index of recordInfo is 0, + * the phonebook record will be added to global or local phonebook, and global phonebook has + * higher priority than local phonebook. If the fields in the recordInfo are all empty except + * for the index, the phonebook record specified by the index will be deleted. The indication + * simPhonebookChanged will be called after every successful call of updateSimPhonebookRecords. + * + * @param serial Serial number of request. + * @param recordInfo Details of the record to insert, delete or update. + * + * Response callback is IRadioResponse.updateSimPhonebookRecordsResponse() + */ + oneway void updateSimPhonebookRecords(in int serial, in PhonebookRecordInfo recordInfo); + + /** + * Stores a CDMA SMS message to RUIM memory. + * + * @param serial Serial number of request. + * @param cdmaSms CDMA message as defined by CdmaSmsWriteArgs in types.hal + * + * Response callback is IRadioResponse.writeSmsToRuimResponse() + */ + oneway void writeSmsToRuim(in int serial, in CdmaSmsWriteArgs cdmaSms); + + /** + * Stores a SMS message to SIM memory. + * + * @param serial Serial number of request. + * @param smsWriteArgs SmsWriteArgs defined in types.hal + * + * Response function is IRadioResponse.writeSmsToSimResponse() + */ + oneway void writeSmsToSim(in int serial, in SmsWriteArgs smsWriteArgs); +} diff --git a/radio/aidl/android/hardware/radio/IRadioIndication.aidl b/radio/aidl/android/hardware/radio/IRadioIndication.aidl new file mode 100644 index 0000000000..054a53ef98 --- /dev/null +++ b/radio/aidl/android/hardware/radio/IRadioIndication.aidl @@ -0,0 +1,632 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.BarringInfo; +import android.hardware.radio.CdmaCallWaiting; +import android.hardware.radio.CdmaInformationRecords; +import android.hardware.radio.CdmaOtaProvisionStatus; +import android.hardware.radio.CdmaSignalInfoRecord; +import android.hardware.radio.CdmaSmsMessage; +import android.hardware.radio.CdmaSubscriptionSource; +import android.hardware.radio.CellIdentity; +import android.hardware.radio.CellInfo; +import android.hardware.radio.Domain; +import android.hardware.radio.EmergencyNumber; +import android.hardware.radio.HardwareConfig; +import android.hardware.radio.KeepaliveStatus; +import android.hardware.radio.LceDataInfo; +import android.hardware.radio.LinkCapacityEstimate; +import android.hardware.radio.NetworkScanResult; +import android.hardware.radio.PbReceivedStatus; +import android.hardware.radio.PcoDataInfo; +import android.hardware.radio.PhoneRestrictedState; +import android.hardware.radio.PhonebookRecordInfo; +import android.hardware.radio.PhysicalChannelConfig; +import android.hardware.radio.RadioCapability; +import android.hardware.radio.RadioIndicationType; +import android.hardware.radio.RadioState; +import android.hardware.radio.RadioTechnology; +import android.hardware.radio.SetupDataCallResult; +import android.hardware.radio.SignalStrength; +import android.hardware.radio.SimRefreshResult; +import android.hardware.radio.SrvccState; +import android.hardware.radio.StkCcUnsolSsResult; +import android.hardware.radio.SuppSvcNotification; +import android.hardware.radio.UssdModeType; + +/** + * Interface declaring unsolicited radio indications. + */ +@VintfStability +interface IRadioIndication { + /** + * Indicate barring information for the user’s access category / access class and PLMN. + * + *

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. + * + *

This indication should be sent whenever the cell’s barring config changes for the current + * user, or if the user’s 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 void barringInfoChanged(in RadioIndicationType type, in CellIdentity cellIdentity, + in BarringInfo[] barringInfos); + + /** + * Ring indication for an incoming call (eg, RING or CRING event). There must be at least one + * callRing() at the beginning of a call and sending multiple is optional. If the system + * property ro.telephony.call_ring.multiple is false then the upper layers must generate the + * multiple events internally. Otherwise the vendor code must generate multiple callRing() if + * ro.telephony.call_ring.multiple is true or if it is absent. + * The rate of these events is controlled by ro.telephony.call_ring.delay and has a default + * value of 3000 (3 seconds) if absent. + * + * @param type Type of radio indication + * @param isGsm true for GSM & false for CDMA + * @param record Cdma Signal Information + */ + oneway void callRing( + in RadioIndicationType type, in boolean isGsm, in CdmaSignalInfoRecord record); + + /** + * Indicates when call state has changed. Callee must invoke IRadio.getCurrentCalls(). Must be + * invoked on, for example, "RING", "BUSY", "NO CARRIER", and also call state transitions + * (DIALING->ALERTING ALERTING->ACTIVE). Redundent or extraneous invocations are tolerated. + * + * @param type Type of radio indication + */ + oneway void callStateChanged(in RadioIndicationType type); + + /** + * Indicates that the modem requires the Carrier info for IMSI/IMPI encryption. This might + * happen when the modem restarts or for some reason it's cache has been invalidated. + * + * @param type Type of radio indication + */ + oneway void carrierInfoForImsiEncryption(in RadioIndicationType info); + + /** + * Indicates when CDMA radio receives a call waiting indication. + * + * @param type Type of radio indication + * @param callWaitingRecord Cdma CallWaiting information + */ + oneway void cdmaCallWaiting(in RadioIndicationType type, in CdmaCallWaiting callWaitingRecord); + + /** + * Indicates when CDMA radio receives one or more info recs. + * + * @param type Type of radio indication + * @param records New Cdma Information + */ + oneway void cdmaInfoRec(in RadioIndicationType type, in CdmaInformationRecords records); + + /** + * Indicates when new CDMA SMS is received. Callee must subsequently confirm the receipt of the + * SMS with acknowledgeLastIncomingCdmaSms(). Server must not send cdmaNewSms() messages until + * acknowledgeLastIncomingCdmaSms() has been received. + * + * @param type Type of radio indication + * @param msg Cdma Sms Message + */ + oneway void cdmaNewSms(in RadioIndicationType type, in CdmaSmsMessage msg); + + /** + * Indicates when CDMA radio receives an update of the progress of an OTASP/OTAPA call. + * + * @param type Type of radio indication + * @param status Cdma OTA provision status + */ + oneway void cdmaOtaProvisionStatus( + in RadioIndicationType type, in CdmaOtaProvisionStatus status); + + /** + * Indicates when PRL (preferred roaming list) changes. + * + * @param type Type of radio indication + * @param version PRL version after PRL changes + */ + oneway void cdmaPrlChanged(in RadioIndicationType type, in int version); + + /** + * Indicates that SMS storage on the RUIM is full. Messages cannot be saved on the RUIM until + * space is freed. + * + * @param type Type of radio indication + */ + oneway void cdmaRuimSmsStorageFull(in RadioIndicationType type); + + /** + * Indicates when CDMA subscription source changed. + * + * @param type Type of radio indication + * @param cdmaSource New Cdma SubscriptionSource + */ + oneway void cdmaSubscriptionSourceChanged( + in RadioIndicationType type, in CdmaSubscriptionSource cdmaSource); + + /** + * Report all of the current cell information known to the radio. + * + * @param type Type of radio indication + * @param records Current cell information + */ + oneway void cellInfoList(in RadioIndicationType type, in CellInfo[] records); + + /** + * Report the current list of emergency numbers. Each emergency number in the emergency number + * list contains a dialing number, zero or more service category(s), zero or more emergency + * uniform resource names, mobile country code, mobile network code, and source(s) that indicate + * where it comes from. + * Radio must report all the valid emergency numbers with known mobile country code, mobile + * network code, emergency service categories, and emergency uniform resource names from all + * available sources including network signaling, sim, modem/oem configuration, and default + * configuration (112 and 911 must be always available; additionally, 000, 08, 110, 999, 118 + * and 119 must be available when sim is not present). Radio shall not report emergency numbers + * that are invalid in the current locale. The reported emergency number list must not have + * duplicate EmergencyNumber entries. Please refer the documentation of EmergencyNumber to + * construct each emergency number to report. + * Radio must report the complete list of emergency numbers whenever the emergency numbers in + * the list are changed or whenever the client and the radio server are connected. + * + * Reference: 3gpp 22.101, Section 10 - Emergency Calls; + * 3gpp 24.008, Section 9.2.13.4 - Emergency Number List + * + * @param type Type of radio indication + * @param emergencyNumberList Current list of emergency numbers known to radio. + */ + oneway void currentEmergencyNumberList( + in RadioIndicationType type, in EmergencyNumber[] emergencyNumberList); + + /** + * Indicates current link capacity estimate. This indication is sent whenever the reporting + * criteria, as set by IRadio.setLinkCapacityReportingCriteria, are met and the indication is + * not suppressed by IRadio.setIndicationFilter(). + * + * @param type Type of radio indication + * @param lce LinkCapacityEstimate + */ + oneway void currentLinkCapacityEstimate( + in RadioIndicationType type, in LinkCapacityEstimate lce); + + /** + * Indicates physical channel configurations. An empty configs list shall be returned when the + * radio is in idle mode (i.e. RRC idle). + * + * @param type Type of radio indication + * @param configs Vector of PhysicalChannelConfigs + */ + oneway void currentPhysicalChannelConfigs( + in RadioIndicationType type, in PhysicalChannelConfig[] configs); + + /** + * Indicates current signal strength of the radio. + * + * @param type Type of radio indication + * @param signalStrength SignalStrength information + */ + oneway void currentSignalStrength( + in RadioIndicationType type, in SignalStrength signalStrength); + + /** + * Indicates data call contexts have changed. + * + * @param type Type of radio indication + * @param dcList Array of SetupDataCallResult identical to that returned by + * IRadio.getDataCallList(). It is the complete list of current data contexts including + * new contexts that have been activated. A data call is only removed from this list + * when any of the below conditions is matched: + * - The framework sends a IRadio.deactivateDataCall(). + * - The radio is powered off/on. + * - Unsolicited disconnect from either modem or network side. + */ + oneway void dataCallListChanged(in RadioIndicationType type, in SetupDataCallResult[] dcList); + + /** + * Indicates that the radio system selection module has autonomously entered emergency + * callback mode. + * + * @param type Type of radio indication + */ + oneway void enterEmergencyCallbackMode(in RadioIndicationType type); + + /** + * Indicates when Emergency Callback Mode Ends. Indicates that the radio system selection module + * has proactively exited emergency callback mode. + * + * @param type Type of radio indication + */ + oneway void exitEmergencyCallbackMode(in RadioIndicationType type); + + /** + * Indicates when the hardware configuration associated with the RILd changes. + * + * @param type Type of radio indication + * @param configs Array of hardware configs + */ + oneway void hardwareConfigChanged(in RadioIndicationType type, in HardwareConfig[] configs); + + /** + * Indicates when IMS registration state has changed. To get IMS registration state and IMS SMS + * format, callee needs to invoke getImsRegistrationState(). + * + * @param type Type of radio indication + */ + oneway void imsNetworkStateChanged(in RadioIndicationType type); + + /** + * Indicates that nework doesn't have in-band information, need to play out-band tone. + * + * @param type Type of radio indication + * @param start true = start play ringback tone, false = stop playing ringback tone + */ + oneway void indicateRingbackTone(in RadioIndicationType type, in boolean start); + + /** + * Indicates a status update for a particular Keepalive session. This must include a handle for + * a previous session and should include a status update regarding the state of a keepalive. + * Unsolicited keepalive status reports should never be PENDING as unsolicited status should + * only be sent when known. + * + * @param type Type of radio indication + * @param status Status information for a Keepalive session + */ + oneway void keepaliveStatus(in RadioIndicationType type, in KeepaliveStatus status); + + /** + * Indicates when there is an incoming Link Capacity Estimate (LCE) info report. + * + * @param type Type of radio indication + * @param lce LceData information + * + * DEPRECATED in @1.2 and above, use IRadioIndication.currentLinkCapacityEstimate() instead. + */ + oneway void lceData(in RadioIndicationType type, in LceDataInfo lce); + + /** + * Indicates when there is a modem reset. + * When modem restarts, one of the following radio state transitions must happen + * 1) RadioState:ON->RadioState:UNAVAILABLE->RadioState:ON or + * 2) RadioState:OFF->RadioState:UNAVAILABLE->RadioState:OFF + * This message must be sent either just before the Radio State changes to + * RadioState:UNAVAILABLE or just after but must never be sent after the Radio State changes + * from RadioState:UNAVAILABLE to RadioState:ON/RadioState:OFF again. It must NOT be sent after + * the Radio state changes to RadioState:ON/RadioState:OFF after the modem restart as that may + * be interpreted as a second modem reset by the framework. + * + * @param type Type of radio indication + * @param reason the reason for the reset. It may be a crash signature if the restart was due to + * a crash or some string such as "user-initiated restart" or "AT command initiated + * restart" that explains the cause of the modem restart + */ + oneway void modemReset(in RadioIndicationType type, in String reason); + + /** + * Incremental network scan results. + * + * @param type Type of radio indication + * @param result the result of the network scan + */ + oneway void networkScanResult(in RadioIndicationType type, in NetworkScanResult result); + + /** + * Indicates when voice or data network state changed. Callee must invoke + * IRadio.getVoiceRegistrationState(), IRadio.getDataRegistrationState(), and + * IRadio.getOperator() + * + * @param type Type of radio indication + */ + oneway void networkStateChanged(in RadioIndicationType type); + + /** + * Indicates when new Broadcast SMS is received + * + * @param type Type of radio indication + * @param data If received from GSM network, "data" is byte array of 88 bytes which indicates + * each page of a CBS Message sent to the MS by the BTS as coded in 3GPP 23.041 Section + * 9.4.1.2. If received from UMTS network, "data" is byte array of 90 up to 1252 bytes + * which contain between 1 and 15 CBS Message pages sent as one packet to the MS by the + * BTS as coded in 3GPP 23.041 Section 9.4.2.2 + */ + oneway void newBroadcastSms(in RadioIndicationType type, in byte[] data); + + /** + * Indicates when new SMS is received. Callee must subsequently confirm the receipt of the SMS + * with a acknowledgeLastIncomingGsmSms(). Server must not send newSms() or newSmsStatusReport() + * messages until an acknowledgeLastIncomingGsmSms() has been received. + * + * @param type Type of radio indication + * @param pdu PDU of SMS-DELIVER represented as byte array. + * The PDU starts with the SMSC address per TS 27.005 (+CMT:) + */ + oneway void newSms(in RadioIndicationType type, in byte[] pdu); + + /** + * Indicates when new SMS has been stored on SIM card + * + * @param type Type of radio indication + * @param recordNumber Record number on the sim + */ + oneway void newSmsOnSim(in RadioIndicationType type, in int recordNumber); + + /** + * Indicates when new SMS Status Report is received. Callee must subsequently confirm the + * receipt of the SMS with a acknowledgeLastIncomingGsmSms(). Server must not send newSms() or + * newSmsStatusReport() messages until an acknowledgeLastIncomingGsmSms() has been received + * + * @param type Type of radio indication + * @param pdu PDU of SMS-STATUS-REPORT represented as byte array. + * The PDU starts with the SMSC address per TS 27.005 (+CMT:) + */ + oneway void newSmsStatusReport(in RadioIndicationType type, in byte[] pdu); + + /** + * Indicates when radio has received a NITZ time message. + * + * @param type Type of radio indication + * @param nitzTime NITZ time string in the form "yy/mm/dd,hh:mm:ss(+/-)tz,dt" + * @param receivedTime milliseconds since boot that the NITZ time was received + */ + oneway void nitzTimeReceived( + in RadioIndicationType type, in String nitzTime, in long receivedTime); + + /** + * Indicates when Supplementary service(SS) response is received when DIAL/USSD/SS is changed to + * SS by call control. + * + * @param type Type of radio indication + */ + oneway void onSupplementaryServiceIndication( + in RadioIndicationType type, in StkCcUnsolSsResult ss); + + /** + * Indicates when a new USSD message is received. The USSD session is assumed to persist if the + * type code is REQUEST, otherwise the current session (if any) is assumed to have terminated. + * + * @param type Type of radio indication + * @param modeType USSD type code + * @param msg Message string in UTF-8, if applicable + */ + oneway void onUssd(in RadioIndicationType type, in UssdModeType modeType, in String msg); + + /** + * Indicates when there is new Carrier PCO data received for a data call. Ideally only new data + * must be forwarded, though this is not required. Multiple boxes of carrier PCO data for a + * given call must result in a series of pcoData() calls. + * + * @param type Type of radio indication + * @param pco New PcoData + */ + oneway void pcoData(in RadioIndicationType type, in PcoDataInfo pco); + + /** + * Sent when setRadioCapability() completes. Returns the phone radio capability exactly as + * getRadioCapability() and must be the same set as sent by setRadioCapability(). + * + * @param type Type of radio indication + * @param rc Current radio capability + */ + oneway void radioCapabilityIndication(in RadioIndicationType type, in RadioCapability rc); + + /** + * Indicates when radio state changes. + * + * @param type Type of radio indication + * @param radioState Current radio state + */ + oneway void radioStateChanged(in RadioIndicationType type, in RadioState radioState); + + /** + * Report that Registration or a Location/Routing/Tracking Area update has failed. + * + *

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 void registrationFailed(in RadioIndicationType type, in CellIdentity cellIdentity, + in String chosenPlmn, in Domain domain, in int causeCode, in int additionalCauseCode); + + /** + * Indicates that framework/application must reset the uplink mute state. + * + * @param type Type of radio indication + */ + oneway void resendIncallMute(in RadioIndicationType type); + + /** + * Indicates a restricted state change (eg, for Domain Specific Access Control). + * Radio must send this msg after radio off/on cycle no matter it is changed or not. + * + * @param type Type of radio indication + * @param state Bitmask of restricted state as defined by PhoneRestrictedState + */ + oneway void restrictedStateChanged(in RadioIndicationType type, in PhoneRestrictedState state); + + /** + * Indicates the ril connects and returns the version + * + * @param type Type of radio indication + */ + oneway void rilConnected(in RadioIndicationType type); + + /** + * Indicates whether SIM phonebook is changed. This indication is sent whenever the SIM + * phonebook is changed, including SIM is inserted or removed and updated by + * IRadio.updateSimPhonebookRecords. + * + * @param type Type of radio indication + */ + oneway void simPhonebookChanged(in RadioIndicationType type); + + /** + * Indicates the content of all the used records in the SIM phonebook. This indication is + * associated with the API getSimPhonebookRecords and might be received more than once that is + * replying on the record count. + * + * @param type Type of radio indication + * @param status Status of PbReceivedStatus + * @param records Vector of PhonebookRecordInfo + */ + oneway void simPhonebookRecordsReceived(in RadioIndicationType type, in PbReceivedStatus status, + in PhonebookRecordInfo[] records); + + /** + * Indicates that file(s) on the SIM have been updated, or the SIM has been reinitialized. + * If the SIM state changes as a result of the SIM refresh (eg, SIM_READY -> + * SIM_LOCKED_OR_ABSENT), simStatusChanged() must be sent. + * + * @param type Type of radio indication + * @param refreshResult Result of sim refresh + */ + oneway void simRefresh(in RadioIndicationType type, in SimRefreshResult refreshResult); + + /** + * Indicates that SMS storage on the SIM is full. Sent when the network attempts to deliver a + * new SMS message. Messages cannot be saved on the SIM until space is freed. In particular, + * incoming Class 2 messages must not be stored. + * + * @param type Type of radio indication + */ + oneway void simSmsStorageFull(in RadioIndicationType type); + + /** + * Indicates that SIM state changes. Callee must invoke getIccCardStatus(). + * + * @param type Type of radio indication + */ + oneway void simStatusChanged(in RadioIndicationType type); + + /** + * Indicates when Single Radio Voice Call Continuity (SRVCC) progress state has changed. + * + * @param type Type of radio indication + * @param state New Srvcc State + */ + oneway void srvccStateNotify(in RadioIndicationType type, in SrvccState state); + + /** + * Indicates when there is an ALPHA from UICC during Call Control. + * + * @param type Type of radio indication + * @param alpha ALPHA string from UICC in UTF-8 format + */ + oneway void stkCallControlAlphaNotify(in RadioIndicationType type, in String alpha); + + /** + * Indicates when SIM wants application to setup a voice call. + * + * @param type Type of radio indication + * @param timeout Timeout value in millisec for setting up voice call + */ + oneway void stkCallSetup(in RadioIndicationType type, in long timeout); + + /** + * Indicates when SIM notifies applcations some event happens. + * + * @param type Type of radio indication + * @param cmd SAT/USAT commands or responses sent by ME to SIM or commands handled by ME, + * represented as byte array starting with first byte of response data for command tag. + * Refer to TS 102.223 section 9.4 for command types + */ + oneway void stkEventNotify(in RadioIndicationType type, in String cmd); + + /** + * Indicates when SIM issue a STK proactive command to applications + * + * @param type Type of radio indication + * @param cmd SAT/USAT proactive represented as byte array starting with command tag. + * Refer to TS 102.223 section 9.4 for command types + */ + oneway void stkProactiveCommand(in RadioIndicationType type, in String cmd); + + /** + * Indicates when STK session is terminated by SIM. + * + * @param type Type of radio indication + */ + oneway void stkSessionEnd(in RadioIndicationType type); + + /** + * Indicated when there is a change in subscription status. + * This event must be sent in the following scenarios + * - subscription readiness at modem, which was selected by telephony layer + * - when subscription is deactivated by modem due to UICC card removal + * - when network invalidates the subscription i.e. attach reject due to authentication reject + * + * @param type Type of radio indication + * @param activate false for subscription deactivated, true for subscription activated + */ + oneway void subscriptionStatusChanged(in RadioIndicationType type, in boolean activate); + + /** + * Reports supplementary service related notification from the network. + * + * @param type Type of radio indication + * @param suppSvc SuppSvcNotification as defined in types.hal + */ + oneway void suppSvcNotify(in RadioIndicationType type, in SuppSvcNotification suppSvc); + + /** + * Report change of whether uiccApplications are enabled, or disabled. + * + * @param type Type of radio indication + * @param enabled whether uiccApplications are enabled, or disabled + */ + oneway void uiccApplicationsEnablementChanged(in RadioIndicationType type, in boolean enabled); + + /** + * The modem can explicitly set SetupDataCallResult::suggestedRetryTime after a failure in + * IRadio.SetupDataCall. During that time, no new calls are allowed to IRadio.SetupDataCall that + * use the same APN. When IRadioIndication.unthrottleApn is sent, AOSP will no longer throttle + * calls to IRadio.SetupDataCall for the given APN. + * + * @param type Type of radio indication + * @param apn Apn to unthrottle + */ + oneway void unthrottleApn(in RadioIndicationType type, in String apn); + + /** + * Indicates that voice technology has changed. Responds with new rat. + * + * @param type Type of radio indication + * @param rat Current new voice rat + */ + oneway void voiceRadioTechChanged(in RadioIndicationType type, in RadioTechnology rat); +} diff --git a/radio/aidl/android/hardware/radio/IRadioResponse.aidl b/radio/aidl/android/hardware/radio/IRadioResponse.aidl new file mode 100644 index 0000000000..9ae6495aa5 --- /dev/null +++ b/radio/aidl/android/hardware/radio/IRadioResponse.aidl @@ -0,0 +1,3055 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.ActivityStatsInfo; +import android.hardware.radio.BarringInfo; +import android.hardware.radio.Call; +import android.hardware.radio.CallForwardInfo; +import android.hardware.radio.CardStatus; +import android.hardware.radio.CarrierRestrictions; +import android.hardware.radio.CarrierRestrictionsWithPriority; +import android.hardware.radio.CdmaBroadcastSmsConfigInfo; +import android.hardware.radio.CdmaRoamingType; +import android.hardware.radio.CdmaSubscriptionSource; +import android.hardware.radio.CellIdentity; +import android.hardware.radio.CellInfo; +import android.hardware.radio.ClipStatus; +import android.hardware.radio.DataRegStateResult; +import android.hardware.radio.GsmBroadcastSmsConfigInfo; +import android.hardware.radio.HardwareConfig; +import android.hardware.radio.IccIoResult; +import android.hardware.radio.KeepaliveStatus; +import android.hardware.radio.LastCallFailCauseInfo; +import android.hardware.radio.LceDataInfo; +import android.hardware.radio.LceStatusInfo; +import android.hardware.radio.NeighboringCell; +import android.hardware.radio.OperatorInfo; +import android.hardware.radio.PersoSubstate; +import android.hardware.radio.PhonebookCapacity; +import android.hardware.radio.PreferredNetworkType; +import android.hardware.radio.RadioAccessFamily; +import android.hardware.radio.RadioAccessSpecifier; +import android.hardware.radio.RadioBandMode; +import android.hardware.radio.RadioCapability; +import android.hardware.radio.RadioResponseInfo; +import android.hardware.radio.RadioTechnology; +import android.hardware.radio.RadioTechnologyFamily; +import android.hardware.radio.RegStateResult; +import android.hardware.radio.SendSmsResult; +import android.hardware.radio.SetupDataCallResult; +import android.hardware.radio.SignalStrength; +import android.hardware.radio.SimLockMultiSimPolicy; +import android.hardware.radio.SlicingConfig; +import android.hardware.radio.TtyMode; +import android.hardware.radio.VoiceRegStateResult; + +/** + * Interface declaring response functions to solicited radio requests. + */ +@VintfStability +interface IRadioResponse { + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_STATE + * RadioError:NO_MEMORY + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:INVALID_CALL_ID + * RadioError:INVALID_ARGUMENTS + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void acceptCallResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void acknowledgeIncomingGsmSmsWithPduResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_SMS_TO_ACK + * RadioError:INVALID_STATE + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:NETWORK_NOT_READY + * RadioError:INVALID_MODEM_STATE + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void acknowledgeLastIncomingCdmaSmsResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void acknowledgeLastIncomingGsmSmsResponse(in RadioResponseInfo info); + + /** + * Acknowledge the receipt of radio request sent to the vendor. This must be sent only for + * radio request which take long time to respond. For more details, refer + * https://source.android.com/devices/tech/connect/ril.html + * + * @param serial Serial no. of the request whose acknowledgement is sent. + */ + oneway void acknowledgeRequest(in int serial); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param id The allocated id. On an error, this is set to 0. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_RESOURCES- Indicates that no pdu session ids are available + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void allocatePduSessionIdResponse(in RadioResponseInfo info, in int id); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param enabled whether Uicc applications are enabled. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:SIM_ABSENT + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + */ + oneway void areUiccApplicationsEnabledResponse(in RadioResponseInfo info, in boolean enabled); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param dcResponse Attributes of data call + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_RESOURCES + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_CALL_ID + */ + oneway void cancelHandoverResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SIM_BUSY + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:INVALID_STATE + * RadioError:INVALID_ARGUMENTS + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_MODEM_STATE + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void cancelPendingUssdResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE (radio resetting) + * RadioError:PASSWORD_INCORRECT (old PIN2 is invalid) + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_SIM_STATE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:SIM_PUK2 + */ + oneway void changeIccPin2ForAppResponse(in RadioResponseInfo info, in int remainingRetries); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE (radio resetting) + * RadioError:PASSWORD_INCORRECT + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_SIM_STATE + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void changeIccPinForAppResponse(in RadioResponseInfo info, in int remainingRetries); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE (radio resetting) + * RadioError:NO_MEMORY + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:INVALID_STATE + * RadioError:INVALID_CALL_ID + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:INVALID_ARGUMENTS + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_MODEM_STATE + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void conferenceResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:REQUEST_NOT_SUPPORTED may be returned when HAL 1.2 or higher is supported. + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_CALL_ID + * RadioError:INVALID_STATE + * RadioError:INVALID_ARGUMENTS + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + */ + oneway void deactivateDataCallResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:NO_SUCH_ENTRY + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:SIM_ABSENT + */ + oneway void deleteSmsOnRuimResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SIM_FULL + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:NO_SUCH_ENTRY + * RadioError:INTERNAL_ERR + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + * RadioError:SIM_ABSENT + */ + oneway void deleteSmsOnSimResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE (radio resetting) + * RadioError:DIAL_MODIFIED_TO_USSD + * RadioError:DIAL_MODIFIED_TO_SS + * RadioError:DIAL_MODIFIED_TO_DIAL + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:INVALID_STATE + * RadioError:NO_RESOURCES + * RadioError:INTERNAL_ERR + * RadioError:FDN_CHECK_FAILURE + * RadioError:MODEM_ERR + * RadioError:NO_SUBSCRIPTION + * RadioError:NO_NETWORK_FOUND + * RadioError:INVALID_CALL_ID + * RadioError:DEVICE_IN_USE + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:ABORTED + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_MODEM_STATE + * RadioError:CANCELLED + */ + oneway void dialResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE (radio resetting) + * RadioError:DIAL_MODIFIED_TO_USSD + * RadioError:DIAL_MODIFIED_TO_SS + * RadioError:DIAL_MODIFIED_TO_DIAL + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_RESOURCES + * RadioError:INTERNAL_ERR + * RadioError:FDN_CHECK_FAILURE + * RadioError:MODEM_ERR + * RadioError:NO_SUBSCRIPTION + * RadioError:NO_NETWORK_FOUND + * RadioError:INVALID_CALL_ID + * RadioError:DEVICE_IN_USE + * RadioError:ABORTED + * RadioError:INVALID_MODEM_STATE + */ + oneway void emergencyDialResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:MODEM_ERR + * RadioError:INVALID_STATE: this is for the case that the API is called in a single-sim + * mode, or when there is only one modem available, as this API should only + * be called in multi sim status. + */ + oneway void enableModemResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:SIM_ABSENT + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:BUSY + */ + oneway void enableUiccApplicationsResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:OPERATION_NO_ALLOWED + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:SYSTEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + */ + oneway void exitEmergencyCallbackModeResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_STATE + * RadioError:NO_RESOURCES + * RadioError:NO_MEMORY + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:INVALID_CALL_ID + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_MODEM_STATE + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void explicitCallTransferResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param carriers Carrier restriction information. + * @param multiSimPolicy Policy used for devices with multiple SIM cards. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void getAllowedCarriersResponse(in RadioResponseInfo info, + in CarrierRestrictionsWithPriority carriers, in SimLockMultiSimPolicy multiSimPolicy); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param networkTypeBitmap a 32-bit bitmap of RadioAccessFamily. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:MODE_NOT_SUPPORTED + * RadioError:INTERNAL_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + */ + oneway void getAllowedNetworkTypesBitmapResponse( + in RadioResponseInfo info, in RadioAccessFamily networkTypeBitmap); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param bandModes List of RadioBandMode listing supported modes + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void getAvailableBandModesResponse( + in RadioResponseInfo info, in RadioBandMode[] bandModes); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param networkInfos List of network operator information as OperatorInfos defined in + * types.hal + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:ABORTED + * RadioError:DEVICE_IN_USE + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:MODEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:CANCELLED + * RadioError:NO_RESOURCES + * RadioError:INTERNAL_ERR + */ + oneway void getAvailableNetworksResponse( + in RadioResponseInfo info, in OperatorInfo[] networkInfos); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param cellIdentity CellIdentity for the barring infos. + * @param barringInfos a vector of barring info for all barring service types + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:MODEM_ERR + */ + oneway void getBarringInfoResponse( + in RadioResponseInfo info, in CellIdentity cellIdentity, in BarringInfo[] barringInfos); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param version string containing version string for log reporting + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:EMPTY_RECORD + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:NOT_PROVISIONED + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void getBasebandVersionResponse(in RadioResponseInfo info, in String version); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param mdn MDN if CDMA subscription is available + * @param hSid is a comma separated list of H_SID (Home SID) if CDMA subscription is available, + * in decimal format + * @param hNid is a comma separated list of H_NID (Home NID) if CDMA subscription is available, + * in decimal format + * @param min MIN (10 digits, MIN2+MIN1) if CDMA subscription is available + * @param prl PRL version if CDMA subscription is available + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SUBSCRIPTION_NOT_AVAILABLE + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_ERR + * RadioError:NOT_PROVISIONED + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + */ + oneway void getCDMASubscriptionResponse(in RadioResponseInfo info, in String mdn, + in String hSid, in String hNid, in String min, in String prl); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param callForwardInfos points to a vector of CallForwardInfo, one for each distinct + * registered phone number. For example, if data is forwarded to +18005551212 and voice + * is forwarded to +18005559999, then two separate CallForwardInfo's must be returned. + * However, if both data and voice are forwarded to +18005551212, then a single + * CallForwardInfo must be returned with the service class set to "data + voice = 3". + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SS_MODIFIED_TO_DIAL + * RadioError:SS_MODIFIED_TO_USSD + * RadioError:SS_MODIFIED_TO_SS + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:FDN_CHECK_FAILURE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:SYSTEM_ERR + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void getCallForwardStatusResponse( + in RadioResponseInfo info, in CallForwardInfo[] callForwardInfos); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param enable If current call waiting state is disabled, enable = false else true + * @param serviceClass If enable, then callWaitingResp[1] must follow, with the TS 27.007 + * service class bit vector of services for which call waiting is enabled. For example, + * if callWaitingResp[0] is 1 and callWaitingResp[1] is 3, then call waiting is enabled + * for data and voice and disabled for everything else. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SS_MODIFIED_TO_DIAL + * RadioError:SS_MODIFIED_TO_USSD + * RadioError:SS_MODIFIED_TO_SS + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:FDN_CHECK_FAILURE + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void getCallWaitingResponse( + in RadioResponseInfo info, in boolean enable, in int serviceClass); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param configs Vector of CDMA Broadcast SMS configs. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_STATE + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:NO_RESOURCES + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + */ + oneway void getCdmaBroadcastConfigResponse( + in RadioResponseInfo info, in CdmaBroadcastSmsConfigInfo[] configs); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param type CdmaRoamingType defined in types.hal + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + */ + oneway void getCdmaRoamingPreferenceResponse( + in RadioResponseInfo info, in CdmaRoamingType type); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param source CDMA subscription source + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SUBSCRIPTION_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:SIM_ABSENT + */ + oneway void getCdmaSubscriptionSourceResponse( + in RadioResponseInfo info, in CdmaSubscriptionSource source); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param cellInfo List of current cell information known to radio + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + */ + oneway void getCellInfoListResponse(in RadioResponseInfo info, in CellInfo[] cellInfo); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param status indicates CLIP status + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:FDN_CHECK_FAILURE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void getClipResponse(in RadioResponseInfo info, in ClipStatus status); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param n is "n" parameter from TS 27.007 7.7 + * @param m is "m" parameter from TS 27.007 7.7 + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SS_MODIFIED_TO_DIAL + * RadioError:SS_MODIFIED_TO_USSD + * RadioError:SS_MODIFIED_TO_SS + * RadioError:NO_MEMORY + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:FDN_CHECK_FAILURE + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void getClirResponse(in RadioResponseInfo info, in int n, in int m); + + /** + * @param info Response info struct containing respontype, serial no. and error + * @param calls Current call list + * + * Valid errors returned: + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void getCurrentCallsResponse(in RadioResponseInfo info, in Call[] calls); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param dcResponse List of SetupDataCallResult as defined in types.hal + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:SIM_ABSENT + */ + oneway void getDataCallListResponse( + in RadioResponseInfo info, in SetupDataCallResult[] dcResponse); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param dataRegResponse Current Data registration response as defined by RegStateResult in + * types.hal + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NOT_PROVISIONED + */ + oneway void getDataRegistrationStateResponse( + in RadioResponseInfo info, in RegStateResult dataRegResponse); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param imei IMEI if GSM subscription is available + * @param imeisv IMEISV if GSM subscription is available + * @param esn ESN if CDMA subscription is available + * @param meid MEID if CDMA subscription is available + * + * If a empty string value is returned for any of the device id, it means that there was error + * accessing the device. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_ERR + * RadioError:NOT_PROVISIONED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void getDeviceIdentityResponse(in RadioResponseInfo info, in String imei, + in String imeisv, in String esn, in String meid); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param response 0 is the TS 27.007 service class bit vector of services for which the + * specified barring facility is active. "0" means "disabled for all" + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SS_MODIFIED_TO_DIAL + * RadioError:SS_MODIFIED_TO_USSD + * RadioError:SS_MODIFIED_TO_SS + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:FDN_CHECK_FAILURE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void getFacilityLockForAppResponse(in RadioResponseInfo info, in int response); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param configs Vector of GSM/WCDMA Cell broadcast configs + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_STATE + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:NO_RESOURCES + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + */ + oneway void getGsmBroadcastConfigResponse( + in RadioResponseInfo info, in GsmBroadcastSmsConfigInfo[] configs); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param config Array of HardwareConfig of the radio. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void getHardwareConfigResponse(in RadioResponseInfo info, in HardwareConfig[] config); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param imsi String containing the IMSI + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE (radio resetting) + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_SIM_STATE + * RadioError:SIM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void getIMSIForAppResponse(in RadioResponseInfo info, in String imsi); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param cardStatus ICC card status as defined by CardStatus in types.hal + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_RESOURCES + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void getIccCardStatusResponse(in RadioResponseInfo info, in CardStatus cardStatus); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param isRegistered false = not registered, true = registered + * @param ratFamily RadioTechnologyFamily as defined in types.hal. This value is valid only if + * isRegistered is true. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void getImsRegistrationStateResponse( + in RadioResponseInfo info, in boolean isRegistered, in RadioTechnologyFamily ratFamily); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param failCauseInfo Contains LastCallFailCause and vendor cause code. + * + * The vendor cause code must be used for debugging purpose only. The implementation must return + * one of the values of LastCallFailCause as mentioned below. + * GSM failure reasons codes for the cause codes defined in TS 24.008 Annex H where possible. + * CDMA failure reasons codes for the possible call failure scenarios described in the + * "CDMA IS-2000 Release A (C.S0005-A v6.0)" standard. + * Any of the following reason codes if the call is failed or dropped due to reason mentioned + * with in the braces. + * LastCallFailCause:RADIO_OFF (Radio is OFF) + * LastCallFailCause:OUT_OF_SERVICE (No cell coverage) + * LastCallFailCause:NO_VALID_SIM (No valid SIM) + * LastCallFailCause:RADIO_INTERNAL_ERROR (Modem hit unexpected error scenario) + * LastCallFailCause:NETWORK_RESP_TIMEOUT (No response from network) + * LastCallFailCause:NETWORK_REJECT (Explicit network reject) + * LastCallFailCause:RADIO_ACCESS_FAILURE (RRC connection failure. Eg.RACH) + * LastCallFailCause:RADIO_LINK_FAILURE (Radio Link Failure) + * LastCallFailCause:RADIO_LINK_LOST (Radio link lost due to poor coverage) + * LastCallFailCause:RADIO_UPLINK_FAILURE (Radio uplink failure) + * LastCallFailCause:RADIO_SETUP_FAILURE (RRC connection setup failure) + * LastCallFailCause:RADIO_RELEASE_NORMAL (RRC connection release, normal) + * LastCallFailCause:RADIO_RELEASE_ABNORMAL (RRC connection release, abnormal) + * LastCallFailCause:ACCESS_CLASS_BLOCKED (Access class barring) + * LastCallFailCause:NETWORK_DETACH (Explicit network detach) + * OEM causes (LastCallFailCause:OEM_CAUSE_XX) must be used for debug purpose only + * + * If the implementation does not have access to the exact cause codes, then it must return one + * of the values listed in LastCallFailCause, as the UI layer needs to distinguish these cases + * for tone generation or error notification. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:NO_MEMORY + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SYSTEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:INTERNAL_ERR + * RadioError:MODEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void getLastCallFailCauseResponse( + in RadioResponseInfo info, in LastCallFailCauseInfo failCauseinfo); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param activityInfo modem activity information + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:NOT_PROVISIONED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void getModemActivityInfoResponse( + in RadioResponseInfo info, in ActivityStatsInfo activityInfo); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:MODEM_ERR + */ + oneway void getModemStackStatusResponse(in RadioResponseInfo info, in boolean isEnabled); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param enable true for "mute enabled" and false for "mute disabled" + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SS_MODIFIED_TO_DIAL + * RadioError:SS_MODIFIED_TO_USSD + * RadioError:SS_MODIFIED_TO_SS + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:INVALID_ARGUMENTS + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void getMuteResponse(in RadioResponseInfo info, in boolean enable); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param cells Vector of neighboring radio cell + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:NO_NETWORK_FOUND + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void getNeighboringCidsResponse(in RadioResponseInfo info, in NeighboringCell[] cells); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param selection false for automatic selection, true for manual selection + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void getNetworkSelectionModeResponse(in RadioResponseInfo info, in boolean manual); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param longName is long alpha ONS or EONS or empty string if unregistered + * @param shortName is short alpha ONS or EONS or empty string if unregistered + * @param numeric is 5 or 6 digit numeric code (MCC + MNC) or empty string if unregistered + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void getOperatorResponse( + in RadioResponseInfo info, in String longName, in String shortName, in String numeric); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param networkTypeBitmap a 32-bit bitmap of RadioAccessFamily. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + */ + oneway void getPreferredNetworkTypeBitmapResponse( + in RadioResponseInfo info, in RadioAccessFamily networkTypeBitmap); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param nwType RadioPreferredNetworkType defined in types.hal + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void getPreferredNetworkTypeResponse( + in RadioResponseInfo info, in PreferredNetworkType nwType); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param enable false for Standard Privacy Mode (Public Long Code Mask) + * true for Enhanced Privacy Mode (Private Long Code Mask) + * + * Valid errors: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void getPreferredVoicePrivacyResponse(in RadioResponseInfo info, in boolean enable); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param rc Radio capability as defined by RadioCapability in types.hal + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:INVALID_STATE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void getRadioCapabilityResponse(in RadioResponseInfo info, in RadioCapability rc); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param signalStrength Current signal strength + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + */ + oneway void getSignalStrengthResponse( + in RadioResponseInfo info, in SignalStrength signalStrength); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param capacity Response capacity enum indicating response processing status + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_SIM_STATE + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * REQUEST_NOT_SUPPORTED may only be returned on devices that don't support this API, + * indicated by the HAL capability CAPABILITY_SIM_PHONEBOOK_IN_MODEM. + */ + oneway void getSimPhonebookCapacityResponse( + in RadioResponseInfo info, in PhonebookCapacity capacity); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_SIM_STATE + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * REQUEST_NOT_SUPPORTED may only be returned on devices that don't support this API, + * indicated by the HAL capability CAPABILITY_SIM_PHONEBOOK_IN_MODEM. + */ + oneway void getSimPhonebookRecordsResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param slicingConfig Current slicing configuration + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:MODEM_ERR + */ + oneway void getSlicingConfigResponse(in RadioResponseInfo info, in SlicingConfig slicingConfig); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param smsc Short Message Service Center address on the device + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_RATE_LIMITED + * RadioError:MODEM_ERR + * RadioError:INVALID_MODEM_STATE + * RadioError:NOT_PROVISIONED + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + */ + oneway void getSmscAddressResponse(in RadioResponseInfo info, in String smsc); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param specifiers List of RadioAccessSpecifiers that are scanned. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:INVALID_ARGUMENTS + */ + oneway void getSystemSelectionChannelsResponse( + in RadioResponseInfo info, in RadioAccessSpecifier[] specifiers); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param mode TtyMode + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void getTTYModeResponse(in RadioResponseInfo info, in TtyMode mode); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param rat Current voice RAT + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void getVoiceRadioTechnologyResponse(in RadioResponseInfo info, in RadioTechnology rat); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param voiceRegResponse Current Voice registration response as defined by RegStateResult + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + */ + oneway void getVoiceRegistrationStateResponse( + in RadioResponseInfo info, in RegStateResult voiceRegResponse); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:SIM_ABSENT + */ + oneway void handleStkCallSetupRequestFromSimResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE (radio resetting) + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:INVALID_STATE + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:INVALID_CALL_ID + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void hangupConnectionResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE (radio resetting) + * RadioError:INVALID_STATE + * RadioError:NO_MEMORY + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:INVALID_CALL_ID + * RadioError:NO_RESOURCES + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:INVALID_ARGUMENTS + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void hangupForegroundResumeBackgroundResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE (radio resetting) + * RadioError:INVALID_STATE + * RadioError:NO_MEMORY + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:INVALID_CALL_ID + * RadioError:NO_RESOURCES + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:INVALID_ARGUMENTS + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:CANCELLED + */ + oneway void hangupWaitingOrBackgroundResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void iccCloseLogicalChannelResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param iccIo ICC io operation response as defined by IccIoResult in types.hal + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SIM_PIN2 + * RadioError:SIM_PUK2 + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_SIM_STATE + * RadioError:SIM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void iccIOForAppResponse(in RadioResponseInfo info, in IccIoResult iccIo); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param channelId session id of the logical channel. + * @param selectResponse Contains the select response for the open channel command with one + * byte per integer + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:MISSING_RESOURCE + * RadioError:NO_SUCH_ELEMENT + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ERR + * RadioError:INVALID_SIM_STATE + * RadioError:MISSING_RESOURCE + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void iccOpenLogicalChannelResponse( + in RadioResponseInfo info, in int channelId, in byte[] selectResponse); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param result IccIoResult as defined in types.hal + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void iccTransmitApduBasicChannelResponse( + in RadioResponseInfo info, in IccIoResult result); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param result IccIoResult as defined in types.hal + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void iccTransmitApduLogicalChannelResponse( + in RadioResponseInfo info, in IccIoResult result); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param isEnabled Indicates whether NR dual connectivity is enabled or not, True if enabled + * else false. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void isNrDualConnectivityEnabledResponse( + in RadioResponseInfo info, in boolean isEnabled); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param result string containing the contents of the NV item + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void nvReadItemResponse(in RadioResponseInfo info, in String result); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void nvResetConfigResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void nvWriteCdmaPrlResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void nvWriteItemResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param lceInfo LceDataInfo indicating LCE data + * + * Valid errors returned: + * RadioError:REQUEST_NOT_SUPPORTED may be returned when HAL 1.2 or higher is supported. + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:LCE_NOT_SUPPORTED + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + */ + oneway void pullLceDataResponse(in RadioResponseInfo info, in LceDataInfo lceInfo); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE (radio resetting) + * RadioError:INVALID_STATE + * RadioError:NO_RESOURCES + * RadioError:NO_MEMORY + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:INVALID_CALL_ID + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:INVALID_ARGUMENTS + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_MODEM_STATE + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void rejectCallResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_RESOURCES + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void releasePduSessionIdResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_RATE_LIMITED + * RadioError:MODEM_ERR + * RadioError:INVALID_STATE + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + */ + oneway void reportSmsMemoryStatusResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void reportStkServiceIsRunningResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param result IccIoResult as defined in types.hal + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + * RadioError:SIM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void requestIccSimAuthenticationResponse( + in RadioResponseInfo info, in IccIoResult result); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param response response string of the challenge/response algo for ISIM auth in base64 format + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + * RadioError:INVALID_ARGUMENTS + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:SIM_ABSENT + */ + oneway void requestIsimAuthenticationResponse(in RadioResponseInfo info, in String response); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void requestShutdownResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INVALID_CALL_ID + * RadioError:INVALID_STATE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + * RadioError:OPERATION_NOT_ALLOWED + */ + oneway void sendBurstDtmfResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INVALID_CALL_ID + * RadioError:INVALID_STATE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_MODEM_STATE + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:OPERATION_NOT_ALLOWED + */ + oneway void sendCDMAFeatureCodeResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param sms Response to sms sent as defined by SendSmsResult in types.hal + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SMS_SEND_FAIL_RETRY + * RadioError:NETWORK_REJECT + * RadioError:INVALID_STATE + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:INVALID_SMS_FORMAT + * RadioError:SYSTEM_ERR + * RadioError:FDN_CHECK_FAILURE + * RadioError:ENCODING_ERR + * RadioError:INVALID_SMSC_ADDRESS + * RadioError:MODEM_ERR + * RadioError:NETWORK_ERR + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_MODEM_STATE + * RadioError:NETWORK_NOT_READY + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + * RadioError:SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED + * RadioError:ACCESS_BARRED + * RadioError:BLOCKED_DUE_TO_CALL + */ + oneway void sendCdmaSmsExpectMoreResponse(in RadioResponseInfo info, in SendSmsResult sms); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param sms Sms result struct as defined by SendSmsResult in types.hal + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:SMS_SEND_FAIL_RETRY + * RadioError:NETWORK_REJECT + * RadioError:INVALID_STATE + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:INVALID_SMS_FORMAT + * RadioError:SYSTEM_ERR + * RadioError:FDN_CHECK_FAILURE + * RadioError:MODEM_ERR + * RadioError:NETWORK_ERR + * RadioError:ENCODING_ERR + * RadioError:INVALID_SMSC_ADDRESS + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:ENCODING_ERR + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + * RadioError:SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED + * RadioError:ACCESS_BARRED + * RadioError:BLOCKED_DUE_TO_CALL + */ + oneway void sendCdmaSmsResponse(in RadioResponseInfo info, in SendSmsResult sms); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void sendDeviceStateResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_RESOURCES + * RadioError:NO_MEMORY + * RadioError:MODEM_ERR + * RadioError:INVALID_CALL_ID + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + */ + oneway void sendDtmfResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param commandResponse SAT/USAT response in hexadecimal format string starting with first + * byte of response + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SIM_BUSY + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:SIM_ABSENT + */ + oneway void sendEnvelopeResponse(in RadioResponseInfo info, in String commandResponse); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param iccIo IccIoResult as defined in types.hal corresponding to ICC IO response + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SIM_BUSY + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:SIM_ABSENT + */ + oneway void sendEnvelopeWithStatusResponse(in RadioResponseInfo info, in IccIoResult iccIo); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param sms Response to sms sent as defined by SendSmsResult in types.hal + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SMS_SEND_FAIL_RETRY + * RadioError:FDN_CHECK_FAILURE + * RadioError:NETWORK_REJECT + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_STATE + * RadioError:NO_MEMORY + * RadioError:INVALID_SMS_FORMAT + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_RATE_LIMITED + * RadioError:MODEM_ERR + * RadioError:NETWORK_ERR + * RadioError:ENCODING_ERR + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NETWORK_NOT_READY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void sendImsSmsResponse(in RadioResponseInfo info, in SendSmsResult sms); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param sms Response to sms sent as defined by SendSmsResult in types.hal + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SMS_SEND_FAIL_RETRY + * RadioError:NETWORK_REJECT + * RadioError:INVALID_STATE + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:INVALID_SMS_FORMAT + * RadioError:SYSTEM_ERR + * RadioError:FDN_CHECK_FAILURE + * RadioError:ENCODING_ERR + * RadioError:INVALID_SMSC_ADDRESS + * RadioError:MODEM_ERR + * RadioError:NETWORK_ERR + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_MODEM_STATE + * RadioError:NETWORK_NOT_READY + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + */ + oneway void sendSMSExpectMoreResponse(in RadioResponseInfo info, in SendSmsResult sms); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param sms Response to sms sent as defined by SendSmsResult in types.hal + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SMS_SEND_FAIL_RETRY + * RadioError:NETWORK_REJECT + * RadioError:INVALID_STATE + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:INVALID_SMS_FORMAT + * RadioError:SYSTEM_ERR + * RadioError:FDN_CHECK_FAILURE + * RadioError:ENCODING_ERR + * RadioError:INVALID_SMSC_ADDRESS + * RadioError:MODEM_ERR + * RadioError:NETWORK_ERR + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_MODEM_STATE + * RadioError:NETWORK_NOT_READY + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + * RadioError:ACCESS_BARRED + * RadioError:BLOCKED_DUE_TO_CALL + */ + oneway void sendSmsExpectMoreResponse(in RadioResponseInfo info, in SendSmsResult sms); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param sms Response to sms sent as defined by SendSmsResult in types.hal + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SMS_SEND_FAIL_RETRY + * RadioError:NETWORK_REJECT + * RadioError:INVALID_STATE + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:INVALID_SMS_FORMAT + * RadioError:SYSTEM_ERR + * RadioError:ENCODING_ERR + * RadioError:INVALID_SMSC_ADDRESS + * RadioError:MODEM_ERR + * RadioError:NETWORK_ERR + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_MODEM_STATE + * RadioError:NETWORK_NOT_READY + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + * RadioError:ACCESS_BARRED + * RadioError:BLOCKED_DUE_TO_CALL + */ + oneway void sendSmsResponse(in RadioResponseInfo info, in SendSmsResult sms); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:SIM_ABSENT + */ + oneway void sendTerminalResponseToSimResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:FDN_CHECK_FAILURE + * RadioError:USSD_MODIFIED_TO_DIAL + * RadioError:USSD_MODIFIED_TO_SS + * RadioError:USSD_MODIFIED_TO_USSD + * RadioError:SIM_BUSY + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:ABORTED + * RadioError:SYSTEM_ERR + * RadioError:INVALID_STATE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_MODEM_STATE + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void sendUssdResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_STATE + * RadioError:NO_RESOURCES + * RadioError:NO_MEMORY + * RadioError:MODEM_ERR + * RadioError:SYSTEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:INVALID_CALL_ID + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_MODEM_STATE + * RadioError:CANCELLED + */ + oneway void separateConnectionResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void setAllowedCarriersResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:MODE_NOT_SUPPORTED + * RadioError:INTERNAL_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + */ + oneway void setAllowedNetworkTypesBitmapResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void setBandModeResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SS_MODIFIED_TO_DIAL + * RadioError:SS_MODIFIED_TO_USSD + * RadioError:SS_MODIFIED_TO_SS + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:FDN_CHECK_FAILURE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void setBarringPasswordResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SS_MODIFIED_TO_DIAL + * RadioError:SS_MODIFIED_TO_USSD + * RadioError:SS_MODIFIED_TO_SS + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:INVALID_STATE + * RadioError:FDN_CHECK_FAILURE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_MODEM_STATE + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void setCallForwardResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SS_MODIFIED_TO_DIAL + * RadioError:SS_MODIFIED_TO_USSD + * RadioError:SS_MODIFIED_TO_SS + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:INVALID_STATE + * RadioError:FDN_CHECK_FAILURE + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_MODEM_STATE + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void setCallWaitingResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:RIL_E_SUCCESS + * RadioError:RIL_E_RADIO_NOT_AVAILABLE + * RadioError:SIM_ABSENT + * RadioError:RIL_E_REQUEST_NOT_SUPPORTED + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_INTERNAL_FAILURE + */ + oneway void setCarrierInfoForImsiEncryptionResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_STATE + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + */ + oneway void setCdmaBroadcastActivationResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_STATE + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + */ + oneway void setCdmaBroadcastConfigResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + */ + oneway void setCdmaRoamingPreferenceResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SIM_ABSENT + * RadioError:SUBSCRIPTION_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void setCdmaSubscriptionSourceResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void setCellInfoListRateResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:INVALID_ARGUMENTS + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SS_MODIFIED_TO_DIAL + * RadioError:SS_MODIFIED_TO_USSD + * RadioError:SS_MODIFIED_TO_SS + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void setClirResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:DEVICE_IN_USE + * RadioError:INVALID_MODEM_STATE + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void setDataAllowedResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SUBSCRIPTION_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:SIM_ABSENT + */ + oneway void setDataProfileResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:MODEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void setDataThrottlingResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param retry 0 is the number of retries remaining, or -1 if unknown + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SS_MODIFIED_TO_DIAL + * RadioError:SS_MODIFIED_TO_USSD + * RadioError:SS_MODIFIED_TO_SS + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:INVALID_STATE + * RadioError:FDN_CHECK_FAILURE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_MODEM_STATE + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void setFacilityLockForAppResponse(in RadioResponseInfo info, in int retry); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_STATE + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + */ + oneway void setGsmBroadcastActivationResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_STATE + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + */ + oneway void setGsmBroadcastConfigResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:INVALID_ARGUMENTS + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + */ + oneway void setIndicationFilterResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SUBSCRIPTION_NOT_AVAILABLE + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:NOT_PROVISIONED + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void setInitialAttachApnResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:INVALID_ARGUMENTS + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + */ + oneway void setLinkCapacityReportingCriteriaResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + */ + oneway void setLocationUpdatesResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_MEMORY + * RadioError:REQUEST_RATE_LIMITED + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void setMuteResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:ILLEGAL_SIM_OR_ME + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * + * Returns RadioError:ILLEGAL_SIM_OR_ME when the failure is permanent and + * no retries needed, such as illegal SIM or ME. + */ + oneway void setNetworkSelectionModeAutomaticResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:ILLEGAL_SIM_OR_ME + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:INVALID_STATE + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * + * Returns RadioError:ILLEGAL_SIM_OR_ME when the failure is permanent and + * no retries needed, such as illegal SIM or ME. + */ + oneway void setNetworkSelectionModeManualResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_STATE + */ + oneway void setNrDualConnectivityStateResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:MODE_NOT_SUPPORTED + * RadioError:INTERNAL_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + */ + oneway void setPreferredNetworkTypeBitmapResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:MODE_NOT_SUPPORTED + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void setPreferredNetworkTypeResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_CALL_ID + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void setPreferredVoicePrivacyResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param rc Radio capability as defined by RadioCapability in types.hal used to + * feedback return status + * + * Valid errors returned: + * RadioError:NONE means a unsol radioCapability() will be sent within 30 seconds. + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_ERR + * RadioError:INVALID_STATE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void setRadioCapabilityResponse(in RadioResponseInfo info, in RadioCapability rc); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:INTERNAL_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:RF_HARDWARE_ISSUE + * RadioError:NO_RF_CALIBRATION_INFO + */ + oneway void setRadioPowerResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:INVALID_ARGUMENTS + * RadioError:RADIO_NOT_AVAILABLE + */ + oneway void setSignalStrengthReportingCriteriaResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:SIM_ERR (indicates a timeout or other issue making the SIM unresponsive) + */ + oneway void setSimCardPowerResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_SMS_FORMAT + * RadioError:NO_MEMORY + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_RATE_LIMITED + * RadioError:MODEM_ERR + * RadioError:NO_RESOURCES + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + */ + oneway void setSmscAddressResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:SIM_BUSY + * RadioError:NO_MEMORY + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + */ + oneway void setSuppServiceNotificationsResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:INVALID_ARGUMENTS + */ + oneway void setSystemSelectionChannelsResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void setTTYModeResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SUBSCRIPTION_NOT_SUPPORTED + * RadioError:NO_MEMORY + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void setUiccSubscriptionResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param dcResponse SetupDataCallResult defined in types.hal + * + * Valid errors returned: + * RadioError:NONE must be returned on both success and failure of setup with the + * DataCallResponse.status containing the actual status + * For all other errors the DataCallResponse is ignored. + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:OP_NOT_ALLOWED_BEFORE_REG_TO_NW + * RadioError:OP_NOT_ALLOWED_DURING_VOICE_CALL + * RadioError:INVALID_ARGUMENTS + * RadioError:INTERNAL_ERR + * RadioError:NO_RESOURCES if the vendor is unable handle due to resources are full. + * RadioError:SIM_ABSENT + */ + oneway void setupDataCallResponse(in RadioResponseInfo info, in SetupDataCallResult dcResponse); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_RESOURCES + * RadioError:NO_MEMORY + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:INVALID_CALL_ID + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + */ + oneway void startDtmfResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INTERNAL_ERR + * RadioError:NO_RESOURCES + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_CALL_ID + */ + oneway void startHandoverResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param status Status object containing a new handle and a current status. The status returned + * here may be PENDING to indicate that the radio has not yet processed the keepalive + * request. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:NO_RESOURCES + * RadioError:INVALID_ARGUMENTS + */ + oneway void startKeepaliveResponse(in RadioResponseInfo info, in KeepaliveStatus status); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param statusInfo LceStatusInfo indicating LCE status + * + * Valid errors returned: + * RadioError:REQUEST_NOT_SUPPORTED may be returned when HAL 1.2 or higher is supported. + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:LCE_NOT_SUPPORTED + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void startLceServiceResponse(in RadioResponseInfo info, in LceStatusInfo statusInfo); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:DEVICE_IN_USE + * RadioError:INTERNAL_ERR + * RadioError:MODEM_ERR + * RadioError:INVALID_ARGUMENTS + */ + oneway void startNetworkScanResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_RESOURCES + * RadioError:NO_MEMORY + * RadioError:INVALID_ARGUMENTS + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:INVALID_CALL_ID + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + */ + oneway void stopDtmfResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:INVALID_ARGUMENTS + */ + oneway void stopKeepaliveResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param statusInfo LceStatusInfo indicating LCE status + * + * Valid errors returned: + * RadioError:REQUEST_NOT_SUPPORTED may be returned when HAL 1.2 or higher is supported. + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:LCE_NOT_SUPPORTED + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:SIM_ABSENT + */ + oneway void stopLceServiceResponse(in RadioResponseInfo info, in LceStatusInfo statusInfo); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:INTERNAL_ERR + * RadioError:MODEM_ERR + */ + oneway void stopNetworkScanResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE (radio resetting) + * RadioError:PASSWORD_INCORRECT + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_SIM_STATE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:SIM_PUK2 + */ + oneway void supplyIccPin2ForAppResponse(in RadioResponseInfo info, in int remainingRetries); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE (radio resetting) + * RadioError:PASSWORD_INCORRECT + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_SIM_STATE + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void supplyIccPinForAppResponse(in RadioResponseInfo info, in int remainingRetries); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE (radio resetting) + * RadioError:PASSWORD_INCORRECT (PUK is invalid) + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_SIM_STATE + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void supplyIccPuk2ForAppResponse(in RadioResponseInfo info, in int remainingRetries); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE (radio resetting) + * RadioError:PASSWORD_INCORRECT (PUK is invalid) + * RadioError:INTERNAL_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_SIM_STATE + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void supplyIccPukForAppResponse(in RadioResponseInfo info, in int remainingRetries); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param remainingRetries Number of retries remaining, must be equal to -1 if unknown. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:PASSWORD_INCORRECT (code is invalid) + * RadioError:NO_MEMORY + * RadioError:INVALID_SIM_STATE + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:SIM_ABSENT + */ + oneway void supplyNetworkDepersonalizationResponse( + in RadioResponseInfo info, in int remainingRetries); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param persoType SIM Personalisation type + * @param remainingRetries postiive values indicates number of retries remaining, must be equal + * to -1 if number of retries is infinite. + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:PASSWORD_INCORRECT (code is invalid) + * RadioError:NO_MEMORY + * RadioError:INVALID_SIM_STATE + * RadioError:INTERNAL_ERR + * RadioError:SYSTEM_ERR + * RadioError:MODEM_ERR + * RadioError:INVALID_ARGUMENTS + * RadioError:NO_RESOURCES + * RadioError:REQUEST_NOT_SUPPORTED + */ + oneway void supplySimDepersonalizationResponse( + in RadioResponseInfo info, in PersoSubstate persoType, in int remainingRetries); + + /** + * @param info Response info struct containing response type, serial no. and error + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE (radio resetting) + * RadioError:INVALID_STATE + * RadioError:NO_MEMORY + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:INVALID_STATE + * RadioError:INVALID_CALL_ID + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:INVALID_ARGUMENTS + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_MODEM_STATE + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + */ + oneway void switchWaitingOrHoldingAndActiveResponse(in RadioResponseInfo info); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param updatedRecordIndex The index of the updated or inserted record in the phonebook and + * the minimum value is 1 + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_SIM_STATE + * RadioError:MODEM_ERR + * RadioError:INTERNAL_ERR + * RadioError:SIM_ERR + * RadioError:NO_SUCH_ENTRY + * RadioError:NO_RESOURCES + * REQUEST_NOT_SUPPORTED may only be returned on devices that don't support this API, + * indicated by the HAL capability CAPABILITY_SIM_PHONEBOOK_IN_MODEM. + */ + oneway void updateSimPhonebookRecordsResponse( + in RadioResponseInfo info, in int updatedRecordIndex); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param index record index where the cmda sms message is stored + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_SMS_FORMAT + * RadioError:SIM_FULL + * RadioError:INTERNAL_ERR + * RadioError:MODEM_ERR + * RadioError:ENCODING_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:INVALID_MODEM_STATE + * RadioError:INVALID_SMSC_ADDRESS + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:NO_RESOURCES + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + * RadioError:SIM_ABSENT + */ + oneway void writeSmsToRuimResponse(in RadioResponseInfo info, in int index); + + /** + * @param info Response info struct containing response type, serial no. and error + * @param index record index where the message is stored + * + * Valid errors returned: + * RadioError:NONE + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SIM_FULL + * RadioError:INVALID_ARGUMENTS + * RadioError:INVALID_SMS_FORMAT + * RadioError:INTERNAL_ERR + * RadioError:MODEM_ERR + * RadioError:ENCODING_ERR + * RadioError:NO_MEMORY + * RadioError:NO_RESOURCES + * RadioError:INVALID_MODEM_STATE + * RadioError:OPERATION_NOT_ALLOWED + * RadioError:INVALID_SMSC_ADDRESS + * RadioError:RADIO_NOT_AVAILABLE + * RadioError:SYSTEM_ERR + * RadioError:REQUEST_NOT_SUPPORTED + * RadioError:CANCELLED + * RadioError:INVALID_MODEM_STATE + * RadioError:SIM_ABSENT + */ + oneway void writeSmsToSimResponse(in RadioResponseInfo info, in int index); +} diff --git a/radio/aidl/android/hardware/radio/ISap.aidl b/radio/aidl/android/hardware/radio/ISap.aidl new file mode 100644 index 0000000000..55950fd26e --- /dev/null +++ b/radio/aidl/android/hardware/radio/ISap.aidl @@ -0,0 +1,95 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.ISapCallback; +import android.hardware.radio.SapApduType; +import android.hardware.radio.SapTransferProtocol; + +/** + * Empty top level interface. + */ +@VintfStability +interface ISap { + /** + * TRANSFER_APDU_REQ from SAP 1.1 spec 5.1.6 + * + * @param token Id to match req-resp. Resp must include same token. + * @param type APDU command type + * @param command CommandAPDU/CommandAPDU7816 parameter depending on type + */ + oneway void apduReq(in int token, in SapApduType type, in byte[] command); + + /** + * CONNECT_REQ from SAP 1.1 spec 5.1.1 + * + * @param token Id to match req-resp. Resp must include same token. + * @param maxMsgSize MaxMsgSize to be used for SIM Access Profile connection + */ + oneway void connectReq(in int token, in int maxMsgSize); + + /** + * DISCONNECT_REQ from SAP 1.1 spec 5.1.3 + * + * @param token Id to match req-resp. Resp must include same token. + */ + oneway void disconnectReq(in int token); + + /** + * POWER_SIM_OFF_REQ and POWER_SIM_ON_REQ from SAP 1.1 spec 5.1.10 + 5.1.12 + * + * @param token Id to match req-resp. Resp must include same token. + * @param state true for on, false for off + */ + oneway void powerReq(in int token, in boolean state); + + /** + * RESET_SIM_REQ from SAP 1.1 spec 5.1.14 + * + * @param token Id to match req-resp. Resp must include same token. + */ + oneway void resetSimReq(in int token); + + /** + * Set callback that has response and unsolicited indication functions + * + * @param sapCallback Object containing response and unosolicited indication callbacks + */ + void setCallback(in ISapCallback sapCallback); + + /** + * SET_TRANSPORT_PROTOCOL_REQ from SAP 1.1 spec 5.1.20 + * + * @param token Id to match req-resp. Resp must include same token. + * @param transferProtocol Transport Protocol + */ + oneway void setTransferProtocolReq(in int token, in SapTransferProtocol transferProtocol); + + /** + * TRANSFER_ATR_REQ from SAP 1.1 spec 5.1.8 + * + * @param token Id to match req-resp. Resp must include same token. + */ + oneway void transferAtrReq(in int token); + + /** + * TRANSFER_CARD_READER_STATUS_REQ from SAP 1.1 spec 5.1.17 + * + * @param token Id to match req-resp. Resp must include same token. + */ + oneway void transferCardReaderStatusReq(in int token); +} diff --git a/radio/aidl/android/hardware/radio/ISapCallback.aidl b/radio/aidl/android/hardware/radio/ISapCallback.aidl new file mode 100644 index 0000000000..e7a4bac705 --- /dev/null +++ b/radio/aidl/android/hardware/radio/ISapCallback.aidl @@ -0,0 +1,152 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.SapConnectRsp; +import android.hardware.radio.SapDisconnectType; +import android.hardware.radio.SapResultCode; +import android.hardware.radio.SapStatus; + +@VintfStability +interface ISapCallback { + /** + * TRANSFER_APDU_RESP from SAP 1.1 spec 5.1.7 + * + * @param token Id to match req-resp. Value must match the one in req. + * @param resultCode ResultCode to indicate if command was processed correctly + * Possible values: + * SapResultCode:SUCCESS, + * SapResultCode:GENERIC_FAILURE, + * SapResultCode:CARD_NOT_ACCESSSIBLE, + * SapResultCode:CARD_ALREADY_POWERED_OFF, + * SapResultCode:CARD_REMOVED + * @param apduRsp APDU Response. Valid only if command was processed correctly and no error + * occurred. + */ + oneway void apduResponse(in int token, in SapResultCode resultCode, in byte[] apduRsp); + + /** + * CONNECT_RESP from SAP 1.1 spec 5.1.2 + * + * @param token Id to match req-resp. Value must match the one in req. + * @param sapConnectRsp Connection Status + * @param maxMsgSize MaxMsgSize supported by server if request cannot be fulfilled. + * Valid only if connectResponse is SapConnectResponse:MSG_SIZE_TOO_LARGE. + */ + oneway void connectResponse(in int token, in SapConnectRsp sapConnectRsp, in int maxMsgSize); + + /** + * DISCONNECT_IND from SAP 1.1 spec 5.1.5 + * + * @param token Id to match req-resp. Value must match the one in req. + * @param disconnectType Disconnect Type to indicate if shutdown is graceful or immediate + */ + oneway void disconnectIndication(in int token, in SapDisconnectType disconnectType); + + /** + * DISCONNECT_RESP from SAP 1.1 spec 5.1.4 + * + * @param token Id to match req-resp. Value must match the one in req. + */ + oneway void disconnectResponse(in int token); + + /** + * ERROR_RESP from SAP 1.1 spec 5.1.19 + * + * @param token Id to match req-resp. Value must match the one in req. + */ + oneway void errorResponse(in int token); + + /** + * POWER_SIM_OFF_RESP and POWER_SIM_ON_RESP from SAP 1.1 spec 5.1.11 + 5.1.13 + * + * @param token Id to match req-resp. Value must match the one in req. + * @param resultCode ResultCode to indicate if command was processed correctly + * Possible values: + * SapResultCode:SUCCESS, + * SapResultCode:GENERIC_FAILURE, + * SapResultCode:CARD_NOT_ACCESSSIBLE, (possible only for power on req) + * SapResultCode:CARD_ALREADY_POWERED_OFF, (possible only for power off req) + * SapResultCode:CARD_REMOVED, + * SapResultCode:CARD_ALREADY_POWERED_ON (possible only for power on req) + */ + oneway void powerResponse(in int token, in SapResultCode resultCode); + + /** + * RESET_SIM_RESP from SAP 1.1 spec 5.1.15 + * + * @param token Id to match req-resp. Value must match the one in req. + * @param resultCode ResultCode to indicate if command was processed correctly + * Possible values: + * SapResultCode:SUCCESS, + * SapResultCode:GENERIC_FAILURE, + * SapResultCode:CARD_NOT_ACCESSSIBLE, + * SapResultCode:CARD_ALREADY_POWERED_OFF, + * SapResultCode:CARD_REMOVED + */ + oneway void resetSimResponse(in int token, in SapResultCode resultCode); + + /** + * STATUS_IND from SAP 1.1 spec 5.1.16 + * + * @param token Id to match req-resp. Value must match the one in req. + * @param status Parameter to indicate reason for the status change. + */ + oneway void statusIndication(in int token, in SapStatus status); + + /** + * TRANSFER_ATR_RESP from SAP 1.1 spec 5.1.9 + * + * @param token Id to match req-resp. Value must match the one in req. + * @param resultCode ResultCode to indicate if command was processed correctly + * Possible values: + * SapResultCode:SUCCESS, + * SapResultCode:GENERIC_FAILURE, + * SapResultCode:CARD_ALREADY_POWERED_OFF, + * SapResultCode:CARD_REMOVED, + * SapResultCode:DATA_NOT_AVAILABLE + * @param atr Answer to Reset from the subscription module. Included only if no error occurred, + * otherwise empty. + */ + oneway void transferAtrResponse(in int token, in SapResultCode resultCode, in byte[] atr); + + /** + * TRANSFER_CARD_READER_STATUS_REQ from SAP 1.1 spec 5.1.18 + * + * @param token Id to match req-resp. Value must match the one in req. + * @param resultCode ResultCode to indicate if command was processed correctly + * Possible values: + * SapResultCode:SUCCESS, + * SapResultCode:GENERIC_FAILURE + * SapResultCode:DATA_NOT_AVAILABLE + * @param cardReaderStatus Card Reader Status coded as described in 3GPP TS 11.14 Section 12.33 + * and TS 31.111 Section 8.33 + */ + oneway void transferCardReaderStatusResponse( + in int token, in SapResultCode resultCode, in int cardReaderStatus); + + /** + * SET_TRANSPORT_PROTOCOL_RESP from SAP 1.1 spec 5.1.21 + * + * @param token Id to match req-resp. Value must match the one in req. + * @param resultCode ResultCode to indicate if command was processed correctly + * Possible values: + * SapResultCode:SUCCESS + * SapResultCode:NOT_SUPPORTED + */ + oneway void transferProtocolResponse(in int token, in SapResultCode resultCode); +} diff --git a/radio/aidl/android/hardware/radio/IccIo.aidl b/radio/aidl/android/hardware/radio/IccIo.aidl new file mode 100644 index 0000000000..7441758507 --- /dev/null +++ b/radio/aidl/android/hardware/radio/IccIo.aidl @@ -0,0 +1,55 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable IccIo { + /** + * One of the commands listed for TS 27.007 +CRSM + */ + int command; + /** + * EF ID + */ + int fileId; + /** + * "pathid" from TS 27.007 +CRSM command. Path is in hex ASCII format eg "7f205f70" + * Path must always be provided. + */ + String path; + /** + * Value of p1 defined as per 3GPP TS 51.011 + */ + int p1; + /** + * Value of p2 defined as per 3GPP TS 51.011 + */ + int p2; + /** + * Value of p3 defined as per 3GPP TS 51.011 + */ + int p3; + /** + * Information to be written to the SIM + */ + String data; + String pin2; + /** + * AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value. + */ + String aid; +} diff --git a/radio/aidl/android/hardware/radio/IccIoResult.aidl b/radio/aidl/android/hardware/radio/IccIoResult.aidl new file mode 100644 index 0000000000..94377b4072 --- /dev/null +++ b/radio/aidl/android/hardware/radio/IccIoResult.aidl @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable IccIoResult { + int sw1; + int sw2; + /** + * In hex string format ([a-fA-F0-9]*), except for SIM_AUTHENTICATION response for which it is + * in Base64 format, see 3GPP TS 31.102 7.1.2 + */ + String simResponse; +} diff --git a/radio/aidl/android/hardware/radio/ImsSmsMessage.aidl b/radio/aidl/android/hardware/radio/ImsSmsMessage.aidl new file mode 100644 index 0000000000..3b4efe68fd --- /dev/null +++ b/radio/aidl/android/hardware/radio/ImsSmsMessage.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CdmaSmsMessage; +import android.hardware.radio.GsmSmsMessage; +import android.hardware.radio.RadioTechnologyFamily; + +@VintfStability +parcelable ImsSmsMessage { + RadioTechnologyFamily tech; + /** + * Retry if true + */ + boolean retry; + /** + * Valid field if retry is set to true. + * Contains messageRef from SendSmsResult struct corresponding to failed MO SMS. + */ + int messageRef; + /** + * Valid field if tech is 3GPP2 and size = 1 else must be empty. Only one of cdmaMessage and + * gsmMessage must be of size 1 based on the RadioTechnologyFamily and the other must be size 0. + */ + CdmaSmsMessage[] cdmaMessage; + /** + * Valid field if tech is 3GPP and size = 1 else must be empty. Only one of cdmaMessage and + * gsmMessage must be of size 1 based on the RadioTechnologyFamily and the other must be size 0. + */ + GsmSmsMessage[] gsmMessage; +} diff --git a/radio/aidl/android/hardware/radio/ImsiEncryptionInfo.aidl b/radio/aidl/android/hardware/radio/ImsiEncryptionInfo.aidl new file mode 100644 index 0000000000..dbb0a9e2ed --- /dev/null +++ b/radio/aidl/android/hardware/radio/ImsiEncryptionInfo.aidl @@ -0,0 +1,57 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.PublicKeyType; + +/** + * Carrier specific Information sent by the carrier, which will be used to encrypt IMSI and IMPI. + */ +@VintfStability +parcelable ImsiEncryptionInfo { + /** + * MCC of the Carrier. + */ + String mcc; + /** + * MNC of the Carrier. + */ + String mnc; + /** + * Carrier specific key to be used for encryption. It must be opaque to the framework. + * This is the byte-stream representation of the key. This is an external encoded form for the + * key used when a standard representation of the key is needed outside the Java Virtual + * Machine, as when transmitting the key to some other party. The key is encoded according to a + * standard format (such as X.509 SubjectPublicKeyInfo or PKCS#8), and is returned using the + * getEncoded method as defined on the java.security.Key interface. + */ + byte[] carrierKey; + /** + * This is an opaque value we're given by the carrier and is returned to the carrier. + * This is used by the server to help it locate the private key to decrypt the + * permanent identity. + */ + String keyIdentifier; + /** + * Date-time in UTC when the key will expire. + */ + long expirationTime; + /** + * Public key type. + */ + PublicKeyType keyType; +} diff --git a/radio/aidl/android/hardware/radio/IncrementalResultsPeriodicityRange.aidl b/radio/aidl/android/hardware/radio/IncrementalResultsPeriodicityRange.aidl new file mode 100644 index 0000000000..4a863a7121 --- /dev/null +++ b/radio/aidl/android/hardware/radio/IncrementalResultsPeriodicityRange.aidl @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2021 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; + +/** + * Values are in seconds. + */ +@VintfStability +@Backing(type="int") +enum IncrementalResultsPeriodicityRange { + MIN = 1, + MAX = 10, +} diff --git a/radio/aidl/android/hardware/radio/IndicationFilter.aidl b/radio/aidl/android/hardware/radio/IndicationFilter.aidl new file mode 100644 index 0000000000..826c8c1c57 --- /dev/null +++ b/radio/aidl/android/hardware/radio/IndicationFilter.aidl @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum IndicationFilter { + NONE = 0, + ALL = ~0, + /** + * When this bit is set, modem must send the signal strength update through + * IRadioIndication.currentSignalStrength() when all criteria specified by + * IRadio.setSignalStrengthReportingCriteria() are met. + */ + SIGNAL_STRENGTH = 1 << 0, + /** + * When this bit is set, modem must invoke IRadioIndication.networkStateChanged() when any field + * in VoiceRegStateResult or DataRegStateResult changes. When this bit is not set, modem must + * suppress IRadioIndication.networkStateChanged() when there are only changes from + * insignificant fields. Modem must invoke IRadioIndication.networkStateChanged() when + * significant fields are updated regardless of whether this bit is set. + * + * The following fields are considered significant: VoiceRegStateResult.regState, + * VoiceRegStateResult.rat, DataRegStateResult.regState, DataRegStateResult.rat. + */ + FULL_NETWORK_STATE = 1 << 1, + /** + * When this bit is set, modem must send IRadioIndication.dataCallListChanged() whenever any + * field in ITypes.SetupDataCallResult changes. When this bit is not set, modem must suppress + * the indication when the only changed field is 'active' (for data dormancy). For all other + * field changes, the modem must send IRadioIndication.dataCallListChanged() regardless of + * whether this bit is set. + */ + DATA_CALL_DORMANCY_CHANGED = 1 << 2, + /** + * When this bit is set, modem must send the link capacity update through + * IRadioIndication.currentLinkCapacityEstimate() when all criteria specified by + * IRadio.setLinkCapacityReportingCriteria() are met. + */ + LINK_CAPACITY_ESTIMATE = 1 << 3, + /** + * When this bit is set, the modem must send the physical channel configuration update through + * IRadioIndication.currentPhysicalChannelConfigs() when the configuration has changed. It is + * recommended that this be reported whenever link capacity or signal strength is reported. + */ + PHYSICAL_CHANNEL_CONFIG = 1 << 4, + /** + * Control the unsolicited sending of registration failure reports via onRegistrationFailed + */ + REGISTRATION_FAILURE = 1 << 5, + /** + * Control the unsolicited sending of barring info updates via onBarringInfo + */ + BARRING_INFO = 1 << 6, +} diff --git a/radio/aidl/android/hardware/radio/KeepaliveRequest.aidl b/radio/aidl/android/hardware/radio/KeepaliveRequest.aidl new file mode 100644 index 0000000000..ef594ade53 --- /dev/null +++ b/radio/aidl/android/hardware/radio/KeepaliveRequest.aidl @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.KeepaliveType; + +@VintfStability +parcelable KeepaliveRequest { + /** + * The format of the keepalive packet + */ + KeepaliveType type; + /** + * Source address with type = family, in network byte order + */ + byte[] sourceAddress; + /** + * Source port if relevant for the given type + * INT_MAX: 0x7FFFFFFF denotes that the field is unused + */ + int sourcePort; + /** + * Destination address with type = family, in network byte order + */ + byte[] destinationAddress; + /** + * Destination if relevant for the given type + * INT_MAX: 0x7FFFFFFF denotes that the field is unused + */ + int destinationPort; + /** + * The max interval between packets, in milliseconds + */ + int maxKeepaliveIntervalMillis; + /** + * Context ID, returned in setupDataCallResponse that uniquely identifies the data call to which + * this keepalive must applied. + */ + int cid; +} diff --git a/radio/aidl/android/hardware/radio/KeepaliveStatus.aidl b/radio/aidl/android/hardware/radio/KeepaliveStatus.aidl new file mode 100644 index 0000000000..911cdae07a --- /dev/null +++ b/radio/aidl/android/hardware/radio/KeepaliveStatus.aidl @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.KeepaliveStatusCode; + +@VintfStability +parcelable KeepaliveStatus { + /** + * The sessionHandle provided by the API + */ + int sessionHandle; + /** + * Status for the given keepalive + */ + KeepaliveStatusCode code; +} diff --git a/radio/aidl/android/hardware/radio/KeepaliveStatusCode.aidl b/radio/aidl/android/hardware/radio/KeepaliveStatusCode.aidl new file mode 100644 index 0000000000..ed4b32777d --- /dev/null +++ b/radio/aidl/android/hardware/radio/KeepaliveStatusCode.aidl @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum KeepaliveStatusCode { + /** + * Keepalive is currently active + */ + ACTIVE, + /** + * Keepalive is inactive, which indicates an error + */ + INACTIVE, + /** + * Requested keepalive has not yet been processed by the modem. + * Only allowed in a RESPONSE message to a REQUEST + */ + PENDING, +} diff --git a/radio/aidl/android/hardware/radio/KeepaliveType.aidl b/radio/aidl/android/hardware/radio/KeepaliveType.aidl new file mode 100644 index 0000000000..86b1509f29 --- /dev/null +++ b/radio/aidl/android/hardware/radio/KeepaliveType.aidl @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum KeepaliveType { + /** + * Keepalive specified by RFC 3948 Sec. 2.3 using IPv4 + */ + NATT_IPV4, + /** + * Keepalive specified by RFC 3948 Sec. 2.3 using IPv6 + */ + NATT_IPV6, +} diff --git a/radio/aidl/android/hardware/radio/LastCallFailCause.aidl b/radio/aidl/android/hardware/radio/LastCallFailCause.aidl new file mode 100644 index 0000000000..e5a5145fa4 --- /dev/null +++ b/radio/aidl/android/hardware/radio/LastCallFailCause.aidl @@ -0,0 +1,177 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum LastCallFailCause { + UNOBTAINABLE_NUMBER = 1, + NO_ROUTE_TO_DESTINATION = 3, + CHANNEL_UNACCEPTABLE = 6, + OPERATOR_DETERMINED_BARRING = 8, + NORMAL = 16, + BUSY = 17, + NO_USER_RESPONDING = 18, + NO_ANSWER_FROM_USER = 19, + CALL_REJECTED = 21, + NUMBER_CHANGED = 22, + PREEMPTION = 25, + DESTINATION_OUT_OF_ORDER = 27, + INVALID_NUMBER_FORMAT = 28, + FACILITY_REJECTED = 29, + RESP_TO_STATUS_ENQUIRY = 30, + NORMAL_UNSPECIFIED = 31, + CONGESTION = 34, + NETWORK_OUT_OF_ORDER = 38, + TEMPORARY_FAILURE = 41, + SWITCHING_EQUIPMENT_CONGESTION = 42, + ACCESS_INFORMATION_DISCARDED = 43, + REQUESTED_CIRCUIT_OR_CHANNEL_NOT_AVAILABLE = 44, + RESOURCES_UNAVAILABLE_OR_UNSPECIFIED = 47, + QOS_UNAVAILABLE = 49, + REQUESTED_FACILITY_NOT_SUBSCRIBED = 50, + INCOMING_CALLS_BARRED_WITHIN_CUG = 55, + BEARER_CAPABILITY_NOT_AUTHORIZED = 57, + BEARER_CAPABILITY_UNAVAILABLE = 58, + SERVICE_OPTION_NOT_AVAILABLE = 63, + BEARER_SERVICE_NOT_IMPLEMENTED = 65, + ACM_LIMIT_EXCEEDED = 68, + REQUESTED_FACILITY_NOT_IMPLEMENTED = 69, + ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE = 70, + SERVICE_OR_OPTION_NOT_IMPLEMENTED = 79, + INVALID_TRANSACTION_IDENTIFIER = 81, + USER_NOT_MEMBER_OF_CUG = 87, + INCOMPATIBLE_DESTINATION = 88, + INVALID_TRANSIT_NW_SELECTION = 91, + SEMANTICALLY_INCORRECT_MESSAGE = 95, + INVALID_MANDATORY_INFORMATION = 96, + MESSAGE_TYPE_NON_IMPLEMENTED = 97, + MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98, + INFORMATION_ELEMENT_NON_EXISTENT = 99, + CONDITIONAL_IE_ERROR = 100, + MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101, + RECOVERY_ON_TIMER_EXPIRED = 102, + PROTOCOL_ERROR_UNSPECIFIED = 111, + INTERWORKING_UNSPECIFIED = 127, + CALL_BARRED = 240, + FDN_BLOCKED = 241, + IMSI_UNKNOWN_IN_VLR = 242, + IMEI_NOT_ACCEPTED = 243, + /** + * STK Call Control + */ + DIAL_MODIFIED_TO_USSD = 244, + DIAL_MODIFIED_TO_SS = 245, + DIAL_MODIFIED_TO_DIAL = 246, + /** + * Radio is off + */ + RADIO_OFF = 247, + /** + * No cellular coverage + */ + OUT_OF_SERVICE = 248, + /** + * No valid SIM is present + */ + NO_VALID_SIM = 249, + /** + * Internal error at modem + */ + RADIO_INTERNAL_ERROR = 250, + /** + * No response from network + */ + NETWORK_RESP_TIMEOUT = 251, + /** + * Explicit network reject + */ + NETWORK_REJECT = 252, + /** + * RRC connection failure. Eg.RACH + */ + RADIO_ACCESS_FAILURE = 253, + /** + * Radio link failure + */ + RADIO_LINK_FAILURE = 254, + /** + * Radio link lost due to poor coverage + */ + RADIO_LINK_LOST = 255, + /** + * Radio uplink failure + */ + RADIO_UPLINK_FAILURE = 256, + /** + * RRC connection setup failure + */ + RADIO_SETUP_FAILURE = 257, + /** + * RRC connection release, normal + */ + RADIO_RELEASE_NORMAL = 258, + /** + * RRC connection release, abnormal + */ + RADIO_RELEASE_ABNORMAL = 259, + /** + * Access class barring + */ + ACCESS_CLASS_BLOCKED = 260, + /** + * Explicit network detach + */ + NETWORK_DETACH = 261, + CDMA_LOCKED_UNTIL_POWER_CYCLE = 1000, + CDMA_DROP = 1001, + CDMA_INTERCEPT = 1002, + CDMA_REORDER = 1003, + CDMA_SO_REJECT = 1004, + CDMA_RETRY_ORDER = 1005, + CDMA_ACCESS_FAILURE = 1006, + CDMA_PREEMPTED = 1007, + /** + * For non-emergency number dialed during emergency callback mode + */ + CDMA_NOT_EMERGENCY = 1008, + CDMA_ACCESS_BLOCKED = 1009, + /** + * OEM specific error codes. Used to distinguish error from + * CALL_FAIL_ERROR_UNSPECIFIED and help assist debugging + */ + OEM_CAUSE_1 = 0xf001, + OEM_CAUSE_2 = 0xf002, + OEM_CAUSE_3 = 0xf003, + OEM_CAUSE_4 = 0xf004, + OEM_CAUSE_5 = 0xf005, + OEM_CAUSE_6 = 0xf006, + OEM_CAUSE_7 = 0xf007, + OEM_CAUSE_8 = 0xf008, + OEM_CAUSE_9 = 0xf009, + OEM_CAUSE_10 = 0xf00a, + OEM_CAUSE_11 = 0xf00b, + OEM_CAUSE_12 = 0xf00c, + OEM_CAUSE_13 = 0xf00d, + OEM_CAUSE_14 = 0xf00e, + OEM_CAUSE_15 = 0xf00f, + /** + * This error will be deprecated soon, vendor code must make sure to map error code to specific + * error + */ + ERROR_UNSPECIFIED = 0xffff, +} diff --git a/radio/aidl/android/hardware/radio/LastCallFailCauseInfo.aidl b/radio/aidl/android/hardware/radio/LastCallFailCauseInfo.aidl new file mode 100644 index 0000000000..6866e99d91 --- /dev/null +++ b/radio/aidl/android/hardware/radio/LastCallFailCauseInfo.aidl @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.LastCallFailCause; + +@VintfStability +parcelable LastCallFailCauseInfo { + LastCallFailCause causeCode; + String vendorCause; +} diff --git a/radio/aidl/android/hardware/radio/LceDataInfo.aidl b/radio/aidl/android/hardware/radio/LceDataInfo.aidl new file mode 100644 index 0000000000..68521b559b --- /dev/null +++ b/radio/aidl/android/hardware/radio/LceDataInfo.aidl @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable LceDataInfo { + /** + * Last-hop cellular capacity: kilobits/second. + */ + int lastHopCapacityKbps; + /** + * Capacity estimate confidence: 0-100. + */ + byte confidenceLevel; + /** + * Whether the LCE report is going to be suspended (e.g., radio moves to inactive state or + * network type changes). + */ + boolean lceSuspended; +} diff --git a/radio/aidl/android/hardware/radio/LceStatus.aidl b/radio/aidl/android/hardware/radio/LceStatus.aidl new file mode 100644 index 0000000000..0d3a27e420 --- /dev/null +++ b/radio/aidl/android/hardware/radio/LceStatus.aidl @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum LceStatus { + NOT_SUPPORTED, + STOPPED, + ACTIVE, +} diff --git a/radio/aidl/android/hardware/radio/LceStatusInfo.aidl b/radio/aidl/android/hardware/radio/LceStatusInfo.aidl new file mode 100644 index 0000000000..e2b35e1a64 --- /dev/null +++ b/radio/aidl/android/hardware/radio/LceStatusInfo.aidl @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.LceStatus; + +@VintfStability +parcelable LceStatusInfo { + LceStatus lceStatus; + /** + * Actual LCE reporting interval, meaningful only if LceStatus = ACTIVE. + */ + byte actualIntervalMs; +} diff --git a/radio/aidl/android/hardware/radio/LinkAddress.aidl b/radio/aidl/android/hardware/radio/LinkAddress.aidl new file mode 100644 index 0000000000..6fc12c777d --- /dev/null +++ b/radio/aidl/android/hardware/radio/LinkAddress.aidl @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.AddressProperty; + +/** + * Describes a data link address for mobile data connection. + */ +@VintfStability +parcelable LinkAddress { + /** + * The format is IP address with optional "/" prefix length (The format is defined in RFC-4291 + * section 2.3). For example, "192.0.1.3", "192.0.1.11/16", or "2001:db8::1/64". Typically one + * IPv4 or one IPv6 or one of each. If the prefix length is absent, then the addresses are + * assumed to be point to point with IPv4 with prefix length 32 or IPv6 with prefix length 128. + */ + String address; + /** + * The properties of the link address + */ + AddressProperty properties; + /** + * The time, as reported by SystemClock.elapsedRealtime(), when this link address will be or + * was deprecated. -1 indicates this information is not available. At the time existing + * connections can still use this address until it expires, but new connections should use the + * new address. LONG_MAX(0x7FFFFFFFFFFFFFFF) indicates this link address will never be + * deprecated. + */ + long deprecationTime; + /** + * The time, as reported by SystemClock.elapsedRealtime(), when this link address will expire + * and be removed from the interface. -1 indicates this information is not available. + * LONG_MAX(0x7FFFFFFFFFFFFFFF) indicates this link address will never expire. + */ + long expirationTime; +} diff --git a/radio/aidl/android/hardware/radio/LinkCapacityEstimate.aidl b/radio/aidl/android/hardware/radio/LinkCapacityEstimate.aidl new file mode 100644 index 0000000000..78ddee2f8f --- /dev/null +++ b/radio/aidl/android/hardware/radio/LinkCapacityEstimate.aidl @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable LinkCapacityEstimate { + /** + * Estimated downlink capacity in kbps. In case of a dual connected network, this includes + * capacity of both primary and secondary. This bandwidth estimate shall be the estimated + * maximum sustainable link bandwidth (as would be measured at the Upper PDCP or SNDCP SAP). + * If the DL Aggregate Maximum Bit Rate is known, this value shall not exceed the DL-AMBR for + * the Internet PDN connection. This must be filled with 0 if network is not connected. + */ + int downlinkCapacityKbps; + /** + * Estimated uplink capacity in kbps. In case of a dual connected network, this includes + * capacity of both primary and secondary. This bandwidth estimate shall be the estimated + * maximum sustainable link bandwidth (as would be measured at the Upper PDCP or SNDCP SAP). + * If the UL Aggregate Maximum Bit Rate is known, this value shall not exceed the UL-AMBR for + * the Internet PDN connection. This must be filled with 0 if network is not connected. + */ + int uplinkCapacityKbps; + /** + * Estimated downlink capacity of secondary carrier in a dual connected NR mode in kbps. This + * bandwidth estimate shall be the estimated maximum sustainable link bandwidth (as would be + * measured at the Upper PDCP or SNDCP SAP). This is valid only in if device is connected to + * both primary and secodary in dual connected mode. This must be filled with 0 if secondary is + * not connected or if modem does not support this feature. + */ + int secondaryDownlinkCapacityKbps; + /** + * Estimated uplink capacity secondary carrier in a dual connected NR mode in kbps. This + * bandwidth estimate shall be the estimated maximum sustainable link bandwidth (as would be + * measured at the Upper PDCP or SNDCP SAP). This is valid only in if device is connected to + * both primary and secodary in dual connected mode.This must be filled with 0 if secondary is + * not connected or if modem does not support this feature. + */ + int secondaryUplinkCapacityKbps; +} diff --git a/radio/aidl/android/hardware/radio/LteSignalStrength.aidl b/radio/aidl/android/hardware/radio/LteSignalStrength.aidl new file mode 100644 index 0000000000..699925d419 --- /dev/null +++ b/radio/aidl/android/hardware/radio/LteSignalStrength.aidl @@ -0,0 +1,59 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable LteSignalStrength { + /** + * Valid values are (0-31, 99) as defined in TS 27.007 8.5; INT_MAX means invalid/unreported. + */ + int signalStrength; + /** + * The current Reference Signal Receive Power in dBm multiplied by -1. Range: 44 to 140 dBm; + * INT_MAX: 0x7FFFFFFF denotes invalid/unreported value. Reference: 3GPP TS 36.133 9.1.4 + */ + int rsrp; + /** + * The current Reference Signal Receive Quality in dB multiplied by -1. Range: 20 to 3 dB; + * INT_MAX: 0x7FFFFFFF denotes invalid/unreported value. Reference: 3GPP TS 36.133 9.1.7 + */ + int rsrq; + /** + * The current reference signal signal-to-noise ratio in 0.1 dB units. + * Range: -200 to +300 (-200 = -20.0 dB, +300 = 30dB). + * INT_MAX: 0x7FFFFFFF denotes invalid/unreported value. Reference: 3GPP TS 36.101 8.1.1 + */ + int rssnr; + /** + * The current Channel Quality Indicator. Range: 0 to 15. + * INT_MAX: 0x7FFFFFFF denotes invalid/unreported value. Reference: 3GPP TS 36.101 9.2, 9.3, A.4 + */ + int cqi; + /** + * Timing advance in micro seconds for a one way trip from cell to device. Approximate distance + * is calculated using 300m/us * timingAdvance. Range: 0 to 1282 inclusive. + * INT_MAX: 0x7FFFFFFF denotes invalid/unreported value. Reference: 3GPP 36.213 section 4.2.3 + */ + int timingAdvance; + /** + * CSI channel quality indicator (CQI) table index. There are multiple CQI tables. + * The definition of CQI in each table is different. + * Reference: 3GPP TS 136.213 section 7.2.3. + * Range [1, 6], INT_MAX means invalid/unreported. + */ + int cqiTableIndex; +} diff --git a/radio/aidl/android/hardware/radio/LteVopsInfo.aidl b/radio/aidl/android/hardware/radio/LteVopsInfo.aidl new file mode 100644 index 0000000000..b487a8f20d --- /dev/null +++ b/radio/aidl/android/hardware/radio/LteVopsInfo.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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; + +/** + * Type to define the LTE specific network capabilities for voice over PS including emergency and + * normal voice calls. + */ +@VintfStability +parcelable LteVopsInfo { + /** + * This indicates if camped network support VoLTE services. This information is received from + * LTE network during LTE NAS registration procedure through LTE ATTACH ACCEPT/TAU ACCEPT. + * Refer 3GPP 24.301 EPS network feature support -> IMS VoPS + */ + boolean isVopsSupported; + /** + * This indicates if camped network support VoLTE emergency bearers. This information is + * received from LTE network through two sources: + * a. During LTE NAS registration procedure through LTE ATTACH ACCEPT/TAU ACCEPT. Refer + * 3GPP 24.301 EPS network feature support -> EMC BS + * b. In case device is not registered on network. Refer 3GPP 25.331 LTE RRC + * SIB1 : ims-EmergencySupport-r9 + * If device is registered on LTE, then this field indicates (a). + * In case of limited service on LTE this field indicates (b). + */ + boolean isEmcBearerSupported; +} diff --git a/radio/aidl/android/hardware/radio/MaxSearchTimeRange.aidl b/radio/aidl/android/hardware/radio/MaxSearchTimeRange.aidl new file mode 100644 index 0000000000..babbd3cc47 --- /dev/null +++ b/radio/aidl/android/hardware/radio/MaxSearchTimeRange.aidl @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2021 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; + +/** + * Values are in seconds. + */ +@VintfStability +@Backing(type="int") +enum MaxSearchTimeRange { + MIN = 60, + MAX = 3600, +} diff --git a/radio/aidl/android/hardware/radio/MaybePort.aidl b/radio/aidl/android/hardware/radio/MaybePort.aidl new file mode 100644 index 0000000000..169f90f794 --- /dev/null +++ b/radio/aidl/android/hardware/radio/MaybePort.aidl @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.PortRange; + +/** + * Port is optional, contains either single port or range of ports + */ +@VintfStability +union MaybePort { + boolean noinit; + PortRange range; +} diff --git a/radio/aidl/android/hardware/radio/MvnoType.aidl b/radio/aidl/android/hardware/radio/MvnoType.aidl new file mode 100644 index 0000000000..0f0df6256b --- /dev/null +++ b/radio/aidl/android/hardware/radio/MvnoType.aidl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum MvnoType { + /** + * None + */ + NONE, + /** + * The matching data is based on IMSI. + */ + IMSI, + /** + * The matching data is based on group id. + */ + GID, + /** + * The matching data is based service provider name. + */ + SPN, +} diff --git a/radio/aidl/android/hardware/radio/NeighboringCell.aidl b/radio/aidl/android/hardware/radio/NeighboringCell.aidl new file mode 100644 index 0000000000..b48a2d4e51 --- /dev/null +++ b/radio/aidl/android/hardware/radio/NeighboringCell.aidl @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable NeighboringCell { + /** + * Combination of LAC and cell ID in 32 bits in GSM. Upper 16 bits is LAC and lower 16 bits is + * CID (as described in TS 27.005). + */ + String cid; + /** + * Received RSSI in GSM, level index of CPICH Received Signal Code Power in UMTS + */ + int rssi; +} diff --git a/radio/aidl/android/hardware/radio/NetworkScanRequest.aidl b/radio/aidl/android/hardware/radio/NetworkScanRequest.aidl new file mode 100644 index 0000000000..7659b89ae5 --- /dev/null +++ b/radio/aidl/android/hardware/radio/NetworkScanRequest.aidl @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.RadioAccessSpecifier; +import android.hardware.radio.ScanType; + +@VintfStability +parcelable NetworkScanRequest { + ScanType type; + /** + * Time interval in seconds between the completion of one scan and the start of a subsequent + * scan. Implementations may ignore this field unless the 'type' is 'PERIODIC'. + * Range: ScanIntervalRange:MIN to ScanIntervalRange:MAX. + */ + int interval; + /** + * Networks with bands/channels to scan. + * Maximum length of the vector is RadioConst:RADIO_ACCESS_SPECIFIER_MAX_SIZE. + */ + RadioAccessSpecifier[] specifiers; + /** + * Maximum duration of the periodic search (in seconds). If the search lasts maxSearchTime, it + * must be terminated. Range: MaxSearchTimeRange:MIN to MaxSearchTimeRange:MAX + */ + int maxSearchTime; + /** + * Whether the modem must report incremental results of the network scan to the client. + * FALSE – Incremental results must not be reported. + * TRUE – Incremental must be reported. + */ + boolean incrementalResults; + /** + * Indicates the periodicity with which the modem must report incremental results to the client + * (in seconds). Implementations may ignore this value if the incremental results are not + * requested. This value must be less than or equal to maxSearchTime. + * Range: IncrementalResultsPeriodicityRange:MIN to IncrementalResultsPeriodicityRange:MAX + */ + int incrementalResultsPeriodicity; + /** + * Describes the List of PLMN ids (MCC-MNC). If any PLMN of this list is found, search must end + * at that point and results with all PLMN found until that point should be sent as response. + * If the list is not sent, search to be completed until end and all PLMNs found to be reported. + */ + String[] mccMncs; +} diff --git a/radio/aidl/android/hardware/radio/NetworkScanResult.aidl b/radio/aidl/android/hardware/radio/NetworkScanResult.aidl new file mode 100644 index 0000000000..c542a4753b --- /dev/null +++ b/radio/aidl/android/hardware/radio/NetworkScanResult.aidl @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CellInfo; +import android.hardware.radio.RadioError; +import android.hardware.radio.ScanStatus; + +@VintfStability +parcelable NetworkScanResult { + /** + * The status of the scan. + */ + ScanStatus status; + /** + * The error code of the incremental result. + */ + RadioError error; + /** + * List of network information as CellInfo. + */ + CellInfo[] networkInfos; +} diff --git a/radio/aidl/android/hardware/radio/NgranBands.aidl b/radio/aidl/android/hardware/radio/NgranBands.aidl new file mode 100644 index 0000000000..7887011c77 --- /dev/null +++ b/radio/aidl/android/hardware/radio/NgranBands.aidl @@ -0,0 +1,84 @@ +/* + * Copyright (C) 2021 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; + +/** + * NGRAN bands up to V16.5.0 + */ +@VintfStability +@Backing(type="int") +enum NgranBands { + /** + * 3GPP TS 38.101-1, Table 5.2-1: FR1 bands + */ + BAND_1 = 1, + BAND_2 = 2, + BAND_3 = 3, + BAND_5 = 5, + BAND_7 = 7, + BAND_8 = 8, + BAND_12 = 12, + BAND_14 = 14, + BAND_18 = 18, + BAND_20 = 20, + BAND_25 = 25, + BAND_26 = 26, + BAND_28 = 28, + BAND_29 = 29, + BAND_30 = 30, + BAND_34 = 34, + BAND_38 = 38, + BAND_39 = 39, + BAND_40 = 40, + BAND_41 = 41, + BAND_46 = 46, + BAND_48 = 48, + BAND_50 = 50, + BAND_51 = 51, + BAND_53 = 53, + BAND_65 = 65, + BAND_66 = 66, + BAND_70 = 70, + BAND_71 = 71, + BAND_74 = 74, + BAND_75 = 75, + BAND_76 = 76, + BAND_77 = 77, + BAND_78 = 78, + BAND_79 = 79, + BAND_80 = 80, + BAND_81 = 81, + BAND_82 = 82, + BAND_83 = 83, + BAND_84 = 84, + BAND_86 = 86, + BAND_89 = 89, + BAND_90 = 90, + BAND_91 = 91, + BAND_92 = 92, + BAND_93 = 93, + BAND_94 = 94, + BAND_95 = 95, + BAND_96 = 96, + /** + * 3GPP TS 38.101-2, Table 5.2-1: FR2 bands + */ + BAND_257 = 257, + BAND_258 = 258, + BAND_260 = 260, + BAND_261 = 261, +} diff --git a/radio/aidl/android/hardware/radio/NrDualConnectivityState.aidl b/radio/aidl/android/hardware/radio/NrDualConnectivityState.aidl new file mode 100644 index 0000000000..52bd048469 --- /dev/null +++ b/radio/aidl/android/hardware/radio/NrDualConnectivityState.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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; + +/** + * NR Dual connectivity state + */ +@VintfStability +@Backing(type="byte") +enum NrDualConnectivityState { + /** + * Enable NR dual connectivity. Enabled state does not mean dual connectivity is active. + * It means device is allowed to connect to both primary and secondary. + */ + ENABLE = 1, + /** + * Disable NR dual connectivity. Disabled state does not mean secondary cell is released. + * Modem will release it only if current bearer is released to avoid radio link failure. + */ + DISABLE = 2, + /** + * Disable NR dual connectivity and force secondary cell to be released if dual connectivity + * was active. This may result in radio link failure. + */ + DISABLE_IMMEDIATE = 3, +} diff --git a/radio/aidl/android/hardware/radio/NrIndicators.aidl b/radio/aidl/android/hardware/radio/NrIndicators.aidl new file mode 100644 index 0000000000..2a1dfece78 --- /dev/null +++ b/radio/aidl/android/hardware/radio/NrIndicators.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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; + +/** + * The parameters of NR 5G Non-Standalone. + */ +@VintfStability +parcelable NrIndicators { + /** + * Indicates that if E-UTRA-NR Dual Connectivity (EN-DC) is supported by the primary serving + * cell. True the primary serving cell is LTE cell and the plmn-InfoList-r15 is present in SIB2 + * and at least one bit in this list is true, otherwise this value should be false. + * Reference: 3GPP TS 36.331 v15.2.2 6.3.1 System information blocks. + */ + boolean isEndcAvailable; + /** + * True if use of dual connectivity with NR is restricted. + * Reference: 3GPP TS 24.301 v15.03 section 9.3.3.12A. + */ + boolean isDcNrRestricted; + /** + * True if the bit N is in the PLMN-InfoList-r15 is true and the selected PLMN is present in + * plmn-IdentityList at position N. + * Reference: 3GPP TS 36.331 v15.2.2 section 6.3.1 PLMN-InfoList-r15. + * 3GPP TS 36.331 v15.2.2 section 6.2.2 SystemInformationBlockType1 message. + */ + boolean isNrAvailable; +} diff --git a/radio/aidl/android/hardware/radio/NrQos.aidl b/radio/aidl/android/hardware/radio/NrQos.aidl new file mode 100644 index 0000000000..3d0278c073 --- /dev/null +++ b/radio/aidl/android/hardware/radio/NrQos.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.QosBandwidth; + +/** + * 5G Quality of Service parameters as per 3gpp spec 24.501 sec 9.11.4.12 + */ +@VintfStability +parcelable NrQos { + /** + * 5G QOS Identifier (5QI), see 3GPP TS 24.501 and 23.501. The allowed values are standard + * values (1-9, 65-68, 69-70, 75, 79-80, 82-85) defined in the spec and operator specific values + * in the range 128-254. + */ + int fiveQi; + QosBandwidth downlink; + QosBandwidth uplink; + /** + * QOS flow identifier of the QOS flow description in the range + * (QosFlowIdRange::MIN, QosFlowIdRange::MAX) + */ + byte qfi; + char averagingWindowMs; +} diff --git a/radio/aidl/android/hardware/radio/NrSignalStrength.aidl b/radio/aidl/android/hardware/radio/NrSignalStrength.aidl new file mode 100644 index 0000000000..40c6c3ebe0 --- /dev/null +++ b/radio/aidl/android/hardware/radio/NrSignalStrength.aidl @@ -0,0 +1,73 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable NrSignalStrength { + /** + * SS reference signal received power, multiplied by -1. + * Reference: 3GPP TS 38.215. + * Range [44, 140], INT_MAX means invalid/unreported. + */ + int ssRsrp; + /** + * SS reference signal received quality, multiplied by -1. + * Reference: 3GPP TS 38.215, 3GPP TS 38.133 section 10. + * Range [-20 dB, 43 dB], INT_MAX means invalid/unreported. + */ + int ssRsrq; + /** + * SS signal-to-noise and interference ratio. + * Reference: 3GPP TS 38.215 section 5.1.*, 3GPP TS 38.133 section 10.1.16.1. + * Range [-23, 40], INT_MAX means invalid/unreported. + */ + int ssSinr; + /** + * CSI reference signal received power, multiplied by -1. + * Reference: 3GPP TS 38.215. + * Range [44, 140], INT_MAX means invalid/unreported. + */ + int csiRsrp; + /** + * CSI reference signal received quality, multiplied by -1. + * Reference: 3GPP TS 38.215. + * Range [3, 20], INT_MAX means invalid/unreported. + */ + int csiRsrq; + /** + * CSI signal-to-noise and interference ratio. + * Reference: 3GPP TS 138.215 section 5.1.*, 3GPP TS 38.133 section 10.1.16.1. + * Range [-23, 40], INT_MAX means invalid/unreported. + */ + int csiSinr; + /** + * CSI channel quality indicator (CQI) table index. There are multiple CQI tables. + * The definition of CQI in each table is different. + * Reference: 3GPP TS 138.214 section 5.2.2.1. + * Range [1, 3], INT_MAX means invalid/unreported. + */ + int csiCqiTableIndex; + /** + * CSI channel quality indicator (CQI) for all subbands. If the CQI report is for the entire + * wideband, a single CQI index is provided. If the CQI report is for all subbands, one CQI + * index is provided for each subband, in ascending order of subband index. If CQI is not + * available, the CQI report is empty. + * Reference: 3GPP TS 138.214 section 5.2.2.1. + * Range [0, 15], 0xFF means invalid/unreported. + */ + byte[] csiCqiReport; +} diff --git a/radio/aidl/android/hardware/radio/NrVopsInfo.aidl b/radio/aidl/android/hardware/radio/NrVopsInfo.aidl new file mode 100644 index 0000000000..4d80f32962 --- /dev/null +++ b/radio/aidl/android/hardware/radio/NrVopsInfo.aidl @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.EmcIndicator; +import android.hardware.radio.EmfIndicator; +import android.hardware.radio.VopsIndicator; + +/** + * Type to define the NR specific network capabilities for voice over PS including emergency and + * normal voice calls. + */ +@VintfStability +parcelable NrVopsInfo { + /** + * This indicates if the camped network supports VoNR services, and what kind of services + * it supports. This information is received from NR network during NR NAS registration + * procedure through NR REGISTRATION ACCEPT. + * Refer 3GPP 24.501 EPS 5GS network feature support -> IMS VoPS + */ + VopsIndicator vopsSupported; + /** + * This indicates if the camped network supports VoNR emergency service. This information + * is received from NR network through two sources: + * a. During NR NAS registration procedure through NR REGISTRATION ACCEPT. + * Refer 3GPP 24.501 EPS 5GS network feature support -> EMC + * b. In case the device is not registered on the network. + * Refer 3GPP 38.331 SIB1 : ims-EmergencySupport + * If device is registered on NR, then this field indicates whether the cell + * supports IMS emergency bearer services for UEs in limited service mode. + */ + EmcIndicator emcSupported; + /** + * This indicates if the camped network supports VoNR emergency service fallback. This + * information is received from NR network during NR NAS registration procedure through + * NR REGISTRATION ACCEPT. + * Refer 3GPP 24.501 EPS 5GS network feature support -> EMF + */ + EmfIndicator emfSupported; +} diff --git a/radio/aidl/android/hardware/radio/NvItem.aidl b/radio/aidl/android/hardware/radio/NvItem.aidl new file mode 100644 index 0000000000..0d4f79f150 --- /dev/null +++ b/radio/aidl/android/hardware/radio/NvItem.aidl @@ -0,0 +1,191 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum NvItem { + /** + * CDMA radio and account information (items 1-10) + * CDMA MEID (hex) + */ + CDMA_MEID = 1, + /** + * CDMA MIN (MSID) + */ + CDMA_MIN = 2, + /** + * CDMA MDN + */ + CDMA_MDN = 3, + /** + * CDMA access overload control + */ + CDMA_ACCOLC = 4, + /** + * Carrier device provisioning (items 11-30) + * Device MSL + */ + DEVICE_MSL = 11, + /** + * RTN reconditioned status + */ + RTN_RECONDITIONED_STATUS = 12, + /** + * RTN activation date + */ + RTN_ACTIVATION_DATE = 13, + /** + * RTN life timer + */ + RTN_LIFE_TIMER = 14, + /** + * RTN life calls + */ + RTN_LIFE_CALLS = 15, + /** + * RTN life data TX + */ + RTN_LIFE_DATA_TX = 16, + /** + * RTN life data RX + */ + RTN_LIFE_DATA_RX = 17, + /** + * HFA in progress + */ + OMADM_HFA_LEVEL = 18, + /** + * Mobile IP profile information (items 31-50) + * NAI realm + */ + MIP_PROFILE_NAI = 31, + /** + * MIP home address + */ + MIP_PROFILE_HOME_ADDRESS = 32, + /** + * AAA auth + */ + MIP_PROFILE_AAA_AUTH = 33, + /** + * HA auth + */ + MIP_PROFILE_HA_AUTH = 34, + /** + * Primary HA address + */ + MIP_PROFILE_PRI_HA_ADDR = 35, + /** + * Secondary HA address + */ + MIP_PROFILE_SEC_HA_ADDR = 36, + /** + * Reverse TUN preference + */ + MIP_PROFILE_REV_TUN_PREF = 37, + /** + * HA SPI + */ + MIP_PROFILE_HA_SPI = 38, + /** + * AAA SPI + */ + MIP_PROFILE_AAA_SPI = 39, + /** + * HA shared secret + */ + MIP_PROFILE_MN_HA_SS = 40, + /** + * AAA shared secret + */ + MIP_PROFILE_MN_AAA_SS = 41, + /** + * CDMA network and band config (items 51-70) + * CDMA PRL version + */ + CDMA_PRL_VERSION = 51, + /** + * CDMA band class 10 + */ + CDMA_BC10 = 52, + /** + * CDMA band class 14 + */ + CDMA_BC14 = 53, + /** + * CDMA SO68 + */ + CDMA_SO68 = 54, + /** + * CDMA SO73 COP0 + */ + CDMA_SO73_COP0 = 55, + /** + * CDMA SO73 COP1-7 + */ + CDMA_SO73_COP1TO7 = 56, + /** + * CDMA 1X Advanced enabled + */ + CDMA_1X_ADVANCED_ENABLED = 57, + /** + * CDMA eHRPD enabled + */ + CDMA_EHRPD_ENABLED = 58, + /** + * CDMA eHRPD forced + */ + CDMA_EHRPD_FORCED = 59, + /** + * LTE network and band config (items 71-90) + * LTE band 25 enabled + */ + LTE_BAND_ENABLE_25 = 71, + /** + * LTE band 26 enabled + */ + LTE_BAND_ENABLE_26 = 72, + /** + * LTE band 41 enabled + */ + LTE_BAND_ENABLE_41 = 73, + /** + * LTE band 25 scan priority + */ + LTE_SCAN_PRIORITY_25 = 74, + /** + * LTE band 26 scan priority + */ + LTE_SCAN_PRIORITY_26 = 75, + /** + * LTE band 41 scan priority + */ + LTE_SCAN_PRIORITY_41 = 76, + /** + * LTE hidden band 25 priority + */ + LTE_HIDDEN_BAND_PRIORITY_25 = 77, + /** + * LTE hidden band 26 priority + */ + LTE_HIDDEN_BAND_PRIORITY_26 = 78, + /** + * LTE hidden band 41 priority + */ + LTE_HIDDEN_BAND_PRIORITY_41 = 79, +} diff --git a/radio/aidl/android/hardware/radio/NvWriteItem.aidl b/radio/aidl/android/hardware/radio/NvWriteItem.aidl new file mode 100644 index 0000000000..f3061612b4 --- /dev/null +++ b/radio/aidl/android/hardware/radio/NvWriteItem.aidl @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.NvItem; + +@VintfStability +parcelable NvWriteItem { + NvItem itemId; + String value; +} diff --git a/radio/aidl/android/hardware/radio/OperatorInfo.aidl b/radio/aidl/android/hardware/radio/OperatorInfo.aidl new file mode 100644 index 0000000000..4475ff5506 --- /dev/null +++ b/radio/aidl/android/hardware/radio/OperatorInfo.aidl @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.OperatorStatus; + +@VintfStability +parcelable OperatorInfo { + /** + * Long alpha ONS or EONS + */ + String alphaLong; + /** + * Short alpha ONS or EONS + */ + String alphaShort; + /** + * 5 or 6 digit numeric code (MCC + MNC) + */ + String operatorNumeric; + OperatorStatus status; +} diff --git a/radio/aidl/android/hardware/radio/OperatorStatus.aidl b/radio/aidl/android/hardware/radio/OperatorStatus.aidl new file mode 100644 index 0000000000..fcc31eca2f --- /dev/null +++ b/radio/aidl/android/hardware/radio/OperatorStatus.aidl @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum OperatorStatus { + UNKNOWN, + AVAILABLE, + CURRENT, + FORBIDDEN, +} diff --git a/radio/aidl/android/hardware/radio/OptionalCsgInfo.aidl b/radio/aidl/android/hardware/radio/OptionalCsgInfo.aidl new file mode 100644 index 0000000000..f7856933a7 --- /dev/null +++ b/radio/aidl/android/hardware/radio/OptionalCsgInfo.aidl @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.ClosedSubscriberGroupInfo; + +@VintfStability +union OptionalCsgInfo { + /** + * If no CSG info is provided by the cell, then this structure shall be present. + */ + boolean noinit; + /** + * If CSG info is provided by the cell, this structure shall be present. + */ + ClosedSubscriberGroupInfo csgInfo; +} diff --git a/radio/aidl/android/hardware/radio/OptionalDnn.aidl b/radio/aidl/android/hardware/radio/OptionalDnn.aidl new file mode 100644 index 0000000000..1c38a7103c --- /dev/null +++ b/radio/aidl/android/hardware/radio/OptionalDnn.aidl @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2021 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; + +/** + * This safe_union represents an optional DNN. DNN stands for Data Network Name and represents + * an APN as defined in 3GPP TS 23.003. + */ +@VintfStability +union OptionalDnn { + boolean noinit; + String value; +} diff --git a/radio/aidl/android/hardware/radio/OptionalOsAppId.aidl b/radio/aidl/android/hardware/radio/OptionalOsAppId.aidl new file mode 100644 index 0000000000..4614601af6 --- /dev/null +++ b/radio/aidl/android/hardware/radio/OptionalOsAppId.aidl @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.OsAppId; + +/** + * This safe_union represents an optional OsAppId. + */ +@VintfStability +union OptionalOsAppId { + boolean noinit; + OsAppId value; +} diff --git a/radio/aidl/android/hardware/radio/OptionalPdpProtocolType.aidl b/radio/aidl/android/hardware/radio/OptionalPdpProtocolType.aidl new file mode 100644 index 0000000000..7e51b83756 --- /dev/null +++ b/radio/aidl/android/hardware/radio/OptionalPdpProtocolType.aidl @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.PdpProtocolType; + +/** + * This safe_union represents an optional PdpProtocolType. + */ +@VintfStability +union OptionalPdpProtocolType { + boolean noinit; + PdpProtocolType value; +} diff --git a/radio/aidl/android/hardware/radio/OptionalSliceInfo.aidl b/radio/aidl/android/hardware/radio/OptionalSliceInfo.aidl new file mode 100644 index 0000000000..cfc309c49f --- /dev/null +++ b/radio/aidl/android/hardware/radio/OptionalSliceInfo.aidl @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.SliceInfo; + +/** + * This safe_union represents an optional slice info. + */ +@VintfStability +union OptionalSliceInfo { + boolean noinit; + SliceInfo value; +} diff --git a/radio/aidl/android/hardware/radio/OptionalSscMode.aidl b/radio/aidl/android/hardware/radio/OptionalSscMode.aidl new file mode 100644 index 0000000000..22933b93b3 --- /dev/null +++ b/radio/aidl/android/hardware/radio/OptionalSscMode.aidl @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.SscMode; + +/** + * This safe_union represents an optional SscMode. + */ +@VintfStability +union OptionalSscMode { + boolean noinit; + SscMode value; +} diff --git a/radio/aidl/android/hardware/radio/OptionalTrafficDescriptor.aidl b/radio/aidl/android/hardware/radio/OptionalTrafficDescriptor.aidl new file mode 100644 index 0000000000..b524cb3a77 --- /dev/null +++ b/radio/aidl/android/hardware/radio/OptionalTrafficDescriptor.aidl @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.TrafficDescriptor; + +/** + * This safe_union represents an optional TrafficDescriptor. + */ +@VintfStability +union OptionalTrafficDescriptor { + boolean noinit; + TrafficDescriptor value; +} diff --git a/radio/aidl/android/hardware/radio/OsAppId.aidl b/radio/aidl/android/hardware/radio/OsAppId.aidl new file mode 100644 index 0000000000..57dfc80168 --- /dev/null +++ b/radio/aidl/android/hardware/radio/OsAppId.aidl @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2021 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; + +/** + * This struct represents the OsId + OsAppId as defined in TS 24.526 Section 5.2 + */ +@VintfStability +parcelable OsAppId { + /** + * Byte array representing OsId + OsAppId. The minimum length of the array is 18 and maximum + * length is 272 (16 bytes for OsId + 1 byte for OsAppId length + up to 255 bytes for OsAppId). + */ + byte[] osAppId; +} diff --git a/radio/aidl/android/hardware/radio/P2Constant.aidl b/radio/aidl/android/hardware/radio/P2Constant.aidl new file mode 100644 index 0000000000..d40a44645a --- /dev/null +++ b/radio/aidl/android/hardware/radio/P2Constant.aidl @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum P2Constant { + /** + * No P2 value is provided + */ + NO_P2 = -1, +} diff --git a/radio/aidl/android/hardware/radio/PbReceivedStatus.aidl b/radio/aidl/android/hardware/radio/PbReceivedStatus.aidl new file mode 100644 index 0000000000..44ed4d95e5 --- /dev/null +++ b/radio/aidl/android/hardware/radio/PbReceivedStatus.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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; + +/** + * Enum representing the status of the received PB indication. + */ +@VintfStability +@Backing(type="byte") +enum PbReceivedStatus { + /** + * Indicates that retrieval is fine. + */ + PB_RECEIVED_OK = 1, + /** + * Indicates that an error happened. In general, the process can't be restored soon. + */ + PB_RECEIVED_ERROR = 2, + /** + * Indicates that the process is interrupted. In this case, the modem might need resources and + * interrupt the current process, or it is timed out to receive all indications, and client can + * retry soon. + */ + PB_RECEIVED_ABORT = 3, + /** + * Indicates that the whole process is finished with a full chunk of phonebook data, meaning + * this is the last indication with the remaining data. + */ + PB_RECEIVED_FINAL = 4, +} diff --git a/radio/aidl/android/hardware/radio/PcoDataInfo.aidl b/radio/aidl/android/hardware/radio/PcoDataInfo.aidl new file mode 100644 index 0000000000..7b600e6622 --- /dev/null +++ b/radio/aidl/android/hardware/radio/PcoDataInfo.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable PcoDataInfo { + /** + * Context ID, uniquely identifies this call + */ + int cid; + /** + * One of the PDP_type values in TS 27.007 section 10.1.1. For example, "IP", "IPV6", "IPV4V6" + */ + String bearerProto; + /** + * The protocol ID for this box. Note that only IDs from FF00H - FFFFH are accepted. + * If more than one is included from the network, multiple calls must be made to send + * all of them. + */ + int pcoId; + /** + * Carrier-defined content. It is binary, opaque and loosely defined in LTE Layer 3 spec 24.008 + */ + byte[] contents; +} diff --git a/radio/aidl/android/hardware/radio/PdpProtocolType.aidl b/radio/aidl/android/hardware/radio/PdpProtocolType.aidl new file mode 100644 index 0000000000..e74b1e3da2 --- /dev/null +++ b/radio/aidl/android/hardware/radio/PdpProtocolType.aidl @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2021 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; + +/** + * Specifies the type of packet data protocol which is defined in TS 27.007 section 10.1.1. + */ +@VintfStability +@Backing(type="int") +enum PdpProtocolType { + /** + * Unknown protocol + */ + UNKNOWN = -1, + /** + * Internet protocol + */ + IP = 0, + /** + * Internet protocol, version 6 + */ + IPV6 = 1, + /** + * Virtual PDP type introduced to handle dual IP stack UE capability. + */ + IPV4V6 = 2, + /** + * Point to point protocol + */ + PPP = 3, + /** + * Transfer of Non-IP data to external packet data network + */ + NON_IP = 4, + /** + * Transfer of Unstructured data to the Data Network via N6 + */ + UNSTRUCTURED = 5, +} diff --git a/radio/aidl/android/hardware/radio/PersoSubstate.aidl b/radio/aidl/android/hardware/radio/PersoSubstate.aidl new file mode 100644 index 0000000000..93b2af53c4 --- /dev/null +++ b/radio/aidl/android/hardware/radio/PersoSubstate.aidl @@ -0,0 +1,98 @@ +/* + * Copyright (C) 2021 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; + +/** + * Additional personalization categories in addition to those specified in 3GPP TS 22.022 and + * 3GPP2 C.S0068-0. + */ +@VintfStability +@Backing(type="int") +enum PersoSubstate { + /** + * Initial state + */ + UNKNOWN, + /** + * In between each lock transition + */ + IN_PROGRESS, + /** + * When either SIM or RUIM Perso is finished since each app must only have 1 active perso + * involved. + */ + READY, + SIM_NETWORK, + SIM_NETWORK_SUBSET, + SIM_CORPORATE, + SIM_SERVICE_PROVIDER, + SIM_SIM, + /** + * The corresponding perso lock is blocked + */ + SIM_NETWORK_PUK, + SIM_NETWORK_SUBSET_PUK, + SIM_CORPORATE_PUK, + SIM_SERVICE_PROVIDER_PUK, + SIM_SIM_PUK, + RUIM_NETWORK1, + RUIM_NETWORK2, + RUIM_HRPD, + RUIM_CORPORATE, + RUIM_SERVICE_PROVIDER, + RUIM_RUIM, + /** + * The corresponding perso lock is blocked + */ + RUIM_NETWORK1_PUK, + RUIM_NETWORK2_PUK, + RUIM_HRPD_PUK, + RUIM_CORPORATE_PUK, + RUIM_SERVICE_PROVIDER_PUK, + RUIM_RUIM_PUK, + /** + * The device is personalized using the content of the Service Provider Name (SPN) in the SIM + * card. + */ + SIM_SPN, + SIM_SPN_PUK, + /** + * Service Provider and Equivalent Home PLMN. The device is personalized using both the content + * of the GID1 (equivalent to service provider personalization) and the content of the + * Equivalent Home PLMN (EHPLMN) in the SIM card. If the GID1 in the SIM is absent, then just + * the content of the Equivalent Home PLMN is matched. + */ + SIM_SP_EHPLMN, + SIM_SP_EHPLMN_PUK, + /** + * Device is personalized using the first digits of the ICCID of the SIM card. + */ + SIM_ICCID, + SIM_ICCID_PUK, + /** + * Device is personalized using the content of the IMPI in the ISIM. + */ + SIM_IMPI, + SIM_IMPI_PUK, + /** + * Network Subset and Service Provider. Device is personalized using both the content of GID1 + * (equivalent to service provider personalization) and the first digits of the IMSI (equivalent + * to network subset personalization). + */ + SIM_NS_SP, + SIM_NS_SP_PUK, +} diff --git a/radio/aidl/android/hardware/radio/PhoneRestrictedState.aidl b/radio/aidl/android/hardware/radio/PhoneRestrictedState.aidl new file mode 100644 index 0000000000..5f5f1b8a39 --- /dev/null +++ b/radio/aidl/android/hardware/radio/PhoneRestrictedState.aidl @@ -0,0 +1,42 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum PhoneRestrictedState { + /** + * No restriction at all including voice/SMS/USSD/SS/AV64 and packet data. + */ + NONE = 0x00, + /** + * Block emergency call due to restriction. But allow all normal voice/SMS/USSD/SS/AV64. + */ + CS_EMERGENCY = 0x01, + /** + * Block all normal voice/SMS/USSD/SS/AV64 due to restriction. Only Emergency call allowed. + */ + CS_NORMAL = 0x02, + /** + * Block all voice/SMS/USSD/SS/AV64 including emergency call due to restriction. + */ + CS_ALL = 0x04, + /** + * Block packet data access due to restriction. + */ + PS_ALL = 0x10, +} diff --git a/radio/aidl/android/hardware/radio/PhonebookCapacity.aidl b/radio/aidl/android/hardware/radio/PhonebookCapacity.aidl new file mode 100644 index 0000000000..c14141114b --- /dev/null +++ b/radio/aidl/android/hardware/radio/PhonebookCapacity.aidl @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable PhonebookCapacity { + /** + * Maximum number of ADN records possible in the SIM phonebook. Needs to be non-negative. + */ + int maxAdnRecords; + /** + * Used ADN records in the SIM phonebook. Needs to be non-negative. + */ + int usedAdnRecords; + /** + * Maximum email records possible in the SIM phonebook. Needs to be non-negative. + */ + int maxEmailRecords; + /** + * Used email records in the SIM phonebook. Needs to be non-negative. + */ + int usedEmailRecords; + /** + * Maximum additional number records possible in the SIM phonebook. Needs to be non-negative. + */ + int maxAdditionalNumberRecords; + /** + * Used additional number records in the SIM phonebook. Needs to be non-negative. + */ + int usedAdditionalNumberRecords; + /** + * Maximum name length possible in the SIM phonebook. Needs to be non-negative. + */ + int maxNameLen; + /** + * Maximum number length possible in the SIM phonebook. Needs to be non-negative. + */ + int maxNumberLen; + /** + * Maximum email length possible in the SIM phonebook. Needs to be non-negative. + */ + int maxEmailLen; + /** + * Maximum additional number length possible in the SIM phonebook. Needs to be non-negative. + */ + int maxAdditionalNumberLen; +} diff --git a/radio/aidl/android/hardware/radio/PhonebookRecordInfo.aidl b/radio/aidl/android/hardware/radio/PhonebookRecordInfo.aidl new file mode 100644 index 0000000000..eb0c880d26 --- /dev/null +++ b/radio/aidl/android/hardware/radio/PhonebookRecordInfo.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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; + +/** + * Phonebook-record-information specified by EF_ADN (Abbreviated dialing numbers) record of SIM + * as per 3GPP spec 31.102 v15 Section-4.4.2.3. + */ +@VintfStability +parcelable PhonebookRecordInfo { + /** + * Record index. 0 is used to insert a record + */ + int recordId; + /** + * Alpha identifier, empty string if no value + */ + String name; + /** + * Dialling number, empty string if no value + */ + String number; + /** + * Email addresses + */ + String[] emails; + /** + * Additional numbers + */ + String[] additionalNumbers; +} diff --git a/radio/aidl/android/hardware/radio/PhysicalChannelConfig.aidl b/radio/aidl/android/hardware/radio/PhysicalChannelConfig.aidl new file mode 100644 index 0000000000..05b31e5dbf --- /dev/null +++ b/radio/aidl/android/hardware/radio/PhysicalChannelConfig.aidl @@ -0,0 +1,68 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CellConnectionStatus; +import android.hardware.radio.PhysicalChannelConfigBand; +import android.hardware.radio.RadioTechnology; + +@VintfStability +parcelable PhysicalChannelConfig { + /** + * Connection status for cell. Valid values are PRIMARY_SERVING and SECONDARY_SERVING + */ + CellConnectionStatus status; + /** + * The radio technology for this physical channel + */ + RadioTechnology rat; + /** + * Downlink Absolute Radio Frequency Channel Number + */ + int downlinkChannelNumber; + /** + * Uplink Absolute Radio Frequency Channel Number + */ + int uplinkChannelNumber; + /** + * Downlink cell bandwidth, in kHz + */ + int cellBandwidthDownlinkKhz; + /** + * Uplink cell bandwidth, in kHz + */ + int cellBandwidthUplinkKhz; + /** + * A list of data calls mapped to this physical channel. The context id must match the cid of + * SetupDataCallResult. An empty list means the physical channel has no data call mapped to it. + */ + int[] contextIds; + /** + * The physical cell identifier for this cell. + * In UTRAN, this value is primary scrambling code. The range is [0, 511]. + * Reference: 3GPP TS 25.213 section 5.2.2. + * In EUTRAN, this value is physical layer cell identity. The range is [0, 503]. + * Reference: 3GPP TS 36.211 section 6.11. + * In NGRAN, this value is physical layer cell identity. The range is [0, 1007]. + * Reference: 3GPP TS 38.211 section 7.4.2.1. + */ + int physicalCellId; + /** + * The frequency band to scan. + */ + PhysicalChannelConfigBand band; +} diff --git a/radio/aidl/android/hardware/radio/PhysicalChannelConfigBand.aidl b/radio/aidl/android/hardware/radio/PhysicalChannelConfigBand.aidl new file mode 100644 index 0000000000..953b1c4b28 --- /dev/null +++ b/radio/aidl/android/hardware/radio/PhysicalChannelConfigBand.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.EutranBands; +import android.hardware.radio.GeranBands; +import android.hardware.radio.NgranBands; +import android.hardware.radio.UtranBands; + +@VintfStability +union PhysicalChannelConfigBand { + boolean noinit; + /** + * Valid only if radioAccessNetwork = GERAN. + */ + GeranBands geranBand; + /** + * Valid only if radioAccessNetwork = UTRAN. + */ + UtranBands utranBand; + /** + * Valid only if radioAccessNetwork = EUTRAN. + */ + EutranBands eutranBand; + /** + * Valid only if radioAccessNetwork = NGRAN. + */ + NgranBands ngranBand; +} diff --git a/radio/aidl/android/hardware/radio/PinState.aidl b/radio/aidl/android/hardware/radio/PinState.aidl new file mode 100644 index 0000000000..cb42ff232b --- /dev/null +++ b/radio/aidl/android/hardware/radio/PinState.aidl @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum PinState { + UNKNOWN, + ENABLED_NOT_VERIFIED, + ENABLED_VERIFIED, + DISABLED, + ENABLED_BLOCKED, + ENABLED_PERM_BLOCKED, +} diff --git a/radio/aidl/android/hardware/radio/PortRange.aidl b/radio/aidl/android/hardware/radio/PortRange.aidl new file mode 100644 index 0000000000..932d54a304 --- /dev/null +++ b/radio/aidl/android/hardware/radio/PortRange.aidl @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2021 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; + +/** + * Defines range of ports. start and end are the first and last port numbers (inclusive) in the + * range. Both start and end are in QosPortRange.MIN to QosPortRange.MAX range. A single port shall + * be represented by the same start and end value. + */ +@VintfStability +parcelable PortRange { + int start; + int end; +} diff --git a/radio/aidl/android/hardware/radio/PreferredNetworkType.aidl b/radio/aidl/android/hardware/radio/PreferredNetworkType.aidl new file mode 100644 index 0000000000..7ca38c6a79 --- /dev/null +++ b/radio/aidl/android/hardware/radio/PreferredNetworkType.aidl @@ -0,0 +1,114 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum PreferredNetworkType { + /** + * GSM/WCDMA (WCDMA preferred) + */ + GSM_WCDMA, + /** + * GSM only + */ + GSM_ONLY, + /** + * WCDMA + */ + WCDMA, + /** + * GSM/WCDMA (auto mode, according to PRL) + */ + GSM_WCDMA_AUTO, + /** + * CDMA and EvDo (auto mode, according to PRL) + */ + CDMA_EVDO_AUTO, + /** + * CDMA only + */ + CDMA_ONLY, + /** + * EvDo only + */ + EVDO_ONLY, + /** + * GSM/WCDMA, CDMA, and EvDo (auto mode, according to PRL) + */ + GSM_WCDMA_CDMA_EVDO_AUTO, + /** + * LTE, CDMA and EvDo + */ + LTE_CDMA_EVDO, + /** + * LTE, GSM/WCDMA + */ + LTE_GSM_WCDMA, + /** + * LTE, CDMA, EvDo, GSM/WCDMA + */ + LTE_CMDA_EVDO_GSM_WCDMA, + /** + * LTE only + */ + LTE_ONLY, + /** + * LTE/WCDMA only + */ + LTE_WCDMA, + /** + * TD-SCDMA only + */ + TD_SCDMA_ONLY, + /** + * TD-SCDMA and WCDMA + */ + TD_SCDMA_WCDMA, + /** + * TD-SCDMA and LTE + */ + TD_SCDMA_LTE, + /** + * TD-SCDMA and GSM + */ + TD_SCDMA_GSM, + /** + * TD-SCDMA,GSM and LTE + */ + TD_SCDMA_GSM_LTE, + /** + * TD-SCDMA, GSM/WCDMA + */ + TD_SCDMA_GSM_WCDMA, + /** + * TD-SCDMA, WCDMA and LTE + */ + TD_SCDMA_WCDMA_LTE, + /** + * TD-SCDMA, GSM/WCDMA and LTE + */ + TD_SCDMA_GSM_WCDMA_LTE, + /** + * TD-SCDMA, GSM/WCDMA, CDMA and EvDo + */ + TD_SCDMA_GSM_WCDMA_CDMA_EVDO_AUTO, + /** + * TD-SCDMA, LTE, CDMA, EvDo GSM/WCDMA + */ + TD_SCDMA_LTE_CDMA_EVDO_GSM_WCDMA, +} diff --git a/radio/aidl/android/hardware/radio/PrlIndicator.aidl b/radio/aidl/android/hardware/radio/PrlIndicator.aidl new file mode 100644 index 0000000000..acd870e116 --- /dev/null +++ b/radio/aidl/android/hardware/radio/PrlIndicator.aidl @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum PrlIndicator { + NOT_REGISTERED = -1, + NOT_IN_PRL = 0, + IN_PRL = 1, +} diff --git a/radio/aidl/android/hardware/radio/PublicKeyType.aidl b/radio/aidl/android/hardware/radio/PublicKeyType.aidl new file mode 100644 index 0000000000..c1babc4356 --- /dev/null +++ b/radio/aidl/android/hardware/radio/PublicKeyType.aidl @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2021 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; + +/** + * Public key type from carrier certificate. + */ +@VintfStability +@Backing(type="byte") +enum PublicKeyType { + /** + * Key type to be used for ePDG + */ + EPDG = 1, + /** + * Key type to be used for WLAN + */ + WLAN = 2, +} diff --git a/radio/aidl/android/hardware/radio/Qos.aidl b/radio/aidl/android/hardware/radio/Qos.aidl new file mode 100644 index 0000000000..0f84ad1406 --- /dev/null +++ b/radio/aidl/android/hardware/radio/Qos.aidl @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.EpsQos; +import android.hardware.radio.NrQos; + +/** + * EPS or NR QOS parameters + */ +@VintfStability +union Qos { + boolean noinit; + EpsQos eps; + NrQos nr; +} diff --git a/radio/aidl/android/hardware/radio/QosBandwidth.aidl b/radio/aidl/android/hardware/radio/QosBandwidth.aidl new file mode 100644 index 0000000000..344b796ed9 --- /dev/null +++ b/radio/aidl/android/hardware/radio/QosBandwidth.aidl @@ -0,0 +1,29 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable QosBandwidth { + /** + * Maximum bit rate possible on the bearer + */ + int maxBitrateKbps; + /** + * Minimum bit rate that is guaranteed to be provided by the network + */ + int guaranteedBitrateKbps; +} diff --git a/radio/aidl/android/hardware/radio/QosFilter.aidl b/radio/aidl/android/hardware/radio/QosFilter.aidl new file mode 100644 index 0000000000..717944a8fa --- /dev/null +++ b/radio/aidl/android/hardware/radio/QosFilter.aidl @@ -0,0 +1,69 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.MaybePort; +import android.hardware.radio.QosFilterDirection; +import android.hardware.radio.QosFilterIpsecSpi; +import android.hardware.radio.QosFilterIpv6FlowLabel; +import android.hardware.radio.QosFilterTypeOfService; +import android.hardware.radio.QosProtocol; + +/** + * See 3gpp 24.008 10.5.6.12 and 3gpp 24.501 9.11.4.13 + */ +@VintfStability +parcelable QosFilter { + /** + * Local and remote IP addresses, typically one IPv4 or one IPv6 or one of each. Addresses could + * be with optional "/" prefix length, e.g.,"192.0.1.3" or "192.0.1.11/16 2001:db8::1/64". + * If the prefix length is absent the addresses are assumed to be point to point with IPv4 + * having a prefix length of 32 and IPv6 128. + */ + String[] localAddresses; + String[] remoteAddresses; + /** + * Local and remote port/ranges + */ + MaybePort localPort; + MaybePort remotePort; + /** + * QoS protocol + */ + QosProtocol protocol; + /** + * Type of service value or mask as defined in RFC 1349 + */ + QosFilterTypeOfService tos; + /** + * IPv6 flow label as defined in RFC 6437 + */ + QosFilterIpv6FlowLabel flowLabel; + /** + * IPSec security parameter index + */ + QosFilterIpsecSpi spi; + /** + * Filter direction + */ + QosFilterDirection direction; + /** + * Specifies the order in which the filter needs to be matched. A lower numerical (positive) + * value has a higher precedence. Set -1 when unspecified. + */ + int precedence; +} diff --git a/radio/aidl/android/hardware/radio/QosFilterDirection.aidl b/radio/aidl/android/hardware/radio/QosFilterDirection.aidl new file mode 100644 index 0000000000..7693c8cf2c --- /dev/null +++ b/radio/aidl/android/hardware/radio/QosFilterDirection.aidl @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="byte") +enum QosFilterDirection { + DOWNLINK, + UPLINK, + BIDIRECTIONAL, +} diff --git a/radio/aidl/android/hardware/radio/QosFilterIpsecSpi.aidl b/radio/aidl/android/hardware/radio/QosFilterIpsecSpi.aidl new file mode 100644 index 0000000000..e213402bc1 --- /dev/null +++ b/radio/aidl/android/hardware/radio/QosFilterIpsecSpi.aidl @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +union QosFilterIpsecSpi { + boolean noinit; + int value; +} diff --git a/radio/aidl/android/hardware/radio/QosFilterIpv6FlowLabel.aidl b/radio/aidl/android/hardware/radio/QosFilterIpv6FlowLabel.aidl new file mode 100644 index 0000000000..d5c5a6c830 --- /dev/null +++ b/radio/aidl/android/hardware/radio/QosFilterIpv6FlowLabel.aidl @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +union QosFilterIpv6FlowLabel { + boolean noinit; + int value; +} diff --git a/radio/aidl/android/hardware/radio/QosFilterTypeOfService.aidl b/radio/aidl/android/hardware/radio/QosFilterTypeOfService.aidl new file mode 100644 index 0000000000..b91323cb43 --- /dev/null +++ b/radio/aidl/android/hardware/radio/QosFilterTypeOfService.aidl @@ -0,0 +1,23 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +union QosFilterTypeOfService { + boolean noinit; + byte value; +} diff --git a/radio/aidl/android/hardware/radio/QosFlowIdRange.aidl b/radio/aidl/android/hardware/radio/QosFlowIdRange.aidl new file mode 100644 index 0000000000..df2398b193 --- /dev/null +++ b/radio/aidl/android/hardware/radio/QosFlowIdRange.aidl @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2021 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; + +/** + * Allowed values for 5G QOS flow identifier + */ +@VintfStability +@Backing(type="byte") +enum QosFlowIdRange { + MIN = 1, + MAX = 63, +} diff --git a/radio/aidl/android/hardware/radio/QosPortRange.aidl b/radio/aidl/android/hardware/radio/QosPortRange.aidl new file mode 100644 index 0000000000..f3df19f956 --- /dev/null +++ b/radio/aidl/android/hardware/radio/QosPortRange.aidl @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2021 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; + +/** + * Allowed port numbers + */ +@VintfStability +@Backing(type="int") +enum QosPortRange { + MIN = 20, + MAX = 65535, +} diff --git a/radio/aidl/android/hardware/radio/QosProtocol.aidl b/radio/aidl/android/hardware/radio/QosProtocol.aidl new file mode 100644 index 0000000000..05cd670b18 --- /dev/null +++ b/radio/aidl/android/hardware/radio/QosProtocol.aidl @@ -0,0 +1,45 @@ +/* + * Copyright (C) 2021 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; + +/** + * Next header protocol numbers defined by IANA, RFC 5237 + */ +@VintfStability +@Backing(type="byte") +enum QosProtocol { + /** + * No protocol specified + */ + UNSPECIFIED = -1, + /** + * Transmission Control Protocol + */ + TCP = 6, + /** + * User Datagram Protocol + */ + UDP = 17, + /** + * Encapsulating Security Payload Protocol + */ + ESP = 50, + /** + * Authentication Header + */ + AH = 51, +} diff --git a/radio/aidl/android/hardware/radio/QosSession.aidl b/radio/aidl/android/hardware/radio/QosSession.aidl new file mode 100644 index 0000000000..2620ac5af1 --- /dev/null +++ b/radio/aidl/android/hardware/radio/QosSession.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.Qos; +import android.hardware.radio.QosFilter; + +/** + * QOS session associated with a dedicated bearer + */ +@VintfStability +parcelable QosSession { + /** + * Unique ID of the QoS session within the data call + */ + int qosSessionId; + /** + * QOS attributes + */ + Qos qos; + /** + * List of QOS filters associated with this session + */ + QosFilter[] qosFilters; +} diff --git a/radio/aidl/android/hardware/radio/RadioAccessFamily.aidl b/radio/aidl/android/hardware/radio/RadioAccessFamily.aidl new file mode 100644 index 0000000000..719837dd56 --- /dev/null +++ b/radio/aidl/android/hardware/radio/RadioAccessFamily.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.RadioTechnology; + +@VintfStability +@Backing(type="int") +enum RadioAccessFamily { + UNKNOWN = 1 << RadioTechnology.UNKNOWN, + GPRS = 1 << RadioTechnology.GPRS, + EDGE = 1 << RadioTechnology.EDGE, + UMTS = 1 << RadioTechnology.UMTS, + IS95A = 1 << RadioTechnology.IS95A, + IS95B = 1 << RadioTechnology.IS95B, + ONE_X_RTT = 1 << RadioTechnology.ONE_X_RTT, + EVDO_0 = 1 << RadioTechnology.EVDO_0, + EVDO_A = 1 << RadioTechnology.EVDO_A, + HSDPA = 1 << RadioTechnology.HSDPA, + HSUPA = 1 << RadioTechnology.HSUPA, + HSPA = 1 << RadioTechnology.HSPA, + EVDO_B = 1 << RadioTechnology.EVDO_B, + EHRPD = 1 << RadioTechnology.EHRPD, + LTE = 1 << RadioTechnology.LTE, + HSPAP = 1 << RadioTechnology.HSPAP, + GSM = 1 << RadioTechnology.GSM, + TD_SCDMA = 1 << RadioTechnology.TD_SCDMA, + LTE_CA = 1 << RadioTechnology.LTE_CA, + /** + * 5G NR. This is only use in 5G Standalone mode. + */ + NR = 1 << RadioTechnology.NR, +} diff --git a/radio/aidl/android/hardware/radio/RadioAccessNetworks.aidl b/radio/aidl/android/hardware/radio/RadioAccessNetworks.aidl new file mode 100644 index 0000000000..3757233f24 --- /dev/null +++ b/radio/aidl/android/hardware/radio/RadioAccessNetworks.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum RadioAccessNetworks { + UNKNOWN, + /** + * GSM EDGE Radio Access Network + */ + GERAN, + /** + * Universal Terrestrial Radio Access Network + */ + UTRAN, + /** + * Evolved Universal Terrestrial Radio Access Network + */ + EUTRAN, + /** + * Next Generation Radio Access Network + */ + NGRAN, + /** + * CDMA 2000 Network + */ + CDMA2000, +} diff --git a/radio/aidl/android/hardware/radio/RadioAccessSpecifier.aidl b/radio/aidl/android/hardware/radio/RadioAccessSpecifier.aidl new file mode 100644 index 0000000000..889124a728 --- /dev/null +++ b/radio/aidl/android/hardware/radio/RadioAccessSpecifier.aidl @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.RadioAccessNetworks; +import android.hardware.radio.RadioAccessSpecifierBands; + +@VintfStability +parcelable RadioAccessSpecifier { + /** + * The type of network to scan. + */ + RadioAccessNetworks radioAccessNetwork; + /** + * The frequency bands to scan. Maximum length of the vector is 8. + */ + RadioAccessSpecifierBands bands; + /** + * The radio channels to scan as defined in 3GPP TS 25.101 and 36.101. + * Maximum length of the vector is 32. + */ + int[] channels; +} diff --git a/radio/aidl/android/hardware/radio/RadioAccessSpecifierBands.aidl b/radio/aidl/android/hardware/radio/RadioAccessSpecifierBands.aidl new file mode 100644 index 0000000000..dde46262dc --- /dev/null +++ b/radio/aidl/android/hardware/radio/RadioAccessSpecifierBands.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.EutranBands; +import android.hardware.radio.GeranBands; +import android.hardware.radio.NgranBands; +import android.hardware.radio.UtranBands; + +@VintfStability +union RadioAccessSpecifierBands { + boolean noinit; + /** + * Valid only if radioAccessNetwork = GERAN. + */ + GeranBands[] geranBands; + /** + * Valid only if radioAccessNetwork = UTRAN. + */ + UtranBands[] utranBands; + /** + * Valid only if radioAccessNetwork = EUTRAN. + */ + EutranBands[] eutranBands; + /** + * Valid only if radioAccessNetwork = NGRAN. + */ + NgranBands[] ngranBands; +} diff --git a/radio/aidl/android/hardware/radio/RadioBandMode.aidl b/radio/aidl/android/hardware/radio/RadioBandMode.aidl new file mode 100644 index 0000000000..e6064c4dad --- /dev/null +++ b/radio/aidl/android/hardware/radio/RadioBandMode.aidl @@ -0,0 +1,98 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum RadioBandMode { + /** + * "Unspecified" (selected by baseband automatically) + */ + BAND_MODE_UNSPECIFIED, + /** + * "EURO band" (GSM-900 / DCS-1800 / WCDMA-IMT-2000) + */ + BAND_MODE_EURO, + /** + * "US band" (GSM-850 / PCS-1900 / WCDMA-850 / WCDMA-PCS-1900) + */ + BAND_MODE_USA, + /** + * "JPN band" (WCDMA-800 / WCDMA-IMT-2000) + */ + BAND_MODE_JPN, + /** + * "AUS band" (GSM-900 / DCS-1800 / WCDMA-850 / WCDMA-IMT-2000) + */ + BAND_MODE_AUS, + /** + * "AUS band 2" (GSM-900 / DCS-1800 / WCDMA-850) + */ + BAND_MODE_AUS_2, + /** + * "Cellular" (800-MHz Band) + */ + BAND_MODE_CELL_800, + /** + * "PCS" (1900-MHz Band) + */ + BAND_MODE_PCS, + /** + * "Band Class 3" (JTACS Band) + */ + BAND_MODE_JTACS, + /** + * "Band Class 4" (Korean PCS Band) + */ + BAND_MODE_KOREA_PCS, + /** + * "Band Class 5" (450-MHz Band) + */ + BAND_MODE_5_450M, + /** + * "Band Class 6" (2-GMHz IMT2000 Band) + */ + BAND_MODE_IMT2000, + /** + * "Band Class 7" (Upper 700-MHz Band) + */ + BAND_MODE_7_700M_2, + /** + * "Band Class 8" (1800-MHz Band) + */ + BAND_MODE_8_1800M, + /** + * "Band Class 9" (900-MHz Band) + */ + BAND_MODE_9_900M, + /** + * "Band Class 10" (Secondary 800-MHz Band) + */ + BAND_MODE_10_800M_2, + /** + * "Band Class 11" (400-MHz European PAMR Band) + */ + BAND_MODE_EURO_PAMR_400M, + /** + * "Band Class 15" (AWS Band) + */ + BAND_MODE_AWS, + /** + * "Band Class 16" (US 2.5-GHz Band) + */ + BAND_MODE_USA_2500M, +} diff --git a/radio/aidl/android/hardware/radio/RadioCapability.aidl b/radio/aidl/android/hardware/radio/RadioCapability.aidl new file mode 100644 index 0000000000..d911b6facf --- /dev/null +++ b/radio/aidl/android/hardware/radio/RadioCapability.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.RadioAccessFamily; +import android.hardware.radio.RadioCapabilityPhase; +import android.hardware.radio.RadioCapabilityStatus; + +@VintfStability +parcelable RadioCapability { + /** + * Unique session value defined by framework returned in all "responses/unslo". + */ + int session; + RadioCapabilityPhase phase; + /** + * 32-bit bitmap of RadioAccessFamily. + */ + RadioAccessFamily raf; + /** + * A UUID typically "com.xxxx.lmX" where X is the logical modem. + * RadioConst:MAX_UUID_LENGTH is the max length. + */ + String logicalModemUuid; + RadioCapabilityStatus status; +} diff --git a/radio/aidl/android/hardware/radio/RadioCapabilityPhase.aidl b/radio/aidl/android/hardware/radio/RadioCapabilityPhase.aidl new file mode 100644 index 0000000000..a586300565 --- /dev/null +++ b/radio/aidl/android/hardware/radio/RadioCapabilityPhase.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum RadioCapabilityPhase { + /** + * Logical Modem's (LM) initial value and value after FINISH completes + */ + CONFIGURED, + /** + * START is sent before APPLY and indicates that an APPLY is forthcoming with these same + * parameters. + */ + START, + /** + * APPLY is sent after all LM's receive START and returned RadioCapability.status = 0. + * If any START's fail, hal implementation must not send APPLY. + */ + APPLY, + /** + * UNSOL_RSP is sent with unsolicited radioCapability() + */ + UNSOL_RSP, + /** + * FINISH is sent after all commands have completed. If an error occurs in any previous command, + * the RadioAccessFamily and logicalModemUuid fields must be the prior configuration thus + * restoring the configuration to the previous value. An error returned by FINISH will generally + * be ignored or may cause that LM to be removed from service. + */ + FINISH, +} diff --git a/radio/aidl/android/hardware/radio/RadioCapabilityStatus.aidl b/radio/aidl/android/hardware/radio/RadioCapabilityStatus.aidl new file mode 100644 index 0000000000..5b90f38ea5 --- /dev/null +++ b/radio/aidl/android/hardware/radio/RadioCapabilityStatus.aidl @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum RadioCapabilityStatus { + /** + * This parameter has no meaning with RadioCapabilityPhase:START, RadioCapabilityPhase:APPLY + */ + NONE, + /** + * Tell modem the action transaction of set radio capability was successful with + * RadioCapabilityPhase:FINISH + */ + SUCCESS, + /** + * Tell modem the action transaction of set radio capability failed with + * RadioCapabilityPhase:FINISH + */ + FAIL, +} diff --git a/radio/aidl/android/hardware/radio/RadioCdmaSmsConst.aidl b/radio/aidl/android/hardware/radio/RadioCdmaSmsConst.aidl new file mode 100644 index 0000000000..f480077e3f --- /dev/null +++ b/radio/aidl/android/hardware/radio/RadioCdmaSmsConst.aidl @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum RadioCdmaSmsConst { + ADDRESS_MAX = 36, + SUBADDRESS_MAX = 36, + BEARER_DATA_MAX = 255, + UDH_MAX_SND_SIZE = 128, + UDH_EO_DATA_SEGMENT_MAX = 131, + MAX_UD_HEADERS = 7, + USER_DATA_MAX = 229, + UDH_LARGE_PIC_SIZE = 128, + UDH_SMALL_PIC_SIZE = 32, + UDH_VAR_PIC_SIZE = 134, + UDH_ANIM_NUM_BITMAPS = 4, + UDH_LARGE_BITMAP_SIZE = 32, + UDH_SMALL_BITMAP_SIZE = 8, + UDH_OTHER_SIZE = 226, + IP_ADDRESS_SIZE = 4, +} diff --git a/radio/aidl/android/hardware/radio/RadioConst.aidl b/radio/aidl/android/hardware/radio/RadioConst.aidl new file mode 100644 index 0000000000..815b3b95e8 --- /dev/null +++ b/radio/aidl/android/hardware/radio/RadioConst.aidl @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum RadioConst { + CDMA_ALPHA_INFO_BUFFER_LENGTH = 64, + CDMA_NUMBER_INFO_BUFFER_LENGTH = 81, + MAX_RILDS = 3, + MAX_SOCKET_NAME_LENGTH = 6, + MAX_CLIENT_ID_LENGTH = 2, + MAX_DEBUG_SOCKET_NAME_LENGTH = 12, + MAX_QEMU_PIPE_NAME_LENGTH = 11, + MAX_UUID_LENGTH = 64, + CARD_MAX_APPS = 8, + CDMA_MAX_NUMBER_OF_INFO_RECS = 10, + SS_INFO_MAX = 4, + NUM_SERVICE_CLASSES = 7, + NUM_TX_POWER_LEVELS = 5, + RADIO_ACCESS_SPECIFIER_MAX_SIZE = 8, +} diff --git a/radio/aidl/android/hardware/radio/RadioError.aidl b/radio/aidl/android/hardware/radio/RadioError.aidl new file mode 100644 index 0000000000..a708d2bd9c --- /dev/null +++ b/radio/aidl/android/hardware/radio/RadioError.aidl @@ -0,0 +1,299 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum RadioError { + /** + * Success + */ + NONE = 0, + /** + * If radio did not start or is resetting + */ + RADIO_NOT_AVAILABLE = 1, + GENERIC_FAILURE = 2, + /** + * For PIN/PIN2 methods only + */ + PASSWORD_INCORRECT = 3, + /** + * Operation requires SIM PIN2 to be entered + */ + SIM_PIN2 = 4, + /** + * Operation requires SIM PUK2 to be entered + */ + SIM_PUK2 = 5, + REQUEST_NOT_SUPPORTED = 6, + CANCELLED = 7, + /** + * Data ops are not allowed during voice call on a Class C GPRS device + */ + OP_NOT_ALLOWED_DURING_VOICE_CALL = 8, + /** + * Data ops are not allowed before device registers in network + */ + OP_NOT_ALLOWED_BEFORE_REG_TO_NW = 9, + /** + * Fail to send SMS and need to retry + */ + SMS_SEND_FAIL_RETRY = 10, + /** + * Fail to set the location where CDMA subscription shall be retrieved because of SIM or + * RUIM card absent + */ + SIM_ABSENT = 11, + /** + * Fail to find CDMA subscription from specified location + */ + SUBSCRIPTION_NOT_AVAILABLE = 12, + /** + * HW does not support preferred network type + */ + MODE_NOT_SUPPORTED = 13, + /** + * Command failed becausee recipient is not on FDN list + */ + FDN_CHECK_FAILURE = 14, + /** + * Network selection failed due to illegal SIM or ME + */ + ILLEGAL_SIM_OR_ME = 15, + /** + * No logical channel available + */ + MISSING_RESOURCE = 16, + /** + * Application not found on SIM + */ + NO_SUCH_ELEMENT = 17, + /** + * DIAL request modified to USSD + */ + DIAL_MODIFIED_TO_USSD = 18, + /** + * DIAL request modified to SS + */ + DIAL_MODIFIED_TO_SS = 19, + /** + * DIAL request modified to DIAL with different data + */ + DIAL_MODIFIED_TO_DIAL = 20, + /** + * USSD request modified to DIAL + */ + USSD_MODIFIED_TO_DIAL = 21, + /** + * USSD request modified to SS + */ + USSD_MODIFIED_TO_SS = 22, + /** + * USSD request modified to different USSD request + */ + USSD_MODIFIED_TO_USSD = 23, + /** + * SS request modified to DIAL + */ + SS_MODIFIED_TO_DIAL = 24, + /** + * SS request modified to USSD + */ + SS_MODIFIED_TO_USSD = 25, + /** + * Subscription not supported by RIL + */ + SUBSCRIPTION_NOT_SUPPORTED = 26, + /** + * SS request modified to different SS request + */ + SS_MODIFIED_TO_SS = 27, + /** + * LCE service not supported(36 in RILConstants.java) + */ + LCE_NOT_SUPPORTED = 36, + /** + * Not sufficieent memory to process the request + */ + NO_MEMORY = 37, + /** + * Modem hit unexpected error scenario while handling this request + */ + INTERNAL_ERR = 38, + /** + * Hit platform or system error + */ + SYSTEM_ERR = 39, + /** + * Vendor RIL got unexpected or incorrect response from modem for this request + */ + MODEM_ERR = 40, + /** + * Unexpected request for the current state + */ + INVALID_STATE = 41, + /** + * Not sufficient resource to process the request + */ + NO_RESOURCES = 42, + /** + * Received error from SIM card + */ + SIM_ERR = 43, + /** + * Received invalid arguments in request + */ + INVALID_ARGUMENTS = 44, + /** + * Cannot process the request in current SIM state + */ + INVALID_SIM_STATE = 45, + /** + * Cannot process the request in current modem state + */ + INVALID_MODEM_STATE = 46, + /** + * Received invalid call ID in request + */ + INVALID_CALL_ID = 47, + /** + * ACK received when there is no SMS to ack + */ + NO_SMS_TO_ACK = 48, + /** + * Received error from network + */ + NETWORK_ERR = 49, + /** + * Operation denied due to overly-frequent requests + */ + REQUEST_RATE_LIMITED = 50, + /** + * SIM is busy + */ + SIM_BUSY = 51, + /** + * The target EF is full + */ + SIM_FULL = 52, + /** + * Request is rejected by network + */ + NETWORK_REJECT = 53, + /** + * Not allowed the request not + */ + OPERATION_NOT_ALLOWED = 54, + /** + * The request record is empty + */ + EMPTY_RECORD = 55, + /** + * Invalid SMS format + */ + INVALID_SMS_FORMAT = 56, + /** + * Message not encoded properly + */ + ENCODING_ERR = 57, + /** + * SMSC addrss specified is invalid + */ + INVALID_SMSC_ADDRESS = 58, + /** + * No such entry present to perform the request + */ + NO_SUCH_ENTRY = 59, + /** + * Network is not ready to perform the request + */ + NETWORK_NOT_READY = 60, + /** + * Device does not have this value provisioned + */ + NOT_PROVISIONED = 61, + /** + * Device does not have subscription + */ + NO_SUBSCRIPTION = 62, + /** + * Network cannot be found + */ + NO_NETWORK_FOUND = 63, + /** + * Operation cannot be performed because the device is currently in use + */ + DEVICE_IN_USE = 64, + /** + * Operation aborted + */ + ABORTED = 65, + /** + * Response from vendor had invalid data + */ + INVALID_RESPONSE = 66, + OEM_ERROR_1 = 501, + OEM_ERROR_2 = 502, + OEM_ERROR_3 = 503, + OEM_ERROR_4 = 504, + OEM_ERROR_5 = 505, + OEM_ERROR_6 = 506, + OEM_ERROR_7 = 507, + OEM_ERROR_8 = 508, + OEM_ERROR_9 = 509, + OEM_ERROR_10 = 510, + OEM_ERROR_11 = 511, + OEM_ERROR_12 = 512, + OEM_ERROR_13 = 513, + OEM_ERROR_14 = 514, + OEM_ERROR_15 = 515, + OEM_ERROR_16 = 516, + OEM_ERROR_17 = 517, + OEM_ERROR_18 = 518, + OEM_ERROR_19 = 519, + OEM_ERROR_20 = 520, + OEM_ERROR_21 = 521, + OEM_ERROR_22 = 522, + OEM_ERROR_23 = 523, + OEM_ERROR_24 = 524, + OEM_ERROR_25 = 525, + /** + * 1X voice and SMS are not allowed simulteneously. + */ + SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED = 67, + /** + * Access is barred. + */ + ACCESS_BARRED = 68, + /** + * SMS is blocked due to call control, e.g., resource unavailable + * in the SMR entity. + */ + BLOCKED_DUE_TO_CALL = 69, + /** + * Returned from setRadioPowerResponse when detecting RF HW issues. Some RF Front-End (RFFE) + * components like antenna are considered critical for modem to provide telephony service. + * This RadioError is used when modem detect such RFFE problem. + */ + RF_HARDWARE_ISSUE = 70, + /** + * Returned from setRadioPowerResponse when detecting no RF calibration issue. + * Unlike RF_HARDWARE_ISSUE, this is a SW problem and no HW repair is needed. + */ + NO_RF_CALIBRATION_INFO = 71, +} diff --git a/radio/aidl/android/hardware/radio/RadioFrequencyInfo.aidl b/radio/aidl/android/hardware/radio/RadioFrequencyInfo.aidl new file mode 100644 index 0000000000..e5aa9fb187 --- /dev/null +++ b/radio/aidl/android/hardware/radio/RadioFrequencyInfo.aidl @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.FrequencyRange; + +@VintfStability +union RadioFrequencyInfo { + boolean noinit; + /** + * A rough frequency range. + */ + FrequencyRange range; + /** + * The Absolute Radio Frequency Channel Number. + */ + int channelNumber; +} diff --git a/radio/aidl/android/hardware/radio/RadioIndicationType.aidl b/radio/aidl/android/hardware/radio/RadioIndicationType.aidl new file mode 100644 index 0000000000..aa5215f439 --- /dev/null +++ b/radio/aidl/android/hardware/radio/RadioIndicationType.aidl @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum RadioIndicationType { + UNSOLICITED, + UNSOLICITED_ACK_EXP, +} diff --git a/radio/aidl/android/hardware/radio/RadioResponseInfo.aidl b/radio/aidl/android/hardware/radio/RadioResponseInfo.aidl new file mode 100644 index 0000000000..d81c49c83e --- /dev/null +++ b/radio/aidl/android/hardware/radio/RadioResponseInfo.aidl @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.RadioError; +import android.hardware.radio.RadioResponseType; + +@VintfStability +parcelable RadioResponseInfo { + /** + * Response type + */ + RadioResponseType type; + /** + * Serial number of the request + */ + int serial; + /** + * Response error + */ + RadioError error; +} diff --git a/radio/aidl/android/hardware/radio/RadioResponseInfoModem.aidl b/radio/aidl/android/hardware/radio/RadioResponseInfoModem.aidl new file mode 100644 index 0000000000..8c7b94c1a4 --- /dev/null +++ b/radio/aidl/android/hardware/radio/RadioResponseInfoModem.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.RadioError; +import android.hardware.radio.RadioResponseType; + +@VintfStability +parcelable RadioResponseInfoModem { + /** + * Response type + */ + RadioResponseType type; + /** + * Serial number of the request + */ + int serial; + /** + * Response error + */ + RadioError error; + /** + * Whether the modem is enabled or not + */ + boolean isEnabled; +} diff --git a/radio/aidl/android/hardware/radio/RadioResponseType.aidl b/radio/aidl/android/hardware/radio/RadioResponseType.aidl new file mode 100644 index 0000000000..882c759eb1 --- /dev/null +++ b/radio/aidl/android/hardware/radio/RadioResponseType.aidl @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum RadioResponseType { + SOLICITED, + SOLICITED_ACK, + SOLICITED_ACK_EXP, +} diff --git a/radio/aidl/android/hardware/radio/RadioState.aidl b/radio/aidl/android/hardware/radio/RadioState.aidl new file mode 100644 index 0000000000..1915870316 --- /dev/null +++ b/radio/aidl/android/hardware/radio/RadioState.aidl @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum RadioState { + /** + * Radio explicitly powered off (eg CFUN=0) + */ + OFF = 0, + /** + * Radio unavailable (eg, resetting or not booted) + */ + UNAVAILABLE = 1, + /** + * Radio is on + */ + ON = 10, +} diff --git a/radio/aidl/android/hardware/radio/RadioTechnology.aidl b/radio/aidl/android/hardware/radio/RadioTechnology.aidl new file mode 100644 index 0000000000..d439866f2f --- /dev/null +++ b/radio/aidl/android/hardware/radio/RadioTechnology.aidl @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum RadioTechnology { + UNKNOWN, + GPRS, + EDGE, + UMTS, + IS95A, + IS95B, + ONE_X_RTT, + EVDO_0, + EVDO_A, + HSDPA, + HSUPA, + HSPA, + EVDO_B, + EHRPD, + LTE, + /** + * HSPA+ + */ + HSPAP, + /** + * Only supports voice + */ + GSM, + TD_SCDMA, + IWLAN, + LTE_CA, + /** + * 5G NR. This is only used in 5G Standalone mode. + */ + NR, +} diff --git a/radio/aidl/android/hardware/radio/RadioTechnologyFamily.aidl b/radio/aidl/android/hardware/radio/RadioTechnologyFamily.aidl new file mode 100644 index 0000000000..37a1df238b --- /dev/null +++ b/radio/aidl/android/hardware/radio/RadioTechnologyFamily.aidl @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum RadioTechnologyFamily { + /** + * 3GPP Technologies - GSM, WCDMA + */ + THREE_GPP, + /** + * 3GPP2 Technologies - CDMA + */ + THREE_GPP2, +} diff --git a/radio/aidl/android/hardware/radio/RegState.aidl b/radio/aidl/android/hardware/radio/RegState.aidl new file mode 100644 index 0000000000..91fd239868 --- /dev/null +++ b/radio/aidl/android/hardware/radio/RegState.aidl @@ -0,0 +1,67 @@ +/* + * Copyright (C) 2021 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; + +/** + * Please note that registration state UNKNOWN is treated as "out of service" in Android telephony. + * Registration state REG_DENIED must be returned if Location Update Reject (with cause 17 - Network + * Failure) is received repeatedly from the network, to facilitate "managed roaming". + */ +@VintfStability +@Backing(type="int") +enum RegState { + /** + * Not registered, MT is not currently searching for a new operator to register + */ + NOT_REG_MT_NOT_SEARCHING_OP = 0, + /** + * Registered, home network + */ + REG_HOME = 1, + /** + * Not registered, but MT is currently searching for a new operator to register + */ + NOT_REG_MT_SEARCHING_OP = 2, + /** + * Registration denied + */ + REG_DENIED = 3, + /** + * Unknown + */ + UNKNOWN = 4, + /** + * Registered, roaming + */ + REG_ROAMING = 5, + /** + * Same as NOT_REG_MT_NOT_SEARCHING_OP but indicates that emergency calls are enabled + */ + NOT_REG_MT_NOT_SEARCHING_OP_EM = 10, + /** + * Same as NOT_REG_MT_SEARCHING_OP but indicatees that emergency calls are enabled + */ + NOT_REG_MT_SEARCHING_OP_EM = 12, + /** + * Same as REG_DENIED but indicates that emergency calls are enabled + */ + REG_DENIED_EM = 13, + /** + * Same as UNKNOWN but indicates that emergency calls are enabled + */ + UNKNOWN_EM = 14, +} diff --git a/radio/aidl/android/hardware/radio/RegStateResult.aidl b/radio/aidl/android/hardware/radio/RegStateResult.aidl new file mode 100644 index 0000000000..4bc55c40c2 --- /dev/null +++ b/radio/aidl/android/hardware/radio/RegStateResult.aidl @@ -0,0 +1,60 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CellIdentity; +import android.hardware.radio.RadioTechnology; +import android.hardware.radio.RegState; +import android.hardware.radio.RegStateResultAccessTechnologySpecificInfo; +import android.hardware.radio.RegistrationFailCause; + +@VintfStability +parcelable RegStateResult { + /** + * Registration state. If the RAT is indicated as a GERAN, UTRAN, or CDMA2000 technology, this + * value reports registration in the Circuit-switched domain. If the RAT is indicated as an + * EUTRAN, NGRAN, or another technology that does not support circuit-switched services, this + * value reports registration in the Packet-switched domain. + */ + RegState regState; + /** + * Indicates the available voice radio technology, valid values as defined by RadioTechnology, + * except LTE_CA, which is no longer a valid value on 1.5 or above. When the device is on + * carrier aggregation, vendor RIL service should properly report multiple PhysicalChannelConfig + * elements through IRadio::currentPhysicalChannelConfigs. + */ + RadioTechnology rat; + /** + * Cause code reported by the network in case registration fails. This will be a mobility + * management cause code defined for MM, GMM, MME or equivalent as appropriate for the RAT. + */ + RegistrationFailCause reasonForDenial; + /** + * CellIdentity + */ + CellIdentity cellIdentity; + /** + * The most-recent PLMN-ID upon which the UE registered (or attempted to register if a failure + * is reported in the reasonForDenial field). This PLMN shall be in standard format consisting + * of a 3 digit MCC concatenated with a 2 or 3 digit MNC. + */ + String registeredPlmn; + /** + * Access-technology-specific registration information, such as for CDMA2000. + */ + RegStateResultAccessTechnologySpecificInfo accessTechnologySpecificInfo; +} diff --git a/radio/aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfo.aidl b/radio/aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfo.aidl new file mode 100644 index 0000000000..b22e413dd7 --- /dev/null +++ b/radio/aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfo.aidl @@ -0,0 +1,38 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.NrVopsInfo; +import android.hardware.radio.RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo; +import android.hardware.radio.RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo; + +@VintfStability +union RegStateResultAccessTechnologySpecificInfo { + boolean noinit; + RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo cdmaInfo; + RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo eutranInfo; + /** + * Network capabilities for voice over PS services. This info is valid only on NR network and + * must be present when the device is camped on NR. VopsInfo must be empty when the device is + * not camped on NR. + */ + NrVopsInfo ngranNrVopsInfo; + /** + * True if the dual transfer mode is supported. Refer to 3GPP TS 44.108 section 3.4.25.3 + */ + boolean geranDtmSupported; +} diff --git a/radio/aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo.aidl b/radio/aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo.aidl new file mode 100644 index 0000000000..14f68ec025 --- /dev/null +++ b/radio/aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.PrlIndicator; + +@VintfStability +parcelable RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo { + /** + * Concurrent services support indicator. if registered on a CDMA system. + * false - Concurrent services not supported, + * true - Concurrent services supported + */ + boolean cssSupported; + /** + * TSB-58 Roaming Indicator if registered on a CDMA or EVDO system or -1 if not. + * Valid values are 0-255. + */ + int roamingIndicator; + /** + * Indicates whether the current system is in the PRL if registered on a CDMA or EVDO system + * or -1 if not. 0=not in the PRL, 1=in the PRL. + */ + PrlIndicator systemIsInPrl; + /** + * Default Roaming Indicator from the PRL if registered on a CDMA or EVDO system or -1 if not. + * Valid values are 0-255. + */ + int defaultRoamingIndicator; +} diff --git a/radio/aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo.aidl b/radio/aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo.aidl new file mode 100644 index 0000000000..5b942f4aa4 --- /dev/null +++ b/radio/aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo.aidl @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.LteVopsInfo; +import android.hardware.radio.NrIndicators; + +@VintfStability +parcelable RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo { + /** + * Network capabilities for voice over PS services. This info is valid only on LTE network and + * must be present when device is camped on LTE. VopsInfo must be empty when device is camped + * only on 2G/3G. + */ + LteVopsInfo lteVopsInfo; + /** + * The parameters of NR 5G Non-Standalone. This value is only valid on E-UTRAN, otherwise must + * be empty. + */ + NrIndicators nrIndicators; +} diff --git a/radio/aidl/android/hardware/radio/RegistrationFailCause.aidl b/radio/aidl/android/hardware/radio/RegistrationFailCause.aidl new file mode 100644 index 0000000000..d9c7f23a3a --- /dev/null +++ b/radio/aidl/android/hardware/radio/RegistrationFailCause.aidl @@ -0,0 +1,189 @@ +/* + * Copyright (C) 2021 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; + +/** + * Call fail causes for Circuit-switched service enumerated in 3GPP TS 24.008, 10.5.3.6 and + * 10.5.147. Additional detail is available in 3GPP TS 24.008 Annex G. + */ +@VintfStability +@Backing(type="int") +enum RegistrationFailCause { + /** + * 0 - None + */ + NONE = 0, + /** + * 2 - IMSI unknown in HLR + */ + IMSI_UNKNOWN_IN_HLR = 2, + /** + * 3 - Illegal MS + */ + ILLEGAL_MS = 3, + /** + * 4 - Illegal ME + */ + IMSI_UNKNOWN_IN_VLR = 4, + /** + * 5 - PLMN not allowed + */ + IMEI_NOT_ACCEPTED = 5, + /** + * 6 - Location area not allowed + */ + ILLEGAL_ME = 6, + /** + * 7 - Roaming not allowed + */ + GPRS_SERVICES_NOT_ALLOWED = 7, + /** + * 8 - No Suitable Cells in this Location Area + */ + GPRS_AND_NON_GPRS_SERVICES_NOT_ALLOWED = 8, + /** + * 9 - Network failure + */ + MS_IDENTITY_CANNOT_BE_DERIVED_BY_NETWORK = 9, + /** + * 10 - Persistent location update reject + */ + IMPLICITLY_DETACHED = 10, + /** + * 11 - PLMN not allowed + */ + PLMN_NOT_ALLOWED = 11, + /** + * 12 - Location area not allowed + */ + LOCATION_AREA_NOT_ALLOWED = 12, + /** + * 13 - Roaming not allowed in this Location Area + */ + ROAMING_NOT_ALLOWED = 13, + /** + * 14 - GPRS Services not allowed in this PLMN + */ + GPRS_SERVICES_NOT_ALLOWED_IN_PLMN = 14, + /** + * 15 - No Suitable Cells in this Location Area + */ + NO_SUITABLE_CELLS = 15, + /** + * 16 - MSC temporarily not reachable + */ + MSC_TEMPORARILY_NOT_REACHABLE = 15, + /** + * 17 - Network Failure + */ + NETWORK_FAILURE = 17, + /** + * 20 - MAC Failure + */ + MAC_FAILURE = 20, + /** + * 21 - Sync Failure + */ + SYNC_FAILURE = 21, + /** + * 22 - Congestion + */ + CONGESTION = 22, + /** + * 23 - GSM Authentication unacceptable + */ + GSM_AUTHENTICATION_UNACCEPTABLE = 23, + /** + * 25 - Not Authorized for this CSG + */ + NOT_AUTHORIZED_FOR_THIS_CSG = 25, + /** + * 28 SMS provided via GPRS in this routing area + */ + SMS_PROVIDED_BY_GPRS_IN_ROUTING_AREA, + /** + * 32 - Service option not supported + */ + SERVICE_OPTION_NOT_SUPPORTED = 32, + /** + * 33 - Requested service option not subscribed + */ + SERVICE_OPTION_NOT_SUBSCRIBED = 33, + /** + * 34 - Service option temporarily out of order + */ + SERVICE_OPTION_TEMPORARILY_OUT_OF_ORDER = 34, + /** + * 38 - Call cannot be identified + */ + CALL_CANNOT_BE_IDENTIFIED = 38, + /** + * 40 No PDP context activated + */ + NO_PDP_CONTEXT_ACTIVATED = 40, + /** + * 48-63 - Retry upon entry into a new cell + */ + RETRY_UPON_ENTRY_INTO_NEW_CELL_1 = 48, + RETRY_UPON_ENTRY_INTO_NEW_CELL_2 = 49, + RETRY_UPON_ENTRY_INTO_NEW_CELL_3 = 50, + RETRY_UPON_ENTRY_INTO_NEW_CELL_4 = 51, + RETRY_UPON_ENTRY_INTO_NEW_CELL_5 = 52, + RETRY_UPON_ENTRY_INTO_NEW_CELL_6 = 53, + RETRY_UPON_ENTRY_INTO_NEW_CELL_7 = 54, + RETRY_UPON_ENTRY_INTO_NEW_CELL_8 = 55, + RETRY_UPON_ENTRY_INTO_NEW_CELL_9 = 56, + RETRY_UPON_ENTRY_INTO_NEW_CELL_10 = 57, + RETRY_UPON_ENTRY_INTO_NEW_CELL_11 = 58, + RETRY_UPON_ENTRY_INTO_NEW_CELL_12 = 59, + RETRY_UPON_ENTRY_INTO_NEW_CELL_13 = 60, + RETRY_UPON_ENTRY_INTO_NEW_CELL_14 = 61, + RETRY_UPON_ENTRY_INTO_NEW_CELL_15 = 62, + RETRY_UPON_ENTRY_INTO_NEW_CELL_16 = 63, + /** + * 95 - Semantically incorrect message + */ + SEMANTICALLY_INCORRECT_MESSAGE = 95, + /** + * 96 - Invalid mandatory information + */ + INVALID_MANDATORY_INFORMATION = 96, + /** + * 97 - Message type non-existent or not implemented + */ + MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED = 97, + /** + * 98 - Message type not compatible with protocol state + */ + MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 98, + /** + * 99 - Information element non-existent or not implemented + */ + INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED = 99, + /** + * 100 - Conditional IE error + */ + CONDITIONAL_IE_ERROR = 100, + /** + * 101 - Message not compatible with protocol state + */ + MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE = 101, + /** + * 111 - Protocol error, unspecified + */ + PROTOCOL_ERROR_UNSPECIFIED = 111, +} diff --git a/radio/aidl/android/hardware/radio/ResetNvType.aidl b/radio/aidl/android/hardware/radio/ResetNvType.aidl new file mode 100644 index 0000000000..59c74da9f8 --- /dev/null +++ b/radio/aidl/android/hardware/radio/ResetNvType.aidl @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum ResetNvType { + /** + * Reload all NV items + */ + RELOAD, + /** + * Erase NV reset (SCRTN) + */ + ERASE, + /** + * Factory reset (RTN) + */ + FACTORY_RESET, +} diff --git a/radio/aidl/android/hardware/radio/RestrictedState.aidl b/radio/aidl/android/hardware/radio/RestrictedState.aidl new file mode 100644 index 0000000000..1cf8be27f0 --- /dev/null +++ b/radio/aidl/android/hardware/radio/RestrictedState.aidl @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum RestrictedState { + NONE = 0x00, + CS_EMERGENCY = 0x01, + CS_NORMAL = 0x02, + CS_ALL = 0x04, + PS_ALL = 0x10, +} diff --git a/radio/aidl/android/hardware/radio/RouteSelectionDescriptor.aidl b/radio/aidl/android/hardware/radio/RouteSelectionDescriptor.aidl new file mode 100644 index 0000000000..14591a0ddb --- /dev/null +++ b/radio/aidl/android/hardware/radio/RouteSelectionDescriptor.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.OptionalPdpProtocolType; +import android.hardware.radio.OptionalSscMode; +import android.hardware.radio.SliceInfo; + +/** + * This struct represents a single route selection descriptor as defined in 3GPP TS 24.526. + */ +@VintfStability +parcelable RouteSelectionDescriptor { + /** + * Precedence value in the range of 0 to 255. Higher value has lower precedence. + */ + byte precedence; + /** + * Valid values are IP, IPV6 and IPV4V6. + */ + OptionalPdpProtocolType sessionType; + OptionalSscMode sscMode; + /** + * There can be 0 or more SliceInfo specified in a route descriptor. + */ + SliceInfo[] sliceInfo; + /** + * DNN stands for Data Network Name and represents an APN as defined in 3GPP TS 23.003. + * There can be 0 or more DNNs specified in a route descriptor. + */ + String[] dnn; +} diff --git a/radio/aidl/android/hardware/radio/SapApduType.aidl b/radio/aidl/android/hardware/radio/SapApduType.aidl new file mode 100644 index 0000000000..f697e58aad --- /dev/null +++ b/radio/aidl/android/hardware/radio/SapApduType.aidl @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum SapApduType { + APDU, + APDU7816, +} diff --git a/radio/aidl/android/hardware/radio/SapConnectRsp.aidl b/radio/aidl/android/hardware/radio/SapConnectRsp.aidl new file mode 100644 index 0000000000..d2046d21ef --- /dev/null +++ b/radio/aidl/android/hardware/radio/SapConnectRsp.aidl @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum SapConnectRsp { + SUCCESS, + CONNECT_FAILURE, + MSG_SIZE_TOO_LARGE, + MSG_SIZE_TOO_SMALL, + CONNECT_OK_CALL_ONGOING, +} diff --git a/radio/aidl/android/hardware/radio/SapDisconnectType.aidl b/radio/aidl/android/hardware/radio/SapDisconnectType.aidl new file mode 100644 index 0000000000..30a04bde46 --- /dev/null +++ b/radio/aidl/android/hardware/radio/SapDisconnectType.aidl @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum SapDisconnectType { + GRACEFUL, + IMMEDIATE, +} diff --git a/radio/aidl/android/hardware/radio/SapResultCode.aidl b/radio/aidl/android/hardware/radio/SapResultCode.aidl new file mode 100644 index 0000000000..db87374ce9 --- /dev/null +++ b/radio/aidl/android/hardware/radio/SapResultCode.aidl @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum SapResultCode { + SUCCESS, + GENERIC_FAILURE, + CARD_NOT_ACCESSSIBLE, + CARD_ALREADY_POWERED_OFF, + CARD_REMOVED, + CARD_ALREADY_POWERED_ON, + DATA_NOT_AVAILABLE, + NOT_SUPPORTED, +} diff --git a/radio/aidl/android/hardware/radio/SapStatus.aidl b/radio/aidl/android/hardware/radio/SapStatus.aidl new file mode 100644 index 0000000000..0a6b4a757a --- /dev/null +++ b/radio/aidl/android/hardware/radio/SapStatus.aidl @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum SapStatus { + UNKNOWN_ERROR, + CARD_RESET, + CARD_NOT_ACCESSIBLE, + CARD_REMOVED, + CARD_INSERTED, + RECOVERED, +} diff --git a/radio/aidl/android/hardware/radio/SapTransferProtocol.aidl b/radio/aidl/android/hardware/radio/SapTransferProtocol.aidl new file mode 100644 index 0000000000..7f385de00d --- /dev/null +++ b/radio/aidl/android/hardware/radio/SapTransferProtocol.aidl @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum SapTransferProtocol { + T0, + T1, +} diff --git a/radio/aidl/android/hardware/radio/ScanIntervalRange.aidl b/radio/aidl/android/hardware/radio/ScanIntervalRange.aidl new file mode 100644 index 0000000000..7ea4d123eb --- /dev/null +++ b/radio/aidl/android/hardware/radio/ScanIntervalRange.aidl @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2021 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; + +/** + * Values are in seconds + */ +@VintfStability +@Backing(type="int") +enum ScanIntervalRange { + MIN = 5, + MAX = 300, +} diff --git a/radio/aidl/android/hardware/radio/ScanStatus.aidl b/radio/aidl/android/hardware/radio/ScanStatus.aidl new file mode 100644 index 0000000000..c9c436e36a --- /dev/null +++ b/radio/aidl/android/hardware/radio/ScanStatus.aidl @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum ScanStatus { + /** + * The result contains a part of the scan results + */ + PARTIAL = 1, + /** + * The result contains the last part of the scan results + */ + COMPLETE = 2, +} diff --git a/radio/aidl/android/hardware/radio/ScanType.aidl b/radio/aidl/android/hardware/radio/ScanType.aidl new file mode 100644 index 0000000000..66ed451fff --- /dev/null +++ b/radio/aidl/android/hardware/radio/ScanType.aidl @@ -0,0 +1,30 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum ScanType { + /** + * Performs the scan only once + */ + ONE_SHOT, + /** + * Performs the scan periodically until cancelled + */ + PERIODIC, +} diff --git a/radio/aidl/android/hardware/radio/SelectUiccSub.aidl b/radio/aidl/android/hardware/radio/SelectUiccSub.aidl new file mode 100644 index 0000000000..4db5e662b8 --- /dev/null +++ b/radio/aidl/android/hardware/radio/SelectUiccSub.aidl @@ -0,0 +1,31 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.SubscriptionType; +import android.hardware.radio.UiccSubActStatus; + +@VintfStability +parcelable SelectUiccSub { + int slot; + /** + * Array subscriptor from applications[RadioConst:CARD_MAX_APPS] in getIccCardStatus() + */ + int appIndex; + SubscriptionType subType; + UiccSubActStatus actStatus; +} diff --git a/radio/aidl/android/hardware/radio/SendSmsResult.aidl b/radio/aidl/android/hardware/radio/SendSmsResult.aidl new file mode 100644 index 0000000000..31865637ee --- /dev/null +++ b/radio/aidl/android/hardware/radio/SendSmsResult.aidl @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable SendSmsResult { + /** + * TP-Message-Reference for GSM, and BearerData MessageId for CDMA. + * See 3GPP2 C.S0015-B, v2.0, table 4.5-1 + */ + int messageRef; + /** + * Ack PDU or empty string if n/a + */ + String ackPDU; + /** + * See 3GPP 27.005, 3.2.5 for GSM/UMTS, 3GPP2 N.S0005 (IS-41C) Table 171 for CDMA. + * -1 if unknown or not applicable. + */ + int errorCode; +} diff --git a/radio/aidl/android/hardware/radio/SetupDataCallResult.aidl b/radio/aidl/android/hardware/radio/SetupDataCallResult.aidl new file mode 100644 index 0000000000..5fc017cba8 --- /dev/null +++ b/radio/aidl/android/hardware/radio/SetupDataCallResult.aidl @@ -0,0 +1,117 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.DataCallFailCause; +import android.hardware.radio.DataConnActiveStatus; +import android.hardware.radio.HandoverFailureMode; +import android.hardware.radio.LinkAddress; +import android.hardware.radio.OptionalSliceInfo; +import android.hardware.radio.PdpProtocolType; +import android.hardware.radio.Qos; +import android.hardware.radio.QosSession; +import android.hardware.radio.TrafficDescriptor; + +@VintfStability +parcelable SetupDataCallResult { + /** + * Data call fail cause. DataCallFailCause.NONE if no error. + */ + DataCallFailCause cause; + /** + * If cause is not DataCallFailCause.NONE, this field indicates the network suggested data + * retry back-off time in milliseconds. Negative value indicates network does not give any + * suggestion. 0 indicates retry should be performed immediately. 0x7fffffffffffffff indicates + * the device should not retry data setup anymore. During this time, no calls to + * IRadio.setupDataCall for this APN will be made unless IRadioIndication.unthrottleApn is sent + * with the same APN. + */ + long suggestedRetryTime; + /** + * Context ID, uniquely identifies this data connection. + */ + int cid; + /** + * Data connection active status. + */ + DataConnActiveStatus active; + /** + * PDP protocol type. If cause is DataCallFailCause.ONLY_SINGLE_BEARER_ALLOWED, this is the + * protocol type supported, such as "IP" or "IPV6". + */ + PdpProtocolType type; + /** + * The network interface name. + */ + String ifname; + /** + * List of link address. + */ + LinkAddress[] addresses; + /** + * List of DNS server addresses, e.g., "192.0.1.3" or "192.0.1.11 2001:db8::1". Empty if no dns + * server addresses returned. + */ + String[] dnses; + /** + * List of default gateway addresses, e.g., "192.0.1.3" or "192.0.1.11 2001:db8::1". + * When empty, the addresses represent point to point connections. + */ + String[] gateways; + /** + * List of P-CSCF (Proxy Call State Control Function) addresses via PCO (Protocol Configuration + * Option), e.g., "2001:db8::1 2001:db8::2 2001:db8::3". Empty if not IMS client. + */ + String[] pcscf; + /** + * MTU received from network for IPv4. + * Value <= 0 means network has either not sent a value or sent an invalid value. + */ + int mtuV4; + /** + * MTU received from network for IPv6. + * Value <= 0 means network has either not sent a value or sent an invalid value. + */ + int mtuV6; + /** + * Default bearer QoS. Applicable to LTE and NR + */ + Qos defaultQos; + /** + * Active QOS sessions of the dedicated bearers. Applicable to PDNs that support dedicated + * bearers. + */ + QosSession[] qosSessions; + /** + * Specifies the fallback mode on an IWLAN handover failure. + */ + HandoverFailureMode handoverFailureMode; + /** + * The allocated pdu session id for this data call. A value of 0 means no pdu session id was + * attached to this call. Reference: 3GPP TS 24.007 section 11.2.3.1b. + */ + int pduSessionId; + /** + * Slice used for this data call. It is valid only when this data call is on AccessNetwork:NGRAN + */ + OptionalSliceInfo sliceInfo; + /** + * TrafficDescriptors for which this data call must be used. It only includes the TDs for which + * a data call has been requested so far; it is not an exhaustive list. + */ + TrafficDescriptor[] trafficDescriptors; +} diff --git a/radio/aidl/android/hardware/radio/SignalMeasurementType.aidl b/radio/aidl/android/hardware/radio/SignalMeasurementType.aidl new file mode 100644 index 0000000000..d92ae91ae1 --- /dev/null +++ b/radio/aidl/android/hardware/radio/SignalMeasurementType.aidl @@ -0,0 +1,83 @@ +/* + * Copyright (C) 2021 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; + +/** + * Defining signal strength type. + */ +@VintfStability +@Backing(type="int") +enum SignalMeasurementType { + /** + * Received Signal Strength Indication. + * Range: -113 dBm and -51 dBm + * Used RAN: GERAN, CDMA2000 + * Reference: 3GPP TS 27.007 section 8.5. + */ + RSSI = 1, + /** + * Received Signal Code Power. + * Range: -120 dBm to -25 dBm; + * Used RAN: UTRAN + * Reference: 3GPP TS 25.123, section 9.1.1.1 + */ + RSCP = 2, + /** + * Reference Signal Received Power. + * Range: -140 dBm to -44 dBm; + * Used RAN: EUTRAN + * Reference: 3GPP TS 36.133 9.1.4 + */ + RSRP = 3, + /** + * Reference Signal Received Quality + * Range: -34 dB to 3 dB; + * Used RAN: EUTRAN + * Reference: 3GPP TS 36.133 v12.6.0 section 9.1.7 + */ + RSRQ = 4, + /** + * Reference Signal Signal to Noise Ratio + * Range: -20 dB to 30 dB; + * Used RAN: EUTRAN + * Note: This field is optional; how to support it can be decided by the corresponding vendor. + * Though the response code is not enforced, vendor's implementation must ensure this interface + * does not crash. + */ + RSSNR = 5, + /** + * 5G SS reference signal received power. + * Range: -140 dBm to -44 dBm. + * Used RAN: NGRAN + * Reference: 3GPP TS 38.215. + */ + SSRSRP = 6, + /** + * 5G SS reference signal received quality. + * Range: -43 dB to 20 dB. + * Used RAN: NGRAN + * Reference: 3GPP TS 38.215, 3GPP TS 38.133 section 10 + */ + SSRSRQ = 7, + /** + * 5G SS signal-to-noise and interference ratio. + * Range: -23 dB to 40 dB + * Used RAN: NGRAN + * Reference: 3GPP TS 38.215 section 5.1.*, 3GPP TS 38.133 section 10.1.16.1. + */ + SSSINR = 8, +} diff --git a/radio/aidl/android/hardware/radio/SignalStrength.aidl b/radio/aidl/android/hardware/radio/SignalStrength.aidl new file mode 100644 index 0000000000..0ffdaa34cc --- /dev/null +++ b/radio/aidl/android/hardware/radio/SignalStrength.aidl @@ -0,0 +1,64 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CdmaSignalStrength; +import android.hardware.radio.EvdoSignalStrength; +import android.hardware.radio.GsmSignalStrength; +import android.hardware.radio.LteSignalStrength; +import android.hardware.radio.NrSignalStrength; +import android.hardware.radio.TdscdmaSignalStrength; +import android.hardware.radio.WcdmaSignalStrength; + +@VintfStability +parcelable SignalStrength { + /** + * If GSM measurements are provided, this structure must contain valid measurements; otherwise + * all fields should be set to INT_MAX to mark them as invalid. + */ + GsmSignalStrength gsm; + /** + * If CDMA measurements are provided, this structure must contain valid measurements; otherwise + * all fields should be set to INT_MAX to mark them as invalid. + */ + CdmaSignalStrength cdma; + /** + * If EvDO measurements are provided, this structure must contain valid measurements; otherwise + * all fields should be set to INT_MAX to mark them as invalid. + */ + EvdoSignalStrength evdo; + /** + * If LTE measurements are provided, this structure must contain valid measurements; otherwise + * all fields should be set to INT_MAX to mark them as invalid. + */ + LteSignalStrength lte; + /** + * If TD-SCDMA measurements are provided, this structure must contain valid measurements; + * otherwise all fields should be set to INT_MAX to mark them as invalid. + */ + TdscdmaSignalStrength tdscdma; + /** + * If WCDMA measurements are provided, this structure must contain valid measurements; otherwise + * all fields should be set to INT_MAX to mark them as invalid. + */ + WcdmaSignalStrength wcdma; + /** + * If NR 5G measurements are provided, this structure must contain valid measurements; otherwise + * all fields should be set to INT_MAX to mark them as invalid. + */ + NrSignalStrength nr; +} diff --git a/radio/aidl/android/hardware/radio/SignalThresholdInfo.aidl b/radio/aidl/android/hardware/radio/SignalThresholdInfo.aidl new file mode 100644 index 0000000000..9274b42f6b --- /dev/null +++ b/radio/aidl/android/hardware/radio/SignalThresholdInfo.aidl @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.SignalMeasurementType; + +/** + * Contains the threshold values of each signal measurement type. + */ +@VintfStability +parcelable SignalThresholdInfo { + /** + * Signal Measurement Type + */ + SignalMeasurementType signalMeasurement; + /** + * A hysteresis time in milliseconds to prevent flapping. A value of 0 disables hysteresis. + */ + int hysteresisMs; + /** + * An interval in dB defining the required magnitude change between reports. This must be + * smaller than the smallest threshold delta. An interval value of 0 disables hysteresis. + */ + int hysteresisDb; + /** + * List of threshold values. Range and unit must reference specific SignalMeasurementType. + * The threshold values for which to apply criteria. A vector size of 0 disables the use of + * thresholds for reporting. + */ + int[] thresholds; + /** + * Indicates whether the reporting criteria of the corresponding measurement is enabled + * (true) or disabled (false). If enabled, modem must trigger the report based on the criteria. + * If disabled, modem must not trigger the report based on the criteria. + */ + boolean isEnabled; +} diff --git a/radio/aidl/android/hardware/radio/SimApdu.aidl b/radio/aidl/android/hardware/radio/SimApdu.aidl new file mode 100644 index 0000000000..65dae4c72e --- /dev/null +++ b/radio/aidl/android/hardware/radio/SimApdu.aidl @@ -0,0 +1,51 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable SimApdu { + /** + * "sessionid" from TS 27.007 +CGLA command. Must be ignored for +CSIM command. + */ + int sessionId; + /** + * Used to derive the APDU ("command" and "length" values in TS 27.007 +CSIM and +CGLA commands) + */ + int cla; + /** + * Used to derive the APDU ("command" and "length" values in TS 27.007 +CSIM and +CGLA commands) + */ + int instruction; + /** + * Used to derive the APDU ("command" and "length" values in TS 27.007 +CSIM and +CGLA commands) + */ + int p1; + /** + * Used to derive the APDU ("command" and "length" values in TS 27.007 +CSIM and +CGLA commands) + */ + int p2; + /** + * Used to derive the APDU ("command" and "length" values in TS 27.007 +CSIM and +CGLA commands) + * A negative P3 implies a 4 byte APDU. + */ + int p3; + /** + * Used to derive the APDU ("command" and "length" values in TS 27.007 +CSIM and +CGLA commands) + * In hex string format ([a-fA-F0-9]*) + */ + String data; +} diff --git a/radio/aidl/android/hardware/radio/SimLockMultiSimPolicy.aidl b/radio/aidl/android/hardware/radio/SimLockMultiSimPolicy.aidl new file mode 100644 index 0000000000..89e13fd27b --- /dev/null +++ b/radio/aidl/android/hardware/radio/SimLockMultiSimPolicy.aidl @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum SimLockMultiSimPolicy { + /** + * Indicates that configuration applies to each slot independently. + */ + NO_MULTISIM_POLICY, + /** + * Indicates that any SIM card can be used as far as one valid card is present in the device. + * For the modem, a SIM card is valid when its content (i.e. MCC, MNC, GID, SPN) matches the + * carrier restriction configuration. + */ + ONE_VALID_SIM_MUST_BE_PRESENT, +} diff --git a/radio/aidl/android/hardware/radio/SimRefreshResult.aidl b/radio/aidl/android/hardware/radio/SimRefreshResult.aidl new file mode 100644 index 0000000000..f4808886a7 --- /dev/null +++ b/radio/aidl/android/hardware/radio/SimRefreshResult.aidl @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.SimRefreshType; + +@VintfStability +parcelable SimRefreshResult { + SimRefreshType type; + /** + * EFID of the updated file if the result is SIM_FILE_UPDATE or 0 for any other result. + */ + int efId; + /** + * AID(application ID) of the card application. See ETSI 102.221 8.1 and 101.220 4. + * For SIM_FILE_UPDATE result it must be set to AID of application in which updated EF resides + * or it must be empty string if EF is outside of an application. For SIM_INIT result this field + * is set to AID of application that caused REFRESH. For SIM_RESET result it is empty string. + */ + String aid; +} diff --git a/radio/aidl/android/hardware/radio/SimRefreshType.aidl b/radio/aidl/android/hardware/radio/SimRefreshType.aidl new file mode 100644 index 0000000000..996cdceb96 --- /dev/null +++ b/radio/aidl/android/hardware/radio/SimRefreshType.aidl @@ -0,0 +1,34 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum SimRefreshType { + /** + * A file on SIM has been updated. + */ + SIM_FILE_UPDATE, + /** + * SIM initialized. All files should be re-read. + */ + SIM_INIT, + /** + * SIM reset. SIM power required, SIM may be locked and all files must be re-read. + */ + SIM_RESET, +} diff --git a/radio/aidl/android/hardware/radio/SliceInfo.aidl b/radio/aidl/android/hardware/radio/SliceInfo.aidl new file mode 100644 index 0000000000..91b00677b5 --- /dev/null +++ b/radio/aidl/android/hardware/radio/SliceInfo.aidl @@ -0,0 +1,53 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.SliceServiceType; +import android.hardware.radio.SliceStatus; + +/** + * This struct represents a S-NSSAI as defined in 3GPP TS 24.501. + */ +@VintfStability +parcelable SliceInfo { + /** + * The type of service provided by the slice. See: 3GPP TS 24.501 Section 9.11.2.8. + */ + SliceServiceType sst; + /** + * Slice differentiator is the identifier of a slice that has SliceServiceType as SST. A value + * of -1 indicates that there is no corresponding SliceInfo of the HPLMN. + * See: 3GPP TS 24.501 Section 9.11.2.8. + */ + int sliceDifferentiator; + /** + * This SST corresponds to a SliceInfo (S-NSSAI) of the HPLMN; the SST is mapped to this value. + * See: 3GPP TS 24.501 Section 9.11.2.8. + */ + SliceServiceType mappedHplmnSst; + /** + * Present only if both sliceDifferentiator and mappedHplmnSst are also present. This SD + * corresponds to a SliceInfo (S-NSSAI) of the HPLMN; sliceDifferentiator is mapped to this + * value. A value of -1 indicates that there is no corresponding SliceInfo of the HPLMN. + * See: 3GPP TS 24.501 Section 9.11.2.8. + */ + int mappedHplmnSD; + /** + * Field to indicate the current status of the slice. + */ + SliceStatus status; +} diff --git a/radio/aidl/android/hardware/radio/SliceServiceType.aidl b/radio/aidl/android/hardware/radio/SliceServiceType.aidl new file mode 100644 index 0000000000..624dfb1050 --- /dev/null +++ b/radio/aidl/android/hardware/radio/SliceServiceType.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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; + +/** + * Slice/Service Type as defined in 3GPP TS 23.501. + */ +@VintfStability +@Backing(type="byte") +enum SliceServiceType { + /* + * Not specified + */ + NONE, + /* + * Slice suitable for the handling of 5G enhanced Mobile Broadband + */ + EMBB, + /** + * Slice suitable for the handling of ultra-reliable low latency communications + */ + URLLC, + /* + * Slice suitable for the handling of massive IoT + */ + MIOT, +} diff --git a/radio/aidl/android/hardware/radio/SliceStatus.aidl b/radio/aidl/android/hardware/radio/SliceStatus.aidl new file mode 100644 index 0000000000..076e23b269 --- /dev/null +++ b/radio/aidl/android/hardware/radio/SliceStatus.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="byte") +enum SliceStatus { + UNKNOWN, + /** + * Configured but not allowed or rejected yet + */ + CONFIGURED, + /** + * Allowed to be used + */ + ALLOWED, + /** + * Rejected because not available in PLMN + */ + REJECTED_NOT_AVAILABLE_IN_PLMN, + /** + * Rejected because not available in reg area + */ + REJECTED_NOT_AVAILABLE_IN_REG_AREA, + /** + * Considered valid when configured/allowed slices are not available + */ + DEFAULT_CONFIGURED, +} diff --git a/radio/aidl/android/hardware/radio/SlicingConfig.aidl b/radio/aidl/android/hardware/radio/SlicingConfig.aidl new file mode 100644 index 0000000000..d8d0885142 --- /dev/null +++ b/radio/aidl/android/hardware/radio/SlicingConfig.aidl @@ -0,0 +1,35 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.SliceInfo; +import android.hardware.radio.UrspRule; + +/** + * This struct represents the current slicing configuration. + */ +@VintfStability +parcelable SlicingConfig { + /** + * This vector contains the current URSP rules. Empty vector indicates no rules are configured. + */ + UrspRule[] urspRules; + /** + * List of all slices. + */ + SliceInfo[] sliceInfo; +} diff --git a/radio/aidl/android/hardware/radio/SmsAcknowledgeFailCause.aidl b/radio/aidl/android/hardware/radio/SmsAcknowledgeFailCause.aidl new file mode 100644 index 0000000000..265a10918d --- /dev/null +++ b/radio/aidl/android/hardware/radio/SmsAcknowledgeFailCause.aidl @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum SmsAcknowledgeFailCause { + MEMORY_CAPACITY_EXCEEDED = 0xD3, + UNSPECIFIED_ERROR = 0XFF, +} diff --git a/radio/aidl/android/hardware/radio/SmsWriteArgs.aidl b/radio/aidl/android/hardware/radio/SmsWriteArgs.aidl new file mode 100644 index 0000000000..f7a3fd49e2 --- /dev/null +++ b/radio/aidl/android/hardware/radio/SmsWriteArgs.aidl @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.SmsWriteArgsStatus; + +@VintfStability +parcelable SmsWriteArgs { + /** + * Status of message. See TS 27.005 3.1. + */ + SmsWriteArgsStatus status; + /** + * PDU of message to write, as an ASCII hex string less the SMSC address, the TP-layer length + * is strlen(pdu)/2. + */ + String pdu; + /** + * SMSC address in GSM BCD format prefixed by a length byte (as expected by TS 27.005) + * or NULL for default SMSC. + */ + String smsc; +} diff --git a/radio/aidl/android/hardware/radio/SmsWriteArgsStatus.aidl b/radio/aidl/android/hardware/radio/SmsWriteArgsStatus.aidl new file mode 100644 index 0000000000..095c71eff6 --- /dev/null +++ b/radio/aidl/android/hardware/radio/SmsWriteArgsStatus.aidl @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum SmsWriteArgsStatus { + REC_UNREAD, + REC_READ, + STO_UNSENT, + STO_SENT, +} diff --git a/radio/aidl/android/hardware/radio/SrvccState.aidl b/radio/aidl/android/hardware/radio/SrvccState.aidl new file mode 100644 index 0000000000..d4283149f9 --- /dev/null +++ b/radio/aidl/android/hardware/radio/SrvccState.aidl @@ -0,0 +1,26 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum SrvccState { + HANDOVER_STARTED, + HANDOVER_COMPLETED, + HANDOVER_FAILED, + HANDOVER_CANCELED, +} diff --git a/radio/aidl/android/hardware/radio/SsInfoData.aidl b/radio/aidl/android/hardware/radio/SsInfoData.aidl new file mode 100644 index 0000000000..6ee3da0597 --- /dev/null +++ b/radio/aidl/android/hardware/radio/SsInfoData.aidl @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable SsInfoData { + /** + * This is the response data for all of the SS GET/SET Radio requests. + * E.g. IRadio.getClir() returns two ints, so first two values of ssInfo[] will be used for + * response if serviceType is SS_CLIR and requestType is SS_INTERROGATION. + * Max size = RadioConst:SS_INFO_MAX + */ + int[] ssInfo; +} diff --git a/radio/aidl/android/hardware/radio/SsRequestType.aidl b/radio/aidl/android/hardware/radio/SsRequestType.aidl new file mode 100644 index 0000000000..f3decbefa6 --- /dev/null +++ b/radio/aidl/android/hardware/radio/SsRequestType.aidl @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum SsRequestType { + ACTIVATION, + DEACTIVATION, + INTERROGATION, + REGISTRATION, + ERASURE, +} diff --git a/radio/aidl/android/hardware/radio/SsServiceType.aidl b/radio/aidl/android/hardware/radio/SsServiceType.aidl new file mode 100644 index 0000000000..eb344f45be --- /dev/null +++ b/radio/aidl/android/hardware/radio/SsServiceType.aidl @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum SsServiceType { + CFU, + CF_BUSY, + CF_NO_REPLY, + CF_NOT_REACHABLE, + CF_ALL, + CF_ALL_CONDITIONAL, + CLIP, + CLIR, + COLP, + COLR, + WAIT, + BAOC, + BAOIC, + BAOIC_EXC_HOME, + BAIC, + BAIC_ROAMING, + ALL_BARRING, + OUTGOING_BARRING, + INCOMING_BARRING, +} diff --git a/radio/aidl/android/hardware/radio/SsTeleserviceType.aidl b/radio/aidl/android/hardware/radio/SsTeleserviceType.aidl new file mode 100644 index 0000000000..c11bbfa05d --- /dev/null +++ b/radio/aidl/android/hardware/radio/SsTeleserviceType.aidl @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum SsTeleserviceType { + ALL_TELE_AND_BEARER_SERVICES, + ALL_TELESEVICES, + TELEPHONY, + ALL_DATA_TELESERVICES, + SMS_SERVICES, + ALL_TELESERVICES_EXCEPT_SMS, +} diff --git a/radio/aidl/android/hardware/radio/SscMode.aidl b/radio/aidl/android/hardware/radio/SscMode.aidl new file mode 100644 index 0000000000..8722048019 --- /dev/null +++ b/radio/aidl/android/hardware/radio/SscMode.aidl @@ -0,0 +1,28 @@ +/* + * Copyright (C) 2021 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; + +/** + * Enum representing session and service continuity mode as defined in 3GPP TS 23.501. + */ +@VintfStability +@Backing(type="byte") +enum SscMode { + MODE_1 = 1, + MODE_2 = 2, + MODE_3 = 3, +} diff --git a/radio/aidl/android/hardware/radio/StkCcUnsolSsResult.aidl b/radio/aidl/android/hardware/radio/StkCcUnsolSsResult.aidl new file mode 100644 index 0000000000..0895f9885b --- /dev/null +++ b/radio/aidl/android/hardware/radio/StkCcUnsolSsResult.aidl @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CfData; +import android.hardware.radio.RadioError; +import android.hardware.radio.SsInfoData; +import android.hardware.radio.SsRequestType; +import android.hardware.radio.SsServiceType; +import android.hardware.radio.SsTeleserviceType; +import android.hardware.radio.SuppServiceClass; + +@VintfStability +parcelable StkCcUnsolSsResult { + SsServiceType serviceType; + SsRequestType requestType; + SsTeleserviceType teleserviceType; + SuppServiceClass serviceClass; + RadioError result; + /** + * Valid only for all SsServiceType except SsServiceType:CF_* else empty. + * Only one of ssInfo and cfData may contain values and the other must be empty. + */ + SsInfoData[] ssInfo; + /** + * Valid for SsServiceType:CF_* else empty + * Only one of ssInfo and cfData may contain values and the other must be empty. + */ + CfData[] cfData; +} diff --git a/radio/aidl/android/hardware/radio/SubscriptionType.aidl b/radio/aidl/android/hardware/radio/SubscriptionType.aidl new file mode 100644 index 0000000000..47c54f77a6 --- /dev/null +++ b/radio/aidl/android/hardware/radio/SubscriptionType.aidl @@ -0,0 +1,25 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum SubscriptionType { + SUBSCRIPTION_1, + SUBSCRIPTION_2, + SUBSCRIPTION_3, +} diff --git a/radio/aidl/android/hardware/radio/SuppServiceClass.aidl b/radio/aidl/android/hardware/radio/SuppServiceClass.aidl new file mode 100644 index 0000000000..79e73ceffd --- /dev/null +++ b/radio/aidl/android/hardware/radio/SuppServiceClass.aidl @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum SuppServiceClass { + NONE = 0, + VOICE = 1 << 0, + DATA = 1 << 1, + FAX = 1 << 2, + SMS = 1 << 3, + DATA_SYNC = 1 << 4, + DATA_ASYNC = 1 << 5, + PACKET = 1 << 6, + PAD = 1 << 7, + MAX = 1 << 7, +} diff --git a/radio/aidl/android/hardware/radio/SuppSvcNotification.aidl b/radio/aidl/android/hardware/radio/SuppSvcNotification.aidl new file mode 100644 index 0000000000..b41292b170 --- /dev/null +++ b/radio/aidl/android/hardware/radio/SuppSvcNotification.aidl @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable SuppSvcNotification { + /** + * Notification type + * false = MO intermediate result code + * true = MT unsolicited result code + */ + boolean isMT; + /** + * Result code. See 27.007 7.17. + */ + int code; + /** + * CUG index. See 27.007 7.17. + */ + int index; + /** + * "type" from 27.007 7.17 (MT only). + */ + int type; + /** + * "number" from 27.007 7.17. MT only, may be empty string. + */ + String number; +} diff --git a/radio/aidl/android/hardware/radio/TdscdmaSignalStrength.aidl b/radio/aidl/android/hardware/radio/TdscdmaSignalStrength.aidl new file mode 100644 index 0000000000..baed68a17b --- /dev/null +++ b/radio/aidl/android/hardware/radio/TdscdmaSignalStrength.aidl @@ -0,0 +1,36 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable TdscdmaSignalStrength { + /** + * UTRA carrier RSSI as defined in TS 25.225 5.1.4. Valid values are (0-31, 99) as defined in + * TS 27.007 8.5. INT_MAX denotes that the value is invalid/unreported. + */ + int signalStrength; + /** + * Transport Channel BER as defined in TS 25.225 5.2.5. Valid values are (0-7, 99) as defined in + * TS 27.007 8.5. INT_MAX denotes that the value is invalid/unreported. + */ + int bitErrorRate; + /** + * P-CCPCH RSCP as defined in TS 25.225 5.1.1. Valid values are (0-96, 255) as defined in + * TS 27.007 8.69. INT_MAX denotes that the value is invalid/unreported. + */ + int rscp; +} diff --git a/radio/aidl/android/hardware/radio/TimeStampType.aidl b/radio/aidl/android/hardware/radio/TimeStampType.aidl new file mode 100644 index 0000000000..f76a032e16 --- /dev/null +++ b/radio/aidl/android/hardware/radio/TimeStampType.aidl @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum TimeStampType { + UNKNOWN, + ANTENNA, + MODEM, + OEM_RIL, + JAVA_RIL, +} diff --git a/radio/aidl/android/hardware/radio/TrafficDescriptor.aidl b/radio/aidl/android/hardware/radio/TrafficDescriptor.aidl new file mode 100644 index 0000000000..4c41e8c89b --- /dev/null +++ b/radio/aidl/android/hardware/radio/TrafficDescriptor.aidl @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.OptionalDnn; +import android.hardware.radio.OptionalOsAppId; + +/** + * This struct represents a traffic descriptor. A valid struct must have at least one of the + * optional values present. This is based on the definition of traffic descriptor in + * TS 24.526 Section 5.2. + */ +@VintfStability +parcelable TrafficDescriptor { + /** + * DNN stands for Data Network Name and represents an APN as defined in 3GPP TS 23.003. + */ + OptionalDnn dnn; + /** + * Indicates the OsId + OsAppId (used as category in Android). + */ + OptionalOsAppId osAppId; +} diff --git a/radio/aidl/android/hardware/radio/Translate.java b/radio/aidl/android/hardware/radio/Translate.java new file mode 100644 index 0000000000..a5d32b4e98 --- /dev/null +++ b/radio/aidl/android/hardware/radio/Translate.java @@ -0,0 +1,2520 @@ +/* + * Copyright (C) 2021 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; + +import java.util.List; + +public class Translate { + static public android.hardware.radio.IccIo h2aTranslate(android.hardware.radio.V1_0.IccIo in) { + android.hardware.radio.IccIo out = new android.hardware.radio.IccIo(); + out.command = in.command; + out.fileId = in.fileId; + out.path = in.path; + out.p1 = in.p1; + out.p2 = in.p2; + out.p3 = in.p3; + out.data = in.data; + out.pin2 = in.pin2; + out.aid = in.aid; + return out; + } + + static public android.hardware.radio.NeighboringCell h2aTranslate( + android.hardware.radio.V1_0.NeighboringCell in) { + android.hardware.radio.NeighboringCell out = new android.hardware.radio.NeighboringCell(); + out.cid = in.cid; + out.rssi = in.rssi; + return out; + } + + static public android.hardware.radio.UusInfo h2aTranslate( + android.hardware.radio.V1_0.UusInfo in) { + android.hardware.radio.UusInfo out = new android.hardware.radio.UusInfo(); + out.uusType = in.uusType; + out.uusDcs = in.uusDcs; + out.uusData = in.uusData; + return out; + } + + static public android.hardware.radio.Dial h2aTranslate(android.hardware.radio.V1_0.Dial in) { + android.hardware.radio.Dial out = new android.hardware.radio.Dial(); + out.address = in.address; + out.clir = in.clir; + if (in.uusInfo != null) { + out.uusInfo = new android.hardware.radio.UusInfo[in.uusInfo.size()]; + for (int i = 0; i < in.uusInfo.size(); i++) { + out.uusInfo[i] = h2aTranslate(in.uusInfo.get(i)); + } + } + return out; + } + + static public android.hardware.radio.LastCallFailCauseInfo h2aTranslate( + android.hardware.radio.V1_0.LastCallFailCauseInfo in) { + android.hardware.radio.LastCallFailCauseInfo out = + new android.hardware.radio.LastCallFailCauseInfo(); + out.causeCode = in.causeCode; + out.vendorCause = in.vendorCause; + return out; + } + + static public android.hardware.radio.GsmSignalStrength h2aTranslate( + android.hardware.radio.V1_0.GsmSignalStrength in) { + android.hardware.radio.GsmSignalStrength out = + new android.hardware.radio.GsmSignalStrength(); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.signalStrength > 2147483647 || in.signalStrength < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.signalStrength"); + } + out.signalStrength = in.signalStrength; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.bitErrorRate > 2147483647 || in.bitErrorRate < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.bitErrorRate"); + } + out.bitErrorRate = in.bitErrorRate; + out.timingAdvance = in.timingAdvance; + return out; + } + + static public android.hardware.radio.CdmaSignalStrength h2aTranslate( + android.hardware.radio.V1_0.CdmaSignalStrength in) { + android.hardware.radio.CdmaSignalStrength out = + new android.hardware.radio.CdmaSignalStrength(); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.dbm > 2147483647 || in.dbm < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.dbm"); + } + out.dbm = in.dbm; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.ecio > 2147483647 || in.ecio < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.ecio"); + } + out.ecio = in.ecio; + return out; + } + + static public android.hardware.radio.EvdoSignalStrength h2aTranslate( + android.hardware.radio.V1_0.EvdoSignalStrength in) { + android.hardware.radio.EvdoSignalStrength out = + new android.hardware.radio.EvdoSignalStrength(); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.dbm > 2147483647 || in.dbm < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.dbm"); + } + out.dbm = in.dbm; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.ecio > 2147483647 || in.ecio < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.ecio"); + } + out.ecio = in.ecio; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.signalNoiseRatio > 2147483647 || in.signalNoiseRatio < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.signalNoiseRatio"); + } + out.signalNoiseRatio = in.signalNoiseRatio; + return out; + } + + static public android.hardware.radio.SendSmsResult h2aTranslate( + android.hardware.radio.V1_0.SendSmsResult in) { + android.hardware.radio.SendSmsResult out = new android.hardware.radio.SendSmsResult(); + out.messageRef = in.messageRef; + out.ackPDU = in.ackPDU; + out.errorCode = in.errorCode; + return out; + } + + static public android.hardware.radio.IccIoResult h2aTranslate( + android.hardware.radio.V1_0.IccIoResult in) { + android.hardware.radio.IccIoResult out = new android.hardware.radio.IccIoResult(); + out.sw1 = in.sw1; + out.sw2 = in.sw2; + out.simResponse = in.simResponse; + return out; + } + + static public android.hardware.radio.CallForwardInfo h2aTranslate( + android.hardware.radio.V1_0.CallForwardInfo in) { + android.hardware.radio.CallForwardInfo out = new android.hardware.radio.CallForwardInfo(); + out.status = in.status; + out.reason = in.reason; + out.serviceClass = in.serviceClass; + out.toa = in.toa; + out.number = in.number; + out.timeSeconds = in.timeSeconds; + return out; + } + + static public android.hardware.radio.OperatorInfo h2aTranslate( + android.hardware.radio.V1_0.OperatorInfo in) { + android.hardware.radio.OperatorInfo out = new android.hardware.radio.OperatorInfo(); + out.alphaLong = in.alphaLong; + out.alphaShort = in.alphaShort; + out.operatorNumeric = in.operatorNumeric; + out.status = in.status; + return out; + } + + static public android.hardware.radio.SmsWriteArgs h2aTranslate( + android.hardware.radio.V1_0.SmsWriteArgs in) { + android.hardware.radio.SmsWriteArgs out = new android.hardware.radio.SmsWriteArgs(); + out.status = in.status; + out.pdu = in.pdu; + out.smsc = in.smsc; + return out; + } + + static public android.hardware.radio.CdmaSmsAddress h2aTranslate( + android.hardware.radio.V1_0.CdmaSmsAddress in) { + android.hardware.radio.CdmaSmsAddress out = new android.hardware.radio.CdmaSmsAddress(); + out.digitMode = in.digitMode; + out.numberMode = in.numberMode; + out.numberType = in.numberType; + out.numberPlan = in.numberPlan; + if (in.digits != null) { + out.digits = new byte[in.digits.size()]; + for (int i = 0; i < in.digits.size(); i++) { + // FIXME This requires conversion between signed and unsigned. Change this if it + // doesn't suit your needs. + if (in.digits.get(i) > 127 || in.digits.get(i) < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.digits.get(i)"); + } + out.digits[i] = in.digits.get(i); + } + } + return out; + } + + static public android.hardware.radio.CdmaSmsSubaddress h2aTranslate( + android.hardware.radio.V1_0.CdmaSmsSubaddress in) { + android.hardware.radio.CdmaSmsSubaddress out = + new android.hardware.radio.CdmaSmsSubaddress(); + out.subaddressType = in.subaddressType; + out.odd = in.odd; + if (in.digits != null) { + out.digits = new byte[in.digits.size()]; + for (int i = 0; i < in.digits.size(); i++) { + // FIXME This requires conversion between signed and unsigned. Change this if it + // doesn't suit your needs. + if (in.digits.get(i) > 127 || in.digits.get(i) < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.digits.get(i)"); + } + out.digits[i] = in.digits.get(i); + } + } + return out; + } + + static public android.hardware.radio.CdmaSmsMessage h2aTranslate( + android.hardware.radio.V1_0.CdmaSmsMessage in) { + android.hardware.radio.CdmaSmsMessage out = new android.hardware.radio.CdmaSmsMessage(); + out.teleserviceId = in.teleserviceId; + out.isServicePresent = in.isServicePresent; + out.serviceCategory = in.serviceCategory; + out.address = h2aTranslate(in.address); + out.subAddress = h2aTranslate(in.subAddress); + if (in.bearerData != null) { + out.bearerData = new byte[in.bearerData.size()]; + for (int i = 0; i < in.bearerData.size(); i++) { + // FIXME This requires conversion between signed and unsigned. Change this if it + // doesn't suit your needs. + if (in.bearerData.get(i) > 127 || in.bearerData.get(i) < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.bearerData.get(i)"); + } + out.bearerData[i] = in.bearerData.get(i); + } + } + return out; + } + + static public android.hardware.radio.CdmaSmsAck h2aTranslate( + android.hardware.radio.V1_0.CdmaSmsAck in) { + android.hardware.radio.CdmaSmsAck out = new android.hardware.radio.CdmaSmsAck(); + out.errorClass = in.errorClass; + out.smsCauseCode = in.smsCauseCode; + return out; + } + + static public android.hardware.radio.CdmaBroadcastSmsConfigInfo h2aTranslate( + android.hardware.radio.V1_0.CdmaBroadcastSmsConfigInfo in) { + android.hardware.radio.CdmaBroadcastSmsConfigInfo out = + new android.hardware.radio.CdmaBroadcastSmsConfigInfo(); + out.serviceCategory = in.serviceCategory; + out.language = in.language; + out.selected = in.selected; + return out; + } + + static public android.hardware.radio.CdmaSmsWriteArgs h2aTranslate( + android.hardware.radio.V1_0.CdmaSmsWriteArgs in) { + android.hardware.radio.CdmaSmsWriteArgs out = new android.hardware.radio.CdmaSmsWriteArgs(); + out.status = in.status; + out.message = h2aTranslate(in.message); + return out; + } + + static public android.hardware.radio.GsmBroadcastSmsConfigInfo h2aTranslate( + android.hardware.radio.V1_0.GsmBroadcastSmsConfigInfo in) { + android.hardware.radio.GsmBroadcastSmsConfigInfo out = + new android.hardware.radio.GsmBroadcastSmsConfigInfo(); + out.fromServiceId = in.fromServiceId; + out.toServiceId = in.toServiceId; + out.fromCodeScheme = in.fromCodeScheme; + out.toCodeScheme = in.toCodeScheme; + out.selected = in.selected; + return out; + } + + static public android.hardware.radio.GsmSmsMessage h2aTranslate( + android.hardware.radio.V1_0.GsmSmsMessage in) { + android.hardware.radio.GsmSmsMessage out = new android.hardware.radio.GsmSmsMessage(); + out.smscPdu = in.smscPdu; + out.pdu = in.pdu; + return out; + } + + static public android.hardware.radio.ImsSmsMessage h2aTranslate( + android.hardware.radio.V1_0.ImsSmsMessage in) { + android.hardware.radio.ImsSmsMessage out = new android.hardware.radio.ImsSmsMessage(); + out.tech = in.tech; + out.retry = in.retry; + out.messageRef = in.messageRef; + if (in.cdmaMessage != null) { + out.cdmaMessage = new android.hardware.radio.CdmaSmsMessage[in.cdmaMessage.size()]; + for (int i = 0; i < in.cdmaMessage.size(); i++) { + out.cdmaMessage[i] = h2aTranslate(in.cdmaMessage.get(i)); + } + } + if (in.gsmMessage != null) { + out.gsmMessage = new android.hardware.radio.GsmSmsMessage[in.gsmMessage.size()]; + for (int i = 0; i < in.gsmMessage.size(); i++) { + out.gsmMessage[i] = h2aTranslate(in.gsmMessage.get(i)); + } + } + return out; + } + + static public android.hardware.radio.SimApdu h2aTranslate( + android.hardware.radio.V1_0.SimApdu in) { + android.hardware.radio.SimApdu out = new android.hardware.radio.SimApdu(); + out.sessionId = in.sessionId; + out.cla = in.cla; + out.instruction = in.instruction; + out.p1 = in.p1; + out.p2 = in.p2; + out.p3 = in.p3; + out.data = in.data; + return out; + } + + static public android.hardware.radio.NvWriteItem h2aTranslate( + android.hardware.radio.V1_0.NvWriteItem in) { + android.hardware.radio.NvWriteItem out = new android.hardware.radio.NvWriteItem(); + out.itemId = in.itemId; + out.value = in.value; + return out; + } + + static public android.hardware.radio.SelectUiccSub h2aTranslate( + android.hardware.radio.V1_0.SelectUiccSub in) { + android.hardware.radio.SelectUiccSub out = new android.hardware.radio.SelectUiccSub(); + out.slot = in.slot; + out.appIndex = in.appIndex; + out.subType = in.subType; + out.actStatus = in.actStatus; + return out; + } + + static public android.hardware.radio.HardwareConfigModem h2aTranslate( + android.hardware.radio.V1_0.HardwareConfigModem in) { + android.hardware.radio.HardwareConfigModem out = + new android.hardware.radio.HardwareConfigModem(); + out.rilModel = in.rilModel; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.rat > 2147483647 || in.rat < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.rat"); + } + out.rat = in.rat; + out.maxVoice = in.maxVoice; + out.maxData = in.maxData; + out.maxStandby = in.maxStandby; + return out; + } + + static public android.hardware.radio.HardwareConfigSim h2aTranslate( + android.hardware.radio.V1_0.HardwareConfigSim in) { + android.hardware.radio.HardwareConfigSim out = + new android.hardware.radio.HardwareConfigSim(); + out.modemUuid = in.modemUuid; + return out; + } + + static public android.hardware.radio.HardwareConfig h2aTranslate( + android.hardware.radio.V1_0.HardwareConfig in) { + android.hardware.radio.HardwareConfig out = new android.hardware.radio.HardwareConfig(); + out.type = in.type; + out.uuid = in.uuid; + out.state = in.state; + if (in.modem != null) { + out.modem = new android.hardware.radio.HardwareConfigModem[in.modem.size()]; + for (int i = 0; i < in.modem.size(); i++) { + out.modem[i] = h2aTranslate(in.modem.get(i)); + } + } + if (in.sim != null) { + out.sim = new android.hardware.radio.HardwareConfigSim[in.sim.size()]; + for (int i = 0; i < in.sim.size(); i++) { + out.sim[i] = h2aTranslate(in.sim.get(i)); + } + } + return out; + } + + static public android.hardware.radio.LceStatusInfo h2aTranslate( + android.hardware.radio.V1_0.LceStatusInfo in) { + android.hardware.radio.LceStatusInfo out = new android.hardware.radio.LceStatusInfo(); + out.lceStatus = in.lceStatus; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.actualIntervalMs > 127 || in.actualIntervalMs < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.actualIntervalMs"); + } + out.actualIntervalMs = in.actualIntervalMs; + return out; + } + + static public android.hardware.radio.LceDataInfo h2aTranslate( + android.hardware.radio.V1_0.LceDataInfo in) { + android.hardware.radio.LceDataInfo out = new android.hardware.radio.LceDataInfo(); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.lastHopCapacityKbps > 2147483647 || in.lastHopCapacityKbps < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.lastHopCapacityKbps"); + } + out.lastHopCapacityKbps = in.lastHopCapacityKbps; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.confidenceLevel > 127 || in.confidenceLevel < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.confidenceLevel"); + } + out.confidenceLevel = in.confidenceLevel; + out.lceSuspended = in.lceSuspended; + return out; + } + + static public android.hardware.radio.ActivityStatsInfo h2aTranslate( + android.hardware.radio.V1_0.ActivityStatsInfo in) { + android.hardware.radio.ActivityStatsInfo out = + new android.hardware.radio.ActivityStatsInfo(); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.sleepModeTimeMs > 2147483647 || in.sleepModeTimeMs < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.sleepModeTimeMs"); + } + out.sleepModeTimeMs = in.sleepModeTimeMs; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.idleModeTimeMs > 2147483647 || in.idleModeTimeMs < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.idleModeTimeMs"); + } + out.idleModeTimeMs = in.idleModeTimeMs; + if (in.txmModetimeMs != null) { + out.txmModetimeMs = new int[in.txmModetimeMs.length]; + for (int i = 0; i < in.txmModetimeMs.length; i++) { + // FIXME This requires conversion between signed and unsigned. Change this if it + // doesn't suit your needs. + if (in.txmModetimeMs[i] > 2147483647 || in.txmModetimeMs[i] < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.txmModetimeMs[i]"); + } + out.txmModetimeMs[i] = in.txmModetimeMs[i]; + } + } + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.rxModeTimeMs > 2147483647 || in.rxModeTimeMs < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.rxModeTimeMs"); + } + out.rxModeTimeMs = in.rxModeTimeMs; + return out; + } + + static public android.hardware.radio.Carrier h2aTranslate( + android.hardware.radio.V1_0.Carrier in) { + android.hardware.radio.Carrier out = new android.hardware.radio.Carrier(); + out.mcc = in.mcc; + out.mnc = in.mnc; + out.matchType = in.matchType; + out.matchData = in.matchData; + return out; + } + + static public android.hardware.radio.CarrierRestrictions h2aTranslate( + android.hardware.radio.V1_0.CarrierRestrictions in) { + android.hardware.radio.CarrierRestrictions out = + new android.hardware.radio.CarrierRestrictions(); + if (in.allowedCarriers != null) { + out.allowedCarriers = new android.hardware.radio.Carrier[in.allowedCarriers.size()]; + for (int i = 0; i < in.allowedCarriers.size(); i++) { + out.allowedCarriers[i] = h2aTranslate(in.allowedCarriers.get(i)); + } + } + if (in.excludedCarriers != null) { + out.excludedCarriers = new android.hardware.radio.Carrier[in.excludedCarriers.size()]; + for (int i = 0; i < in.excludedCarriers.size(); i++) { + out.excludedCarriers[i] = h2aTranslate(in.excludedCarriers.get(i)); + } + } + return out; + } + + static public android.hardware.radio.SuppSvcNotification h2aTranslate( + android.hardware.radio.V1_0.SuppSvcNotification in) { + android.hardware.radio.SuppSvcNotification out = + new android.hardware.radio.SuppSvcNotification(); + out.isMT = in.isMT; + out.code = in.code; + out.index = in.index; + out.type = in.type; + out.number = in.number; + return out; + } + + static public android.hardware.radio.SimRefreshResult h2aTranslate( + android.hardware.radio.V1_0.SimRefreshResult in) { + android.hardware.radio.SimRefreshResult out = new android.hardware.radio.SimRefreshResult(); + out.type = in.type; + out.efId = in.efId; + out.aid = in.aid; + return out; + } + + static public android.hardware.radio.CdmaSignalInfoRecord h2aTranslate( + android.hardware.radio.V1_0.CdmaSignalInfoRecord in) { + android.hardware.radio.CdmaSignalInfoRecord out = + new android.hardware.radio.CdmaSignalInfoRecord(); + out.isPresent = in.isPresent; + out.signalType = in.signalType; + out.alertPitch = in.alertPitch; + out.signal = in.signal; + return out; + } + + static public android.hardware.radio.CdmaCallWaiting h2aTranslate( + android.hardware.radio.V1_0.CdmaCallWaiting in) { + android.hardware.radio.CdmaCallWaiting out = new android.hardware.radio.CdmaCallWaiting(); + out.number = in.number; + out.numberPresentation = in.numberPresentation; + out.name = in.name; + out.signalInfoRecord = h2aTranslate(in.signalInfoRecord); + out.numberType = in.numberType; + out.numberPlan = in.numberPlan; + return out; + } + + static public android.hardware.radio.CdmaDisplayInfoRecord h2aTranslate( + android.hardware.radio.V1_0.CdmaDisplayInfoRecord in) { + android.hardware.radio.CdmaDisplayInfoRecord out = + new android.hardware.radio.CdmaDisplayInfoRecord(); + out.alphaBuf = in.alphaBuf; + return out; + } + + static public android.hardware.radio.CdmaNumberInfoRecord h2aTranslate( + android.hardware.radio.V1_0.CdmaNumberInfoRecord in) { + android.hardware.radio.CdmaNumberInfoRecord out = + new android.hardware.radio.CdmaNumberInfoRecord(); + out.number = in.number; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.numberType > 127 || in.numberType < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.numberType"); + } + out.numberType = in.numberType; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.numberPlan > 127 || in.numberPlan < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.numberPlan"); + } + out.numberPlan = in.numberPlan; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.pi > 127 || in.pi < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.pi"); + } + out.pi = in.pi; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.si > 127 || in.si < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.si"); + } + out.si = in.si; + return out; + } + + static public android.hardware.radio.CdmaRedirectingNumberInfoRecord h2aTranslate( + android.hardware.radio.V1_0.CdmaRedirectingNumberInfoRecord in) { + android.hardware.radio.CdmaRedirectingNumberInfoRecord out = + new android.hardware.radio.CdmaRedirectingNumberInfoRecord(); + out.redirectingNumber = h2aTranslate(in.redirectingNumber); + out.redirectingReason = in.redirectingReason; + return out; + } + + static public android.hardware.radio.CdmaLineControlInfoRecord h2aTranslate( + android.hardware.radio.V1_0.CdmaLineControlInfoRecord in) { + android.hardware.radio.CdmaLineControlInfoRecord out = + new android.hardware.radio.CdmaLineControlInfoRecord(); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.lineCtrlPolarityIncluded > 127 || in.lineCtrlPolarityIncluded < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.lineCtrlPolarityIncluded"); + } + out.lineCtrlPolarityIncluded = in.lineCtrlPolarityIncluded; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.lineCtrlToggle > 127 || in.lineCtrlToggle < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.lineCtrlToggle"); + } + out.lineCtrlToggle = in.lineCtrlToggle; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.lineCtrlReverse > 127 || in.lineCtrlReverse < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.lineCtrlReverse"); + } + out.lineCtrlReverse = in.lineCtrlReverse; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.lineCtrlPowerDenial > 127 || in.lineCtrlPowerDenial < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.lineCtrlPowerDenial"); + } + out.lineCtrlPowerDenial = in.lineCtrlPowerDenial; + return out; + } + + static public android.hardware.radio.CdmaT53ClirInfoRecord h2aTranslate( + android.hardware.radio.V1_0.CdmaT53ClirInfoRecord in) { + android.hardware.radio.CdmaT53ClirInfoRecord out = + new android.hardware.radio.CdmaT53ClirInfoRecord(); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.cause > 127 || in.cause < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.cause"); + } + out.cause = in.cause; + return out; + } + + static public android.hardware.radio.CdmaT53AudioControlInfoRecord h2aTranslate( + android.hardware.radio.V1_0.CdmaT53AudioControlInfoRecord in) { + android.hardware.radio.CdmaT53AudioControlInfoRecord out = + new android.hardware.radio.CdmaT53AudioControlInfoRecord(); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.upLink > 127 || in.upLink < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.upLink"); + } + out.upLink = in.upLink; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.downLink > 127 || in.downLink < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.downLink"); + } + out.downLink = in.downLink; + return out; + } + + static public android.hardware.radio.CdmaInformationRecord h2aTranslate( + android.hardware.radio.V1_0.CdmaInformationRecord in) { + android.hardware.radio.CdmaInformationRecord out = + new android.hardware.radio.CdmaInformationRecord(); + out.name = in.name; + if (in.display != null) { + out.display = new android.hardware.radio.CdmaDisplayInfoRecord[in.display.size()]; + for (int i = 0; i < in.display.size(); i++) { + out.display[i] = h2aTranslate(in.display.get(i)); + } + } + if (in.number != null) { + out.number = new android.hardware.radio.CdmaNumberInfoRecord[in.number.size()]; + for (int i = 0; i < in.number.size(); i++) { + out.number[i] = h2aTranslate(in.number.get(i)); + } + } + if (in.signal != null) { + out.signal = new android.hardware.radio.CdmaSignalInfoRecord[in.signal.size()]; + for (int i = 0; i < in.signal.size(); i++) { + out.signal[i] = h2aTranslate(in.signal.get(i)); + } + } + if (in.redir != null) { + out.redir = new android.hardware.radio.CdmaRedirectingNumberInfoRecord[in.redir.size()]; + for (int i = 0; i < in.redir.size(); i++) { + out.redir[i] = h2aTranslate(in.redir.get(i)); + } + } + if (in.lineCtrl != null) { + out.lineCtrl = new android.hardware.radio.CdmaLineControlInfoRecord[in.lineCtrl.size()]; + for (int i = 0; i < in.lineCtrl.size(); i++) { + out.lineCtrl[i] = h2aTranslate(in.lineCtrl.get(i)); + } + } + if (in.clir != null) { + out.clir = new android.hardware.radio.CdmaT53ClirInfoRecord[in.clir.size()]; + for (int i = 0; i < in.clir.size(); i++) { + out.clir[i] = h2aTranslate(in.clir.get(i)); + } + } + if (in.audioCtrl != null) { + out.audioCtrl = + new android.hardware.radio.CdmaT53AudioControlInfoRecord[in.audioCtrl.size()]; + for (int i = 0; i < in.audioCtrl.size(); i++) { + out.audioCtrl[i] = h2aTranslate(in.audioCtrl.get(i)); + } + } + return out; + } + + static public android.hardware.radio.CdmaInformationRecords h2aTranslate( + android.hardware.radio.V1_0.CdmaInformationRecords in) { + android.hardware.radio.CdmaInformationRecords out = + new android.hardware.radio.CdmaInformationRecords(); + if (in.infoRec != null) { + out.infoRec = new android.hardware.radio.CdmaInformationRecord[in.infoRec.size()]; + for (int i = 0; i < in.infoRec.size(); i++) { + out.infoRec[i] = h2aTranslate(in.infoRec.get(i)); + } + } + return out; + } + + static public android.hardware.radio.CfData h2aTranslate( + android.hardware.radio.V1_0.CfData in) { + android.hardware.radio.CfData out = new android.hardware.radio.CfData(); + if (in.cfInfo != null) { + out.cfInfo = new android.hardware.radio.CallForwardInfo[in.cfInfo.size()]; + for (int i = 0; i < in.cfInfo.size(); i++) { + out.cfInfo[i] = h2aTranslate(in.cfInfo.get(i)); + } + } + return out; + } + + static public android.hardware.radio.SsInfoData h2aTranslate( + android.hardware.radio.V1_0.SsInfoData in) { + android.hardware.radio.SsInfoData out = new android.hardware.radio.SsInfoData(); + if (in.ssInfo != null) { + out.ssInfo = new int[in.ssInfo.size()]; + for (int i = 0; i < in.ssInfo.size(); i++) { + out.ssInfo[i] = in.ssInfo.get(i); + } + } + return out; + } + + static public android.hardware.radio.StkCcUnsolSsResult h2aTranslate( + android.hardware.radio.V1_0.StkCcUnsolSsResult in) { + android.hardware.radio.StkCcUnsolSsResult out = + new android.hardware.radio.StkCcUnsolSsResult(); + out.serviceType = in.serviceType; + out.requestType = in.requestType; + out.teleserviceType = in.teleserviceType; + out.serviceClass = in.serviceClass; + out.result = in.result; + if (in.ssInfo != null) { + out.ssInfo = new android.hardware.radio.SsInfoData[in.ssInfo.size()]; + for (int i = 0; i < in.ssInfo.size(); i++) { + out.ssInfo[i] = h2aTranslate(in.ssInfo.get(i)); + } + } + if (in.cfData != null) { + out.cfData = new android.hardware.radio.CfData[in.cfData.size()]; + for (int i = 0; i < in.cfData.size(); i++) { + out.cfData[i] = h2aTranslate(in.cfData.get(i)); + } + } + return out; + } + + static public android.hardware.radio.PcoDataInfo h2aTranslate( + android.hardware.radio.V1_0.PcoDataInfo in) { + android.hardware.radio.PcoDataInfo out = new android.hardware.radio.PcoDataInfo(); + out.cid = in.cid; + out.bearerProto = in.bearerProto; + out.pcoId = in.pcoId; + if (in.contents != null) { + out.contents = new byte[in.contents.size()]; + for (int i = 0; i < in.contents.size(); i++) { + // FIXME This requires conversion between signed and unsigned. Change this if it + // doesn't suit your needs. + if (in.contents.get(i) > 127 || in.contents.get(i) < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.contents.get(i)"); + } + out.contents[i] = in.contents.get(i); + } + } + return out; + } + + static public android.hardware.radio.KeepaliveRequest h2aTranslate( + android.hardware.radio.V1_1.KeepaliveRequest in) { + android.hardware.radio.KeepaliveRequest out = new android.hardware.radio.KeepaliveRequest(); + out.type = in.type; + if (in.sourceAddress != null) { + out.sourceAddress = new byte[in.sourceAddress.size()]; + for (int i = 0; i < in.sourceAddress.size(); i++) { + // FIXME This requires conversion between signed and unsigned. Change this if it + // doesn't suit your needs. + if (in.sourceAddress.get(i) > 127 || in.sourceAddress.get(i) < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.sourceAddress.get(i)"); + } + out.sourceAddress[i] = in.sourceAddress.get(i); + } + } + out.sourcePort = in.sourcePort; + if (in.destinationAddress != null) { + out.destinationAddress = new byte[in.destinationAddress.size()]; + for (int i = 0; i < in.destinationAddress.size(); i++) { + // FIXME This requires conversion between signed and unsigned. Change this if it + // doesn't suit your needs. + if (in.destinationAddress.get(i) > 127 || in.destinationAddress.get(i) < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.destinationAddress.get(i)"); + } + out.destinationAddress[i] = in.destinationAddress.get(i); + } + } + out.destinationPort = in.destinationPort; + out.maxKeepaliveIntervalMillis = in.maxKeepaliveIntervalMillis; + out.cid = in.cid; + return out; + } + + static public android.hardware.radio.KeepaliveStatus h2aTranslate( + android.hardware.radio.V1_1.KeepaliveStatus in) { + android.hardware.radio.KeepaliveStatus out = new android.hardware.radio.KeepaliveStatus(); + out.sessionHandle = in.sessionHandle; + out.code = in.code; + return out; + } + + static public android.hardware.radio.CellIdentityOperatorNames h2aTranslate( + android.hardware.radio.V1_2.CellIdentityOperatorNames in) { + android.hardware.radio.CellIdentityOperatorNames out = + new android.hardware.radio.CellIdentityOperatorNames(); + out.alphaLong = in.alphaLong; + out.alphaShort = in.alphaShort; + return out; + } + + static public android.hardware.radio.CellIdentityCdma h2aTranslate( + android.hardware.radio.V1_2.CellIdentityCdma in) { + android.hardware.radio.CellIdentityCdma out = new android.hardware.radio.CellIdentityCdma(); + out.networkId = in.base.networkId; + out.systemId = in.base.systemId; + out.baseStationId = in.base.baseStationId; + out.longitude = in.base.longitude; + out.latitude = in.base.latitude; + out.operatorNames = h2aTranslate(in.operatorNames); + return out; + } + + static public android.hardware.radio.CellInfoCdma h2aTranslate( + android.hardware.radio.V1_2.CellInfoCdma in) { + android.hardware.radio.CellInfoCdma out = new android.hardware.radio.CellInfoCdma(); + out.cellIdentityCdma = h2aTranslate(in.cellIdentityCdma); + out.signalStrengthCdma = h2aTranslate(in.signalStrengthCdma); + out.signalStrengthEvdo = h2aTranslate(in.signalStrengthEvdo); + return out; + } + + static public android.hardware.radio.WcdmaSignalStrength h2aTranslate( + android.hardware.radio.V1_2.WcdmaSignalStrength in) { + android.hardware.radio.WcdmaSignalStrength out = + new android.hardware.radio.WcdmaSignalStrength(); + out.signalStrength = in.base.signalStrength; + out.bitErrorRate = in.base.bitErrorRate; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.rscp > 2147483647 || in.rscp < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.rscp"); + } + out.rscp = in.rscp; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.ecno > 2147483647 || in.ecno < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.ecno"); + } + out.ecno = in.ecno; + return out; + } + + static public android.hardware.radio.TdscdmaSignalStrength h2aTranslate( + android.hardware.radio.V1_2.TdscdmaSignalStrength in) { + android.hardware.radio.TdscdmaSignalStrength out = + new android.hardware.radio.TdscdmaSignalStrength(); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.signalStrength > 2147483647 || in.signalStrength < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.signalStrength"); + } + out.signalStrength = in.signalStrength; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.bitErrorRate > 2147483647 || in.bitErrorRate < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.bitErrorRate"); + } + out.bitErrorRate = in.bitErrorRate; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.rscp > 2147483647 || in.rscp < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.rscp"); + } + out.rscp = in.rscp; + return out; + } + + static public android.hardware.radio.VoiceRegStateResult h2aTranslate( + android.hardware.radio.V1_2.VoiceRegStateResult in) { + android.hardware.radio.VoiceRegStateResult out = + new android.hardware.radio.VoiceRegStateResult(); + out.regState = in.regState; + out.rat = in.rat; + out.cssSupported = in.cssSupported; + out.roamingIndicator = in.roamingIndicator; + out.systemIsInPrl = in.systemIsInPrl; + out.defaultRoamingIndicator = in.defaultRoamingIndicator; + out.reasonForDenial = in.reasonForDenial; + // FIXME Unknown type: android.hardware.radio@1.2::CellIdentity + // That type's package needs to be converted separately and the corresponding translate + // function should be added here. + return out; + } + + static public android.hardware.radio.RadioResponseInfoModem h2aTranslate( + android.hardware.radio.V1_3.RadioResponseInfoModem in) { + android.hardware.radio.RadioResponseInfoModem out = + new android.hardware.radio.RadioResponseInfoModem(); + out.type = in.type; + out.serial = in.serial; + out.error = in.error; + out.isEnabled = in.isEnabled; + return out; + } + + static public android.hardware.radio.EmergencyNumber h2aTranslate( + android.hardware.radio.V1_4.EmergencyNumber in) { + android.hardware.radio.EmergencyNumber out = new android.hardware.radio.EmergencyNumber(); + out.number = in.number; + out.mcc = in.mcc; + out.mnc = in.mnc; + out.categories = in.categories; + if (in.urns != null) { + out.urns = new String[in.urns.size()]; + for (int i = 0; i < in.urns.size(); i++) { + out.urns[i] = in.urns.get(i); + } + } + out.sources = in.sources; + return out; + } + + static public android.hardware.radio.RadioFrequencyInfo h2aTranslate( + android.hardware.radio.V1_4.RadioFrequencyInfo in) { + android.hardware.radio.RadioFrequencyInfo out = + new android.hardware.radio.RadioFrequencyInfo(); + switch (in.getDiscriminator()) { + case android.hardware.radio.V1_4.RadioFrequencyInfo.hidl_discriminator.range: + out.setRange(in.range()); + break; + case android.hardware.radio.V1_4.RadioFrequencyInfo.hidl_discriminator.channelNumber: + out.setChannelNumber(in.channelNumber()); + break; + default: + throw new RuntimeException( + "Unknown discriminator value: " + Integer.toString(in.getDiscriminator())); + } + return out; + } + + static public android.hardware.radio.LteVopsInfo h2aTranslate( + android.hardware.radio.V1_4.LteVopsInfo in) { + android.hardware.radio.LteVopsInfo out = new android.hardware.radio.LteVopsInfo(); + out.isVopsSupported = in.isVopsSupported; + out.isEmcBearerSupported = in.isEmcBearerSupported; + return out; + } + + static public android.hardware.radio.NrIndicators h2aTranslate( + android.hardware.radio.V1_4.NrIndicators in) { + android.hardware.radio.NrIndicators out = new android.hardware.radio.NrIndicators(); + out.isEndcAvailable = in.isEndcAvailable; + out.isDcNrRestricted = in.isDcNrRestricted; + out.isNrAvailable = in.isNrAvailable; + return out; + } + + static public android.hardware.radio.DataRegStateResult h2aTranslate( + android.hardware.radio.V1_4.DataRegStateResult in) { + android.hardware.radio.DataRegStateResult out = + new android.hardware.radio.DataRegStateResult(); + out.regState = in.base.regState; + out.rat = in.base.rat; + out.reasonDataDenied = in.base.reasonDataDenied; + out.maxDataCalls = in.base.maxDataCalls; + // FIXME Unknown type: android.hardware.radio@1.2::CellIdentity + // That type's package needs to be converted separately and the corresponding translate + // function should be added here. + out.vopsInfo = h2aTranslate(in.vopsInfo); + out.nrIndicators = h2aTranslate(in.nrIndicators); + return out; + } + + static public android.hardware.radio.DataRegStateResultVopsInfo h2aTranslate( + android.hardware.radio.V1_4.DataRegStateResult.VopsInfo in) { + android.hardware.radio.DataRegStateResultVopsInfo out = + new android.hardware.radio.DataRegStateResultVopsInfo(); + switch (in.getDiscriminator()) { + case android.hardware.radio.V1_4.DataRegStateResult.VopsInfo.hidl_discriminator.noinit: + // Nothing to translate for Monostate. + break; + case android.hardware.radio.V1_4.DataRegStateResult.VopsInfo.hidl_discriminator + .lteVopsInfo: + out.setLteVopsInfo(h2aTranslate(in.lteVopsInfo())); + break; + default: + throw new RuntimeException( + "Unknown discriminator value: " + Integer.toString(in.getDiscriminator())); + } + return out; + } + + static public android.hardware.radio.CellConfigLte h2aTranslate( + android.hardware.radio.V1_4.CellConfigLte in) { + android.hardware.radio.CellConfigLte out = new android.hardware.radio.CellConfigLte(); + out.isEndcAvailable = in.isEndcAvailable; + return out; + } + + static public android.hardware.radio.CellInfoInfo h2aTranslate( + android.hardware.radio.V1_4.CellInfo.Info in) { + android.hardware.radio.CellInfoInfo out = new android.hardware.radio.CellInfoInfo(); + switch (in.getDiscriminator()) { + case android.hardware.radio.V1_4.CellInfo.Info.hidl_discriminator.gsm: + // FIXME Unknown type: android.hardware.radio@1.2::CellInfoGsm + // That type's package needs to be converted separately and the corresponding + // translate function should be added here. + break; + case android.hardware.radio.V1_4.CellInfo.Info.hidl_discriminator.cdma: + out.setCdma(h2aTranslate(in.cdma())); + break; + case android.hardware.radio.V1_4.CellInfo.Info.hidl_discriminator.wcdma: + // FIXME Unknown type: android.hardware.radio@1.2::CellInfoWcdma + // That type's package needs to be converted separately and the corresponding + // translate function should be added here. + break; + case android.hardware.radio.V1_4.CellInfo.Info.hidl_discriminator.tdscdma: + // FIXME Unknown type: android.hardware.radio@1.2::CellInfoTdscdma + // That type's package needs to be converted separately and the corresponding + // translate function should be added here. + break; + case android.hardware.radio.V1_4.CellInfo.Info.hidl_discriminator.lte: + // FIXME Unknown type: android.hardware.radio@1.4::CellInfoLte + // That type's package needs to be converted separately and the corresponding + // translate function should be added here. + break; + case android.hardware.radio.V1_4.CellInfo.Info.hidl_discriminator.nr: + // FIXME Unknown type: android.hardware.radio@1.4::CellInfoNr + // That type's package needs to be converted separately and the corresponding + // translate function should be added here. + break; + default: + throw new RuntimeException( + "Unknown discriminator value: " + Integer.toString(in.getDiscriminator())); + } + return out; + } + + static public android.hardware.radio.RadioCapability h2aTranslate( + android.hardware.radio.V1_4.RadioCapability in) { + android.hardware.radio.RadioCapability out = new android.hardware.radio.RadioCapability(); + out.session = in.session; + out.phase = in.phase; + out.raf = in.raf; + out.logicalModemUuid = in.logicalModemUuid; + out.status = in.status; + return out; + } + + static public android.hardware.radio.CarrierRestrictionsWithPriority h2aTranslate( + android.hardware.radio.V1_4.CarrierRestrictionsWithPriority in) { + android.hardware.radio.CarrierRestrictionsWithPriority out = + new android.hardware.radio.CarrierRestrictionsWithPriority(); + if (in.allowedCarriers != null) { + out.allowedCarriers = new android.hardware.radio.Carrier[in.allowedCarriers.size()]; + for (int i = 0; i < in.allowedCarriers.size(); i++) { + out.allowedCarriers[i] = h2aTranslate(in.allowedCarriers.get(i)); + } + } + if (in.excludedCarriers != null) { + out.excludedCarriers = new android.hardware.radio.Carrier[in.excludedCarriers.size()]; + for (int i = 0; i < in.excludedCarriers.size(); i++) { + out.excludedCarriers[i] = h2aTranslate(in.excludedCarriers.get(i)); + } + } + out.allowedCarriersPrioritized = in.allowedCarriersPrioritized; + return out; + } + + static public android.hardware.radio.RadioAccessSpecifier h2aTranslate( + android.hardware.radio.V1_5.RadioAccessSpecifier in) { + android.hardware.radio.RadioAccessSpecifier out = + new android.hardware.radio.RadioAccessSpecifier(); + out.radioAccessNetwork = in.radioAccessNetwork; + out.bands = h2aTranslate(in.bands); + if (in.channels != null) { + out.channels = new int[in.channels.size()]; + for (int i = 0; i < in.channels.size(); i++) { + out.channels[i] = in.channels.get(i); + } + } + return out; + } + + static public android.hardware.radio.RadioAccessSpecifierBands h2aTranslate( + android.hardware.radio.V1_5.RadioAccessSpecifier.Bands in) { + android.hardware.radio.RadioAccessSpecifierBands out = + new android.hardware.radio.RadioAccessSpecifierBands(); + List bands; + switch (in.getDiscriminator()) { + case android.hardware.radio.V1_5.RadioAccessSpecifier.Bands.hidl_discriminator + .geranBands: + bands = in.geranBands(); + if (bands != null) { + int[] geranBands = new int[bands.size()]; + for (int i = 0; i < bands.size(); i++) { + geranBands[i] = bands.get(i); + } + out.geranBands(geranBands); + } + break; + case android.hardware.radio.V1_5.RadioAccessSpecifier.Bands.hidl_discriminator + .utranBands: + bands = in.utranBands(); + if (bands != null) { + int[] utranBands = new int[bands.size()]; + for (int i = 0; i < bands.size(); i++) { + utranBands[i] = bands.get(i); + } + out.utranBands(utranBands); + } + break; + case android.hardware.radio.V1_5.RadioAccessSpecifier.Bands.hidl_discriminator + .eutranBands: + bands = in.eutranBands(); + if (bands != null) { + int[] eutranBands = new int[bands.size()]; + for (int i = 0; i < bands.size(); i++) { + eutranBands[i] = bands.get(i); + } + out.eutranBands(eutranBands); + } + break; + case android.hardware.radio.V1_5.RadioAccessSpecifier.Bands.hidl_discriminator + .ngranBands: + bands = in.ngranBands(); + if (bands != null) { + int[] ngranBands = new int[bands.size()]; + for (int i = 0; i < bands.size(); i++) { + ngranBands[i] = bands.get(i); + } + out.ngranBands(ngranBands); + } + break; + default: + throw new RuntimeException( + "Unknown discriminator value: " + Integer.toString(in.getDiscriminator())); + } + return out; + } + + static public android.hardware.radio.SignalThresholdInfo h2aTranslate( + android.hardware.radio.V1_5.SignalThresholdInfo in) { + android.hardware.radio.SignalThresholdInfo out = + new android.hardware.radio.SignalThresholdInfo(); + out.signalMeasurement = in.signalMeasurement; + out.hysteresisMs = in.hysteresisMs; + out.hysteresisDb = in.hysteresisDb; + if (in.thresholds != null) { + out.thresholds = new int[in.thresholds.size()]; + for (int i = 0; i < in.thresholds.size(); i++) { + out.thresholds[i] = in.thresholds.get(i); + } + } + out.isEnabled = in.isEnabled; + return out; + } + + static public android.hardware.radio.NetworkScanRequest h2aTranslate( + android.hardware.radio.V1_5.NetworkScanRequest in) { + android.hardware.radio.NetworkScanRequest out = + new android.hardware.radio.NetworkScanRequest(); + out.type = in.type; + out.interval = in.interval; + if (in.specifiers != null) { + out.specifiers = new android.hardware.radio.RadioAccessSpecifier[in.specifiers.size()]; + for (int i = 0; i < in.specifiers.size(); i++) { + out.specifiers[i] = h2aTranslate(in.specifiers.get(i)); + } + } + out.maxSearchTime = in.maxSearchTime; + out.incrementalResults = in.incrementalResults; + out.incrementalResultsPeriodicity = in.incrementalResultsPeriodicity; + if (in.mccMncs != null) { + out.mccMncs = new String[in.mccMncs.size()]; + for (int i = 0; i < in.mccMncs.size(); i++) { + out.mccMncs[i] = in.mccMncs.get(i); + } + } + return out; + } + + static public android.hardware.radio.DataProfileInfo h2aTranslate( + android.hardware.radio.V1_5.DataProfileInfo in) { + android.hardware.radio.DataProfileInfo out = new android.hardware.radio.DataProfileInfo(); + out.profileId = in.profileId; + out.apn = in.apn; + out.protocol = in.protocol; + out.roamingProtocol = in.roamingProtocol; + out.authType = in.authType; + out.user = in.user; + out.password = in.password; + out.type = in.type; + out.maxConnsTime = in.maxConnsTime; + out.maxConns = in.maxConns; + out.waitTime = in.waitTime; + out.enabled = in.enabled; + out.supportedApnTypesBitmap = in.supportedApnTypesBitmap; + out.bearerBitmap = in.bearerBitmap; + out.mtuV4 = in.mtuV4; + out.mtuV6 = in.mtuV6; + out.preferred = in.preferred; + out.persistent = in.persistent; + return out; + } + + static public android.hardware.radio.LinkAddress h2aTranslate( + android.hardware.radio.V1_5.LinkAddress in) { + android.hardware.radio.LinkAddress out = new android.hardware.radio.LinkAddress(); + out.address = in.address; + out.properties = in.properties; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.deprecationTime > 9223372036854775807L || in.deprecationTime < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.deprecationTime"); + } + out.deprecationTime = in.deprecationTime; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.expirationTime > 9223372036854775807L || in.expirationTime < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.expirationTime"); + } + out.expirationTime = in.expirationTime; + return out; + } + + static public android.hardware.radio.ClosedSubscriberGroupInfo h2aTranslate( + android.hardware.radio.V1_5.ClosedSubscriberGroupInfo in) { + android.hardware.radio.ClosedSubscriberGroupInfo out = + new android.hardware.radio.ClosedSubscriberGroupInfo(); + out.csgIndication = in.csgIndication; + out.homeNodebName = in.homeNodebName; + out.csgIdentity = in.csgIdentity; + return out; + } + + static public android.hardware.radio.OptionalCsgInfo h2aTranslate( + android.hardware.radio.V1_5.OptionalCsgInfo in) { + android.hardware.radio.OptionalCsgInfo out = new android.hardware.radio.OptionalCsgInfo(); + switch (in.getDiscriminator()) { + case android.hardware.radio.V1_5.OptionalCsgInfo.hidl_discriminator.noinit: + // Nothing to translate for Monostate. + break; + case android.hardware.radio.V1_5.OptionalCsgInfo.hidl_discriminator.csgInfo: + out.setCsgInfo(h2aTranslate(in.csgInfo())); + break; + default: + throw new RuntimeException( + "Unknown discriminator value: " + Integer.toString(in.getDiscriminator())); + } + return out; + } + + static public android.hardware.radio.CellIdentityGsm h2aTranslate( + android.hardware.radio.V1_5.CellIdentityGsm in) { + android.hardware.radio.CellIdentityGsm out = new android.hardware.radio.CellIdentityGsm(); + out.mcc = in.base.base.mcc; + out.mnc = in.base.base.mnc; + out.lac = in.base.base.lac; + out.cid = in.base.base.cid; + out.arfcn = in.base.base.arfcn; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.base.base.bsic > 127 || in.base.base.bsic < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.base.base.bsic"); + } + out.bsic = in.base.base.bsic; + out.operatorNames = h2aTranslate(in.base.operatorNames); + if (in.additionalPlmns != null) { + out.additionalPlmns = new String[in.additionalPlmns.size()]; + for (int i = 0; i < in.additionalPlmns.size(); i++) { + out.additionalPlmns[i] = in.additionalPlmns.get(i); + } + } + return out; + } + + static public android.hardware.radio.CellIdentityWcdma h2aTranslate( + android.hardware.radio.V1_5.CellIdentityWcdma in) { + android.hardware.radio.CellIdentityWcdma out = + new android.hardware.radio.CellIdentityWcdma(); + out.mcc = in.base.base.mcc; + out.mnc = in.base.base.mnc; + out.lac = in.base.base.lac; + out.cid = in.base.base.cid; + out.psc = in.base.base.psc; + out.uarfcn = in.base.base.uarfcn; + out.operatorNames = h2aTranslate(in.base.operatorNames); + if (in.additionalPlmns != null) { + out.additionalPlmns = new String[in.additionalPlmns.size()]; + for (int i = 0; i < in.additionalPlmns.size(); i++) { + out.additionalPlmns[i] = in.additionalPlmns.get(i); + } + } + out.optionalCsgInfo = h2aTranslate(in.optionalCsgInfo); + return out; + } + + static public android.hardware.radio.CellIdentityTdscdma h2aTranslate( + android.hardware.radio.V1_5.CellIdentityTdscdma in) { + android.hardware.radio.CellIdentityTdscdma out = + new android.hardware.radio.CellIdentityTdscdma(); + out.mcc = in.base.base.mcc; + out.mnc = in.base.base.mnc; + out.lac = in.base.base.lac; + out.cid = in.base.base.cid; + out.cpid = in.base.base.cpid; + out.uarfcn = in.base.uarfcn; + out.operatorNames = h2aTranslate(in.base.operatorNames); + if (in.additionalPlmns != null) { + out.additionalPlmns = new String[in.additionalPlmns.size()]; + for (int i = 0; i < in.additionalPlmns.size(); i++) { + out.additionalPlmns[i] = in.additionalPlmns.get(i); + } + } + out.optionalCsgInfo = h2aTranslate(in.optionalCsgInfo); + return out; + } + + static public android.hardware.radio.CellIdentityLte h2aTranslate( + android.hardware.radio.V1_5.CellIdentityLte in) { + android.hardware.radio.CellIdentityLte out = new android.hardware.radio.CellIdentityLte(); + out.mcc = in.base.base.mcc; + out.mnc = in.base.base.mnc; + out.ci = in.base.base.ci; + out.pci = in.base.base.pci; + out.tac = in.base.base.tac; + out.earfcn = in.base.base.earfcn; + out.operatorNames = h2aTranslate(in.base.operatorNames); + out.bandwidth = in.base.bandwidth; + if (in.additionalPlmns != null) { + out.additionalPlmns = new String[in.additionalPlmns.size()]; + for (int i = 0; i < in.additionalPlmns.size(); i++) { + out.additionalPlmns[i] = in.additionalPlmns.get(i); + } + } + out.optionalCsgInfo = h2aTranslate(in.optionalCsgInfo); + if (in.bands != null) { + out.bands = new int[in.bands.size()]; + for (int i = 0; i < in.bands.size(); i++) { + out.bands[i] = in.bands.get(i); + } + } + return out; + } + + static public android.hardware.radio.CellIdentityNr h2aTranslate( + android.hardware.radio.V1_5.CellIdentityNr in) { + android.hardware.radio.CellIdentityNr out = new android.hardware.radio.CellIdentityNr(); + out.mcc = in.base.mcc; + out.mnc = in.base.mnc; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.base.nci > 9223372036854775807L || in.base.nci < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.base.nci"); + } + out.nci = in.base.nci; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.base.pci > 2147483647 || in.base.pci < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.base.pci"); + } + out.pci = in.base.pci; + out.tac = in.base.tac; + out.nrarfcn = in.base.nrarfcn; + out.operatorNames = h2aTranslate(in.base.operatorNames); + if (in.additionalPlmns != null) { + out.additionalPlmns = new String[in.additionalPlmns.size()]; + for (int i = 0; i < in.additionalPlmns.size(); i++) { + out.additionalPlmns[i] = in.additionalPlmns.get(i); + } + } + if (in.bands != null) { + out.bands = new int[in.bands.size()]; + for (int i = 0; i < in.bands.size(); i++) { + out.bands[i] = in.bands.get(i); + } + } + return out; + } + + static public android.hardware.radio.CellInfoGsm h2aTranslate( + android.hardware.radio.V1_5.CellInfoGsm in) { + android.hardware.radio.CellInfoGsm out = new android.hardware.radio.CellInfoGsm(); + out.cellIdentityGsm = h2aTranslate(in.cellIdentityGsm); + out.signalStrengthGsm = h2aTranslate(in.signalStrengthGsm); + return out; + } + + static public android.hardware.radio.CellInfoWcdma h2aTranslate( + android.hardware.radio.V1_5.CellInfoWcdma in) { + android.hardware.radio.CellInfoWcdma out = new android.hardware.radio.CellInfoWcdma(); + out.cellIdentityWcdma = h2aTranslate(in.cellIdentityWcdma); + out.signalStrengthWcdma = h2aTranslate(in.signalStrengthWcdma); + return out; + } + + static public android.hardware.radio.CellInfoTdscdma h2aTranslate( + android.hardware.radio.V1_5.CellInfoTdscdma in) { + android.hardware.radio.CellInfoTdscdma out = new android.hardware.radio.CellInfoTdscdma(); + out.cellIdentityTdscdma = h2aTranslate(in.cellIdentityTdscdma); + out.signalStrengthTdscdma = h2aTranslate(in.signalStrengthTdscdma); + return out; + } + + static public android.hardware.radio.CellIdentity h2aTranslate( + android.hardware.radio.V1_5.CellIdentity in) { + android.hardware.radio.CellIdentity out = new android.hardware.radio.CellIdentity(); + switch (in.getDiscriminator()) { + case android.hardware.radio.V1_5.CellIdentity.hidl_discriminator.noinit: + // Nothing to translate for Monostate. + break; + case android.hardware.radio.V1_5.CellIdentity.hidl_discriminator.gsm: + out.setGsm(h2aTranslate(in.gsm())); + break; + case android.hardware.radio.V1_5.CellIdentity.hidl_discriminator.wcdma: + out.setWcdma(h2aTranslate(in.wcdma())); + break; + case android.hardware.radio.V1_5.CellIdentity.hidl_discriminator.tdscdma: + out.setTdscdma(h2aTranslate(in.tdscdma())); + break; + case android.hardware.radio.V1_5.CellIdentity.hidl_discriminator.cdma: + out.setCdma(h2aTranslate(in.cdma())); + break; + case android.hardware.radio.V1_5.CellIdentity.hidl_discriminator.lte: + out.setLte(h2aTranslate(in.lte())); + break; + case android.hardware.radio.V1_5.CellIdentity.hidl_discriminator.nr: + out.setNr(h2aTranslate(in.nr())); + break; + default: + throw new RuntimeException( + "Unknown discriminator value: " + Integer.toString(in.getDiscriminator())); + } + return out; + } + + static public android.hardware.radio.BarringInfo h2aTranslate( + android.hardware.radio.V1_5.BarringInfo in) { + android.hardware.radio.BarringInfo out = new android.hardware.radio.BarringInfo(); + out.serviceType = in.serviceType; + out.barringType = in.barringType; + out.barringTypeSpecificInfo = h2aTranslate(in.barringTypeSpecificInfo); + return out; + } + + static public android.hardware.radio.BarringInfoBarringTypeSpecificInfoConditional h2aTranslate( + android.hardware.radio.V1_5.BarringInfo.BarringTypeSpecificInfo.Conditional in) { + android.hardware.radio.BarringInfoBarringTypeSpecificInfoConditional out = + new android.hardware.radio.BarringInfoBarringTypeSpecificInfoConditional(); + out.factor = in.factor; + out.timeSeconds = in.timeSeconds; + out.isBarred = in.isBarred; + return out; + } + + static public android.hardware.radio.BarringInfoBarringTypeSpecificInfo h2aTranslate( + android.hardware.radio.V1_5.BarringInfo.BarringTypeSpecificInfo in) { + android.hardware.radio.BarringInfoBarringTypeSpecificInfo out = + new android.hardware.radio.BarringInfoBarringTypeSpecificInfo(); + switch (in.getDiscriminator()) { + case android.hardware.radio.V1_5.BarringInfo.BarringTypeSpecificInfo.hidl_discriminator + .noinit: + // Nothing to translate for Monostate. + break; + case android.hardware.radio.V1_5.BarringInfo.BarringTypeSpecificInfo.hidl_discriminator + .conditional: + out.setConditional(h2aTranslate(in.conditional())); + break; + default: + throw new RuntimeException( + "Unknown discriminator value: " + Integer.toString(in.getDiscriminator())); + } + return out; + } + + static public android.hardware.radio + .RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo + h2aTranslate(android.hardware.radio.V1_5.RegStateResult.AccessTechnologySpecificInfo + .Cdma2000RegistrationInfo in) { + android.hardware.radio + .RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo out = + new android.hardware.radio + .RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo(); + out.cssSupported = in.cssSupported; + out.roamingIndicator = in.roamingIndicator; + out.systemIsInPrl = in.systemIsInPrl; + out.defaultRoamingIndicator = in.defaultRoamingIndicator; + return out; + } + + static public android.hardware.radio + .RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo + h2aTranslate(android.hardware.radio.V1_5.RegStateResult.AccessTechnologySpecificInfo + .EutranRegistrationInfo in) { + android.hardware.radio + .RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo out = + new android.hardware.radio + .RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo(); + out.lteVopsInfo = h2aTranslate(in.lteVopsInfo); + out.nrIndicators = h2aTranslate(in.nrIndicators); + return out; + } + + static public android.hardware.radio.AppStatus h2aTranslate( + android.hardware.radio.V1_5.AppStatus in) { + android.hardware.radio.AppStatus out = new android.hardware.radio.AppStatus(); + out.appType = in.base.appType; + out.appState = in.base.appState; + out.persoSubstate = in.persoSubstate; + out.aidPtr = in.base.aidPtr; + out.appLabelPtr = in.base.appLabelPtr; + out.pin1Replaced = in.base.pin1Replaced; + out.pin1 = in.base.pin1; + out.pin2 = in.base.pin2; + return out; + } + + static public android.hardware.radio.CardStatus h2aTranslate( + android.hardware.radio.V1_5.CardStatus in) { + android.hardware.radio.CardStatus out = new android.hardware.radio.CardStatus(); + out.cardState = in.base.base.base.cardState; + out.universalPinState = in.base.base.base.universalPinState; + out.gsmUmtsSubscriptionAppIndex = in.base.base.base.gsmUmtsSubscriptionAppIndex; + out.cdmaSubscriptionAppIndex = in.base.base.base.cdmaSubscriptionAppIndex; + out.imsSubscriptionAppIndex = in.base.base.base.imsSubscriptionAppIndex; + if (in.applications != null) { + out.applications = new android.hardware.radio.AppStatus[in.applications.size()]; + for (int i = 0; i < in.applications.size(); i++) { + out.applications[i] = h2aTranslate(in.applications.get(i)); + } + } + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.base.base.physicalSlotId > 2147483647 || in.base.base.physicalSlotId < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.base.base.physicalSlotId"); + } + out.physicalSlotId = in.base.base.physicalSlotId; + out.atr = in.base.base.atr; + out.iccid = in.base.base.iccid; + out.eid = in.base.eid; + return out; + } + + static public android.hardware.radio.QosBandwidth h2aTranslate( + android.hardware.radio.V1_6.QosBandwidth in) { + android.hardware.radio.QosBandwidth out = new android.hardware.radio.QosBandwidth(); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.maxBitrateKbps > 2147483647 || in.maxBitrateKbps < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.maxBitrateKbps"); + } + out.maxBitrateKbps = in.maxBitrateKbps; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.guaranteedBitrateKbps > 2147483647 || in.guaranteedBitrateKbps < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.guaranteedBitrateKbps"); + } + out.guaranteedBitrateKbps = in.guaranteedBitrateKbps; + return out; + } + + static public android.hardware.radio.EpsQos h2aTranslate( + android.hardware.radio.V1_6.EpsQos in) { + android.hardware.radio.EpsQos out = new android.hardware.radio.EpsQos(); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.qci < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.qci"); + } + out.qci = (char) in.qci; + out.downlink = h2aTranslate(in.downlink); + out.uplink = h2aTranslate(in.uplink); + return out; + } + + static public android.hardware.radio.NrQos h2aTranslate(android.hardware.radio.V1_6.NrQos in) { + android.hardware.radio.NrQos out = new android.hardware.radio.NrQos(); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.fiveQi < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.fiveQi"); + } + out.fiveQi = (char) in.fiveQi; + out.downlink = h2aTranslate(in.downlink); + out.uplink = h2aTranslate(in.uplink); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.qfi > 127 || in.qfi < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.qfi"); + } + out.qfi = in.qfi; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.averagingWindowMs < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.averagingWindowMs"); + } + out.averagingWindowMs = (char) in.averagingWindowMs; + return out; + } + + static public android.hardware.radio.Qos h2aTranslate(android.hardware.radio.V1_6.Qos in) { + android.hardware.radio.Qos out = new android.hardware.radio.Qos(); + switch (in.getDiscriminator()) { + case android.hardware.radio.V1_6.Qos.hidl_discriminator.noinit: + // Nothing to translate for Monostate. + break; + case android.hardware.radio.V1_6.Qos.hidl_discriminator.eps: + out.setEps(h2aTranslate(in.eps())); + break; + case android.hardware.radio.V1_6.Qos.hidl_discriminator.nr: + out.setNr(h2aTranslate(in.nr())); + break; + default: + throw new RuntimeException( + "Unknown discriminator value: " + Integer.toString(in.getDiscriminator())); + } + return out; + } + + static public android.hardware.radio.RadioResponseInfo h2aTranslate( + android.hardware.radio.V1_6.RadioResponseInfo in) { + android.hardware.radio.RadioResponseInfo out = + new android.hardware.radio.RadioResponseInfo(); + out.type = in.type; + out.serial = in.serial; + out.error = in.error; + return out; + } + + static public android.hardware.radio.PortRange h2aTranslate( + android.hardware.radio.V1_6.PortRange in) { + android.hardware.radio.PortRange out = new android.hardware.radio.PortRange(); + out.start = in.start; + out.end = in.end; + return out; + } + + static public android.hardware.radio.MaybePort h2aTranslate( + android.hardware.radio.V1_6.MaybePort in) { + android.hardware.radio.MaybePort out = new android.hardware.radio.MaybePort(); + switch (in.getDiscriminator()) { + case android.hardware.radio.V1_6.MaybePort.hidl_discriminator.noinit: + // Nothing to translate for Monostate. + break; + case android.hardware.radio.V1_6.MaybePort.hidl_discriminator.range: + out.setRange(h2aTranslate(in.range())); + break; + default: + throw new RuntimeException( + "Unknown discriminator value: " + Integer.toString(in.getDiscriminator())); + } + return out; + } + + static public android.hardware.radio.QosFilter h2aTranslate( + android.hardware.radio.V1_6.QosFilter in) { + android.hardware.radio.QosFilter out = new android.hardware.radio.QosFilter(); + if (in.localAddresses != null) { + out.localAddresses = new String[in.localAddresses.size()]; + for (int i = 0; i < in.localAddresses.size(); i++) { + out.localAddresses[i] = in.localAddresses.get(i); + } + } + if (in.remoteAddresses != null) { + out.remoteAddresses = new String[in.remoteAddresses.size()]; + for (int i = 0; i < in.remoteAddresses.size(); i++) { + out.remoteAddresses[i] = in.remoteAddresses.get(i); + } + } + out.localPort = h2aTranslate(in.localPort); + out.remotePort = h2aTranslate(in.remotePort); + out.protocol = in.protocol; + out.tos = h2aTranslate(in.tos); + out.flowLabel = h2aTranslate(in.flowLabel); + out.spi = h2aTranslate(in.spi); + out.direction = in.direction; + out.precedence = in.precedence; + return out; + } + + static public android.hardware.radio.QosFilterTypeOfService h2aTranslate( + android.hardware.radio.V1_6.QosFilter.TypeOfService in) { + android.hardware.radio.QosFilterTypeOfService out = + new android.hardware.radio.QosFilterTypeOfService(); + switch (in.getDiscriminator()) { + case android.hardware.radio.V1_6.QosFilter.TypeOfService.hidl_discriminator.noinit: + // Nothing to translate for Monostate. + break; + case android.hardware.radio.V1_6.QosFilter.TypeOfService.hidl_discriminator.value: + // FIXME This requires conversion between signed and unsigned. Change this if it + // doesn't suit your needs. + if (in.value() > 127 || in.value() < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.value()"); + } + out.setValue(in.value()); + break; + default: + throw new RuntimeException( + "Unknown discriminator value: " + Integer.toString(in.getDiscriminator())); + } + return out; + } + + static public android.hardware.radio.QosFilterIpv6FlowLabel h2aTranslate( + android.hardware.radio.V1_6.QosFilter.Ipv6FlowLabel in) { + android.hardware.radio.QosFilterIpv6FlowLabel out = + new android.hardware.radio.QosFilterIpv6FlowLabel(); + switch (in.getDiscriminator()) { + case android.hardware.radio.V1_6.QosFilter.Ipv6FlowLabel.hidl_discriminator.noinit: + // Nothing to translate for Monostate. + break; + case android.hardware.radio.V1_6.QosFilter.Ipv6FlowLabel.hidl_discriminator.value: + // FIXME This requires conversion between signed and unsigned. Change this if it + // doesn't suit your needs. + if (in.value() > 2147483647 || in.value() < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.value()"); + } + out.setValue(in.value()); + break; + default: + throw new RuntimeException( + "Unknown discriminator value: " + Integer.toString(in.getDiscriminator())); + } + return out; + } + + static public android.hardware.radio.QosFilterIpsecSpi h2aTranslate( + android.hardware.radio.V1_6.QosFilter.IpsecSpi in) { + android.hardware.radio.QosFilterIpsecSpi out = + new android.hardware.radio.QosFilterIpsecSpi(); + switch (in.getDiscriminator()) { + case android.hardware.radio.V1_6.QosFilter.IpsecSpi.hidl_discriminator.noinit: + // Nothing to translate for Monostate. + break; + case android.hardware.radio.V1_6.QosFilter.IpsecSpi.hidl_discriminator.value: + // FIXME This requires conversion between signed and unsigned. Change this if it + // doesn't suit your needs. + if (in.value() > 2147483647 || in.value() < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.value()"); + } + out.setValue(in.value()); + break; + default: + throw new RuntimeException( + "Unknown discriminator value: " + Integer.toString(in.getDiscriminator())); + } + return out; + } + + static public android.hardware.radio.QosSession h2aTranslate( + android.hardware.radio.V1_6.QosSession in) { + android.hardware.radio.QosSession out = new android.hardware.radio.QosSession(); + out.qosSessionId = in.qosSessionId; + out.qos = h2aTranslate(in.qos); + if (in.qosFilters != null) { + out.qosFilters = new android.hardware.radio.QosFilter[in.qosFilters.size()]; + for (int i = 0; i < in.qosFilters.size(); i++) { + out.qosFilters[i] = h2aTranslate(in.qosFilters.get(i)); + } + } + return out; + } + + static public android.hardware.radio.SetupDataCallResult h2aTranslate( + android.hardware.radio.V1_6.SetupDataCallResult in) { + android.hardware.radio.SetupDataCallResult out = + new android.hardware.radio.SetupDataCallResult(); + out.cause = in.cause; + out.suggestedRetryTime = in.suggestedRetryTime; + out.cid = in.cid; + out.active = in.active; + out.type = in.type; + out.ifname = in.ifname; + if (in.addresses != null) { + out.addresses = new android.hardware.radio.LinkAddress[in.addresses.size()]; + for (int i = 0; i < in.addresses.size(); i++) { + out.addresses[i] = h2aTranslate(in.addresses.get(i)); + } + } + if (in.dnses != null) { + out.dnses = new String[in.dnses.size()]; + for (int i = 0; i < in.dnses.size(); i++) { + out.dnses[i] = in.dnses.get(i); + } + } + if (in.gateways != null) { + out.gateways = new String[in.gateways.size()]; + for (int i = 0; i < in.gateways.size(); i++) { + out.gateways[i] = in.gateways.get(i); + } + } + if (in.pcscf != null) { + out.pcscf = new String[in.pcscf.size()]; + for (int i = 0; i < in.pcscf.size(); i++) { + out.pcscf[i] = in.pcscf.get(i); + } + } + out.mtuV4 = in.mtuV4; + out.mtuV6 = in.mtuV6; + out.defaultQos = h2aTranslate(in.defaultQos); + if (in.qosSessions != null) { + out.qosSessions = new android.hardware.radio.QosSession[in.qosSessions.size()]; + for (int i = 0; i < in.qosSessions.size(); i++) { + out.qosSessions[i] = h2aTranslate(in.qosSessions.get(i)); + } + } + out.handoverFailureMode = in.handoverFailureMode; + out.pduSessionId = in.pduSessionId; + out.sliceInfo = h2aTranslate(in.sliceInfo); + if (in.trafficDescriptors != null) { + out.trafficDescriptors = + new android.hardware.radio.TrafficDescriptor[in.trafficDescriptors.size()]; + for (int i = 0; i < in.trafficDescriptors.size(); i++) { + out.trafficDescriptors[i] = h2aTranslate(in.trafficDescriptors.get(i)); + } + } + return out; + } + + static public android.hardware.radio.LinkCapacityEstimate h2aTranslate( + android.hardware.radio.V1_6.LinkCapacityEstimate in) { + android.hardware.radio.LinkCapacityEstimate out = + new android.hardware.radio.LinkCapacityEstimate(); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.downlinkCapacityKbps > 2147483647 || in.downlinkCapacityKbps < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.downlinkCapacityKbps"); + } + out.downlinkCapacityKbps = in.downlinkCapacityKbps; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.uplinkCapacityKbps > 2147483647 || in.uplinkCapacityKbps < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.uplinkCapacityKbps"); + } + out.uplinkCapacityKbps = in.uplinkCapacityKbps; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.secondaryDownlinkCapacityKbps > 2147483647 || in.secondaryDownlinkCapacityKbps < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.secondaryDownlinkCapacityKbps"); + } + out.secondaryDownlinkCapacityKbps = in.secondaryDownlinkCapacityKbps; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.secondaryUplinkCapacityKbps > 2147483647 || in.secondaryUplinkCapacityKbps < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.secondaryUplinkCapacityKbps"); + } + out.secondaryUplinkCapacityKbps = in.secondaryUplinkCapacityKbps; + return out; + } + + static public android.hardware.radio.NrVopsInfo h2aTranslate( + android.hardware.radio.V1_6.NrVopsInfo in) { + android.hardware.radio.NrVopsInfo out = new android.hardware.radio.NrVopsInfo(); + out.vopsSupported = in.vopsSupported; + out.emcSupported = in.emcSupported; + out.emfSupported = in.emfSupported; + return out; + } + + static public android.hardware.radio.LteSignalStrength h2aTranslate( + android.hardware.radio.V1_6.LteSignalStrength in) { + android.hardware.radio.LteSignalStrength out = + new android.hardware.radio.LteSignalStrength(); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.base.signalStrength > 2147483647 || in.base.signalStrength < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.base.signalStrength"); + } + out.signalStrength = in.base.signalStrength; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.base.rsrp > 2147483647 || in.base.rsrp < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.base.rsrp"); + } + out.rsrp = in.base.rsrp; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.base.rsrq > 2147483647 || in.base.rsrq < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.base.rsrq"); + } + out.rsrq = in.base.rsrq; + out.rssnr = in.base.rssnr; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.base.cqi > 2147483647 || in.base.cqi < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.base.cqi"); + } + out.cqi = in.base.cqi; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.base.timingAdvance > 2147483647 || in.base.timingAdvance < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.base.timingAdvance"); + } + out.timingAdvance = in.base.timingAdvance; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.cqiTableIndex > 2147483647 || in.cqiTableIndex < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.cqiTableIndex"); + } + out.cqiTableIndex = in.cqiTableIndex; + return out; + } + + static public android.hardware.radio.NrSignalStrength h2aTranslate( + android.hardware.radio.V1_6.NrSignalStrength in) { + android.hardware.radio.NrSignalStrength out = new android.hardware.radio.NrSignalStrength(); + out.ssRsrp = in.base.ssRsrp; + out.ssRsrq = in.base.ssRsrq; + out.ssSinr = in.base.ssSinr; + out.csiRsrp = in.base.csiRsrp; + out.csiRsrq = in.base.csiRsrq; + out.csiSinr = in.base.csiSinr; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.csiCqiTableIndex > 2147483647 || in.csiCqiTableIndex < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.csiCqiTableIndex"); + } + out.csiCqiTableIndex = in.csiCqiTableIndex; + if (in.csiCqiReport != null) { + out.csiCqiReport = new byte[in.csiCqiReport.size()]; + for (int i = 0; i < in.csiCqiReport.size(); i++) { + // FIXME This requires conversion between signed and unsigned. Change this if it + // doesn't suit your needs. + if (in.csiCqiReport.get(i) > 127 || in.csiCqiReport.get(i) < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.csiCqiReport.get(i)"); + } + out.csiCqiReport[i] = in.csiCqiReport.get(i); + } + } + return out; + } + + static public android.hardware.radio.SignalStrength h2aTranslate( + android.hardware.radio.V1_6.SignalStrength in) { + android.hardware.radio.SignalStrength out = new android.hardware.radio.SignalStrength(); + out.gsm = h2aTranslate(in.gsm); + out.cdma = h2aTranslate(in.cdma); + out.evdo = h2aTranslate(in.evdo); + out.lte = h2aTranslate(in.lte); + out.tdscdma = h2aTranslate(in.tdscdma); + out.wcdma = h2aTranslate(in.wcdma); + out.nr = h2aTranslate(in.nr); + return out; + } + + static public android.hardware.radio.CellInfoLte h2aTranslate( + android.hardware.radio.V1_6.CellInfoLte in) { + android.hardware.radio.CellInfoLte out = new android.hardware.radio.CellInfoLte(); + out.cellIdentityLte = h2aTranslate(in.cellIdentityLte); + out.signalStrengthLte = h2aTranslate(in.signalStrengthLte); + return out; + } + + static public android.hardware.radio.CellInfoNr h2aTranslate( + android.hardware.radio.V1_6.CellInfoNr in) { + android.hardware.radio.CellInfoNr out = new android.hardware.radio.CellInfoNr(); + out.cellIdentityNr = h2aTranslate(in.cellIdentityNr); + out.signalStrengthNr = h2aTranslate(in.signalStrengthNr); + return out; + } + + static public android.hardware.radio.CellInfo h2aTranslate( + android.hardware.radio.V1_6.CellInfo in) { + android.hardware.radio.CellInfo out = new android.hardware.radio.CellInfo(); + out.registered = in.registered; + out.connectionStatus = in.connectionStatus; + out.ratSpecificInfo = h2aTranslate(in.ratSpecificInfo); + return out; + } + + static public android.hardware.radio.CellInfoCellInfoRatSpecificInfo h2aTranslate( + android.hardware.radio.V1_6.CellInfo.CellInfoRatSpecificInfo in) { + android.hardware.radio.CellInfoCellInfoRatSpecificInfo out = + new android.hardware.radio.CellInfoCellInfoRatSpecificInfo(); + switch (in.getDiscriminator()) { + case android.hardware.radio.V1_6.CellInfo.CellInfoRatSpecificInfo.hidl_discriminator + .gsm: + out.setGsm(h2aTranslate(in.gsm())); + break; + case android.hardware.radio.V1_6.CellInfo.CellInfoRatSpecificInfo.hidl_discriminator + .wcdma: + out.setWcdma(h2aTranslate(in.wcdma())); + break; + case android.hardware.radio.V1_6.CellInfo.CellInfoRatSpecificInfo.hidl_discriminator + .tdscdma: + out.setTdscdma(h2aTranslate(in.tdscdma())); + break; + case android.hardware.radio.V1_6.CellInfo.CellInfoRatSpecificInfo.hidl_discriminator + .lte: + out.setLte(h2aTranslate(in.lte())); + break; + case android.hardware.radio.V1_6.CellInfo.CellInfoRatSpecificInfo.hidl_discriminator.nr: + out.setNr(h2aTranslate(in.nr())); + break; + case android.hardware.radio.V1_6.CellInfo.CellInfoRatSpecificInfo.hidl_discriminator + .cdma: + out.setCdma(h2aTranslate(in.cdma())); + break; + default: + throw new RuntimeException( + "Unknown discriminator value: " + Integer.toString(in.getDiscriminator())); + } + return out; + } + + static public android.hardware.radio.NetworkScanResult h2aTranslate( + android.hardware.radio.V1_6.NetworkScanResult in) { + android.hardware.radio.NetworkScanResult out = + new android.hardware.radio.NetworkScanResult(); + out.status = in.status; + out.error = in.error; + if (in.networkInfos != null) { + out.networkInfos = new android.hardware.radio.CellInfo[in.networkInfos.size()]; + for (int i = 0; i < in.networkInfos.size(); i++) { + out.networkInfos[i] = h2aTranslate(in.networkInfos.get(i)); + } + } + return out; + } + + static public android.hardware.radio.RegStateResult h2aTranslate( + android.hardware.radio.V1_6.RegStateResult in) { + android.hardware.radio.RegStateResult out = new android.hardware.radio.RegStateResult(); + out.regState = in.regState; + out.rat = in.rat; + out.reasonForDenial = in.reasonForDenial; + out.cellIdentity = h2aTranslate(in.cellIdentity); + out.registeredPlmn = in.registeredPlmn; + out.accessTechnologySpecificInfo = h2aTranslate(in.accessTechnologySpecificInfo); + return out; + } + + static public android.hardware.radio.RegStateResultAccessTechnologySpecificInfo h2aTranslate( + android.hardware.radio.V1_6.RegStateResult.AccessTechnologySpecificInfo in) { + android.hardware.radio.RegStateResultAccessTechnologySpecificInfo out = + new android.hardware.radio.RegStateResultAccessTechnologySpecificInfo(); + switch (in.getDiscriminator()) { + case android.hardware.radio.V1_6.RegStateResult.AccessTechnologySpecificInfo + .hidl_discriminator.noinit: + // Nothing to translate for Monostate. + break; + case android.hardware.radio.V1_6.RegStateResult.AccessTechnologySpecificInfo + .hidl_discriminator.cdmaInfo: + out.setCdmaInfo(h2aTranslate(in.cdmaInfo())); + break; + case android.hardware.radio.V1_6.RegStateResult.AccessTechnologySpecificInfo + .hidl_discriminator.eutranInfo: + out.setEutranInfo(h2aTranslate(in.eutranInfo())); + break; + case android.hardware.radio.V1_6.RegStateResult.AccessTechnologySpecificInfo + .hidl_discriminator.ngranNrVopsInfo: + out.setNgranNrVopsInfo(h2aTranslate(in.ngranNrVopsInfo())); + break; + case android.hardware.radio.V1_6.RegStateResult.AccessTechnologySpecificInfo + .hidl_discriminator.geranDtmSupported: + out.setGeranDtmSupported(in.geranDtmSupported()); + break; + default: + throw new RuntimeException( + "Unknown discriminator value: " + Integer.toString(in.getDiscriminator())); + } + return out; + } + + static public android.hardware.radio.Call h2aTranslate(android.hardware.radio.V1_6.Call in) { + android.hardware.radio.Call out = new android.hardware.radio.Call(); + out.state = in.base.base.state; + out.index = in.base.base.index; + out.toa = in.base.base.toa; + out.isMpty = in.base.base.isMpty; + out.isMT = in.base.base.isMT; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.base.base.als > 127 || in.base.base.als < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.base.base.als"); + } + out.als = in.base.base.als; + out.isVoice = in.base.base.isVoice; + out.isVoicePrivacy = in.base.base.isVoicePrivacy; + out.number = in.base.base.number; + out.numberPresentation = in.base.base.numberPresentation; + out.name = in.base.base.name; + out.namePresentation = in.base.base.namePresentation; + if (in.base.base.uusInfo != null) { + out.uusInfo = new android.hardware.radio.UusInfo[in.base.base.uusInfo.size()]; + for (int i = 0; i < in.base.base.uusInfo.size(); i++) { + out.uusInfo[i] = h2aTranslate(in.base.base.uusInfo.get(i)); + } + } + out.audioQuality = in.base.audioQuality; + out.forwardedNumber = in.forwardedNumber; + return out; + } + + static public android.hardware.radio.PhysicalChannelConfig h2aTranslate( + android.hardware.radio.V1_6.PhysicalChannelConfig in) { + android.hardware.radio.PhysicalChannelConfig out = + new android.hardware.radio.PhysicalChannelConfig(); + out.status = in.status; + out.rat = in.rat; + out.downlinkChannelNumber = in.downlinkChannelNumber; + out.uplinkChannelNumber = in.uplinkChannelNumber; + out.cellBandwidthDownlinkKhz = in.cellBandwidthDownlinkKhz; + out.cellBandwidthUplinkKhz = in.cellBandwidthUplinkKhz; + if (in.contextIds != null) { + out.contextIds = new int[in.contextIds.size()]; + for (int i = 0; i < in.contextIds.size(); i++) { + out.contextIds[i] = in.contextIds.get(i); + } + } + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.physicalCellId > 2147483647 || in.physicalCellId < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.physicalCellId"); + } + out.physicalCellId = in.physicalCellId; + out.band = h2aTranslate(in.band); + return out; + } + + static public android.hardware.radio.PhysicalChannelConfigBand h2aTranslate( + android.hardware.radio.V1_6.PhysicalChannelConfig.Band in) { + android.hardware.radio.PhysicalChannelConfigBand out = + new android.hardware.radio.PhysicalChannelConfigBand(); + switch (in.getDiscriminator()) { + case android.hardware.radio.V1_6.PhysicalChannelConfig.Band.hidl_discriminator + .geranBand: + out.setGeranBand(in.geranBand()); + break; + case android.hardware.radio.V1_6.PhysicalChannelConfig.Band.hidl_discriminator + .utranBand: + out.setUtranBand(in.utranBand()); + break; + case android.hardware.radio.V1_6.PhysicalChannelConfig.Band.hidl_discriminator + .eutranBand: + out.setEutranBand(in.eutranBand()); + break; + case android.hardware.radio.V1_6.PhysicalChannelConfig.Band.hidl_discriminator + .ngranBand: + out.setNgranBand(in.ngranBand()); + break; + default: + throw new RuntimeException( + "Unknown discriminator value: " + Integer.toString(in.getDiscriminator())); + } + return out; + } + + static public android.hardware.radio.OptionalSliceInfo h2aTranslate( + android.hardware.radio.V1_6.OptionalSliceInfo in) { + android.hardware.radio.OptionalSliceInfo out = + new android.hardware.radio.OptionalSliceInfo(); + switch (in.getDiscriminator()) { + case android.hardware.radio.V1_6.OptionalSliceInfo.hidl_discriminator.noinit: + // Nothing to translate for Monostate. + break; + case android.hardware.radio.V1_6.OptionalSliceInfo.hidl_discriminator.value: + out.setValue(h2aTranslate(in.value())); + break; + default: + throw new RuntimeException( + "Unknown discriminator value: " + Integer.toString(in.getDiscriminator())); + } + return out; + } + + static public android.hardware.radio.SliceInfo h2aTranslate( + android.hardware.radio.V1_6.SliceInfo in) { + android.hardware.radio.SliceInfo out = new android.hardware.radio.SliceInfo(); + out.sst = in.sst; + out.sliceDifferentiator = in.sliceDifferentiator; + out.mappedHplmnSst = in.mappedHplmnSst; + out.mappedHplmnSD = in.mappedHplmnSD; + out.status = in.status; + return out; + } + + static public android.hardware.radio.OptionalDnn h2aTranslate( + android.hardware.radio.V1_6.OptionalDnn in) { + android.hardware.radio.OptionalDnn out = new android.hardware.radio.OptionalDnn(); + switch (in.getDiscriminator()) { + case android.hardware.radio.V1_6.OptionalDnn.hidl_discriminator.noinit: + // Nothing to translate for Monostate. + break; + case android.hardware.radio.V1_6.OptionalDnn.hidl_discriminator.value: + out.setValue(in.value()); + break; + default: + throw new RuntimeException( + "Unknown discriminator value: " + Integer.toString(in.getDiscriminator())); + } + return out; + } + + static public android.hardware.radio.OptionalOsAppId h2aTranslate( + android.hardware.radio.V1_6.OptionalOsAppId in) { + android.hardware.radio.OptionalOsAppId out = new android.hardware.radio.OptionalOsAppId(); + switch (in.getDiscriminator()) { + case android.hardware.radio.V1_6.OptionalOsAppId.hidl_discriminator.noinit: + // Nothing to translate for Monostate. + break; + case android.hardware.radio.V1_6.OptionalOsAppId.hidl_discriminator.value: + out.setValue(h2aTranslate(in.value())); + break; + default: + throw new RuntimeException( + "Unknown discriminator value: " + Integer.toString(in.getDiscriminator())); + } + return out; + } + + static public android.hardware.radio.OptionalTrafficDescriptor h2aTranslate( + android.hardware.radio.V1_6.OptionalTrafficDescriptor in) { + android.hardware.radio.OptionalTrafficDescriptor out = + new android.hardware.radio.OptionalTrafficDescriptor(); + switch (in.getDiscriminator()) { + case android.hardware.radio.V1_6.OptionalTrafficDescriptor.hidl_discriminator.noinit: + // Nothing to translate for Monostate. + break; + case android.hardware.radio.V1_6.OptionalTrafficDescriptor.hidl_discriminator.value: + out.setValue(h2aTranslate(in.value())); + break; + default: + throw new RuntimeException( + "Unknown discriminator value: " + Integer.toString(in.getDiscriminator())); + } + return out; + } + + static public android.hardware.radio.TrafficDescriptor h2aTranslate( + android.hardware.radio.V1_6.TrafficDescriptor in) { + android.hardware.radio.TrafficDescriptor out = + new android.hardware.radio.TrafficDescriptor(); + out.dnn = h2aTranslate(in.dnn); + out.osAppId = h2aTranslate(in.osAppId); + return out; + } + + static public android.hardware.radio.OsAppId h2aTranslate( + android.hardware.radio.V1_6.OsAppId in) { + android.hardware.radio.OsAppId out = new android.hardware.radio.OsAppId(); + if (in.osAppId != null) { + out.osAppId = new byte[in.osAppId.size()]; + for (int i = 0; i < in.osAppId.size(); i++) { + // FIXME This requires conversion between signed and unsigned. Change this if it + // doesn't suit your needs. + if (in.osAppId.get(i) > 127 || in.osAppId.get(i) < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.osAppId.get(i)"); + } + out.osAppId[i] = in.osAppId.get(i); + } + } + return out; + } + + static public android.hardware.radio.SlicingConfig h2aTranslate( + android.hardware.radio.V1_6.SlicingConfig in) { + android.hardware.radio.SlicingConfig out = new android.hardware.radio.SlicingConfig(); + if (in.urspRules != null) { + out.urspRules = new android.hardware.radio.UrspRule[in.urspRules.size()]; + for (int i = 0; i < in.urspRules.size(); i++) { + out.urspRules[i] = h2aTranslate(in.urspRules.get(i)); + } + } + if (in.sliceInfo != null) { + out.sliceInfo = new android.hardware.radio.SliceInfo[in.sliceInfo.size()]; + for (int i = 0; i < in.sliceInfo.size(); i++) { + out.sliceInfo[i] = h2aTranslate(in.sliceInfo.get(i)); + } + } + return out; + } + + static public android.hardware.radio.UrspRule h2aTranslate( + android.hardware.radio.V1_6.UrspRule in) { + android.hardware.radio.UrspRule out = new android.hardware.radio.UrspRule(); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.precedence > 127 || in.precedence < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.precedence"); + } + out.precedence = in.precedence; + if (in.trafficDescriptors != null) { + out.trafficDescriptors = + new android.hardware.radio.TrafficDescriptor[in.trafficDescriptors.size()]; + for (int i = 0; i < in.trafficDescriptors.size(); i++) { + out.trafficDescriptors[i] = h2aTranslate(in.trafficDescriptors.get(i)); + } + } + if (in.routeSelectionDescriptor != null) { + out.routeSelectionDescriptor = + new android.hardware.radio + .RouteSelectionDescriptor[in.routeSelectionDescriptor.size()]; + for (int i = 0; i < in.routeSelectionDescriptor.size(); i++) { + out.routeSelectionDescriptor[i] = h2aTranslate(in.routeSelectionDescriptor.get(i)); + } + } + return out; + } + + static public android.hardware.radio.RouteSelectionDescriptor h2aTranslate( + android.hardware.radio.V1_6.RouteSelectionDescriptor in) { + android.hardware.radio.RouteSelectionDescriptor out = + new android.hardware.radio.RouteSelectionDescriptor(); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.precedence > 127 || in.precedence < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.precedence"); + } + out.precedence = in.precedence; + out.sessionType = h2aTranslate(in.sessionType); + out.sscMode = h2aTranslate(in.sscMode); + if (in.sliceInfo != null) { + out.sliceInfo = new android.hardware.radio.SliceInfo[in.sliceInfo.size()]; + for (int i = 0; i < in.sliceInfo.size(); i++) { + out.sliceInfo[i] = h2aTranslate(in.sliceInfo.get(i)); + } + } + if (in.dnn != null) { + out.dnn = new String[in.dnn.size()]; + for (int i = 0; i < in.dnn.size(); i++) { + out.dnn[i] = in.dnn.get(i); + } + } + return out; + } + + static public android.hardware.radio.OptionalPdpProtocolType h2aTranslate( + android.hardware.radio.V1_6.OptionalPdpProtocolType in) { + android.hardware.radio.OptionalPdpProtocolType out = + new android.hardware.radio.OptionalPdpProtocolType(); + switch (in.getDiscriminator()) { + case android.hardware.radio.V1_6.OptionalPdpProtocolType.hidl_discriminator.noinit: + // Nothing to translate for Monostate. + break; + case android.hardware.radio.V1_6.OptionalPdpProtocolType.hidl_discriminator.value: + out.setValue(in.value()); + break; + default: + throw new RuntimeException( + "Unknown discriminator value: " + Integer.toString(in.getDiscriminator())); + } + return out; + } + + static public android.hardware.radio.OptionalSscMode h2aTranslate( + android.hardware.radio.V1_6.OptionalSscMode in) { + android.hardware.radio.OptionalSscMode out = new android.hardware.radio.OptionalSscMode(); + switch (in.getDiscriminator()) { + case android.hardware.radio.V1_6.OptionalSscMode.hidl_discriminator.noinit: + // Nothing to translate for Monostate. + break; + case android.hardware.radio.V1_6.OptionalSscMode.hidl_discriminator.value: + out.setValue(in.value()); + break; + default: + throw new RuntimeException( + "Unknown discriminator value: " + Integer.toString(in.getDiscriminator())); + } + return out; + } + + static public android.hardware.radio.ImsiEncryptionInfo h2aTranslate( + android.hardware.radio.V1_6.ImsiEncryptionInfo in) { + android.hardware.radio.ImsiEncryptionInfo out = + new android.hardware.radio.ImsiEncryptionInfo(); + out.mcc = in.base.mcc; + out.mnc = in.base.mnc; + if (in.base.carrierKey != null) { + out.carrierKey = new byte[in.base.carrierKey.size()]; + for (int i = 0; i < in.base.carrierKey.size(); i++) { + // FIXME This requires conversion between signed and unsigned. Change this if it + // doesn't suit your needs. + if (in.base.carrierKey.get(i) > 127 || in.base.carrierKey.get(i) < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.base.carrierKey.get(i)"); + } + out.carrierKey[i] = in.base.carrierKey.get(i); + } + } + out.keyIdentifier = in.base.keyIdentifier; + out.expirationTime = in.base.expirationTime; + out.keyType = in.keyType; + return out; + } + + static public android.hardware.radio.PhonebookRecordInfo h2aTranslate( + android.hardware.radio.V1_6.PhonebookRecordInfo in) { + android.hardware.radio.PhonebookRecordInfo out = + new android.hardware.radio.PhonebookRecordInfo(); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.recordId > 2147483647 || in.recordId < 0) { + throw new RuntimeException( + "Unsafe conversion between signed and unsigned scalars for field: in.recordId"); + } + out.recordId = in.recordId; + out.name = in.name; + out.number = in.number; + if (in.emails != null) { + out.emails = new String[in.emails.size()]; + for (int i = 0; i < in.emails.size(); i++) { + out.emails[i] = in.emails.get(i); + } + } + if (in.additionalNumbers != null) { + out.additionalNumbers = new String[in.additionalNumbers.size()]; + for (int i = 0; i < in.additionalNumbers.size(); i++) { + out.additionalNumbers[i] = in.additionalNumbers.get(i); + } + } + return out; + } + + static public android.hardware.radio.PhonebookCapacity h2aTranslate( + android.hardware.radio.V1_6.PhonebookCapacity in) { + android.hardware.radio.PhonebookCapacity out = + new android.hardware.radio.PhonebookCapacity(); + out.maxAdnRecords = in.maxAdnRecords; + out.usedAdnRecords = in.usedAdnRecords; + out.maxEmailRecords = in.maxEmailRecords; + out.usedEmailRecords = in.usedEmailRecords; + out.maxAdditionalNumberRecords = in.maxAdditionalNumberRecords; + out.usedAdditionalNumberRecords = in.usedAdditionalNumberRecords; + out.maxNameLen = in.maxNameLen; + out.maxNumberLen = in.maxNumberLen; + out.maxEmailLen = in.maxEmailLen; + out.maxAdditionalNumberLen = in.maxAdditionalNumberLen; + return out; + } +} diff --git a/radio/aidl/android/hardware/radio/TtyMode.aidl b/radio/aidl/android/hardware/radio/TtyMode.aidl new file mode 100644 index 0000000000..344ba67734 --- /dev/null +++ b/radio/aidl/android/hardware/radio/TtyMode.aidl @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum TtyMode { + OFF, + FULL, + /** + * Hearing carryover + */ + HCO, + /** + * Voice carryover + */ + VCO, +} diff --git a/radio/aidl/android/hardware/radio/UiccSubActStatus.aidl b/radio/aidl/android/hardware/radio/UiccSubActStatus.aidl new file mode 100644 index 0000000000..b2bb03ecef --- /dev/null +++ b/radio/aidl/android/hardware/radio/UiccSubActStatus.aidl @@ -0,0 +1,24 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum UiccSubActStatus { + DEACTIVATE, + ACTIVATE, +} diff --git a/radio/aidl/android/hardware/radio/UrspRule.aidl b/radio/aidl/android/hardware/radio/UrspRule.aidl new file mode 100644 index 0000000000..244bcb13bc --- /dev/null +++ b/radio/aidl/android/hardware/radio/UrspRule.aidl @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.RouteSelectionDescriptor; +import android.hardware.radio.TrafficDescriptor; + +/** + * This struct represents a single URSP rule as defined in 3GPP TS 24.526. + */ +@VintfStability +parcelable UrspRule { + /** + * Precedence value in the range of 0 to 255. Higher value has lower precedence. + */ + byte precedence; + /** + * Used as a matcher for network requests. + */ + TrafficDescriptor[] trafficDescriptors; + /** + * List of routes (connection parameters) that must be used for requests matching a + * trafficDescriptor. + */ + RouteSelectionDescriptor[] routeSelectionDescriptor; +} diff --git a/radio/aidl/android/hardware/radio/UssdModeType.aidl b/radio/aidl/android/hardware/radio/UssdModeType.aidl new file mode 100644 index 0000000000..187130c48c --- /dev/null +++ b/radio/aidl/android/hardware/radio/UssdModeType.aidl @@ -0,0 +1,46 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +@Backing(type="int") +enum UssdModeType { + /** + * USSD-Notify + */ + NOTIFY, + /** + * USSD-Request + */ + REQUEST, + /** + * Session terminated by network + */ + NW_RELEASE, + /** + * Other local client (eg, SIM Toolkit) has responded + */ + LOCAL_CLIENT, + /** + * Operation not supported + */ + NOT_SUPPORTED, + /** + * Network timeout + */ + NW_TIMEOUT, +} diff --git a/radio/aidl/android/hardware/radio/UtranBands.aidl b/radio/aidl/android/hardware/radio/UtranBands.aidl new file mode 100644 index 0000000000..8a22ed75b3 --- /dev/null +++ b/radio/aidl/android/hardware/radio/UtranBands.aidl @@ -0,0 +1,54 @@ +/* + * Copyright (C) 2021 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; + +/** + * UTRAN bands up to V15.0.0 + */ +@VintfStability +@Backing(type="int") +enum UtranBands { + BAND_1 = 1, + BAND_2 = 2, + BAND_3 = 3, + BAND_4 = 4, + BAND_5 = 5, + BAND_6 = 6, + BAND_7 = 7, + BAND_8 = 8, + BAND_9 = 9, + BAND_10 = 10, + BAND_11 = 11, + BAND_12 = 12, + BAND_13 = 13, + BAND_14 = 14, + BAND_19 = 19, + BAND_20 = 20, + BAND_21 = 21, + BAND_22 = 22, + BAND_25 = 25, + BAND_26 = 26, + /** + * TD-SCDMA bands. 3GPP TS 25.102, Table 5.2: Frequency bands + */ + BAND_A = 101, + BAND_B = 102, + BAND_C = 103, + BAND_D = 104, + BAND_E = 105, + BAND_F = 106, +} diff --git a/radio/aidl/android/hardware/radio/UusDcs.aidl b/radio/aidl/android/hardware/radio/UusDcs.aidl new file mode 100644 index 0000000000..b157e47a7d --- /dev/null +++ b/radio/aidl/android/hardware/radio/UusDcs.aidl @@ -0,0 +1,47 @@ +/* + * Copyright (C) 2021 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; + +/** + * User-to-User Signaling Information data coding schemes. Possible values for Octet 3 (Protocol + * Discriminator field) in the UUIE. The values have been specified in section 10.5.4.25 of + * 3GPP TS 24.008 + */ +@VintfStability +@Backing(type="int") +enum UusDcs { + /** + * User specified protocol + */ + USP, + /** + * OSI higher layer protocol + */ + OSIHLP, + /** + * X.244 + */ + X244, + /** + * Reserved for system management + */ + RMCF, + /** + * IA5 characters + */ + IA5C, +} diff --git a/radio/aidl/android/hardware/radio/UusInfo.aidl b/radio/aidl/android/hardware/radio/UusInfo.aidl new file mode 100644 index 0000000000..b766b0dc61 --- /dev/null +++ b/radio/aidl/android/hardware/radio/UusInfo.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.UusDcs; +import android.hardware.radio.UusType; + +/** + * User-to-User Signaling Information defined in 3GPP 23.087 v8.0 + */ +@VintfStability +parcelable UusInfo { + /** + * UUS type + */ + UusType uusType; + /** + * UUS data coding scheme + */ + UusDcs uusDcs; + /** + * UUS data + */ + String uusData; +} diff --git a/radio/aidl/android/hardware/radio/UusType.aidl b/radio/aidl/android/hardware/radio/UusType.aidl new file mode 100644 index 0000000000..af86c9780e --- /dev/null +++ b/radio/aidl/android/hardware/radio/UusType.aidl @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2021 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; + +/** + * User-to-User signaling Info activation types derived from 3GPP 23.087 v8.0 + */ +@VintfStability +@Backing(type="int") +enum UusType { + TYPE1_IMPLICIT, + TYPE1_REQUIRED, + TYPE1_NOT_REQUIRED, + TYPE2_REQUIRED, + TYPE2_NOT_REQUIRED, + TYPE3_REQUIRED, + TYPE3_NOT_REQUIRED, +} diff --git a/radio/aidl/android/hardware/radio/VoiceRegStateResult.aidl b/radio/aidl/android/hardware/radio/VoiceRegStateResult.aidl new file mode 100644 index 0000000000..897c663621 --- /dev/null +++ b/radio/aidl/android/hardware/radio/VoiceRegStateResult.aidl @@ -0,0 +1,94 @@ +/* + * Copyright (C) 2021 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; + +import android.hardware.radio.CellIdentity; +import android.hardware.radio.RegState; + +@VintfStability +parcelable VoiceRegStateResult { + /** + * Valid reg states are NOT_REG_MT_NOT_SEARCHING_OP, REG_HOME, NOT_REG_MT_SEARCHING_OP, + * REG_DENIED, UNKNOWN, REG_ROAMING defined in RegState. + */ + RegState regState; + /** + * Indicates the available voice radio technology, valid values as defined by RadioTechnology. + */ + int rat; + /** + * Concurrent services support indicator, if registered on a CDMA system. + * false - Concurrent services not supported, + * true - Concurrent services supported + */ + boolean cssSupported; + /** + * TSB-58 Roaming Indicator if registered on a CDMA or EVDO system or -1 if not. + * Valid values are 0-255. + */ + int roamingIndicator; + /** + * Indicates whether the current system is in the PRL if registered on a CDMA or EVDO system + * or -1 if not. 0=not in the PRL, 1=in the PRL + */ + int systemIsInPrl; + /** + * Default Roaming Indicator from the PRL if registered on a CDMA or EVDO system or -1 if not. + * Valid values are 0-255. + */ + int defaultRoamingIndicator; + /** + * Reason for denial if registration state is REG_DENIED. This is an enumerated reason why + * registration was denied. See 3GPP TS 24.008, 10.5.3.6 and Annex G. + * 0 - General + * 1 - Authentication Failure + * 2 - IMSI unknown in HLR + * 3 - Illegal MS + * 4 - Illegal ME + * 5 - PLMN not allowed + * 6 - Location area not allowed + * 7 - Roaming not allowed + * 8 - No Suitable Cells in this Location Area + * 9 - Network failure + * 10 - Persistent location update reject + * 11 - PLMN not allowed + * 12 - Location area not allowed + * 13 - Roaming not allowed in this Location Area + * 15 - No Suitable Cells in this Location Area + * 17 - Network Failure + * 20 - MAC Failure + * 21 - Sync Failure + * 22 - Congestion + * 23 - GSM Authentication unacceptable + * 25 - Not Authorized for this CSG + * 32 - Service option not supported + * 33 - Requested service option not subscribed + * 34 - Service option temporarily out of order + * 38 - Call cannot be identified + * 48-63 - Retry upon entry into a new cell + * 95 - Semantically incorrect message + * 96 - Invalid mandatory information + * 97 - Message type non-existent or not implemented + * 98 - Message type not compatible with protocol state + * 99 - Information element non-existent or not implemented + * 100 - Conditional IE error + * 101 - Message not compatible with protocol state + * 111 - Protocol error, unspecified + */ + int reasonForDenial; + CellIdentity cellIdentity; +} diff --git a/radio/aidl/android/hardware/radio/VopsIndicator.aidl b/radio/aidl/android/hardware/radio/VopsIndicator.aidl new file mode 100644 index 0000000000..0533be9393 --- /dev/null +++ b/radio/aidl/android/hardware/radio/VopsIndicator.aidl @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2021 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; + +/** + * Defines the values for VoPS indicator of NR as per 3gpp spec 24.501 sec 9.10.3.5 + */ +@VintfStability +@Backing(type="byte") +enum VopsIndicator { + /** + * IMS voice over PS session not supported + */ + VOPS_NOT_SUPPORTED, + /** + * IMS voice over PS session supported over 3GPP access + */ + VOPS_OVER_3GPP, + /** + * IMS voice over PS session supported over non-3GPP access + */ + VOPS_OVER_NON_3GPP, +} diff --git a/radio/aidl/android/hardware/radio/WcdmaSignalStrength.aidl b/radio/aidl/android/hardware/radio/WcdmaSignalStrength.aidl new file mode 100644 index 0000000000..95a3455e4c --- /dev/null +++ b/radio/aidl/android/hardware/radio/WcdmaSignalStrength.aidl @@ -0,0 +1,39 @@ +/* + * Copyright (C) 2021 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; + +@VintfStability +parcelable WcdmaSignalStrength { + /** + * Valid values are (0-31, 99) as defined in TS 27.007 8.5; INT_MAX means unreported. + */ + int signalStrength; + /** + * Bit error rate (0-7, 99) as defined in TS 27.007 8.5; INT_MAX means invalid/unreported. + */ + int bitErrorRate; + /** + * CPICH RSCP as defined in TS 25.215 5.1.1. Valid values are (0-96, 255) as defined in + * TS 27.007 8.69. INT_MAX denotes that the value is invalid/unreported. + */ + int rscp; + /** + * Ec/No value as defined in TS 25.215 5.1.5. Valid values are (0-49, 255) as defined in + * TS 27.007 8.69. INT_MAX denotes that the value is invalid/unreported. + */ + int ecno; +} diff --git a/radio/aidl/android/hardware/radio/translate-ndk.cpp b/radio/aidl/android/hardware/radio/translate-ndk.cpp new file mode 100644 index 0000000000..0492aded9d --- /dev/null +++ b/radio/aidl/android/hardware/radio/translate-ndk.cpp @@ -0,0 +1,7404 @@ +/* + * Copyright (C) 2021 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. + */ + +#include "android/hardware/radio/translate-ndk.h" + +namespace android::h2a { + +static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::ADDRESS_MAX == + static_cast( + ::android::hardware::radio::V1_0::RadioCdmaSmsConst::ADDRESS_MAX)); +static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::SUBADDRESS_MAX == + static_cast( + ::android::hardware::radio::V1_0::RadioCdmaSmsConst::SUBADDRESS_MAX)); +static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::BEARER_DATA_MAX == + static_cast( + ::android::hardware::radio::V1_0::RadioCdmaSmsConst::BEARER_DATA_MAX)); +static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::UDH_MAX_SND_SIZE == + static_cast( + ::android::hardware::radio::V1_0::RadioCdmaSmsConst::UDH_MAX_SND_SIZE)); +static_assert( + aidl::android::hardware::radio::RadioCdmaSmsConst::UDH_EO_DATA_SEGMENT_MAX == + static_cast( + ::android::hardware::radio::V1_0::RadioCdmaSmsConst::UDH_EO_DATA_SEGMENT_MAX)); +static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::MAX_UD_HEADERS == + static_cast( + ::android::hardware::radio::V1_0::RadioCdmaSmsConst::MAX_UD_HEADERS)); +static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::USER_DATA_MAX == + static_cast( + ::android::hardware::radio::V1_0::RadioCdmaSmsConst::USER_DATA_MAX)); +static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::UDH_LARGE_PIC_SIZE == + static_cast( + ::android::hardware::radio::V1_0::RadioCdmaSmsConst::UDH_LARGE_PIC_SIZE)); +static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::UDH_SMALL_PIC_SIZE == + static_cast( + ::android::hardware::radio::V1_0::RadioCdmaSmsConst::UDH_SMALL_PIC_SIZE)); +static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::UDH_VAR_PIC_SIZE == + static_cast( + ::android::hardware::radio::V1_0::RadioCdmaSmsConst::UDH_VAR_PIC_SIZE)); +static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::UDH_ANIM_NUM_BITMAPS == + static_cast( + ::android::hardware::radio::V1_0::RadioCdmaSmsConst::UDH_ANIM_NUM_BITMAPS)); +static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::UDH_LARGE_BITMAP_SIZE == + static_cast( + ::android::hardware::radio::V1_0::RadioCdmaSmsConst::UDH_LARGE_BITMAP_SIZE)); +static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::UDH_SMALL_BITMAP_SIZE == + static_cast( + ::android::hardware::radio::V1_0::RadioCdmaSmsConst::UDH_SMALL_BITMAP_SIZE)); +static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::UDH_OTHER_SIZE == + static_cast( + ::android::hardware::radio::V1_0::RadioCdmaSmsConst::UDH_OTHER_SIZE)); +static_assert(aidl::android::hardware::radio::RadioCdmaSmsConst::IP_ADDRESS_SIZE == + static_cast( + ::android::hardware::radio::V1_0::RadioCdmaSmsConst::IP_ADDRESS_SIZE)); + +static_assert(aidl::android::hardware::radio::RadioResponseType::SOLICITED == + static_cast( + ::android::hardware::radio::V1_0::RadioResponseType::SOLICITED)); +static_assert(aidl::android::hardware::radio::RadioResponseType::SOLICITED_ACK == + static_cast( + ::android::hardware::radio::V1_0::RadioResponseType::SOLICITED_ACK)); +static_assert(aidl::android::hardware::radio::RadioResponseType::SOLICITED_ACK_EXP == + static_cast( + ::android::hardware::radio::V1_0::RadioResponseType::SOLICITED_ACK_EXP)); + +static_assert(aidl::android::hardware::radio::RadioIndicationType::UNSOLICITED == + static_cast( + ::android::hardware::radio::V1_0::RadioIndicationType::UNSOLICITED)); +static_assert(aidl::android::hardware::radio::RadioIndicationType::UNSOLICITED_ACK_EXP == + static_cast( + ::android::hardware::radio::V1_0::RadioIndicationType::UNSOLICITED_ACK_EXP)); + +static_assert(aidl::android::hardware::radio::RestrictedState::NONE == + static_cast( + ::android::hardware::radio::V1_0::RestrictedState::NONE)); +static_assert(aidl::android::hardware::radio::RestrictedState::CS_EMERGENCY == + static_cast( + ::android::hardware::radio::V1_0::RestrictedState::CS_EMERGENCY)); +static_assert(aidl::android::hardware::radio::RestrictedState::CS_NORMAL == + static_cast( + ::android::hardware::radio::V1_0::RestrictedState::CS_NORMAL)); +static_assert(aidl::android::hardware::radio::RestrictedState::CS_ALL == + static_cast( + ::android::hardware::radio::V1_0::RestrictedState::CS_ALL)); +static_assert(aidl::android::hardware::radio::RestrictedState::PS_ALL == + static_cast( + ::android::hardware::radio::V1_0::RestrictedState::PS_ALL)); + +static_assert(aidl::android::hardware::radio::CardState::ABSENT == + static_cast( + ::android::hardware::radio::V1_0::CardState::ABSENT)); +static_assert(aidl::android::hardware::radio::CardState::PRESENT == + static_cast( + ::android::hardware::radio::V1_0::CardState::PRESENT)); +static_assert(aidl::android::hardware::radio::CardState::ERROR == + static_cast( + ::android::hardware::radio::V1_0::CardState::ERROR)); +static_assert(aidl::android::hardware::radio::CardState::RESTRICTED == + static_cast( + ::android::hardware::radio::V1_0::CardState::RESTRICTED)); + +static_assert(aidl::android::hardware::radio::PinState::UNKNOWN == + static_cast( + ::android::hardware::radio::V1_0::PinState::UNKNOWN)); +static_assert(aidl::android::hardware::radio::PinState::ENABLED_NOT_VERIFIED == + static_cast( + ::android::hardware::radio::V1_0::PinState::ENABLED_NOT_VERIFIED)); +static_assert(aidl::android::hardware::radio::PinState::ENABLED_VERIFIED == + static_cast( + ::android::hardware::radio::V1_0::PinState::ENABLED_VERIFIED)); +static_assert(aidl::android::hardware::radio::PinState::DISABLED == + static_cast( + ::android::hardware::radio::V1_0::PinState::DISABLED)); +static_assert(aidl::android::hardware::radio::PinState::ENABLED_BLOCKED == + static_cast( + ::android::hardware::radio::V1_0::PinState::ENABLED_BLOCKED)); +static_assert(aidl::android::hardware::radio::PinState::ENABLED_PERM_BLOCKED == + static_cast( + ::android::hardware::radio::V1_0::PinState::ENABLED_PERM_BLOCKED)); + +static_assert(aidl::android::hardware::radio::AppType::UNKNOWN == + static_cast( + ::android::hardware::radio::V1_0::AppType::UNKNOWN)); +static_assert(aidl::android::hardware::radio::AppType::SIM == + static_cast( + ::android::hardware::radio::V1_0::AppType::SIM)); +static_assert(aidl::android::hardware::radio::AppType::USIM == + static_cast( + ::android::hardware::radio::V1_0::AppType::USIM)); +static_assert(aidl::android::hardware::radio::AppType::RUIM == + static_cast( + ::android::hardware::radio::V1_0::AppType::RUIM)); +static_assert(aidl::android::hardware::radio::AppType::CSIM == + static_cast( + ::android::hardware::radio::V1_0::AppType::CSIM)); +static_assert(aidl::android::hardware::radio::AppType::ISIM == + static_cast( + ::android::hardware::radio::V1_0::AppType::ISIM)); + +static_assert(aidl::android::hardware::radio::AppState::UNKNOWN == + static_cast( + ::android::hardware::radio::V1_0::AppState::UNKNOWN)); +static_assert(aidl::android::hardware::radio::AppState::DETECTED == + static_cast( + ::android::hardware::radio::V1_0::AppState::DETECTED)); +static_assert(aidl::android::hardware::radio::AppState::PIN == + static_cast( + ::android::hardware::radio::V1_0::AppState::PIN)); +static_assert(aidl::android::hardware::radio::AppState::PUK == + static_cast( + ::android::hardware::radio::V1_0::AppState::PUK)); +static_assert(aidl::android::hardware::radio::AppState::SUBSCRIPTION_PERSO == + static_cast( + ::android::hardware::radio::V1_0::AppState::SUBSCRIPTION_PERSO)); +static_assert(aidl::android::hardware::radio::AppState::READY == + static_cast( + ::android::hardware::radio::V1_0::AppState::READY)); + +static_assert(aidl::android::hardware::radio::RadioState::OFF == + static_cast( + ::android::hardware::radio::V1_0::RadioState::OFF)); +static_assert(aidl::android::hardware::radio::RadioState::UNAVAILABLE == + static_cast( + ::android::hardware::radio::V1_0::RadioState::UNAVAILABLE)); +static_assert(aidl::android::hardware::radio::RadioState::ON == + static_cast( + ::android::hardware::radio::V1_0::RadioState::ON)); + +static_assert(aidl::android::hardware::radio::SapConnectRsp::SUCCESS == + static_cast( + ::android::hardware::radio::V1_0::SapConnectRsp::SUCCESS)); +static_assert(aidl::android::hardware::radio::SapConnectRsp::CONNECT_FAILURE == + static_cast( + ::android::hardware::radio::V1_0::SapConnectRsp::CONNECT_FAILURE)); +static_assert(aidl::android::hardware::radio::SapConnectRsp::MSG_SIZE_TOO_LARGE == + static_cast( + ::android::hardware::radio::V1_0::SapConnectRsp::MSG_SIZE_TOO_LARGE)); +static_assert(aidl::android::hardware::radio::SapConnectRsp::MSG_SIZE_TOO_SMALL == + static_cast( + ::android::hardware::radio::V1_0::SapConnectRsp::MSG_SIZE_TOO_SMALL)); +static_assert(aidl::android::hardware::radio::SapConnectRsp::CONNECT_OK_CALL_ONGOING == + static_cast( + ::android::hardware::radio::V1_0::SapConnectRsp::CONNECT_OK_CALL_ONGOING)); + +static_assert(aidl::android::hardware::radio::SapDisconnectType::GRACEFUL == + static_cast( + ::android::hardware::radio::V1_0::SapDisconnectType::GRACEFUL)); +static_assert(aidl::android::hardware::radio::SapDisconnectType::IMMEDIATE == + static_cast( + ::android::hardware::radio::V1_0::SapDisconnectType::IMMEDIATE)); + +static_assert(aidl::android::hardware::radio::SapApduType::APDU == + static_cast( + ::android::hardware::radio::V1_0::SapApduType::APDU)); +static_assert(aidl::android::hardware::radio::SapApduType::APDU7816 == + static_cast( + ::android::hardware::radio::V1_0::SapApduType::APDU7816)); + +static_assert(aidl::android::hardware::radio::SapResultCode::SUCCESS == + static_cast( + ::android::hardware::radio::V1_0::SapResultCode::SUCCESS)); +static_assert(aidl::android::hardware::radio::SapResultCode::GENERIC_FAILURE == + static_cast( + ::android::hardware::radio::V1_0::SapResultCode::GENERIC_FAILURE)); +static_assert(aidl::android::hardware::radio::SapResultCode::CARD_NOT_ACCESSSIBLE == + static_cast( + ::android::hardware::radio::V1_0::SapResultCode::CARD_NOT_ACCESSSIBLE)); +static_assert(aidl::android::hardware::radio::SapResultCode::CARD_ALREADY_POWERED_OFF == + static_cast( + ::android::hardware::radio::V1_0::SapResultCode::CARD_ALREADY_POWERED_OFF)); +static_assert(aidl::android::hardware::radio::SapResultCode::CARD_REMOVED == + static_cast( + ::android::hardware::radio::V1_0::SapResultCode::CARD_REMOVED)); +static_assert(aidl::android::hardware::radio::SapResultCode::CARD_ALREADY_POWERED_ON == + static_cast( + ::android::hardware::radio::V1_0::SapResultCode::CARD_ALREADY_POWERED_ON)); +static_assert(aidl::android::hardware::radio::SapResultCode::DATA_NOT_AVAILABLE == + static_cast( + ::android::hardware::radio::V1_0::SapResultCode::DATA_NOT_AVAILABLE)); +static_assert(aidl::android::hardware::radio::SapResultCode::NOT_SUPPORTED == + static_cast( + ::android::hardware::radio::V1_0::SapResultCode::NOT_SUPPORTED)); + +static_assert(aidl::android::hardware::radio::SapStatus::UNKNOWN_ERROR == + static_cast( + ::android::hardware::radio::V1_0::SapStatus::UNKNOWN_ERROR)); +static_assert(aidl::android::hardware::radio::SapStatus::CARD_RESET == + static_cast( + ::android::hardware::radio::V1_0::SapStatus::CARD_RESET)); +static_assert(aidl::android::hardware::radio::SapStatus::CARD_NOT_ACCESSIBLE == + static_cast( + ::android::hardware::radio::V1_0::SapStatus::CARD_NOT_ACCESSIBLE)); +static_assert(aidl::android::hardware::radio::SapStatus::CARD_REMOVED == + static_cast( + ::android::hardware::radio::V1_0::SapStatus::CARD_REMOVED)); +static_assert(aidl::android::hardware::radio::SapStatus::CARD_INSERTED == + static_cast( + ::android::hardware::radio::V1_0::SapStatus::CARD_INSERTED)); +static_assert(aidl::android::hardware::radio::SapStatus::RECOVERED == + static_cast( + ::android::hardware::radio::V1_0::SapStatus::RECOVERED)); + +static_assert(aidl::android::hardware::radio::SapTransferProtocol::T0 == + static_cast( + ::android::hardware::radio::V1_0::SapTransferProtocol::T0)); +static_assert(aidl::android::hardware::radio::SapTransferProtocol::T1 == + static_cast( + ::android::hardware::radio::V1_0::SapTransferProtocol::T1)); + +static_assert(aidl::android::hardware::radio::CallState::ACTIVE == + static_cast( + ::android::hardware::radio::V1_0::CallState::ACTIVE)); +static_assert(aidl::android::hardware::radio::CallState::HOLDING == + static_cast( + ::android::hardware::radio::V1_0::CallState::HOLDING)); +static_assert(aidl::android::hardware::radio::CallState::DIALING == + static_cast( + ::android::hardware::radio::V1_0::CallState::DIALING)); +static_assert(aidl::android::hardware::radio::CallState::ALERTING == + static_cast( + ::android::hardware::radio::V1_0::CallState::ALERTING)); +static_assert(aidl::android::hardware::radio::CallState::INCOMING == + static_cast( + ::android::hardware::radio::V1_0::CallState::INCOMING)); +static_assert(aidl::android::hardware::radio::CallState::WAITING == + static_cast( + ::android::hardware::radio::V1_0::CallState::WAITING)); + +static_assert(aidl::android::hardware::radio::UusType::TYPE1_IMPLICIT == + static_cast( + ::android::hardware::radio::V1_0::UusType::TYPE1_IMPLICIT)); +static_assert(aidl::android::hardware::radio::UusType::TYPE1_REQUIRED == + static_cast( + ::android::hardware::radio::V1_0::UusType::TYPE1_REQUIRED)); +static_assert(aidl::android::hardware::radio::UusType::TYPE1_NOT_REQUIRED == + static_cast( + ::android::hardware::radio::V1_0::UusType::TYPE1_NOT_REQUIRED)); +static_assert(aidl::android::hardware::radio::UusType::TYPE2_REQUIRED == + static_cast( + ::android::hardware::radio::V1_0::UusType::TYPE2_REQUIRED)); +static_assert(aidl::android::hardware::radio::UusType::TYPE2_NOT_REQUIRED == + static_cast( + ::android::hardware::radio::V1_0::UusType::TYPE2_NOT_REQUIRED)); +static_assert(aidl::android::hardware::radio::UusType::TYPE3_REQUIRED == + static_cast( + ::android::hardware::radio::V1_0::UusType::TYPE3_REQUIRED)); +static_assert(aidl::android::hardware::radio::UusType::TYPE3_NOT_REQUIRED == + static_cast( + ::android::hardware::radio::V1_0::UusType::TYPE3_NOT_REQUIRED)); + +static_assert(aidl::android::hardware::radio::UusDcs::USP == + static_cast( + ::android::hardware::radio::V1_0::UusDcs::USP)); +static_assert(aidl::android::hardware::radio::UusDcs::OSIHLP == + static_cast( + ::android::hardware::radio::V1_0::UusDcs::OSIHLP)); +static_assert(aidl::android::hardware::radio::UusDcs::X244 == + static_cast( + ::android::hardware::radio::V1_0::UusDcs::X244)); +static_assert(aidl::android::hardware::radio::UusDcs::RMCF == + static_cast( + ::android::hardware::radio::V1_0::UusDcs::RMCF)); +static_assert(aidl::android::hardware::radio::UusDcs::IA5C == + static_cast( + ::android::hardware::radio::V1_0::UusDcs::IA5C)); + +static_assert(aidl::android::hardware::radio::CallPresentation::ALLOWED == + static_cast( + ::android::hardware::radio::V1_0::CallPresentation::ALLOWED)); +static_assert(aidl::android::hardware::radio::CallPresentation::RESTRICTED == + static_cast( + ::android::hardware::radio::V1_0::CallPresentation::RESTRICTED)); +static_assert(aidl::android::hardware::radio::CallPresentation::UNKNOWN == + static_cast( + ::android::hardware::radio::V1_0::CallPresentation::UNKNOWN)); +static_assert(aidl::android::hardware::radio::CallPresentation::PAYPHONE == + static_cast( + ::android::hardware::radio::V1_0::CallPresentation::PAYPHONE)); + +static_assert(aidl::android::hardware::radio::Clir::DEFAULT == + static_cast( + ::android::hardware::radio::V1_0::Clir::DEFAULT)); +static_assert(aidl::android::hardware::radio::Clir::INVOCATION == + static_cast( + ::android::hardware::radio::V1_0::Clir::INVOCATION)); +static_assert(aidl::android::hardware::radio::Clir::SUPPRESSION == + static_cast( + ::android::hardware::radio::V1_0::Clir::SUPPRESSION)); + +static_assert(aidl::android::hardware::radio::LastCallFailCause::UNOBTAINABLE_NUMBER == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::UNOBTAINABLE_NUMBER)); +static_assert( + aidl::android::hardware::radio::LastCallFailCause::NO_ROUTE_TO_DESTINATION == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::NO_ROUTE_TO_DESTINATION)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::CHANNEL_UNACCEPTABLE == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::CHANNEL_UNACCEPTABLE)); +static_assert( + aidl::android::hardware::radio::LastCallFailCause::OPERATOR_DETERMINED_BARRING == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::OPERATOR_DETERMINED_BARRING)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::NORMAL == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::NORMAL)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::BUSY == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::BUSY)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::NO_USER_RESPONDING == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::NO_USER_RESPONDING)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::NO_ANSWER_FROM_USER == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::NO_ANSWER_FROM_USER)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::CALL_REJECTED == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::CALL_REJECTED)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::NUMBER_CHANGED == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::NUMBER_CHANGED)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::PREEMPTION == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::PREEMPTION)); +static_assert( + aidl::android::hardware::radio::LastCallFailCause::DESTINATION_OUT_OF_ORDER == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::DESTINATION_OUT_OF_ORDER)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::INVALID_NUMBER_FORMAT == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::INVALID_NUMBER_FORMAT)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::FACILITY_REJECTED == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::FACILITY_REJECTED)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::RESP_TO_STATUS_ENQUIRY == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::RESP_TO_STATUS_ENQUIRY)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::NORMAL_UNSPECIFIED == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::NORMAL_UNSPECIFIED)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::CONGESTION == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::CONGESTION)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::NETWORK_OUT_OF_ORDER == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::NETWORK_OUT_OF_ORDER)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::TEMPORARY_FAILURE == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::TEMPORARY_FAILURE)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::SWITCHING_EQUIPMENT_CONGESTION == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause:: + SWITCHING_EQUIPMENT_CONGESTION)); +static_assert( + aidl::android::hardware::radio::LastCallFailCause::ACCESS_INFORMATION_DISCARDED == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::ACCESS_INFORMATION_DISCARDED)); +static_assert(aidl::android::hardware::radio::LastCallFailCause:: + REQUESTED_CIRCUIT_OR_CHANNEL_NOT_AVAILABLE == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause:: + REQUESTED_CIRCUIT_OR_CHANNEL_NOT_AVAILABLE)); +static_assert( + aidl::android::hardware::radio::LastCallFailCause::RESOURCES_UNAVAILABLE_OR_UNSPECIFIED == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause:: + RESOURCES_UNAVAILABLE_OR_UNSPECIFIED)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::QOS_UNAVAILABLE == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::QOS_UNAVAILABLE)); +static_assert( + aidl::android::hardware::radio::LastCallFailCause::REQUESTED_FACILITY_NOT_SUBSCRIBED == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause:: + REQUESTED_FACILITY_NOT_SUBSCRIBED)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::INCOMING_CALLS_BARRED_WITHIN_CUG == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause:: + INCOMING_CALLS_BARRED_WITHIN_CUG)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::BEARER_CAPABILITY_NOT_AUTHORIZED == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause:: + BEARER_CAPABILITY_NOT_AUTHORIZED)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::BEARER_CAPABILITY_UNAVAILABLE == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause:: + BEARER_CAPABILITY_UNAVAILABLE)); +static_assert( + aidl::android::hardware::radio::LastCallFailCause::SERVICE_OPTION_NOT_AVAILABLE == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::SERVICE_OPTION_NOT_AVAILABLE)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::BEARER_SERVICE_NOT_IMPLEMENTED == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause:: + BEARER_SERVICE_NOT_IMPLEMENTED)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::ACM_LIMIT_EXCEEDED == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::ACM_LIMIT_EXCEEDED)); +static_assert( + aidl::android::hardware::radio::LastCallFailCause::REQUESTED_FACILITY_NOT_IMPLEMENTED == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause:: + REQUESTED_FACILITY_NOT_IMPLEMENTED)); +static_assert(aidl::android::hardware::radio::LastCallFailCause:: + ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause:: + ONLY_DIGITAL_INFORMATION_BEARER_AVAILABLE)); +static_assert( + aidl::android::hardware::radio::LastCallFailCause::SERVICE_OR_OPTION_NOT_IMPLEMENTED == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause:: + SERVICE_OR_OPTION_NOT_IMPLEMENTED)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::INVALID_TRANSACTION_IDENTIFIER == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause:: + INVALID_TRANSACTION_IDENTIFIER)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::USER_NOT_MEMBER_OF_CUG == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::USER_NOT_MEMBER_OF_CUG)); +static_assert( + aidl::android::hardware::radio::LastCallFailCause::INCOMPATIBLE_DESTINATION == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::INCOMPATIBLE_DESTINATION)); +static_assert( + aidl::android::hardware::radio::LastCallFailCause::INVALID_TRANSIT_NW_SELECTION == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::INVALID_TRANSIT_NW_SELECTION)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::SEMANTICALLY_INCORRECT_MESSAGE == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause:: + SEMANTICALLY_INCORRECT_MESSAGE)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::INVALID_MANDATORY_INFORMATION == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause:: + INVALID_MANDATORY_INFORMATION)); +static_assert( + aidl::android::hardware::radio::LastCallFailCause::MESSAGE_TYPE_NON_IMPLEMENTED == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::MESSAGE_TYPE_NON_IMPLEMENTED)); +static_assert(aidl::android::hardware::radio::LastCallFailCause:: + MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause:: + MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::INFORMATION_ELEMENT_NON_EXISTENT == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause:: + INFORMATION_ELEMENT_NON_EXISTENT)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::CONDITIONAL_IE_ERROR == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::CONDITIONAL_IE_ERROR)); +static_assert(aidl::android::hardware::radio::LastCallFailCause:: + MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause:: + MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE)); +static_assert( + aidl::android::hardware::radio::LastCallFailCause::RECOVERY_ON_TIMER_EXPIRED == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::RECOVERY_ON_TIMER_EXPIRED)); +static_assert( + aidl::android::hardware::radio::LastCallFailCause::PROTOCOL_ERROR_UNSPECIFIED == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::PROTOCOL_ERROR_UNSPECIFIED)); +static_assert( + aidl::android::hardware::radio::LastCallFailCause::INTERWORKING_UNSPECIFIED == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::INTERWORKING_UNSPECIFIED)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::CALL_BARRED == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::CALL_BARRED)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::FDN_BLOCKED == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::FDN_BLOCKED)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::IMSI_UNKNOWN_IN_VLR == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::IMSI_UNKNOWN_IN_VLR)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::IMEI_NOT_ACCEPTED == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::IMEI_NOT_ACCEPTED)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::DIAL_MODIFIED_TO_USSD == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::DIAL_MODIFIED_TO_USSD)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::DIAL_MODIFIED_TO_SS == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::DIAL_MODIFIED_TO_SS)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::DIAL_MODIFIED_TO_DIAL == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::DIAL_MODIFIED_TO_DIAL)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::RADIO_OFF == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::RADIO_OFF)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::OUT_OF_SERVICE == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::OUT_OF_SERVICE)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::NO_VALID_SIM == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::NO_VALID_SIM)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::RADIO_INTERNAL_ERROR == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::RADIO_INTERNAL_ERROR)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::NETWORK_RESP_TIMEOUT == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::NETWORK_RESP_TIMEOUT)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::NETWORK_REJECT == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::NETWORK_REJECT)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::RADIO_ACCESS_FAILURE == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::RADIO_ACCESS_FAILURE)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::RADIO_LINK_FAILURE == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::RADIO_LINK_FAILURE)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::RADIO_LINK_LOST == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::RADIO_LINK_LOST)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::RADIO_UPLINK_FAILURE == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::RADIO_UPLINK_FAILURE)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::RADIO_SETUP_FAILURE == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::RADIO_SETUP_FAILURE)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::RADIO_RELEASE_NORMAL == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::RADIO_RELEASE_NORMAL)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::RADIO_RELEASE_ABNORMAL == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::RADIO_RELEASE_ABNORMAL)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::ACCESS_CLASS_BLOCKED == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::ACCESS_CLASS_BLOCKED)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::NETWORK_DETACH == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::NETWORK_DETACH)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::CDMA_LOCKED_UNTIL_POWER_CYCLE == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause:: + CDMA_LOCKED_UNTIL_POWER_CYCLE)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::CDMA_DROP == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::CDMA_DROP)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::CDMA_INTERCEPT == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::CDMA_INTERCEPT)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::CDMA_REORDER == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::CDMA_REORDER)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::CDMA_SO_REJECT == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::CDMA_SO_REJECT)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::CDMA_RETRY_ORDER == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::CDMA_RETRY_ORDER)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::CDMA_ACCESS_FAILURE == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::CDMA_ACCESS_FAILURE)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::CDMA_PREEMPTED == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::CDMA_PREEMPTED)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::CDMA_NOT_EMERGENCY == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::CDMA_NOT_EMERGENCY)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::CDMA_ACCESS_BLOCKED == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::CDMA_ACCESS_BLOCKED)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_1 == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_1)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_2 == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_2)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_3 == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_3)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_4 == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_4)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_5 == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_5)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_6 == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_6)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_7 == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_7)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_8 == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_8)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_9 == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_9)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_10 == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_10)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_11 == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_11)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_12 == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_12)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_13 == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_13)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_14 == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_14)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::OEM_CAUSE_15 == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::OEM_CAUSE_15)); +static_assert(aidl::android::hardware::radio::LastCallFailCause::ERROR_UNSPECIFIED == + static_cast( + ::android::hardware::radio::V1_0::LastCallFailCause::ERROR_UNSPECIFIED)); + +static_assert(aidl::android::hardware::radio::HardwareConfigType::MODEM == + static_cast( + ::android::hardware::radio::V1_0::HardwareConfigType::MODEM)); +static_assert(aidl::android::hardware::radio::HardwareConfigType::SIM == + static_cast( + ::android::hardware::radio::V1_0::HardwareConfigType::SIM)); + +static_assert(aidl::android::hardware::radio::RegState::NOT_REG_MT_NOT_SEARCHING_OP == + static_cast( + ::android::hardware::radio::V1_0::RegState::NOT_REG_MT_NOT_SEARCHING_OP)); +static_assert(aidl::android::hardware::radio::RegState::REG_HOME == + static_cast( + ::android::hardware::radio::V1_0::RegState::REG_HOME)); +static_assert(aidl::android::hardware::radio::RegState::NOT_REG_MT_SEARCHING_OP == + static_cast( + ::android::hardware::radio::V1_0::RegState::NOT_REG_MT_SEARCHING_OP)); +static_assert(aidl::android::hardware::radio::RegState::REG_DENIED == + static_cast( + ::android::hardware::radio::V1_0::RegState::REG_DENIED)); +static_assert(aidl::android::hardware::radio::RegState::UNKNOWN == + static_cast( + ::android::hardware::radio::V1_0::RegState::UNKNOWN)); +static_assert(aidl::android::hardware::radio::RegState::REG_ROAMING == + static_cast( + ::android::hardware::radio::V1_0::RegState::REG_ROAMING)); +static_assert(aidl::android::hardware::radio::RegState::NOT_REG_MT_NOT_SEARCHING_OP_EM == + static_cast( + ::android::hardware::radio::V1_0::RegState::NOT_REG_MT_NOT_SEARCHING_OP_EM)); +static_assert(aidl::android::hardware::radio::RegState::NOT_REG_MT_SEARCHING_OP_EM == + static_cast( + ::android::hardware::radio::V1_0::RegState::NOT_REG_MT_SEARCHING_OP_EM)); +static_assert(aidl::android::hardware::radio::RegState::REG_DENIED_EM == + static_cast( + ::android::hardware::radio::V1_0::RegState::REG_DENIED_EM)); +static_assert(aidl::android::hardware::radio::RegState::UNKNOWN_EM == + static_cast( + ::android::hardware::radio::V1_0::RegState::UNKNOWN_EM)); + +static_assert(aidl::android::hardware::radio::DataProfileId::DEFAULT == + static_cast( + ::android::hardware::radio::V1_0::DataProfileId::DEFAULT)); +static_assert(aidl::android::hardware::radio::DataProfileId::TETHERED == + static_cast( + ::android::hardware::radio::V1_0::DataProfileId::TETHERED)); +static_assert(aidl::android::hardware::radio::DataProfileId::IMS == + static_cast( + ::android::hardware::radio::V1_0::DataProfileId::IMS)); +static_assert(aidl::android::hardware::radio::DataProfileId::FOTA == + static_cast( + ::android::hardware::radio::V1_0::DataProfileId::FOTA)); +static_assert(aidl::android::hardware::radio::DataProfileId::CBS == + static_cast( + ::android::hardware::radio::V1_0::DataProfileId::CBS)); +static_assert(aidl::android::hardware::radio::DataProfileId::OEM_BASE == + static_cast( + ::android::hardware::radio::V1_0::DataProfileId::OEM_BASE)); +static_assert(aidl::android::hardware::radio::DataProfileId::INVALID == + static_cast( + ::android::hardware::radio::V1_0::DataProfileId::INVALID)); + +static_assert(aidl::android::hardware::radio::SmsAcknowledgeFailCause::MEMORY_CAPACITY_EXCEEDED == + static_cast( + ::android::hardware::radio::V1_0::SmsAcknowledgeFailCause:: + MEMORY_CAPACITY_EXCEEDED)); +static_assert( + aidl::android::hardware::radio::SmsAcknowledgeFailCause::UNSPECIFIED_ERROR == + static_cast( + ::android::hardware::radio::V1_0::SmsAcknowledgeFailCause::UNSPECIFIED_ERROR)); + +static_assert(aidl::android::hardware::radio::CallForwardInfoStatus::DISABLE == + static_cast( + ::android::hardware::radio::V1_0::CallForwardInfoStatus::DISABLE)); +static_assert(aidl::android::hardware::radio::CallForwardInfoStatus::ENABLE == + static_cast( + ::android::hardware::radio::V1_0::CallForwardInfoStatus::ENABLE)); +static_assert(aidl::android::hardware::radio::CallForwardInfoStatus::INTERROGATE == + static_cast( + ::android::hardware::radio::V1_0::CallForwardInfoStatus::INTERROGATE)); +static_assert(aidl::android::hardware::radio::CallForwardInfoStatus::REGISTRATION == + static_cast( + ::android::hardware::radio::V1_0::CallForwardInfoStatus::REGISTRATION)); +static_assert(aidl::android::hardware::radio::CallForwardInfoStatus::ERASURE == + static_cast( + ::android::hardware::radio::V1_0::CallForwardInfoStatus::ERASURE)); + +static_assert(aidl::android::hardware::radio::ClipStatus::CLIP_PROVISIONED == + static_cast( + ::android::hardware::radio::V1_0::ClipStatus::CLIP_PROVISIONED)); +static_assert(aidl::android::hardware::radio::ClipStatus::CLIP_UNPROVISIONED == + static_cast( + ::android::hardware::radio::V1_0::ClipStatus::CLIP_UNPROVISIONED)); +static_assert(aidl::android::hardware::radio::ClipStatus::UNKNOWN == + static_cast( + ::android::hardware::radio::V1_0::ClipStatus::UNKNOWN)); + +static_assert(aidl::android::hardware::radio::SmsWriteArgsStatus::REC_UNREAD == + static_cast( + ::android::hardware::radio::V1_0::SmsWriteArgsStatus::REC_UNREAD)); +static_assert(aidl::android::hardware::radio::SmsWriteArgsStatus::REC_READ == + static_cast( + ::android::hardware::radio::V1_0::SmsWriteArgsStatus::REC_READ)); +static_assert(aidl::android::hardware::radio::SmsWriteArgsStatus::STO_UNSENT == + static_cast( + ::android::hardware::radio::V1_0::SmsWriteArgsStatus::STO_UNSENT)); +static_assert(aidl::android::hardware::radio::SmsWriteArgsStatus::STO_SENT == + static_cast( + ::android::hardware::radio::V1_0::SmsWriteArgsStatus::STO_SENT)); + +static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_UNSPECIFIED == + static_cast( + ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_UNSPECIFIED)); +static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_EURO == + static_cast( + ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_EURO)); +static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_USA == + static_cast( + ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_USA)); +static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_JPN == + static_cast( + ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_JPN)); +static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_AUS == + static_cast( + ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_AUS)); +static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_AUS_2 == + static_cast( + ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_AUS_2)); +static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_CELL_800 == + static_cast( + ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_CELL_800)); +static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_PCS == + static_cast( + ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_PCS)); +static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_JTACS == + static_cast( + ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_JTACS)); +static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_KOREA_PCS == + static_cast( + ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_KOREA_PCS)); +static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_5_450M == + static_cast( + ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_5_450M)); +static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_IMT2000 == + static_cast( + ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_IMT2000)); +static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_7_700M_2 == + static_cast( + ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_7_700M_2)); +static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_8_1800M == + static_cast( + ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_8_1800M)); +static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_9_900M == + static_cast( + ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_9_900M)); +static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_10_800M_2 == + static_cast( + ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_10_800M_2)); +static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_EURO_PAMR_400M == + static_cast( + ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_EURO_PAMR_400M)); +static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_AWS == + static_cast( + ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_AWS)); +static_assert(aidl::android::hardware::radio::RadioBandMode::BAND_MODE_USA_2500M == + static_cast( + ::android::hardware::radio::V1_0::RadioBandMode::BAND_MODE_USA_2500M)); + +static_assert(aidl::android::hardware::radio::OperatorStatus::UNKNOWN == + static_cast( + ::android::hardware::radio::V1_0::OperatorStatus::UNKNOWN)); +static_assert(aidl::android::hardware::radio::OperatorStatus::AVAILABLE == + static_cast( + ::android::hardware::radio::V1_0::OperatorStatus::AVAILABLE)); +static_assert(aidl::android::hardware::radio::OperatorStatus::CURRENT == + static_cast( + ::android::hardware::radio::V1_0::OperatorStatus::CURRENT)); +static_assert(aidl::android::hardware::radio::OperatorStatus::FORBIDDEN == + static_cast( + ::android::hardware::radio::V1_0::OperatorStatus::FORBIDDEN)); + +static_assert(aidl::android::hardware::radio::PreferredNetworkType::GSM_WCDMA == + static_cast( + ::android::hardware::radio::V1_0::PreferredNetworkType::GSM_WCDMA)); +static_assert(aidl::android::hardware::radio::PreferredNetworkType::GSM_ONLY == + static_cast( + ::android::hardware::radio::V1_0::PreferredNetworkType::GSM_ONLY)); +static_assert(aidl::android::hardware::radio::PreferredNetworkType::WCDMA == + static_cast( + ::android::hardware::radio::V1_0::PreferredNetworkType::WCDMA)); +static_assert(aidl::android::hardware::radio::PreferredNetworkType::GSM_WCDMA_AUTO == + static_cast( + ::android::hardware::radio::V1_0::PreferredNetworkType::GSM_WCDMA_AUTO)); +static_assert(aidl::android::hardware::radio::PreferredNetworkType::CDMA_EVDO_AUTO == + static_cast( + ::android::hardware::radio::V1_0::PreferredNetworkType::CDMA_EVDO_AUTO)); +static_assert(aidl::android::hardware::radio::PreferredNetworkType::CDMA_ONLY == + static_cast( + ::android::hardware::radio::V1_0::PreferredNetworkType::CDMA_ONLY)); +static_assert(aidl::android::hardware::radio::PreferredNetworkType::EVDO_ONLY == + static_cast( + ::android::hardware::radio::V1_0::PreferredNetworkType::EVDO_ONLY)); +static_assert( + aidl::android::hardware::radio::PreferredNetworkType::GSM_WCDMA_CDMA_EVDO_AUTO == + static_cast( + ::android::hardware::radio::V1_0::PreferredNetworkType::GSM_WCDMA_CDMA_EVDO_AUTO)); +static_assert(aidl::android::hardware::radio::PreferredNetworkType::LTE_CDMA_EVDO == + static_cast( + ::android::hardware::radio::V1_0::PreferredNetworkType::LTE_CDMA_EVDO)); +static_assert(aidl::android::hardware::radio::PreferredNetworkType::LTE_GSM_WCDMA == + static_cast( + ::android::hardware::radio::V1_0::PreferredNetworkType::LTE_GSM_WCDMA)); +static_assert( + aidl::android::hardware::radio::PreferredNetworkType::LTE_CMDA_EVDO_GSM_WCDMA == + static_cast( + ::android::hardware::radio::V1_0::PreferredNetworkType::LTE_CMDA_EVDO_GSM_WCDMA)); +static_assert(aidl::android::hardware::radio::PreferredNetworkType::LTE_ONLY == + static_cast( + ::android::hardware::radio::V1_0::PreferredNetworkType::LTE_ONLY)); +static_assert(aidl::android::hardware::radio::PreferredNetworkType::LTE_WCDMA == + static_cast( + ::android::hardware::radio::V1_0::PreferredNetworkType::LTE_WCDMA)); +static_assert(aidl::android::hardware::radio::PreferredNetworkType::TD_SCDMA_ONLY == + static_cast( + ::android::hardware::radio::V1_0::PreferredNetworkType::TD_SCDMA_ONLY)); +static_assert(aidl::android::hardware::radio::PreferredNetworkType::TD_SCDMA_WCDMA == + static_cast( + ::android::hardware::radio::V1_0::PreferredNetworkType::TD_SCDMA_WCDMA)); +static_assert(aidl::android::hardware::radio::PreferredNetworkType::TD_SCDMA_LTE == + static_cast( + ::android::hardware::radio::V1_0::PreferredNetworkType::TD_SCDMA_LTE)); +static_assert(aidl::android::hardware::radio::PreferredNetworkType::TD_SCDMA_GSM == + static_cast( + ::android::hardware::radio::V1_0::PreferredNetworkType::TD_SCDMA_GSM)); +static_assert(aidl::android::hardware::radio::PreferredNetworkType::TD_SCDMA_GSM_LTE == + static_cast( + ::android::hardware::radio::V1_0::PreferredNetworkType::TD_SCDMA_GSM_LTE)); +static_assert(aidl::android::hardware::radio::PreferredNetworkType::TD_SCDMA_GSM_WCDMA == + static_cast( + ::android::hardware::radio::V1_0::PreferredNetworkType::TD_SCDMA_GSM_WCDMA)); +static_assert(aidl::android::hardware::radio::PreferredNetworkType::TD_SCDMA_WCDMA_LTE == + static_cast( + ::android::hardware::radio::V1_0::PreferredNetworkType::TD_SCDMA_WCDMA_LTE)); +static_assert( + aidl::android::hardware::radio::PreferredNetworkType::TD_SCDMA_GSM_WCDMA_LTE == + static_cast( + ::android::hardware::radio::V1_0::PreferredNetworkType::TD_SCDMA_GSM_WCDMA_LTE)); +static_assert( + aidl::android::hardware::radio::PreferredNetworkType::TD_SCDMA_GSM_WCDMA_CDMA_EVDO_AUTO == + static_cast( + ::android::hardware::radio::V1_0::PreferredNetworkType:: + TD_SCDMA_GSM_WCDMA_CDMA_EVDO_AUTO)); +static_assert( + aidl::android::hardware::radio::PreferredNetworkType::TD_SCDMA_LTE_CDMA_EVDO_GSM_WCDMA == + static_cast( + ::android::hardware::radio::V1_0::PreferredNetworkType:: + TD_SCDMA_LTE_CDMA_EVDO_GSM_WCDMA)); + +static_assert(aidl::android::hardware::radio::CdmaSubscriptionSource::RUIM_SIM == + static_cast( + ::android::hardware::radio::V1_0::CdmaSubscriptionSource::RUIM_SIM)); +static_assert(aidl::android::hardware::radio::CdmaSubscriptionSource::NV == + static_cast( + ::android::hardware::radio::V1_0::CdmaSubscriptionSource::NV)); + +static_assert(aidl::android::hardware::radio::CdmaRoamingType::HOME_NETWORK == + static_cast( + ::android::hardware::radio::V1_0::CdmaRoamingType::HOME_NETWORK)); +static_assert(aidl::android::hardware::radio::CdmaRoamingType::AFFILIATED_ROAM == + static_cast( + ::android::hardware::radio::V1_0::CdmaRoamingType::AFFILIATED_ROAM)); +static_assert(aidl::android::hardware::radio::CdmaRoamingType::ANY_ROAM == + static_cast( + ::android::hardware::radio::V1_0::CdmaRoamingType::ANY_ROAM)); + +static_assert(aidl::android::hardware::radio::TtyMode::OFF == + static_cast( + ::android::hardware::radio::V1_0::TtyMode::OFF)); +static_assert(aidl::android::hardware::radio::TtyMode::FULL == + static_cast( + ::android::hardware::radio::V1_0::TtyMode::FULL)); +static_assert(aidl::android::hardware::radio::TtyMode::HCO == + static_cast( + ::android::hardware::radio::V1_0::TtyMode::HCO)); +static_assert(aidl::android::hardware::radio::TtyMode::VCO == + static_cast( + ::android::hardware::radio::V1_0::TtyMode::VCO)); + +static_assert(aidl::android::hardware::radio::NvItem::CDMA_MEID == + static_cast( + ::android::hardware::radio::V1_0::NvItem::CDMA_MEID)); +static_assert(aidl::android::hardware::radio::NvItem::CDMA_MIN == + static_cast( + ::android::hardware::radio::V1_0::NvItem::CDMA_MIN)); +static_assert(aidl::android::hardware::radio::NvItem::CDMA_MDN == + static_cast( + ::android::hardware::radio::V1_0::NvItem::CDMA_MDN)); +static_assert(aidl::android::hardware::radio::NvItem::CDMA_ACCOLC == + static_cast( + ::android::hardware::radio::V1_0::NvItem::CDMA_ACCOLC)); +static_assert(aidl::android::hardware::radio::NvItem::DEVICE_MSL == + static_cast( + ::android::hardware::radio::V1_0::NvItem::DEVICE_MSL)); +static_assert(aidl::android::hardware::radio::NvItem::RTN_RECONDITIONED_STATUS == + static_cast( + ::android::hardware::radio::V1_0::NvItem::RTN_RECONDITIONED_STATUS)); +static_assert(aidl::android::hardware::radio::NvItem::RTN_ACTIVATION_DATE == + static_cast( + ::android::hardware::radio::V1_0::NvItem::RTN_ACTIVATION_DATE)); +static_assert(aidl::android::hardware::radio::NvItem::RTN_LIFE_TIMER == + static_cast( + ::android::hardware::radio::V1_0::NvItem::RTN_LIFE_TIMER)); +static_assert(aidl::android::hardware::radio::NvItem::RTN_LIFE_CALLS == + static_cast( + ::android::hardware::radio::V1_0::NvItem::RTN_LIFE_CALLS)); +static_assert(aidl::android::hardware::radio::NvItem::RTN_LIFE_DATA_TX == + static_cast( + ::android::hardware::radio::V1_0::NvItem::RTN_LIFE_DATA_TX)); +static_assert(aidl::android::hardware::radio::NvItem::RTN_LIFE_DATA_RX == + static_cast( + ::android::hardware::radio::V1_0::NvItem::RTN_LIFE_DATA_RX)); +static_assert(aidl::android::hardware::radio::NvItem::OMADM_HFA_LEVEL == + static_cast( + ::android::hardware::radio::V1_0::NvItem::OMADM_HFA_LEVEL)); +static_assert(aidl::android::hardware::radio::NvItem::MIP_PROFILE_NAI == + static_cast( + ::android::hardware::radio::V1_0::NvItem::MIP_PROFILE_NAI)); +static_assert(aidl::android::hardware::radio::NvItem::MIP_PROFILE_HOME_ADDRESS == + static_cast( + ::android::hardware::radio::V1_0::NvItem::MIP_PROFILE_HOME_ADDRESS)); +static_assert(aidl::android::hardware::radio::NvItem::MIP_PROFILE_AAA_AUTH == + static_cast( + ::android::hardware::radio::V1_0::NvItem::MIP_PROFILE_AAA_AUTH)); +static_assert(aidl::android::hardware::radio::NvItem::MIP_PROFILE_HA_AUTH == + static_cast( + ::android::hardware::radio::V1_0::NvItem::MIP_PROFILE_HA_AUTH)); +static_assert(aidl::android::hardware::radio::NvItem::MIP_PROFILE_PRI_HA_ADDR == + static_cast( + ::android::hardware::radio::V1_0::NvItem::MIP_PROFILE_PRI_HA_ADDR)); +static_assert(aidl::android::hardware::radio::NvItem::MIP_PROFILE_SEC_HA_ADDR == + static_cast( + ::android::hardware::radio::V1_0::NvItem::MIP_PROFILE_SEC_HA_ADDR)); +static_assert(aidl::android::hardware::radio::NvItem::MIP_PROFILE_REV_TUN_PREF == + static_cast( + ::android::hardware::radio::V1_0::NvItem::MIP_PROFILE_REV_TUN_PREF)); +static_assert(aidl::android::hardware::radio::NvItem::MIP_PROFILE_HA_SPI == + static_cast( + ::android::hardware::radio::V1_0::NvItem::MIP_PROFILE_HA_SPI)); +static_assert(aidl::android::hardware::radio::NvItem::MIP_PROFILE_AAA_SPI == + static_cast( + ::android::hardware::radio::V1_0::NvItem::MIP_PROFILE_AAA_SPI)); +static_assert(aidl::android::hardware::radio::NvItem::MIP_PROFILE_MN_HA_SS == + static_cast( + ::android::hardware::radio::V1_0::NvItem::MIP_PROFILE_MN_HA_SS)); +static_assert(aidl::android::hardware::radio::NvItem::MIP_PROFILE_MN_AAA_SS == + static_cast( + ::android::hardware::radio::V1_0::NvItem::MIP_PROFILE_MN_AAA_SS)); +static_assert(aidl::android::hardware::radio::NvItem::CDMA_PRL_VERSION == + static_cast( + ::android::hardware::radio::V1_0::NvItem::CDMA_PRL_VERSION)); +static_assert(aidl::android::hardware::radio::NvItem::CDMA_BC10 == + static_cast( + ::android::hardware::radio::V1_0::NvItem::CDMA_BC10)); +static_assert(aidl::android::hardware::radio::NvItem::CDMA_BC14 == + static_cast( + ::android::hardware::radio::V1_0::NvItem::CDMA_BC14)); +static_assert(aidl::android::hardware::radio::NvItem::CDMA_SO68 == + static_cast( + ::android::hardware::radio::V1_0::NvItem::CDMA_SO68)); +static_assert(aidl::android::hardware::radio::NvItem::CDMA_SO73_COP0 == + static_cast( + ::android::hardware::radio::V1_0::NvItem::CDMA_SO73_COP0)); +static_assert(aidl::android::hardware::radio::NvItem::CDMA_SO73_COP1TO7 == + static_cast( + ::android::hardware::radio::V1_0::NvItem::CDMA_SO73_COP1TO7)); +static_assert(aidl::android::hardware::radio::NvItem::CDMA_1X_ADVANCED_ENABLED == + static_cast( + ::android::hardware::radio::V1_0::NvItem::CDMA_1X_ADVANCED_ENABLED)); +static_assert(aidl::android::hardware::radio::NvItem::CDMA_EHRPD_ENABLED == + static_cast( + ::android::hardware::radio::V1_0::NvItem::CDMA_EHRPD_ENABLED)); +static_assert(aidl::android::hardware::radio::NvItem::CDMA_EHRPD_FORCED == + static_cast( + ::android::hardware::radio::V1_0::NvItem::CDMA_EHRPD_FORCED)); +static_assert(aidl::android::hardware::radio::NvItem::LTE_BAND_ENABLE_25 == + static_cast( + ::android::hardware::radio::V1_0::NvItem::LTE_BAND_ENABLE_25)); +static_assert(aidl::android::hardware::radio::NvItem::LTE_BAND_ENABLE_26 == + static_cast( + ::android::hardware::radio::V1_0::NvItem::LTE_BAND_ENABLE_26)); +static_assert(aidl::android::hardware::radio::NvItem::LTE_BAND_ENABLE_41 == + static_cast( + ::android::hardware::radio::V1_0::NvItem::LTE_BAND_ENABLE_41)); +static_assert(aidl::android::hardware::radio::NvItem::LTE_SCAN_PRIORITY_25 == + static_cast( + ::android::hardware::radio::V1_0::NvItem::LTE_SCAN_PRIORITY_25)); +static_assert(aidl::android::hardware::radio::NvItem::LTE_SCAN_PRIORITY_26 == + static_cast( + ::android::hardware::radio::V1_0::NvItem::LTE_SCAN_PRIORITY_26)); +static_assert(aidl::android::hardware::radio::NvItem::LTE_SCAN_PRIORITY_41 == + static_cast( + ::android::hardware::radio::V1_0::NvItem::LTE_SCAN_PRIORITY_41)); +static_assert(aidl::android::hardware::radio::NvItem::LTE_HIDDEN_BAND_PRIORITY_25 == + static_cast( + ::android::hardware::radio::V1_0::NvItem::LTE_HIDDEN_BAND_PRIORITY_25)); +static_assert(aidl::android::hardware::radio::NvItem::LTE_HIDDEN_BAND_PRIORITY_26 == + static_cast( + ::android::hardware::radio::V1_0::NvItem::LTE_HIDDEN_BAND_PRIORITY_26)); +static_assert(aidl::android::hardware::radio::NvItem::LTE_HIDDEN_BAND_PRIORITY_41 == + static_cast( + ::android::hardware::radio::V1_0::NvItem::LTE_HIDDEN_BAND_PRIORITY_41)); + +static_assert(aidl::android::hardware::radio::ResetNvType::RELOAD == + static_cast( + ::android::hardware::radio::V1_0::ResetNvType::RELOAD)); +static_assert(aidl::android::hardware::radio::ResetNvType::ERASE == + static_cast( + ::android::hardware::radio::V1_0::ResetNvType::ERASE)); +static_assert(aidl::android::hardware::radio::ResetNvType::FACTORY_RESET == + static_cast( + ::android::hardware::radio::V1_0::ResetNvType::FACTORY_RESET)); + +static_assert(aidl::android::hardware::radio::HardwareConfigState::ENABLED == + static_cast( + ::android::hardware::radio::V1_0::HardwareConfigState::ENABLED)); +static_assert(aidl::android::hardware::radio::HardwareConfigState::STANDBY == + static_cast( + ::android::hardware::radio::V1_0::HardwareConfigState::STANDBY)); +static_assert(aidl::android::hardware::radio::HardwareConfigState::DISABLED == + static_cast( + ::android::hardware::radio::V1_0::HardwareConfigState::DISABLED)); + +static_assert(aidl::android::hardware::radio::LceStatus::NOT_SUPPORTED == + static_cast( + ::android::hardware::radio::V1_0::LceStatus::NOT_SUPPORTED)); +static_assert(aidl::android::hardware::radio::LceStatus::STOPPED == + static_cast( + ::android::hardware::radio::V1_0::LceStatus::STOPPED)); +static_assert(aidl::android::hardware::radio::LceStatus::ACTIVE == + static_cast( + ::android::hardware::radio::V1_0::LceStatus::ACTIVE)); + +static_assert(aidl::android::hardware::radio::CarrierMatchType::ALL == + static_cast( + ::android::hardware::radio::V1_0::CarrierMatchType::ALL)); +static_assert(aidl::android::hardware::radio::CarrierMatchType::SPN == + static_cast( + ::android::hardware::radio::V1_0::CarrierMatchType::SPN)); +static_assert(aidl::android::hardware::radio::CarrierMatchType::IMSI_PREFIX == + static_cast( + ::android::hardware::radio::V1_0::CarrierMatchType::IMSI_PREFIX)); +static_assert(aidl::android::hardware::radio::CarrierMatchType::GID1 == + static_cast( + ::android::hardware::radio::V1_0::CarrierMatchType::GID1)); +static_assert(aidl::android::hardware::radio::CarrierMatchType::GID2 == + static_cast( + ::android::hardware::radio::V1_0::CarrierMatchType::GID2)); + +static_assert(aidl::android::hardware::radio::CdmaSmsDigitMode::FOUR_BIT == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsDigitMode::FOUR_BIT)); +static_assert(aidl::android::hardware::radio::CdmaSmsDigitMode::EIGHT_BIT == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsDigitMode::EIGHT_BIT)); + +static_assert(aidl::android::hardware::radio::CdmaSmsNumberMode::NOT_DATA_NETWORK == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberMode::NOT_DATA_NETWORK)); +static_assert(aidl::android::hardware::radio::CdmaSmsNumberMode::DATA_NETWORK == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberMode::DATA_NETWORK)); + +static_assert(aidl::android::hardware::radio::CdmaSmsNumberType::UNKNOWN == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberType::UNKNOWN)); +static_assert( + aidl::android::hardware::radio::CdmaSmsNumberType::INTERNATIONAL_OR_DATA_IP == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberType::INTERNATIONAL_OR_DATA_IP)); +static_assert( + aidl::android::hardware::radio::CdmaSmsNumberType::NATIONAL_OR_INTERNET_MAIL == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberType::NATIONAL_OR_INTERNET_MAIL)); +static_assert(aidl::android::hardware::radio::CdmaSmsNumberType::NETWORK == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberType::NETWORK)); +static_assert(aidl::android::hardware::radio::CdmaSmsNumberType::SUBSCRIBER == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberType::SUBSCRIBER)); +static_assert(aidl::android::hardware::radio::CdmaSmsNumberType::ALPHANUMERIC == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberType::ALPHANUMERIC)); +static_assert(aidl::android::hardware::radio::CdmaSmsNumberType::ABBREVIATED == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberType::ABBREVIATED)); +static_assert(aidl::android::hardware::radio::CdmaSmsNumberType::RESERVED_7 == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberType::RESERVED_7)); + +static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::UNKNOWN == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::UNKNOWN)); +static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::TELEPHONY == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::TELEPHONY)); +static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::RESERVED_2 == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::RESERVED_2)); +static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::DATA == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::DATA)); +static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::TELEX == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::TELEX)); +static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::RESERVED_5 == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::RESERVED_5)); +static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::RESERVED_6 == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::RESERVED_6)); +static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::RESERVED_7 == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::RESERVED_7)); +static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::RESERVED_8 == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::RESERVED_8)); +static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::PRIVATE == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::PRIVATE)); +static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::RESERVED_10 == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::RESERVED_10)); +static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::RESERVED_11 == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::RESERVED_11)); +static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::RESERVED_12 == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::RESERVED_12)); +static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::RESERVED_13 == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::RESERVED_13)); +static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::RESERVED_14 == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::RESERVED_14)); +static_assert(aidl::android::hardware::radio::CdmaSmsNumberPlan::RESERVED_15 == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsNumberPlan::RESERVED_15)); + +static_assert(aidl::android::hardware::radio::CdmaSmsSubaddressType::NSAP == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsSubaddressType::NSAP)); +static_assert(aidl::android::hardware::radio::CdmaSmsSubaddressType::USER_SPECIFIED == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsSubaddressType::USER_SPECIFIED)); + +static_assert(aidl::android::hardware::radio::CdmaSmsErrorClass::NO_ERROR == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsErrorClass::NO_ERROR)); +static_assert(aidl::android::hardware::radio::CdmaSmsErrorClass::ERROR == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsErrorClass::ERROR)); + +static_assert(aidl::android::hardware::radio::CdmaSmsWriteArgsStatus::REC_UNREAD == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsWriteArgsStatus::REC_UNREAD)); +static_assert(aidl::android::hardware::radio::CdmaSmsWriteArgsStatus::REC_READ == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsWriteArgsStatus::REC_READ)); +static_assert(aidl::android::hardware::radio::CdmaSmsWriteArgsStatus::STO_UNSENT == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsWriteArgsStatus::STO_UNSENT)); +static_assert(aidl::android::hardware::radio::CdmaSmsWriteArgsStatus::STO_SENT == + static_cast( + ::android::hardware::radio::V1_0::CdmaSmsWriteArgsStatus::STO_SENT)); + +static_assert(aidl::android::hardware::radio::CellInfoType::NONE == + static_cast( + ::android::hardware::radio::V1_0::CellInfoType::NONE)); +static_assert(aidl::android::hardware::radio::CellInfoType::GSM == + static_cast( + ::android::hardware::radio::V1_0::CellInfoType::GSM)); +static_assert(aidl::android::hardware::radio::CellInfoType::CDMA == + static_cast( + ::android::hardware::radio::V1_0::CellInfoType::CDMA)); +static_assert(aidl::android::hardware::radio::CellInfoType::LTE == + static_cast( + ::android::hardware::radio::V1_0::CellInfoType::LTE)); +static_assert(aidl::android::hardware::radio::CellInfoType::WCDMA == + static_cast( + ::android::hardware::radio::V1_0::CellInfoType::WCDMA)); +static_assert(aidl::android::hardware::radio::CellInfoType::TD_SCDMA == + static_cast( + ::android::hardware::radio::V1_0::CellInfoType::TD_SCDMA)); + +static_assert(aidl::android::hardware::radio::TimeStampType::UNKNOWN == + static_cast( + ::android::hardware::radio::V1_0::TimeStampType::UNKNOWN)); +static_assert(aidl::android::hardware::radio::TimeStampType::ANTENNA == + static_cast( + ::android::hardware::radio::V1_0::TimeStampType::ANTENNA)); +static_assert(aidl::android::hardware::radio::TimeStampType::MODEM == + static_cast( + ::android::hardware::radio::V1_0::TimeStampType::MODEM)); +static_assert(aidl::android::hardware::radio::TimeStampType::OEM_RIL == + static_cast( + ::android::hardware::radio::V1_0::TimeStampType::OEM_RIL)); +static_assert(aidl::android::hardware::radio::TimeStampType::JAVA_RIL == + static_cast( + ::android::hardware::radio::V1_0::TimeStampType::JAVA_RIL)); + +static_assert(aidl::android::hardware::radio::ApnAuthType::NO_PAP_NO_CHAP == + static_cast( + ::android::hardware::radio::V1_0::ApnAuthType::NO_PAP_NO_CHAP)); +static_assert(aidl::android::hardware::radio::ApnAuthType::PAP_NO_CHAP == + static_cast( + ::android::hardware::radio::V1_0::ApnAuthType::PAP_NO_CHAP)); +static_assert(aidl::android::hardware::radio::ApnAuthType::NO_PAP_CHAP == + static_cast( + ::android::hardware::radio::V1_0::ApnAuthType::NO_PAP_CHAP)); +static_assert(aidl::android::hardware::radio::ApnAuthType::PAP_CHAP == + static_cast( + ::android::hardware::radio::V1_0::ApnAuthType::PAP_CHAP)); + +static_assert(aidl::android::hardware::radio::RadioTechnologyFamily::THREE_GPP == + static_cast( + ::android::hardware::radio::V1_0::RadioTechnologyFamily::THREE_GPP)); +static_assert(aidl::android::hardware::radio::RadioTechnologyFamily::THREE_GPP2 == + static_cast( + ::android::hardware::radio::V1_0::RadioTechnologyFamily::THREE_GPP2)); + +static_assert(aidl::android::hardware::radio::RadioCapabilityPhase::CONFIGURED == + static_cast( + ::android::hardware::radio::V1_0::RadioCapabilityPhase::CONFIGURED)); +static_assert(aidl::android::hardware::radio::RadioCapabilityPhase::START == + static_cast( + ::android::hardware::radio::V1_0::RadioCapabilityPhase::START)); +static_assert(aidl::android::hardware::radio::RadioCapabilityPhase::APPLY == + static_cast( + ::android::hardware::radio::V1_0::RadioCapabilityPhase::APPLY)); +static_assert(aidl::android::hardware::radio::RadioCapabilityPhase::UNSOL_RSP == + static_cast( + ::android::hardware::radio::V1_0::RadioCapabilityPhase::UNSOL_RSP)); +static_assert(aidl::android::hardware::radio::RadioCapabilityPhase::FINISH == + static_cast( + ::android::hardware::radio::V1_0::RadioCapabilityPhase::FINISH)); + +static_assert(aidl::android::hardware::radio::RadioCapabilityStatus::NONE == + static_cast( + ::android::hardware::radio::V1_0::RadioCapabilityStatus::NONE)); +static_assert(aidl::android::hardware::radio::RadioCapabilityStatus::SUCCESS == + static_cast( + ::android::hardware::radio::V1_0::RadioCapabilityStatus::SUCCESS)); +static_assert(aidl::android::hardware::radio::RadioCapabilityStatus::FAIL == + static_cast( + ::android::hardware::radio::V1_0::RadioCapabilityStatus::FAIL)); + +static_assert(aidl::android::hardware::radio::UssdModeType::NOTIFY == + static_cast( + ::android::hardware::radio::V1_0::UssdModeType::NOTIFY)); +static_assert(aidl::android::hardware::radio::UssdModeType::REQUEST == + static_cast( + ::android::hardware::radio::V1_0::UssdModeType::REQUEST)); +static_assert(aidl::android::hardware::radio::UssdModeType::NW_RELEASE == + static_cast( + ::android::hardware::radio::V1_0::UssdModeType::NW_RELEASE)); +static_assert(aidl::android::hardware::radio::UssdModeType::LOCAL_CLIENT == + static_cast( + ::android::hardware::radio::V1_0::UssdModeType::LOCAL_CLIENT)); +static_assert(aidl::android::hardware::radio::UssdModeType::NOT_SUPPORTED == + static_cast( + ::android::hardware::radio::V1_0::UssdModeType::NOT_SUPPORTED)); +static_assert(aidl::android::hardware::radio::UssdModeType::NW_TIMEOUT == + static_cast( + ::android::hardware::radio::V1_0::UssdModeType::NW_TIMEOUT)); + +static_assert(aidl::android::hardware::radio::SimRefreshType::SIM_FILE_UPDATE == + static_cast( + ::android::hardware::radio::V1_0::SimRefreshType::SIM_FILE_UPDATE)); +static_assert(aidl::android::hardware::radio::SimRefreshType::SIM_INIT == + static_cast( + ::android::hardware::radio::V1_0::SimRefreshType::SIM_INIT)); +static_assert(aidl::android::hardware::radio::SimRefreshType::SIM_RESET == + static_cast( + ::android::hardware::radio::V1_0::SimRefreshType::SIM_RESET)); + +static_assert(aidl::android::hardware::radio::SrvccState::HANDOVER_STARTED == + static_cast( + ::android::hardware::radio::V1_0::SrvccState::HANDOVER_STARTED)); +static_assert(aidl::android::hardware::radio::SrvccState::HANDOVER_COMPLETED == + static_cast( + ::android::hardware::radio::V1_0::SrvccState::HANDOVER_COMPLETED)); +static_assert(aidl::android::hardware::radio::SrvccState::HANDOVER_FAILED == + static_cast( + ::android::hardware::radio::V1_0::SrvccState::HANDOVER_FAILED)); +static_assert(aidl::android::hardware::radio::SrvccState::HANDOVER_CANCELED == + static_cast( + ::android::hardware::radio::V1_0::SrvccState::HANDOVER_CANCELED)); + +static_assert(aidl::android::hardware::radio::UiccSubActStatus::DEACTIVATE == + static_cast( + ::android::hardware::radio::V1_0::UiccSubActStatus::DEACTIVATE)); +static_assert(aidl::android::hardware::radio::UiccSubActStatus::ACTIVATE == + static_cast( + ::android::hardware::radio::V1_0::UiccSubActStatus::ACTIVATE)); + +static_assert(aidl::android::hardware::radio::SubscriptionType::SUBSCRIPTION_1 == + static_cast( + ::android::hardware::radio::V1_0::SubscriptionType::SUBSCRIPTION_1)); +static_assert(aidl::android::hardware::radio::SubscriptionType::SUBSCRIPTION_2 == + static_cast( + ::android::hardware::radio::V1_0::SubscriptionType::SUBSCRIPTION_2)); +static_assert(aidl::android::hardware::radio::SubscriptionType::SUBSCRIPTION_3 == + static_cast( + ::android::hardware::radio::V1_0::SubscriptionType::SUBSCRIPTION_3)); + +static_assert(aidl::android::hardware::radio::DataProfileInfoType::COMMON == + static_cast( + ::android::hardware::radio::V1_0::DataProfileInfoType::COMMON)); +static_assert(aidl::android::hardware::radio::DataProfileInfoType::THREE_GPP == + static_cast( + ::android::hardware::radio::V1_0::DataProfileInfoType::THREE_GPP)); +static_assert(aidl::android::hardware::radio::DataProfileInfoType::THREE_GPP2 == + static_cast( + ::android::hardware::radio::V1_0::DataProfileInfoType::THREE_GPP2)); + +static_assert(aidl::android::hardware::radio::PhoneRestrictedState::NONE == + static_cast( + ::android::hardware::radio::V1_0::PhoneRestrictedState::NONE)); +static_assert(aidl::android::hardware::radio::PhoneRestrictedState::CS_EMERGENCY == + static_cast( + ::android::hardware::radio::V1_0::PhoneRestrictedState::CS_EMERGENCY)); +static_assert(aidl::android::hardware::radio::PhoneRestrictedState::CS_NORMAL == + static_cast( + ::android::hardware::radio::V1_0::PhoneRestrictedState::CS_NORMAL)); +static_assert(aidl::android::hardware::radio::PhoneRestrictedState::CS_ALL == + static_cast( + ::android::hardware::radio::V1_0::PhoneRestrictedState::CS_ALL)); +static_assert(aidl::android::hardware::radio::PhoneRestrictedState::PS_ALL == + static_cast( + ::android::hardware::radio::V1_0::PhoneRestrictedState::PS_ALL)); + +static_assert( + aidl::android::hardware::radio::CdmaCallWaitingNumberPresentation::ALLOWED == + static_cast( + ::android::hardware::radio::V1_0::CdmaCallWaitingNumberPresentation::ALLOWED)); +static_assert( + aidl::android::hardware::radio::CdmaCallWaitingNumberPresentation::RESTRICTED == + static_cast( + ::android::hardware::radio::V1_0::CdmaCallWaitingNumberPresentation::RESTRICTED)); +static_assert( + aidl::android::hardware::radio::CdmaCallWaitingNumberPresentation::UNKNOWN == + static_cast( + ::android::hardware::radio::V1_0::CdmaCallWaitingNumberPresentation::UNKNOWN)); + +static_assert(aidl::android::hardware::radio::CdmaCallWaitingNumberType::UNKNOWN == + static_cast( + ::android::hardware::radio::V1_0::CdmaCallWaitingNumberType::UNKNOWN)); +static_assert(aidl::android::hardware::radio::CdmaCallWaitingNumberType::INTERNATIONAL == + static_cast( + ::android::hardware::radio::V1_0::CdmaCallWaitingNumberType::INTERNATIONAL)); +static_assert(aidl::android::hardware::radio::CdmaCallWaitingNumberType::NATIONAL == + static_cast( + ::android::hardware::radio::V1_0::CdmaCallWaitingNumberType::NATIONAL)); +static_assert( + aidl::android::hardware::radio::CdmaCallWaitingNumberType::NETWORK_SPECIFIC == + static_cast( + ::android::hardware::radio::V1_0::CdmaCallWaitingNumberType::NETWORK_SPECIFIC)); +static_assert(aidl::android::hardware::radio::CdmaCallWaitingNumberType::SUBSCRIBER == + static_cast( + ::android::hardware::radio::V1_0::CdmaCallWaitingNumberType::SUBSCRIBER)); + +static_assert(aidl::android::hardware::radio::CdmaCallWaitingNumberPlan::UNKNOWN == + static_cast( + ::android::hardware::radio::V1_0::CdmaCallWaitingNumberPlan::UNKNOWN)); +static_assert(aidl::android::hardware::radio::CdmaCallWaitingNumberPlan::ISDN == + static_cast( + ::android::hardware::radio::V1_0::CdmaCallWaitingNumberPlan::ISDN)); +static_assert(aidl::android::hardware::radio::CdmaCallWaitingNumberPlan::DATA == + static_cast( + ::android::hardware::radio::V1_0::CdmaCallWaitingNumberPlan::DATA)); +static_assert(aidl::android::hardware::radio::CdmaCallWaitingNumberPlan::TELEX == + static_cast( + ::android::hardware::radio::V1_0::CdmaCallWaitingNumberPlan::TELEX)); +static_assert(aidl::android::hardware::radio::CdmaCallWaitingNumberPlan::NATIONAL == + static_cast( + ::android::hardware::radio::V1_0::CdmaCallWaitingNumberPlan::NATIONAL)); +static_assert(aidl::android::hardware::radio::CdmaCallWaitingNumberPlan::PRIVATE == + static_cast( + ::android::hardware::radio::V1_0::CdmaCallWaitingNumberPlan::PRIVATE)); + +static_assert(aidl::android::hardware::radio::CdmaOtaProvisionStatus::SPL_UNLOCKED == + static_cast( + ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::SPL_UNLOCKED)); +static_assert( + aidl::android::hardware::radio::CdmaOtaProvisionStatus::SPC_RETRIES_EXCEEDED == + static_cast( + ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::SPC_RETRIES_EXCEEDED)); +static_assert(aidl::android::hardware::radio::CdmaOtaProvisionStatus::A_KEY_EXCHANGED == + static_cast( + ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::A_KEY_EXCHANGED)); +static_assert(aidl::android::hardware::radio::CdmaOtaProvisionStatus::SSD_UPDATED == + static_cast( + ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::SSD_UPDATED)); +static_assert(aidl::android::hardware::radio::CdmaOtaProvisionStatus::NAM_DOWNLOADED == + static_cast( + ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::NAM_DOWNLOADED)); +static_assert(aidl::android::hardware::radio::CdmaOtaProvisionStatus::MDN_DOWNLOADED == + static_cast( + ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::MDN_DOWNLOADED)); +static_assert(aidl::android::hardware::radio::CdmaOtaProvisionStatus::IMSI_DOWNLOADED == + static_cast( + ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::IMSI_DOWNLOADED)); +static_assert(aidl::android::hardware::radio::CdmaOtaProvisionStatus::PRL_DOWNLOADED == + static_cast( + ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::PRL_DOWNLOADED)); +static_assert(aidl::android::hardware::radio::CdmaOtaProvisionStatus::COMMITTED == + static_cast( + ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::COMMITTED)); +static_assert(aidl::android::hardware::radio::CdmaOtaProvisionStatus::OTAPA_STARTED == + static_cast( + ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::OTAPA_STARTED)); +static_assert(aidl::android::hardware::radio::CdmaOtaProvisionStatus::OTAPA_STOPPED == + static_cast( + ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::OTAPA_STOPPED)); +static_assert(aidl::android::hardware::radio::CdmaOtaProvisionStatus::OTAPA_ABORTED == + static_cast( + ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus::OTAPA_ABORTED)); + +static_assert(aidl::android::hardware::radio::CdmaInfoRecName::DISPLAY == + static_cast( + ::android::hardware::radio::V1_0::CdmaInfoRecName::DISPLAY)); +static_assert(aidl::android::hardware::radio::CdmaInfoRecName::CALLED_PARTY_NUMBER == + static_cast( + ::android::hardware::radio::V1_0::CdmaInfoRecName::CALLED_PARTY_NUMBER)); +static_assert(aidl::android::hardware::radio::CdmaInfoRecName::CALLING_PARTY_NUMBER == + static_cast( + ::android::hardware::radio::V1_0::CdmaInfoRecName::CALLING_PARTY_NUMBER)); +static_assert(aidl::android::hardware::radio::CdmaInfoRecName::CONNECTED_NUMBER == + static_cast( + ::android::hardware::radio::V1_0::CdmaInfoRecName::CONNECTED_NUMBER)); +static_assert(aidl::android::hardware::radio::CdmaInfoRecName::SIGNAL == + static_cast( + ::android::hardware::radio::V1_0::CdmaInfoRecName::SIGNAL)); +static_assert(aidl::android::hardware::radio::CdmaInfoRecName::REDIRECTING_NUMBER == + static_cast( + ::android::hardware::radio::V1_0::CdmaInfoRecName::REDIRECTING_NUMBER)); +static_assert(aidl::android::hardware::radio::CdmaInfoRecName::LINE_CONTROL == + static_cast( + ::android::hardware::radio::V1_0::CdmaInfoRecName::LINE_CONTROL)); +static_assert(aidl::android::hardware::radio::CdmaInfoRecName::EXTENDED_DISPLAY == + static_cast( + ::android::hardware::radio::V1_0::CdmaInfoRecName::EXTENDED_DISPLAY)); +static_assert(aidl::android::hardware::radio::CdmaInfoRecName::T53_CLIR == + static_cast( + ::android::hardware::radio::V1_0::CdmaInfoRecName::T53_CLIR)); +static_assert(aidl::android::hardware::radio::CdmaInfoRecName::T53_RELEASE == + static_cast( + ::android::hardware::radio::V1_0::CdmaInfoRecName::T53_RELEASE)); +static_assert(aidl::android::hardware::radio::CdmaInfoRecName::T53_AUDIO_CONTROL == + static_cast( + ::android::hardware::radio::V1_0::CdmaInfoRecName::T53_AUDIO_CONTROL)); + +static_assert(aidl::android::hardware::radio::CdmaRedirectingReason::UNKNOWN == + static_cast( + ::android::hardware::radio::V1_0::CdmaRedirectingReason::UNKNOWN)); +static_assert( + aidl::android::hardware::radio::CdmaRedirectingReason::CALL_FORWARDING_BUSY == + static_cast( + ::android::hardware::radio::V1_0::CdmaRedirectingReason::CALL_FORWARDING_BUSY)); +static_assert( + aidl::android::hardware::radio::CdmaRedirectingReason::CALL_FORWARDING_NO_REPLY == + static_cast( + ::android::hardware::radio::V1_0::CdmaRedirectingReason::CALL_FORWARDING_NO_REPLY)); +static_assert( + aidl::android::hardware::radio::CdmaRedirectingReason::CALLED_DTE_OUT_OF_ORDER == + static_cast( + ::android::hardware::radio::V1_0::CdmaRedirectingReason::CALLED_DTE_OUT_OF_ORDER)); +static_assert( + aidl::android::hardware::radio::CdmaRedirectingReason::CALL_FORWARDING_BY_THE_CALLED_DTE == + static_cast( + ::android::hardware::radio::V1_0::CdmaRedirectingReason:: + CALL_FORWARDING_BY_THE_CALLED_DTE)); +static_assert( + aidl::android::hardware::radio::CdmaRedirectingReason::CALL_FORWARDING_UNCONDITIONAL == + static_cast( + ::android::hardware::radio::V1_0::CdmaRedirectingReason:: + CALL_FORWARDING_UNCONDITIONAL)); +static_assert(aidl::android::hardware::radio::CdmaRedirectingReason::RESERVED == + static_cast( + ::android::hardware::radio::V1_0::CdmaRedirectingReason::RESERVED)); + +static_assert(aidl::android::hardware::radio::SsServiceType::CFU == + static_cast( + ::android::hardware::radio::V1_0::SsServiceType::CFU)); +static_assert(aidl::android::hardware::radio::SsServiceType::CF_BUSY == + static_cast( + ::android::hardware::radio::V1_0::SsServiceType::CF_BUSY)); +static_assert(aidl::android::hardware::radio::SsServiceType::CF_NO_REPLY == + static_cast( + ::android::hardware::radio::V1_0::SsServiceType::CF_NO_REPLY)); +static_assert(aidl::android::hardware::radio::SsServiceType::CF_NOT_REACHABLE == + static_cast( + ::android::hardware::radio::V1_0::SsServiceType::CF_NOT_REACHABLE)); +static_assert(aidl::android::hardware::radio::SsServiceType::CF_ALL == + static_cast( + ::android::hardware::radio::V1_0::SsServiceType::CF_ALL)); +static_assert(aidl::android::hardware::radio::SsServiceType::CF_ALL_CONDITIONAL == + static_cast( + ::android::hardware::radio::V1_0::SsServiceType::CF_ALL_CONDITIONAL)); +static_assert(aidl::android::hardware::radio::SsServiceType::CLIP == + static_cast( + ::android::hardware::radio::V1_0::SsServiceType::CLIP)); +static_assert(aidl::android::hardware::radio::SsServiceType::CLIR == + static_cast( + ::android::hardware::radio::V1_0::SsServiceType::CLIR)); +static_assert(aidl::android::hardware::radio::SsServiceType::COLP == + static_cast( + ::android::hardware::radio::V1_0::SsServiceType::COLP)); +static_assert(aidl::android::hardware::radio::SsServiceType::COLR == + static_cast( + ::android::hardware::radio::V1_0::SsServiceType::COLR)); +static_assert(aidl::android::hardware::radio::SsServiceType::WAIT == + static_cast( + ::android::hardware::radio::V1_0::SsServiceType::WAIT)); +static_assert(aidl::android::hardware::radio::SsServiceType::BAOC == + static_cast( + ::android::hardware::radio::V1_0::SsServiceType::BAOC)); +static_assert(aidl::android::hardware::radio::SsServiceType::BAOIC == + static_cast( + ::android::hardware::radio::V1_0::SsServiceType::BAOIC)); +static_assert(aidl::android::hardware::radio::SsServiceType::BAOIC_EXC_HOME == + static_cast( + ::android::hardware::radio::V1_0::SsServiceType::BAOIC_EXC_HOME)); +static_assert(aidl::android::hardware::radio::SsServiceType::BAIC == + static_cast( + ::android::hardware::radio::V1_0::SsServiceType::BAIC)); +static_assert(aidl::android::hardware::radio::SsServiceType::BAIC_ROAMING == + static_cast( + ::android::hardware::radio::V1_0::SsServiceType::BAIC_ROAMING)); +static_assert(aidl::android::hardware::radio::SsServiceType::ALL_BARRING == + static_cast( + ::android::hardware::radio::V1_0::SsServiceType::ALL_BARRING)); +static_assert(aidl::android::hardware::radio::SsServiceType::OUTGOING_BARRING == + static_cast( + ::android::hardware::radio::V1_0::SsServiceType::OUTGOING_BARRING)); +static_assert(aidl::android::hardware::radio::SsServiceType::INCOMING_BARRING == + static_cast( + ::android::hardware::radio::V1_0::SsServiceType::INCOMING_BARRING)); + +static_assert(aidl::android::hardware::radio::SsRequestType::ACTIVATION == + static_cast( + ::android::hardware::radio::V1_0::SsRequestType::ACTIVATION)); +static_assert(aidl::android::hardware::radio::SsRequestType::DEACTIVATION == + static_cast( + ::android::hardware::radio::V1_0::SsRequestType::DEACTIVATION)); +static_assert(aidl::android::hardware::radio::SsRequestType::INTERROGATION == + static_cast( + ::android::hardware::radio::V1_0::SsRequestType::INTERROGATION)); +static_assert(aidl::android::hardware::radio::SsRequestType::REGISTRATION == + static_cast( + ::android::hardware::radio::V1_0::SsRequestType::REGISTRATION)); +static_assert(aidl::android::hardware::radio::SsRequestType::ERASURE == + static_cast( + ::android::hardware::radio::V1_0::SsRequestType::ERASURE)); + +static_assert( + aidl::android::hardware::radio::SsTeleserviceType::ALL_TELE_AND_BEARER_SERVICES == + static_cast( + ::android::hardware::radio::V1_0::SsTeleserviceType::ALL_TELE_AND_BEARER_SERVICES)); +static_assert(aidl::android::hardware::radio::SsTeleserviceType::ALL_TELESEVICES == + static_cast( + ::android::hardware::radio::V1_0::SsTeleserviceType::ALL_TELESEVICES)); +static_assert(aidl::android::hardware::radio::SsTeleserviceType::TELEPHONY == + static_cast( + ::android::hardware::radio::V1_0::SsTeleserviceType::TELEPHONY)); +static_assert(aidl::android::hardware::radio::SsTeleserviceType::ALL_DATA_TELESERVICES == + static_cast( + ::android::hardware::radio::V1_0::SsTeleserviceType::ALL_DATA_TELESERVICES)); +static_assert(aidl::android::hardware::radio::SsTeleserviceType::SMS_SERVICES == + static_cast( + ::android::hardware::radio::V1_0::SsTeleserviceType::SMS_SERVICES)); +static_assert( + aidl::android::hardware::radio::SsTeleserviceType::ALL_TELESERVICES_EXCEPT_SMS == + static_cast( + ::android::hardware::radio::V1_0::SsTeleserviceType::ALL_TELESERVICES_EXCEPT_SMS)); + +static_assert(aidl::android::hardware::radio::SuppServiceClass::NONE == + static_cast( + ::android::hardware::radio::V1_0::SuppServiceClass::NONE)); +static_assert(aidl::android::hardware::radio::SuppServiceClass::VOICE == + static_cast( + ::android::hardware::radio::V1_0::SuppServiceClass::VOICE)); +static_assert(aidl::android::hardware::radio::SuppServiceClass::DATA == + static_cast( + ::android::hardware::radio::V1_0::SuppServiceClass::DATA)); +static_assert(aidl::android::hardware::radio::SuppServiceClass::FAX == + static_cast( + ::android::hardware::radio::V1_0::SuppServiceClass::FAX)); +static_assert(aidl::android::hardware::radio::SuppServiceClass::SMS == + static_cast( + ::android::hardware::radio::V1_0::SuppServiceClass::SMS)); +static_assert(aidl::android::hardware::radio::SuppServiceClass::DATA_SYNC == + static_cast( + ::android::hardware::radio::V1_0::SuppServiceClass::DATA_SYNC)); +static_assert(aidl::android::hardware::radio::SuppServiceClass::DATA_ASYNC == + static_cast( + ::android::hardware::radio::V1_0::SuppServiceClass::DATA_ASYNC)); +static_assert(aidl::android::hardware::radio::SuppServiceClass::PACKET == + static_cast( + ::android::hardware::radio::V1_0::SuppServiceClass::PACKET)); +static_assert(aidl::android::hardware::radio::SuppServiceClass::PAD == + static_cast( + ::android::hardware::radio::V1_0::SuppServiceClass::PAD)); +static_assert(aidl::android::hardware::radio::SuppServiceClass::MAX == + static_cast( + ::android::hardware::radio::V1_0::SuppServiceClass::MAX)); + +static_assert(aidl::android::hardware::radio::MvnoType::NONE == + static_cast( + ::android::hardware::radio::V1_0::MvnoType::NONE)); +static_assert(aidl::android::hardware::radio::MvnoType::IMSI == + static_cast( + ::android::hardware::radio::V1_0::MvnoType::IMSI)); +static_assert(aidl::android::hardware::radio::MvnoType::GID == + static_cast( + ::android::hardware::radio::V1_0::MvnoType::GID)); +static_assert(aidl::android::hardware::radio::MvnoType::SPN == + static_cast( + ::android::hardware::radio::V1_0::MvnoType::SPN)); + +static_assert(aidl::android::hardware::radio::DeviceStateType::POWER_SAVE_MODE == + static_cast( + ::android::hardware::radio::V1_0::DeviceStateType::POWER_SAVE_MODE)); +static_assert(aidl::android::hardware::radio::DeviceStateType::CHARGING_STATE == + static_cast( + ::android::hardware::radio::V1_0::DeviceStateType::CHARGING_STATE)); +static_assert(aidl::android::hardware::radio::DeviceStateType::LOW_DATA_EXPECTED == + static_cast( + ::android::hardware::radio::V1_0::DeviceStateType::LOW_DATA_EXPECTED)); + +static_assert(aidl::android::hardware::radio::P2Constant::NO_P2 == + static_cast( + ::android::hardware::radio::V1_0::P2Constant::NO_P2)); + +static_assert(aidl::android::hardware::radio::CardPowerState::POWER_DOWN == + static_cast( + ::android::hardware::radio::V1_1::CardPowerState::POWER_DOWN)); +static_assert(aidl::android::hardware::radio::CardPowerState::POWER_UP == + static_cast( + ::android::hardware::radio::V1_1::CardPowerState::POWER_UP)); +static_assert(aidl::android::hardware::radio::CardPowerState::POWER_UP_PASS_THROUGH == + static_cast( + ::android::hardware::radio::V1_1::CardPowerState::POWER_UP_PASS_THROUGH)); + +static_assert(aidl::android::hardware::radio::GeranBands::BAND_T380 == + static_cast( + ::android::hardware::radio::V1_1::GeranBands::BAND_T380)); +static_assert(aidl::android::hardware::radio::GeranBands::BAND_T410 == + static_cast( + ::android::hardware::radio::V1_1::GeranBands::BAND_T410)); +static_assert(aidl::android::hardware::radio::GeranBands::BAND_450 == + static_cast( + ::android::hardware::radio::V1_1::GeranBands::BAND_450)); +static_assert(aidl::android::hardware::radio::GeranBands::BAND_480 == + static_cast( + ::android::hardware::radio::V1_1::GeranBands::BAND_480)); +static_assert(aidl::android::hardware::radio::GeranBands::BAND_710 == + static_cast( + ::android::hardware::radio::V1_1::GeranBands::BAND_710)); +static_assert(aidl::android::hardware::radio::GeranBands::BAND_750 == + static_cast( + ::android::hardware::radio::V1_1::GeranBands::BAND_750)); +static_assert(aidl::android::hardware::radio::GeranBands::BAND_T810 == + static_cast( + ::android::hardware::radio::V1_1::GeranBands::BAND_T810)); +static_assert(aidl::android::hardware::radio::GeranBands::BAND_850 == + static_cast( + ::android::hardware::radio::V1_1::GeranBands::BAND_850)); +static_assert(aidl::android::hardware::radio::GeranBands::BAND_P900 == + static_cast( + ::android::hardware::radio::V1_1::GeranBands::BAND_P900)); +static_assert(aidl::android::hardware::radio::GeranBands::BAND_E900 == + static_cast( + ::android::hardware::radio::V1_1::GeranBands::BAND_E900)); +static_assert(aidl::android::hardware::radio::GeranBands::BAND_R900 == + static_cast( + ::android::hardware::radio::V1_1::GeranBands::BAND_R900)); +static_assert(aidl::android::hardware::radio::GeranBands::BAND_DCS1800 == + static_cast( + ::android::hardware::radio::V1_1::GeranBands::BAND_DCS1800)); +static_assert(aidl::android::hardware::radio::GeranBands::BAND_PCS1900 == + static_cast( + ::android::hardware::radio::V1_1::GeranBands::BAND_PCS1900)); +static_assert(aidl::android::hardware::radio::GeranBands::BAND_ER900 == + static_cast( + ::android::hardware::radio::V1_1::GeranBands::BAND_ER900)); + +static_assert(aidl::android::hardware::radio::ScanType::ONE_SHOT == + static_cast( + ::android::hardware::radio::V1_1::ScanType::ONE_SHOT)); +static_assert(aidl::android::hardware::radio::ScanType::PERIODIC == + static_cast( + ::android::hardware::radio::V1_1::ScanType::PERIODIC)); + +static_assert(aidl::android::hardware::radio::ScanStatus::PARTIAL == + static_cast( + ::android::hardware::radio::V1_1::ScanStatus::PARTIAL)); +static_assert(aidl::android::hardware::radio::ScanStatus::COMPLETE == + static_cast( + ::android::hardware::radio::V1_1::ScanStatus::COMPLETE)); + +static_assert(aidl::android::hardware::radio::KeepaliveType::NATT_IPV4 == + static_cast( + ::android::hardware::radio::V1_1::KeepaliveType::NATT_IPV4)); +static_assert(aidl::android::hardware::radio::KeepaliveType::NATT_IPV6 == + static_cast( + ::android::hardware::radio::V1_1::KeepaliveType::NATT_IPV6)); + +static_assert(aidl::android::hardware::radio::KeepaliveStatusCode::ACTIVE == + static_cast( + ::android::hardware::radio::V1_1::KeepaliveStatusCode::ACTIVE)); +static_assert(aidl::android::hardware::radio::KeepaliveStatusCode::INACTIVE == + static_cast( + ::android::hardware::radio::V1_1::KeepaliveStatusCode::INACTIVE)); +static_assert(aidl::android::hardware::radio::KeepaliveStatusCode::PENDING == + static_cast( + ::android::hardware::radio::V1_1::KeepaliveStatusCode::PENDING)); + +static_assert(aidl::android::hardware::radio::RadioConst::CDMA_ALPHA_INFO_BUFFER_LENGTH == + static_cast( + ::android::hardware::radio::V1_2::RadioConst::CDMA_ALPHA_INFO_BUFFER_LENGTH)); +static_assert( + aidl::android::hardware::radio::RadioConst::CDMA_NUMBER_INFO_BUFFER_LENGTH == + static_cast( + ::android::hardware::radio::V1_2::RadioConst::CDMA_NUMBER_INFO_BUFFER_LENGTH)); +static_assert(aidl::android::hardware::radio::RadioConst::MAX_RILDS == + static_cast( + ::android::hardware::radio::V1_2::RadioConst::MAX_RILDS)); +static_assert(aidl::android::hardware::radio::RadioConst::MAX_SOCKET_NAME_LENGTH == + static_cast( + ::android::hardware::radio::V1_2::RadioConst::MAX_SOCKET_NAME_LENGTH)); +static_assert(aidl::android::hardware::radio::RadioConst::MAX_CLIENT_ID_LENGTH == + static_cast( + ::android::hardware::radio::V1_2::RadioConst::MAX_CLIENT_ID_LENGTH)); +static_assert(aidl::android::hardware::radio::RadioConst::MAX_DEBUG_SOCKET_NAME_LENGTH == + static_cast( + ::android::hardware::radio::V1_2::RadioConst::MAX_DEBUG_SOCKET_NAME_LENGTH)); +static_assert(aidl::android::hardware::radio::RadioConst::MAX_QEMU_PIPE_NAME_LENGTH == + static_cast( + ::android::hardware::radio::V1_2::RadioConst::MAX_QEMU_PIPE_NAME_LENGTH)); +static_assert(aidl::android::hardware::radio::RadioConst::MAX_UUID_LENGTH == + static_cast( + ::android::hardware::radio::V1_2::RadioConst::MAX_UUID_LENGTH)); +static_assert(aidl::android::hardware::radio::RadioConst::CARD_MAX_APPS == + static_cast( + ::android::hardware::radio::V1_2::RadioConst::CARD_MAX_APPS)); +static_assert(aidl::android::hardware::radio::RadioConst::CDMA_MAX_NUMBER_OF_INFO_RECS == + static_cast( + ::android::hardware::radio::V1_2::RadioConst::CDMA_MAX_NUMBER_OF_INFO_RECS)); +static_assert(aidl::android::hardware::radio::RadioConst::SS_INFO_MAX == + static_cast( + ::android::hardware::radio::V1_2::RadioConst::SS_INFO_MAX)); +static_assert(aidl::android::hardware::radio::RadioConst::NUM_SERVICE_CLASSES == + static_cast( + ::android::hardware::radio::V1_2::RadioConst::NUM_SERVICE_CLASSES)); +static_assert(aidl::android::hardware::radio::RadioConst::NUM_TX_POWER_LEVELS == + static_cast( + ::android::hardware::radio::V1_2::RadioConst::NUM_TX_POWER_LEVELS)); +static_assert( + aidl::android::hardware::radio::RadioConst::RADIO_ACCESS_SPECIFIER_MAX_SIZE == + static_cast( + ::android::hardware::radio::V1_2::RadioConst::RADIO_ACCESS_SPECIFIER_MAX_SIZE)); + +static_assert(aidl::android::hardware::radio::ScanIntervalRange::MIN == + static_cast( + ::android::hardware::radio::V1_2::ScanIntervalRange::MIN)); +static_assert(aidl::android::hardware::radio::ScanIntervalRange::MAX == + static_cast( + ::android::hardware::radio::V1_2::ScanIntervalRange::MAX)); + +static_assert(aidl::android::hardware::radio::MaxSearchTimeRange::MIN == + static_cast( + ::android::hardware::radio::V1_2::MaxSearchTimeRange::MIN)); +static_assert(aidl::android::hardware::radio::MaxSearchTimeRange::MAX == + static_cast( + ::android::hardware::radio::V1_2::MaxSearchTimeRange::MAX)); + +static_assert(aidl::android::hardware::radio::IncrementalResultsPeriodicityRange::MIN == + static_cast( + ::android::hardware::radio::V1_2::IncrementalResultsPeriodicityRange::MIN)); +static_assert(aidl::android::hardware::radio::IncrementalResultsPeriodicityRange::MAX == + static_cast( + ::android::hardware::radio::V1_2::IncrementalResultsPeriodicityRange::MAX)); + +static_assert(aidl::android::hardware::radio::CellConnectionStatus::NONE == + static_cast( + ::android::hardware::radio::V1_2::CellConnectionStatus::NONE)); +static_assert(aidl::android::hardware::radio::CellConnectionStatus::PRIMARY_SERVING == + static_cast( + ::android::hardware::radio::V1_2::CellConnectionStatus::PRIMARY_SERVING)); +static_assert(aidl::android::hardware::radio::CellConnectionStatus::SECONDARY_SERVING == + static_cast( + ::android::hardware::radio::V1_2::CellConnectionStatus::SECONDARY_SERVING)); + +static_assert(aidl::android::hardware::radio::AudioQuality::UNSPECIFIED == + static_cast( + ::android::hardware::radio::V1_2::AudioQuality::UNSPECIFIED)); +static_assert(aidl::android::hardware::radio::AudioQuality::AMR == + static_cast( + ::android::hardware::radio::V1_2::AudioQuality::AMR)); +static_assert(aidl::android::hardware::radio::AudioQuality::AMR_WB == + static_cast( + ::android::hardware::radio::V1_2::AudioQuality::AMR_WB)); +static_assert(aidl::android::hardware::radio::AudioQuality::GSM_EFR == + static_cast( + ::android::hardware::radio::V1_2::AudioQuality::GSM_EFR)); +static_assert(aidl::android::hardware::radio::AudioQuality::GSM_FR == + static_cast( + ::android::hardware::radio::V1_2::AudioQuality::GSM_FR)); +static_assert(aidl::android::hardware::radio::AudioQuality::GSM_HR == + static_cast( + ::android::hardware::radio::V1_2::AudioQuality::GSM_HR)); +static_assert(aidl::android::hardware::radio::AudioQuality::EVRC == + static_cast( + ::android::hardware::radio::V1_2::AudioQuality::EVRC)); +static_assert(aidl::android::hardware::radio::AudioQuality::EVRC_B == + static_cast( + ::android::hardware::radio::V1_2::AudioQuality::EVRC_B)); +static_assert(aidl::android::hardware::radio::AudioQuality::EVRC_WB == + static_cast( + ::android::hardware::radio::V1_2::AudioQuality::EVRC_WB)); +static_assert(aidl::android::hardware::radio::AudioQuality::EVRC_NW == + static_cast( + ::android::hardware::radio::V1_2::AudioQuality::EVRC_NW)); + +static_assert(aidl::android::hardware::radio::DataRequestReason::NORMAL == + static_cast( + ::android::hardware::radio::V1_2::DataRequestReason::NORMAL)); +static_assert(aidl::android::hardware::radio::DataRequestReason::SHUTDOWN == + static_cast( + ::android::hardware::radio::V1_2::DataRequestReason::SHUTDOWN)); +static_assert(aidl::android::hardware::radio::DataRequestReason::HANDOVER == + static_cast( + ::android::hardware::radio::V1_2::DataRequestReason::HANDOVER)); + +static_assert(aidl::android::hardware::radio::EmergencyServiceCategory::UNSPECIFIED == + static_cast( + ::android::hardware::radio::V1_4::EmergencyServiceCategory::UNSPECIFIED)); +static_assert(aidl::android::hardware::radio::EmergencyServiceCategory::POLICE == + static_cast( + ::android::hardware::radio::V1_4::EmergencyServiceCategory::POLICE)); +static_assert(aidl::android::hardware::radio::EmergencyServiceCategory::AMBULANCE == + static_cast( + ::android::hardware::radio::V1_4::EmergencyServiceCategory::AMBULANCE)); +static_assert(aidl::android::hardware::radio::EmergencyServiceCategory::FIRE_BRIGADE == + static_cast( + ::android::hardware::radio::V1_4::EmergencyServiceCategory::FIRE_BRIGADE)); +static_assert(aidl::android::hardware::radio::EmergencyServiceCategory::MARINE_GUARD == + static_cast( + ::android::hardware::radio::V1_4::EmergencyServiceCategory::MARINE_GUARD)); +static_assert(aidl::android::hardware::radio::EmergencyServiceCategory::MOUNTAIN_RESCUE == + static_cast( + ::android::hardware::radio::V1_4::EmergencyServiceCategory::MOUNTAIN_RESCUE)); +static_assert(aidl::android::hardware::radio::EmergencyServiceCategory::MIEC == + static_cast( + ::android::hardware::radio::V1_4::EmergencyServiceCategory::MIEC)); +static_assert(aidl::android::hardware::radio::EmergencyServiceCategory::AIEC == + static_cast( + ::android::hardware::radio::V1_4::EmergencyServiceCategory::AIEC)); + +static_assert(aidl::android::hardware::radio::EmergencyNumberSource::NETWORK_SIGNALING == + static_cast( + ::android::hardware::radio::V1_4::EmergencyNumberSource::NETWORK_SIGNALING)); +static_assert(aidl::android::hardware::radio::EmergencyNumberSource::SIM == + static_cast( + ::android::hardware::radio::V1_4::EmergencyNumberSource::SIM)); +static_assert(aidl::android::hardware::radio::EmergencyNumberSource::MODEM_CONFIG == + static_cast( + ::android::hardware::radio::V1_4::EmergencyNumberSource::MODEM_CONFIG)); +static_assert(aidl::android::hardware::radio::EmergencyNumberSource::DEFAULT == + static_cast( + ::android::hardware::radio::V1_4::EmergencyNumberSource::DEFAULT)); + +static_assert(aidl::android::hardware::radio::EmergencyCallRouting::UNKNOWN == + static_cast( + ::android::hardware::radio::V1_4::EmergencyCallRouting::UNKNOWN)); +static_assert(aidl::android::hardware::radio::EmergencyCallRouting::EMERGENCY == + static_cast( + ::android::hardware::radio::V1_4::EmergencyCallRouting::EMERGENCY)); +static_assert(aidl::android::hardware::radio::EmergencyCallRouting::NORMAL == + static_cast( + ::android::hardware::radio::V1_4::EmergencyCallRouting::NORMAL)); + +static_assert(aidl::android::hardware::radio::RadioTechnology::UNKNOWN == + static_cast( + ::android::hardware::radio::V1_4::RadioTechnology::UNKNOWN)); +static_assert(aidl::android::hardware::radio::RadioTechnology::GPRS == + static_cast( + ::android::hardware::radio::V1_4::RadioTechnology::GPRS)); +static_assert(aidl::android::hardware::radio::RadioTechnology::EDGE == + static_cast( + ::android::hardware::radio::V1_4::RadioTechnology::EDGE)); +static_assert(aidl::android::hardware::radio::RadioTechnology::UMTS == + static_cast( + ::android::hardware::radio::V1_4::RadioTechnology::UMTS)); +static_assert(aidl::android::hardware::radio::RadioTechnology::IS95A == + static_cast( + ::android::hardware::radio::V1_4::RadioTechnology::IS95A)); +static_assert(aidl::android::hardware::radio::RadioTechnology::IS95B == + static_cast( + ::android::hardware::radio::V1_4::RadioTechnology::IS95B)); +static_assert(aidl::android::hardware::radio::RadioTechnology::ONE_X_RTT == + static_cast( + ::android::hardware::radio::V1_4::RadioTechnology::ONE_X_RTT)); +static_assert(aidl::android::hardware::radio::RadioTechnology::EVDO_0 == + static_cast( + ::android::hardware::radio::V1_4::RadioTechnology::EVDO_0)); +static_assert(aidl::android::hardware::radio::RadioTechnology::EVDO_A == + static_cast( + ::android::hardware::radio::V1_4::RadioTechnology::EVDO_A)); +static_assert(aidl::android::hardware::radio::RadioTechnology::HSDPA == + static_cast( + ::android::hardware::radio::V1_4::RadioTechnology::HSDPA)); +static_assert(aidl::android::hardware::radio::RadioTechnology::HSUPA == + static_cast( + ::android::hardware::radio::V1_4::RadioTechnology::HSUPA)); +static_assert(aidl::android::hardware::radio::RadioTechnology::HSPA == + static_cast( + ::android::hardware::radio::V1_4::RadioTechnology::HSPA)); +static_assert(aidl::android::hardware::radio::RadioTechnology::EVDO_B == + static_cast( + ::android::hardware::radio::V1_4::RadioTechnology::EVDO_B)); +static_assert(aidl::android::hardware::radio::RadioTechnology::EHRPD == + static_cast( + ::android::hardware::radio::V1_4::RadioTechnology::EHRPD)); +static_assert(aidl::android::hardware::radio::RadioTechnology::LTE == + static_cast( + ::android::hardware::radio::V1_4::RadioTechnology::LTE)); +static_assert(aidl::android::hardware::radio::RadioTechnology::HSPAP == + static_cast( + ::android::hardware::radio::V1_4::RadioTechnology::HSPAP)); +static_assert(aidl::android::hardware::radio::RadioTechnology::GSM == + static_cast( + ::android::hardware::radio::V1_4::RadioTechnology::GSM)); +static_assert(aidl::android::hardware::radio::RadioTechnology::TD_SCDMA == + static_cast( + ::android::hardware::radio::V1_4::RadioTechnology::TD_SCDMA)); +static_assert(aidl::android::hardware::radio::RadioTechnology::IWLAN == + static_cast( + ::android::hardware::radio::V1_4::RadioTechnology::IWLAN)); +static_assert(aidl::android::hardware::radio::RadioTechnology::LTE_CA == + static_cast( + ::android::hardware::radio::V1_4::RadioTechnology::LTE_CA)); +static_assert(aidl::android::hardware::radio::RadioTechnology::NR == + static_cast( + ::android::hardware::radio::V1_4::RadioTechnology::NR)); + +static_assert(aidl::android::hardware::radio::RadioAccessFamily::UNKNOWN == + static_cast( + ::android::hardware::radio::V1_4::RadioAccessFamily::UNKNOWN)); +static_assert(aidl::android::hardware::radio::RadioAccessFamily::GPRS == + static_cast( + ::android::hardware::radio::V1_4::RadioAccessFamily::GPRS)); +static_assert(aidl::android::hardware::radio::RadioAccessFamily::EDGE == + static_cast( + ::android::hardware::radio::V1_4::RadioAccessFamily::EDGE)); +static_assert(aidl::android::hardware::radio::RadioAccessFamily::UMTS == + static_cast( + ::android::hardware::radio::V1_4::RadioAccessFamily::UMTS)); +static_assert(aidl::android::hardware::radio::RadioAccessFamily::IS95A == + static_cast( + ::android::hardware::radio::V1_4::RadioAccessFamily::IS95A)); +static_assert(aidl::android::hardware::radio::RadioAccessFamily::IS95B == + static_cast( + ::android::hardware::radio::V1_4::RadioAccessFamily::IS95B)); +static_assert(aidl::android::hardware::radio::RadioAccessFamily::ONE_X_RTT == + static_cast( + ::android::hardware::radio::V1_4::RadioAccessFamily::ONE_X_RTT)); +static_assert(aidl::android::hardware::radio::RadioAccessFamily::EVDO_0 == + static_cast( + ::android::hardware::radio::V1_4::RadioAccessFamily::EVDO_0)); +static_assert(aidl::android::hardware::radio::RadioAccessFamily::EVDO_A == + static_cast( + ::android::hardware::radio::V1_4::RadioAccessFamily::EVDO_A)); +static_assert(aidl::android::hardware::radio::RadioAccessFamily::HSDPA == + static_cast( + ::android::hardware::radio::V1_4::RadioAccessFamily::HSDPA)); +static_assert(aidl::android::hardware::radio::RadioAccessFamily::HSUPA == + static_cast( + ::android::hardware::radio::V1_4::RadioAccessFamily::HSUPA)); +static_assert(aidl::android::hardware::radio::RadioAccessFamily::HSPA == + static_cast( + ::android::hardware::radio::V1_4::RadioAccessFamily::HSPA)); +static_assert(aidl::android::hardware::radio::RadioAccessFamily::EVDO_B == + static_cast( + ::android::hardware::radio::V1_4::RadioAccessFamily::EVDO_B)); +static_assert(aidl::android::hardware::radio::RadioAccessFamily::EHRPD == + static_cast( + ::android::hardware::radio::V1_4::RadioAccessFamily::EHRPD)); +static_assert(aidl::android::hardware::radio::RadioAccessFamily::LTE == + static_cast( + ::android::hardware::radio::V1_4::RadioAccessFamily::LTE)); +static_assert(aidl::android::hardware::radio::RadioAccessFamily::HSPAP == + static_cast( + ::android::hardware::radio::V1_4::RadioAccessFamily::HSPAP)); +static_assert(aidl::android::hardware::radio::RadioAccessFamily::GSM == + static_cast( + ::android::hardware::radio::V1_4::RadioAccessFamily::GSM)); +static_assert(aidl::android::hardware::radio::RadioAccessFamily::TD_SCDMA == + static_cast( + ::android::hardware::radio::V1_4::RadioAccessFamily::TD_SCDMA)); +static_assert(aidl::android::hardware::radio::RadioAccessFamily::LTE_CA == + static_cast( + ::android::hardware::radio::V1_4::RadioAccessFamily::LTE_CA)); +static_assert(aidl::android::hardware::radio::RadioAccessFamily::NR == + static_cast( + ::android::hardware::radio::V1_4::RadioAccessFamily::NR)); + +static_assert(aidl::android::hardware::radio::FrequencyRange::LOW == + static_cast( + ::android::hardware::radio::V1_4::FrequencyRange::LOW)); +static_assert(aidl::android::hardware::radio::FrequencyRange::MID == + static_cast( + ::android::hardware::radio::V1_4::FrequencyRange::MID)); +static_assert(aidl::android::hardware::radio::FrequencyRange::HIGH == + static_cast( + ::android::hardware::radio::V1_4::FrequencyRange::HIGH)); +static_assert(aidl::android::hardware::radio::FrequencyRange::MMWAVE == + static_cast( + ::android::hardware::radio::V1_4::FrequencyRange::MMWAVE)); + +static_assert(aidl::android::hardware::radio::DataConnActiveStatus::INACTIVE == + static_cast( + ::android::hardware::radio::V1_4::DataConnActiveStatus::INACTIVE)); +static_assert(aidl::android::hardware::radio::DataConnActiveStatus::DORMANT == + static_cast( + ::android::hardware::radio::V1_4::DataConnActiveStatus::DORMANT)); +static_assert(aidl::android::hardware::radio::DataConnActiveStatus::ACTIVE == + static_cast( + ::android::hardware::radio::V1_4::DataConnActiveStatus::ACTIVE)); + +static_assert(aidl::android::hardware::radio::PdpProtocolType::UNKNOWN == + static_cast( + ::android::hardware::radio::V1_4::PdpProtocolType::UNKNOWN)); +static_assert(aidl::android::hardware::radio::PdpProtocolType::IP == + static_cast( + ::android::hardware::radio::V1_4::PdpProtocolType::IP)); +static_assert(aidl::android::hardware::radio::PdpProtocolType::IPV6 == + static_cast( + ::android::hardware::radio::V1_4::PdpProtocolType::IPV6)); +static_assert(aidl::android::hardware::radio::PdpProtocolType::IPV4V6 == + static_cast( + ::android::hardware::radio::V1_4::PdpProtocolType::IPV4V6)); +static_assert(aidl::android::hardware::radio::PdpProtocolType::PPP == + static_cast( + ::android::hardware::radio::V1_4::PdpProtocolType::PPP)); +static_assert(aidl::android::hardware::radio::PdpProtocolType::NON_IP == + static_cast( + ::android::hardware::radio::V1_4::PdpProtocolType::NON_IP)); +static_assert(aidl::android::hardware::radio::PdpProtocolType::UNSTRUCTURED == + static_cast( + ::android::hardware::radio::V1_4::PdpProtocolType::UNSTRUCTURED)); + +static_assert(aidl::android::hardware::radio::AccessNetwork::GERAN == + static_cast( + ::android::hardware::radio::V1_5::AccessNetwork::GERAN)); +static_assert(aidl::android::hardware::radio::AccessNetwork::UTRAN == + static_cast( + ::android::hardware::radio::V1_5::AccessNetwork::UTRAN)); +static_assert(aidl::android::hardware::radio::AccessNetwork::EUTRAN == + static_cast( + ::android::hardware::radio::V1_5::AccessNetwork::EUTRAN)); +static_assert(aidl::android::hardware::radio::AccessNetwork::CDMA2000 == + static_cast( + ::android::hardware::radio::V1_5::AccessNetwork::CDMA2000)); +static_assert(aidl::android::hardware::radio::AccessNetwork::IWLAN == + static_cast( + ::android::hardware::radio::V1_5::AccessNetwork::IWLAN)); +static_assert(aidl::android::hardware::radio::AccessNetwork::UNKNOWN == + static_cast( + ::android::hardware::radio::V1_5::AccessNetwork::UNKNOWN)); +static_assert(aidl::android::hardware::radio::AccessNetwork::NGRAN == + static_cast( + ::android::hardware::radio::V1_5::AccessNetwork::NGRAN)); + +static_assert(aidl::android::hardware::radio::SignalMeasurementType::RSSI == + static_cast( + ::android::hardware::radio::V1_5::SignalMeasurementType::RSSI)); +static_assert(aidl::android::hardware::radio::SignalMeasurementType::RSCP == + static_cast( + ::android::hardware::radio::V1_5::SignalMeasurementType::RSCP)); +static_assert(aidl::android::hardware::radio::SignalMeasurementType::RSRP == + static_cast( + ::android::hardware::radio::V1_5::SignalMeasurementType::RSRP)); +static_assert(aidl::android::hardware::radio::SignalMeasurementType::RSRQ == + static_cast( + ::android::hardware::radio::V1_5::SignalMeasurementType::RSRQ)); +static_assert(aidl::android::hardware::radio::SignalMeasurementType::RSSNR == + static_cast( + ::android::hardware::radio::V1_5::SignalMeasurementType::RSSNR)); +static_assert(aidl::android::hardware::radio::SignalMeasurementType::SSRSRP == + static_cast( + ::android::hardware::radio::V1_5::SignalMeasurementType::SSRSRP)); +static_assert(aidl::android::hardware::radio::SignalMeasurementType::SSRSRQ == + static_cast( + ::android::hardware::radio::V1_5::SignalMeasurementType::SSRSRQ)); +static_assert(aidl::android::hardware::radio::SignalMeasurementType::SSSINR == + static_cast( + ::android::hardware::radio::V1_5::SignalMeasurementType::SSSINR)); + +static_assert(aidl::android::hardware::radio::SimLockMultiSimPolicy::NO_MULTISIM_POLICY == + static_cast( + ::android::hardware::radio::V1_4::SimLockMultiSimPolicy::NO_MULTISIM_POLICY)); +static_assert( + aidl::android::hardware::radio::SimLockMultiSimPolicy::ONE_VALID_SIM_MUST_BE_PRESENT == + static_cast( + ::android::hardware::radio::V1_4::SimLockMultiSimPolicy:: + ONE_VALID_SIM_MUST_BE_PRESENT)); + +static_assert(aidl::android::hardware::radio::RadioAccessNetworks::GERAN == + static_cast( + ::android::hardware::radio::V1_5::RadioAccessNetworks::GERAN)); +static_assert(aidl::android::hardware::radio::RadioAccessNetworks::UTRAN == + static_cast( + ::android::hardware::radio::V1_5::RadioAccessNetworks::UTRAN)); +static_assert(aidl::android::hardware::radio::RadioAccessNetworks::EUTRAN == + static_cast( + ::android::hardware::radio::V1_5::RadioAccessNetworks::EUTRAN)); +static_assert(aidl::android::hardware::radio::RadioAccessNetworks::UNKNOWN == + static_cast( + ::android::hardware::radio::V1_5::RadioAccessNetworks::UNKNOWN)); +static_assert(aidl::android::hardware::radio::RadioAccessNetworks::NGRAN == + static_cast( + ::android::hardware::radio::V1_5::RadioAccessNetworks::NGRAN)); +static_assert(aidl::android::hardware::radio::RadioAccessNetworks::CDMA2000 == + static_cast( + ::android::hardware::radio::V1_5::RadioAccessNetworks::CDMA2000)); + +static_assert(aidl::android::hardware::radio::UtranBands::BAND_1 == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_1)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_2 == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_2)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_3 == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_3)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_4 == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_4)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_5 == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_5)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_6 == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_6)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_7 == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_7)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_8 == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_8)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_9 == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_9)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_10 == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_10)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_11 == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_11)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_12 == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_12)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_13 == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_13)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_14 == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_14)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_19 == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_19)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_20 == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_20)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_21 == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_21)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_22 == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_22)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_25 == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_25)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_26 == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_26)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_A == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_A)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_B == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_B)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_C == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_C)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_D == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_D)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_E == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_E)); +static_assert(aidl::android::hardware::radio::UtranBands::BAND_F == + static_cast( + ::android::hardware::radio::V1_5::UtranBands::BAND_F)); + +static_assert(aidl::android::hardware::radio::EutranBands::BAND_1 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_1)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_2 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_2)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_3 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_3)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_4 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_4)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_5 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_5)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_6 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_6)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_7 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_7)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_8 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_8)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_9 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_9)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_10 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_10)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_11 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_11)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_12 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_12)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_13 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_13)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_14 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_14)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_17 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_17)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_18 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_18)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_19 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_19)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_20 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_20)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_21 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_21)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_22 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_22)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_23 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_23)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_24 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_24)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_25 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_25)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_26 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_26)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_27 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_27)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_28 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_28)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_30 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_30)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_31 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_31)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_33 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_33)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_34 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_34)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_35 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_35)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_36 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_36)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_37 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_37)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_38 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_38)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_39 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_39)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_40 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_40)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_41 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_41)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_42 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_42)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_43 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_43)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_44 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_44)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_45 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_45)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_46 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_46)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_47 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_47)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_48 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_48)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_65 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_65)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_66 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_66)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_68 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_68)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_70 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_70)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_49 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_49)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_50 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_50)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_51 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_51)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_52 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_52)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_53 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_53)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_71 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_71)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_72 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_72)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_73 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_73)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_74 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_74)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_85 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_85)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_87 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_87)); +static_assert(aidl::android::hardware::radio::EutranBands::BAND_88 == + static_cast( + ::android::hardware::radio::V1_5::EutranBands::BAND_88)); + +static_assert(aidl::android::hardware::radio::ApnTypes::NONE == + static_cast( + ::android::hardware::radio::V1_5::ApnTypes::NONE)); +static_assert(aidl::android::hardware::radio::ApnTypes::DEFAULT == + static_cast( + ::android::hardware::radio::V1_5::ApnTypes::DEFAULT)); +static_assert(aidl::android::hardware::radio::ApnTypes::MMS == + static_cast( + ::android::hardware::radio::V1_5::ApnTypes::MMS)); +static_assert(aidl::android::hardware::radio::ApnTypes::SUPL == + static_cast( + ::android::hardware::radio::V1_5::ApnTypes::SUPL)); +static_assert(aidl::android::hardware::radio::ApnTypes::DUN == + static_cast( + ::android::hardware::radio::V1_5::ApnTypes::DUN)); +static_assert(aidl::android::hardware::radio::ApnTypes::HIPRI == + static_cast( + ::android::hardware::radio::V1_5::ApnTypes::HIPRI)); +static_assert(aidl::android::hardware::radio::ApnTypes::FOTA == + static_cast( + ::android::hardware::radio::V1_5::ApnTypes::FOTA)); +static_assert(aidl::android::hardware::radio::ApnTypes::IMS == + static_cast( + ::android::hardware::radio::V1_5::ApnTypes::IMS)); +static_assert(aidl::android::hardware::radio::ApnTypes::CBS == + static_cast( + ::android::hardware::radio::V1_5::ApnTypes::CBS)); +static_assert(aidl::android::hardware::radio::ApnTypes::IA == + static_cast( + ::android::hardware::radio::V1_5::ApnTypes::IA)); +static_assert(aidl::android::hardware::radio::ApnTypes::EMERGENCY == + static_cast( + ::android::hardware::radio::V1_5::ApnTypes::EMERGENCY)); +static_assert(aidl::android::hardware::radio::ApnTypes::ALL == + static_cast( + ::android::hardware::radio::V1_5::ApnTypes::ALL)); +static_assert(aidl::android::hardware::radio::ApnTypes::MCX == + static_cast( + ::android::hardware::radio::V1_5::ApnTypes::MCX)); +static_assert(aidl::android::hardware::radio::ApnTypes::XCAP == + static_cast( + ::android::hardware::radio::V1_5::ApnTypes::XCAP)); + +static_assert(aidl::android::hardware::radio::AddressProperty::NONE == + static_cast( + ::android::hardware::radio::V1_5::AddressProperty::NONE)); +static_assert(aidl::android::hardware::radio::AddressProperty::DEPRECATED == + static_cast( + ::android::hardware::radio::V1_5::AddressProperty::DEPRECATED)); + +static_assert(aidl::android::hardware::radio::Domain::CS == + static_cast( + ::android::hardware::radio::V1_5::Domain::CS)); +static_assert(aidl::android::hardware::radio::Domain::PS == + static_cast( + ::android::hardware::radio::V1_5::Domain::PS)); + +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::CS_SERVICE == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::CS_SERVICE)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::PS_SERVICE == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::PS_SERVICE)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::CS_VOICE == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::CS_VOICE)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::MO_SIGNALLING == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::MO_SIGNALLING)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::MO_DATA == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::MO_DATA)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::CS_FALLBACK == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::CS_FALLBACK)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::MMTEL_VOICE == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::MMTEL_VOICE)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::MMTEL_VIDEO == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::MMTEL_VIDEO)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::EMERGENCY == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::EMERGENCY)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::SMS == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::SMS)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_1 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_1)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_2 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_2)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_3 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_3)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_4 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_4)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_5 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_5)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_6 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_6)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_7 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_7)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_8 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_8)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_9 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_9)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_10 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_10)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_11 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_11)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_12 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_12)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_13 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_13)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_14 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_14)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_15 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_15)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_16 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_16)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_17 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_17)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_18 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_18)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_19 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_19)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_20 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_20)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_21 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_21)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_22 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_22)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_23 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_23)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_24 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_24)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_25 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_25)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_26 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_26)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_27 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_27)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_28 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_28)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_29 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_29)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_30 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_30)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_31 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_31)); +static_assert(aidl::android::hardware::radio::BarringInfoServiceType::OPERATOR_32 == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::ServiceType::OPERATOR_32)); + +static_assert(aidl::android::hardware::radio::BarringInfoBarringType::NONE == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::BarringType::NONE)); +static_assert(aidl::android::hardware::radio::BarringInfoBarringType::CONDITIONAL == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::BarringType::CONDITIONAL)); +static_assert(aidl::android::hardware::radio::BarringInfoBarringType::UNCONDITIONAL == + static_cast( + ::android::hardware::radio::V1_5::BarringInfo::BarringType::UNCONDITIONAL)); + +static_assert(aidl::android::hardware::radio::IndicationFilter::NONE == + static_cast( + ::android::hardware::radio::V1_5::IndicationFilter::NONE)); +static_assert(aidl::android::hardware::radio::IndicationFilter::ALL == + static_cast( + ::android::hardware::radio::V1_5::IndicationFilter::ALL)); +static_assert(aidl::android::hardware::radio::IndicationFilter::SIGNAL_STRENGTH == + static_cast( + ::android::hardware::radio::V1_5::IndicationFilter::SIGNAL_STRENGTH)); +static_assert(aidl::android::hardware::radio::IndicationFilter::FULL_NETWORK_STATE == + static_cast( + ::android::hardware::radio::V1_5::IndicationFilter::FULL_NETWORK_STATE)); +static_assert( + aidl::android::hardware::radio::IndicationFilter::DATA_CALL_DORMANCY_CHANGED == + static_cast( + ::android::hardware::radio::V1_5::IndicationFilter::DATA_CALL_DORMANCY_CHANGED)); +static_assert(aidl::android::hardware::radio::IndicationFilter::LINK_CAPACITY_ESTIMATE == + static_cast( + ::android::hardware::radio::V1_5::IndicationFilter::LINK_CAPACITY_ESTIMATE)); +static_assert(aidl::android::hardware::radio::IndicationFilter::PHYSICAL_CHANNEL_CONFIG == + static_cast( + ::android::hardware::radio::V1_5::IndicationFilter::PHYSICAL_CHANNEL_CONFIG)); +static_assert(aidl::android::hardware::radio::IndicationFilter::REGISTRATION_FAILURE == + static_cast( + ::android::hardware::radio::V1_5::IndicationFilter::REGISTRATION_FAILURE)); +static_assert(aidl::android::hardware::radio::IndicationFilter::BARRING_INFO == + static_cast( + ::android::hardware::radio::V1_5::IndicationFilter::BARRING_INFO)); + +static_assert(aidl::android::hardware::radio::RegistrationFailCause::NONE == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause::NONE)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::IMSI_UNKNOWN_IN_HLR == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause::IMSI_UNKNOWN_IN_HLR)); +static_assert(aidl::android::hardware::radio::RegistrationFailCause::ILLEGAL_MS == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause::ILLEGAL_MS)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::IMSI_UNKNOWN_IN_VLR == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause::IMSI_UNKNOWN_IN_VLR)); +static_assert(aidl::android::hardware::radio::RegistrationFailCause::IMEI_NOT_ACCEPTED == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause::IMEI_NOT_ACCEPTED)); +static_assert(aidl::android::hardware::radio::RegistrationFailCause::ILLEGAL_ME == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause::ILLEGAL_ME)); +static_assert(aidl::android::hardware::radio::RegistrationFailCause::GPRS_SERVICES_NOT_ALLOWED == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + GPRS_SERVICES_NOT_ALLOWED)); +static_assert(aidl::android::hardware::radio::RegistrationFailCause:: + GPRS_AND_NON_GPRS_SERVICES_NOT_ALLOWED == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + GPRS_AND_NON_GPRS_SERVICES_NOT_ALLOWED)); +static_assert(aidl::android::hardware::radio::RegistrationFailCause:: + MS_IDENTITY_CANNOT_BE_DERIVED_BY_NETWORK == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + MS_IDENTITY_CANNOT_BE_DERIVED_BY_NETWORK)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::IMPLICITLY_DETACHED == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause::IMPLICITLY_DETACHED)); +static_assert(aidl::android::hardware::radio::RegistrationFailCause::PLMN_NOT_ALLOWED == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause::PLMN_NOT_ALLOWED)); +static_assert(aidl::android::hardware::radio::RegistrationFailCause::LOCATION_AREA_NOT_ALLOWED == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + LOCATION_AREA_NOT_ALLOWED)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::ROAMING_NOT_ALLOWED == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause::ROAMING_NOT_ALLOWED)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::GPRS_SERVICES_NOT_ALLOWED_IN_PLMN == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + GPRS_SERVICES_NOT_ALLOWED_IN_PLMN)); +static_assert(aidl::android::hardware::radio::RegistrationFailCause::NO_SUITABLE_CELLS == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause::NO_SUITABLE_CELLS)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::MSC_TEMPORARILY_NOT_REACHABLE == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + MSC_TEMPORARILY_NOT_REACHABLE)); +static_assert(aidl::android::hardware::radio::RegistrationFailCause::NETWORK_FAILURE == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause::NETWORK_FAILURE)); +static_assert(aidl::android::hardware::radio::RegistrationFailCause::MAC_FAILURE == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause::MAC_FAILURE)); +static_assert(aidl::android::hardware::radio::RegistrationFailCause::SYNC_FAILURE == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause::SYNC_FAILURE)); +static_assert(aidl::android::hardware::radio::RegistrationFailCause::CONGESTION == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause::CONGESTION)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::GSM_AUTHENTICATION_UNACCEPTABLE == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + GSM_AUTHENTICATION_UNACCEPTABLE)); +static_assert(aidl::android::hardware::radio::RegistrationFailCause::NOT_AUTHORIZED_FOR_THIS_CSG == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + NOT_AUTHORIZED_FOR_THIS_CSG)); +static_assert(aidl::android::hardware::radio::RegistrationFailCause:: + SMS_PROVIDED_BY_GPRS_IN_ROUTING_AREA == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + SMS_PROVIDED_BY_GPRS_IN_ROUTING_AREA)); +static_assert(aidl::android::hardware::radio::RegistrationFailCause::SERVICE_OPTION_NOT_SUPPORTED == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + SERVICE_OPTION_NOT_SUPPORTED)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::SERVICE_OPTION_NOT_SUBSCRIBED == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + SERVICE_OPTION_NOT_SUBSCRIBED)); +static_assert(aidl::android::hardware::radio::RegistrationFailCause:: + SERVICE_OPTION_TEMPORARILY_OUT_OF_ORDER == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + SERVICE_OPTION_TEMPORARILY_OUT_OF_ORDER)); +static_assert(aidl::android::hardware::radio::RegistrationFailCause::CALL_CANNOT_BE_IDENTIFIED == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + CALL_CANNOT_BE_IDENTIFIED)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::NO_PDP_CONTEXT_ACTIVATED == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause::NO_PDP_CONTEXT_ACTIVATED)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_1 == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + RETRY_UPON_ENTRY_INTO_NEW_CELL_1)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_2 == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + RETRY_UPON_ENTRY_INTO_NEW_CELL_2)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_3 == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + RETRY_UPON_ENTRY_INTO_NEW_CELL_3)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_4 == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + RETRY_UPON_ENTRY_INTO_NEW_CELL_4)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_5 == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + RETRY_UPON_ENTRY_INTO_NEW_CELL_5)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_6 == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + RETRY_UPON_ENTRY_INTO_NEW_CELL_6)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_7 == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + RETRY_UPON_ENTRY_INTO_NEW_CELL_7)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_8 == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + RETRY_UPON_ENTRY_INTO_NEW_CELL_8)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_9 == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + RETRY_UPON_ENTRY_INTO_NEW_CELL_9)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_10 == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + RETRY_UPON_ENTRY_INTO_NEW_CELL_10)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_11 == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + RETRY_UPON_ENTRY_INTO_NEW_CELL_11)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_12 == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + RETRY_UPON_ENTRY_INTO_NEW_CELL_12)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_13 == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + RETRY_UPON_ENTRY_INTO_NEW_CELL_13)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_14 == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + RETRY_UPON_ENTRY_INTO_NEW_CELL_14)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_15 == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + RETRY_UPON_ENTRY_INTO_NEW_CELL_15)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::RETRY_UPON_ENTRY_INTO_NEW_CELL_16 == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + RETRY_UPON_ENTRY_INTO_NEW_CELL_16)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::SEMANTICALLY_INCORRECT_MESSAGE == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + SEMANTICALLY_INCORRECT_MESSAGE)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::INVALID_MANDATORY_INFORMATION == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + INVALID_MANDATORY_INFORMATION)); +static_assert(aidl::android::hardware::radio::RegistrationFailCause:: + MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + MESSAGE_TYPE_NON_EXISTENT_OR_NOT_IMPLEMENTED)); +static_assert(aidl::android::hardware::radio::RegistrationFailCause:: + MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + MESSAGE_TYPE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE)); +static_assert(aidl::android::hardware::radio::RegistrationFailCause:: + INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + INFORMATION_ELEMENT_NON_EXISTENT_OR_NOT_IMPLEMENTED)); +static_assert( + aidl::android::hardware::radio::RegistrationFailCause::CONDITIONAL_IE_ERROR == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause::CONDITIONAL_IE_ERROR)); +static_assert(aidl::android::hardware::radio::RegistrationFailCause:: + MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + MESSAGE_NOT_COMPATIBLE_WITH_PROTOCOL_STATE)); +static_assert(aidl::android::hardware::radio::RegistrationFailCause::PROTOCOL_ERROR_UNSPECIFIED == + static_cast( + ::android::hardware::radio::V1_5::RegistrationFailCause:: + PROTOCOL_ERROR_UNSPECIFIED)); + +static_assert(aidl::android::hardware::radio::PrlIndicator::NOT_REGISTERED == + static_cast( + ::android::hardware::radio::V1_5::PrlIndicator::NOT_REGISTERED)); +static_assert(aidl::android::hardware::radio::PrlIndicator::NOT_IN_PRL == + static_cast( + ::android::hardware::radio::V1_5::PrlIndicator::NOT_IN_PRL)); +static_assert(aidl::android::hardware::radio::PrlIndicator::IN_PRL == + static_cast( + ::android::hardware::radio::V1_5::PrlIndicator::IN_PRL)); + +static_assert(aidl::android::hardware::radio::PersoSubstate::UNKNOWN == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::UNKNOWN)); +static_assert(aidl::android::hardware::radio::PersoSubstate::IN_PROGRESS == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::IN_PROGRESS)); +static_assert(aidl::android::hardware::radio::PersoSubstate::READY == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::READY)); +static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_NETWORK == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::SIM_NETWORK)); +static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_NETWORK_SUBSET == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::SIM_NETWORK_SUBSET)); +static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_CORPORATE == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::SIM_CORPORATE)); +static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_SERVICE_PROVIDER == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::SIM_SERVICE_PROVIDER)); +static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_SIM == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::SIM_SIM)); +static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_NETWORK_PUK == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::SIM_NETWORK_PUK)); +static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_NETWORK_SUBSET_PUK == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::SIM_NETWORK_SUBSET_PUK)); +static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_CORPORATE_PUK == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::SIM_CORPORATE_PUK)); +static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_SERVICE_PROVIDER_PUK == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::SIM_SERVICE_PROVIDER_PUK)); +static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_SIM_PUK == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::SIM_SIM_PUK)); +static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_NETWORK1 == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::RUIM_NETWORK1)); +static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_NETWORK2 == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::RUIM_NETWORK2)); +static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_HRPD == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::RUIM_HRPD)); +static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_CORPORATE == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::RUIM_CORPORATE)); +static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_SERVICE_PROVIDER == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::RUIM_SERVICE_PROVIDER)); +static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_RUIM == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::RUIM_RUIM)); +static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_NETWORK1_PUK == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::RUIM_NETWORK1_PUK)); +static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_NETWORK2_PUK == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::RUIM_NETWORK2_PUK)); +static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_HRPD_PUK == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::RUIM_HRPD_PUK)); +static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_CORPORATE_PUK == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::RUIM_CORPORATE_PUK)); +static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_SERVICE_PROVIDER_PUK == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::RUIM_SERVICE_PROVIDER_PUK)); +static_assert(aidl::android::hardware::radio::PersoSubstate::RUIM_RUIM_PUK == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::RUIM_RUIM_PUK)); +static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_SPN == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::SIM_SPN)); +static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_SPN_PUK == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::SIM_SPN_PUK)); +static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_SP_EHPLMN == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::SIM_SP_EHPLMN)); +static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_SP_EHPLMN_PUK == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::SIM_SP_EHPLMN_PUK)); +static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_ICCID == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::SIM_ICCID)); +static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_ICCID_PUK == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::SIM_ICCID_PUK)); +static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_IMPI == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::SIM_IMPI)); +static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_IMPI_PUK == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::SIM_IMPI_PUK)); +static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_NS_SP == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::SIM_NS_SP)); +static_assert(aidl::android::hardware::radio::PersoSubstate::SIM_NS_SP_PUK == + static_cast( + ::android::hardware::radio::V1_5::PersoSubstate::SIM_NS_SP_PUK)); + +static_assert(aidl::android::hardware::radio::QosFlowIdRange::MIN == + static_cast( + ::android::hardware::radio::V1_6::QosFlowIdRange::MIN)); +static_assert(aidl::android::hardware::radio::QosFlowIdRange::MAX == + static_cast( + ::android::hardware::radio::V1_6::QosFlowIdRange::MAX)); + +static_assert(aidl::android::hardware::radio::QosProtocol::UNSPECIFIED == + static_cast( + ::android::hardware::radio::V1_6::QosProtocol::UNSPECIFIED)); +static_assert(aidl::android::hardware::radio::QosProtocol::TCP == + static_cast( + ::android::hardware::radio::V1_6::QosProtocol::TCP)); +static_assert(aidl::android::hardware::radio::QosProtocol::UDP == + static_cast( + ::android::hardware::radio::V1_6::QosProtocol::UDP)); +static_assert(aidl::android::hardware::radio::QosProtocol::ESP == + static_cast( + ::android::hardware::radio::V1_6::QosProtocol::ESP)); +static_assert(aidl::android::hardware::radio::QosProtocol::AH == + static_cast( + ::android::hardware::radio::V1_6::QosProtocol::AH)); + +static_assert(aidl::android::hardware::radio::QosFilterDirection::DOWNLINK == + static_cast( + ::android::hardware::radio::V1_6::QosFilterDirection::DOWNLINK)); +static_assert(aidl::android::hardware::radio::QosFilterDirection::UPLINK == + static_cast( + ::android::hardware::radio::V1_6::QosFilterDirection::UPLINK)); +static_assert(aidl::android::hardware::radio::QosFilterDirection::BIDIRECTIONAL == + static_cast( + ::android::hardware::radio::V1_6::QosFilterDirection::BIDIRECTIONAL)); + +static_assert(aidl::android::hardware::radio::QosPortRange::MIN == + static_cast( + ::android::hardware::radio::V1_6::QosPortRange::MIN)); +static_assert(aidl::android::hardware::radio::QosPortRange::MAX == + static_cast( + ::android::hardware::radio::V1_6::QosPortRange::MAX)); + +static_assert(aidl::android::hardware::radio::RadioError::NONE == + static_cast( + ::android::hardware::radio::V1_6::RadioError::NONE)); +static_assert(aidl::android::hardware::radio::RadioError::RADIO_NOT_AVAILABLE == + static_cast( + ::android::hardware::radio::V1_6::RadioError::RADIO_NOT_AVAILABLE)); +static_assert(aidl::android::hardware::radio::RadioError::GENERIC_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::RadioError::GENERIC_FAILURE)); +static_assert(aidl::android::hardware::radio::RadioError::PASSWORD_INCORRECT == + static_cast( + ::android::hardware::radio::V1_6::RadioError::PASSWORD_INCORRECT)); +static_assert(aidl::android::hardware::radio::RadioError::SIM_PIN2 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::SIM_PIN2)); +static_assert(aidl::android::hardware::radio::RadioError::SIM_PUK2 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::SIM_PUK2)); +static_assert(aidl::android::hardware::radio::RadioError::REQUEST_NOT_SUPPORTED == + static_cast( + ::android::hardware::radio::V1_6::RadioError::REQUEST_NOT_SUPPORTED)); +static_assert(aidl::android::hardware::radio::RadioError::CANCELLED == + static_cast( + ::android::hardware::radio::V1_6::RadioError::CANCELLED)); +static_assert( + aidl::android::hardware::radio::RadioError::OP_NOT_ALLOWED_DURING_VOICE_CALL == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OP_NOT_ALLOWED_DURING_VOICE_CALL)); +static_assert( + aidl::android::hardware::radio::RadioError::OP_NOT_ALLOWED_BEFORE_REG_TO_NW == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OP_NOT_ALLOWED_BEFORE_REG_TO_NW)); +static_assert(aidl::android::hardware::radio::RadioError::SMS_SEND_FAIL_RETRY == + static_cast( + ::android::hardware::radio::V1_6::RadioError::SMS_SEND_FAIL_RETRY)); +static_assert(aidl::android::hardware::radio::RadioError::SIM_ABSENT == + static_cast( + ::android::hardware::radio::V1_6::RadioError::SIM_ABSENT)); +static_assert(aidl::android::hardware::radio::RadioError::SUBSCRIPTION_NOT_AVAILABLE == + static_cast( + ::android::hardware::radio::V1_6::RadioError::SUBSCRIPTION_NOT_AVAILABLE)); +static_assert(aidl::android::hardware::radio::RadioError::MODE_NOT_SUPPORTED == + static_cast( + ::android::hardware::radio::V1_6::RadioError::MODE_NOT_SUPPORTED)); +static_assert(aidl::android::hardware::radio::RadioError::FDN_CHECK_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::RadioError::FDN_CHECK_FAILURE)); +static_assert(aidl::android::hardware::radio::RadioError::ILLEGAL_SIM_OR_ME == + static_cast( + ::android::hardware::radio::V1_6::RadioError::ILLEGAL_SIM_OR_ME)); +static_assert(aidl::android::hardware::radio::RadioError::MISSING_RESOURCE == + static_cast( + ::android::hardware::radio::V1_6::RadioError::MISSING_RESOURCE)); +static_assert(aidl::android::hardware::radio::RadioError::NO_SUCH_ELEMENT == + static_cast( + ::android::hardware::radio::V1_6::RadioError::NO_SUCH_ELEMENT)); +static_assert(aidl::android::hardware::radio::RadioError::DIAL_MODIFIED_TO_USSD == + static_cast( + ::android::hardware::radio::V1_6::RadioError::DIAL_MODIFIED_TO_USSD)); +static_assert(aidl::android::hardware::radio::RadioError::DIAL_MODIFIED_TO_SS == + static_cast( + ::android::hardware::radio::V1_6::RadioError::DIAL_MODIFIED_TO_SS)); +static_assert(aidl::android::hardware::radio::RadioError::DIAL_MODIFIED_TO_DIAL == + static_cast( + ::android::hardware::radio::V1_6::RadioError::DIAL_MODIFIED_TO_DIAL)); +static_assert(aidl::android::hardware::radio::RadioError::USSD_MODIFIED_TO_DIAL == + static_cast( + ::android::hardware::radio::V1_6::RadioError::USSD_MODIFIED_TO_DIAL)); +static_assert(aidl::android::hardware::radio::RadioError::USSD_MODIFIED_TO_SS == + static_cast( + ::android::hardware::radio::V1_6::RadioError::USSD_MODIFIED_TO_SS)); +static_assert(aidl::android::hardware::radio::RadioError::USSD_MODIFIED_TO_USSD == + static_cast( + ::android::hardware::radio::V1_6::RadioError::USSD_MODIFIED_TO_USSD)); +static_assert(aidl::android::hardware::radio::RadioError::SS_MODIFIED_TO_DIAL == + static_cast( + ::android::hardware::radio::V1_6::RadioError::SS_MODIFIED_TO_DIAL)); +static_assert(aidl::android::hardware::radio::RadioError::SS_MODIFIED_TO_USSD == + static_cast( + ::android::hardware::radio::V1_6::RadioError::SS_MODIFIED_TO_USSD)); +static_assert(aidl::android::hardware::radio::RadioError::SUBSCRIPTION_NOT_SUPPORTED == + static_cast( + ::android::hardware::radio::V1_6::RadioError::SUBSCRIPTION_NOT_SUPPORTED)); +static_assert(aidl::android::hardware::radio::RadioError::SS_MODIFIED_TO_SS == + static_cast( + ::android::hardware::radio::V1_6::RadioError::SS_MODIFIED_TO_SS)); +static_assert(aidl::android::hardware::radio::RadioError::LCE_NOT_SUPPORTED == + static_cast( + ::android::hardware::radio::V1_6::RadioError::LCE_NOT_SUPPORTED)); +static_assert(aidl::android::hardware::radio::RadioError::NO_MEMORY == + static_cast( + ::android::hardware::radio::V1_6::RadioError::NO_MEMORY)); +static_assert(aidl::android::hardware::radio::RadioError::INTERNAL_ERR == + static_cast( + ::android::hardware::radio::V1_6::RadioError::INTERNAL_ERR)); +static_assert(aidl::android::hardware::radio::RadioError::SYSTEM_ERR == + static_cast( + ::android::hardware::radio::V1_6::RadioError::SYSTEM_ERR)); +static_assert(aidl::android::hardware::radio::RadioError::MODEM_ERR == + static_cast( + ::android::hardware::radio::V1_6::RadioError::MODEM_ERR)); +static_assert(aidl::android::hardware::radio::RadioError::INVALID_STATE == + static_cast( + ::android::hardware::radio::V1_6::RadioError::INVALID_STATE)); +static_assert(aidl::android::hardware::radio::RadioError::NO_RESOURCES == + static_cast( + ::android::hardware::radio::V1_6::RadioError::NO_RESOURCES)); +static_assert(aidl::android::hardware::radio::RadioError::SIM_ERR == + static_cast( + ::android::hardware::radio::V1_6::RadioError::SIM_ERR)); +static_assert(aidl::android::hardware::radio::RadioError::INVALID_ARGUMENTS == + static_cast( + ::android::hardware::radio::V1_6::RadioError::INVALID_ARGUMENTS)); +static_assert(aidl::android::hardware::radio::RadioError::INVALID_SIM_STATE == + static_cast( + ::android::hardware::radio::V1_6::RadioError::INVALID_SIM_STATE)); +static_assert(aidl::android::hardware::radio::RadioError::INVALID_MODEM_STATE == + static_cast( + ::android::hardware::radio::V1_6::RadioError::INVALID_MODEM_STATE)); +static_assert(aidl::android::hardware::radio::RadioError::INVALID_CALL_ID == + static_cast( + ::android::hardware::radio::V1_6::RadioError::INVALID_CALL_ID)); +static_assert(aidl::android::hardware::radio::RadioError::NO_SMS_TO_ACK == + static_cast( + ::android::hardware::radio::V1_6::RadioError::NO_SMS_TO_ACK)); +static_assert(aidl::android::hardware::radio::RadioError::NETWORK_ERR == + static_cast( + ::android::hardware::radio::V1_6::RadioError::NETWORK_ERR)); +static_assert(aidl::android::hardware::radio::RadioError::REQUEST_RATE_LIMITED == + static_cast( + ::android::hardware::radio::V1_6::RadioError::REQUEST_RATE_LIMITED)); +static_assert(aidl::android::hardware::radio::RadioError::SIM_BUSY == + static_cast( + ::android::hardware::radio::V1_6::RadioError::SIM_BUSY)); +static_assert(aidl::android::hardware::radio::RadioError::SIM_FULL == + static_cast( + ::android::hardware::radio::V1_6::RadioError::SIM_FULL)); +static_assert(aidl::android::hardware::radio::RadioError::NETWORK_REJECT == + static_cast( + ::android::hardware::radio::V1_6::RadioError::NETWORK_REJECT)); +static_assert(aidl::android::hardware::radio::RadioError::OPERATION_NOT_ALLOWED == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OPERATION_NOT_ALLOWED)); +static_assert(aidl::android::hardware::radio::RadioError::EMPTY_RECORD == + static_cast( + ::android::hardware::radio::V1_6::RadioError::EMPTY_RECORD)); +static_assert(aidl::android::hardware::radio::RadioError::INVALID_SMS_FORMAT == + static_cast( + ::android::hardware::radio::V1_6::RadioError::INVALID_SMS_FORMAT)); +static_assert(aidl::android::hardware::radio::RadioError::ENCODING_ERR == + static_cast( + ::android::hardware::radio::V1_6::RadioError::ENCODING_ERR)); +static_assert(aidl::android::hardware::radio::RadioError::INVALID_SMSC_ADDRESS == + static_cast( + ::android::hardware::radio::V1_6::RadioError::INVALID_SMSC_ADDRESS)); +static_assert(aidl::android::hardware::radio::RadioError::NO_SUCH_ENTRY == + static_cast( + ::android::hardware::radio::V1_6::RadioError::NO_SUCH_ENTRY)); +static_assert(aidl::android::hardware::radio::RadioError::NETWORK_NOT_READY == + static_cast( + ::android::hardware::radio::V1_6::RadioError::NETWORK_NOT_READY)); +static_assert(aidl::android::hardware::radio::RadioError::NOT_PROVISIONED == + static_cast( + ::android::hardware::radio::V1_6::RadioError::NOT_PROVISIONED)); +static_assert(aidl::android::hardware::radio::RadioError::NO_SUBSCRIPTION == + static_cast( + ::android::hardware::radio::V1_6::RadioError::NO_SUBSCRIPTION)); +static_assert(aidl::android::hardware::radio::RadioError::NO_NETWORK_FOUND == + static_cast( + ::android::hardware::radio::V1_6::RadioError::NO_NETWORK_FOUND)); +static_assert(aidl::android::hardware::radio::RadioError::DEVICE_IN_USE == + static_cast( + ::android::hardware::radio::V1_6::RadioError::DEVICE_IN_USE)); +static_assert(aidl::android::hardware::radio::RadioError::ABORTED == + static_cast( + ::android::hardware::radio::V1_6::RadioError::ABORTED)); +static_assert(aidl::android::hardware::radio::RadioError::INVALID_RESPONSE == + static_cast( + ::android::hardware::radio::V1_6::RadioError::INVALID_RESPONSE)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_1 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_1)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_2 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_2)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_3 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_3)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_4 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_4)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_5 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_5)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_6 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_6)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_7 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_7)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_8 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_8)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_9 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_9)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_10 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_10)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_11 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_11)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_12 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_12)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_13 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_13)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_14 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_14)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_15 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_15)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_16 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_16)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_17 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_17)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_18 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_18)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_19 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_19)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_20 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_20)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_21 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_21)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_22 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_22)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_23 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_23)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_24 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_24)); +static_assert(aidl::android::hardware::radio::RadioError::OEM_ERROR_25 == + static_cast( + ::android::hardware::radio::V1_6::RadioError::OEM_ERROR_25)); +static_assert(aidl::android::hardware::radio::RadioError::SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED == + static_cast( + ::android::hardware::radio::V1_6::RadioError:: + SIMULTANEOUS_SMS_AND_CALL_NOT_ALLOWED)); +static_assert(aidl::android::hardware::radio::RadioError::ACCESS_BARRED == + static_cast( + ::android::hardware::radio::V1_6::RadioError::ACCESS_BARRED)); +static_assert(aidl::android::hardware::radio::RadioError::BLOCKED_DUE_TO_CALL == + static_cast( + ::android::hardware::radio::V1_6::RadioError::BLOCKED_DUE_TO_CALL)); +static_assert(aidl::android::hardware::radio::RadioError::RF_HARDWARE_ISSUE == + static_cast( + ::android::hardware::radio::V1_6::RadioError::RF_HARDWARE_ISSUE)); +static_assert(aidl::android::hardware::radio::RadioError::NO_RF_CALIBRATION_INFO == + static_cast( + ::android::hardware::radio::V1_6::RadioError::NO_RF_CALIBRATION_INFO)); + +static_assert(aidl::android::hardware::radio::HandoverFailureMode::LEGACY == + static_cast( + ::android::hardware::radio::V1_6::HandoverFailureMode::LEGACY)); +static_assert(aidl::android::hardware::radio::HandoverFailureMode::DO_FALLBACK == + static_cast( + ::android::hardware::radio::V1_6::HandoverFailureMode::DO_FALLBACK)); +static_assert( + aidl::android::hardware::radio::HandoverFailureMode::NO_FALLBACK_RETRY_HANDOVER == + static_cast( + ::android::hardware::radio::V1_6::HandoverFailureMode::NO_FALLBACK_RETRY_HANDOVER)); +static_assert(aidl::android::hardware::radio::HandoverFailureMode::NO_FALLBACK_RETRY_SETUP_NORMAL == + static_cast( + ::android::hardware::radio::V1_6::HandoverFailureMode:: + NO_FALLBACK_RETRY_SETUP_NORMAL)); + +static_assert(aidl::android::hardware::radio::NrDualConnectivityState::ENABLE == + static_cast( + ::android::hardware::radio::V1_6::NrDualConnectivityState::ENABLE)); +static_assert(aidl::android::hardware::radio::NrDualConnectivityState::DISABLE == + static_cast( + ::android::hardware::radio::V1_6::NrDualConnectivityState::DISABLE)); +static_assert( + aidl::android::hardware::radio::NrDualConnectivityState::DISABLE_IMMEDIATE == + static_cast( + ::android::hardware::radio::V1_6::NrDualConnectivityState::DISABLE_IMMEDIATE)); + +static_assert(aidl::android::hardware::radio::DataThrottlingAction::NO_DATA_THROTTLING == + static_cast( + ::android::hardware::radio::V1_6::DataThrottlingAction::NO_DATA_THROTTLING)); +static_assert(aidl::android::hardware::radio::DataThrottlingAction::THROTTLE_SECONDARY_CARRIER == + static_cast( + ::android::hardware::radio::V1_6::DataThrottlingAction:: + THROTTLE_SECONDARY_CARRIER)); +static_assert( + aidl::android::hardware::radio::DataThrottlingAction::THROTTLE_ANCHOR_CARRIER == + static_cast( + ::android::hardware::radio::V1_6::DataThrottlingAction::THROTTLE_ANCHOR_CARRIER)); +static_assert(aidl::android::hardware::radio::DataThrottlingAction::HOLD == + static_cast( + ::android::hardware::radio::V1_6::DataThrottlingAction::HOLD)); + +static_assert(aidl::android::hardware::radio::VopsIndicator::VOPS_NOT_SUPPORTED == + static_cast( + ::android::hardware::radio::V1_6::VopsIndicator::VOPS_NOT_SUPPORTED)); +static_assert(aidl::android::hardware::radio::VopsIndicator::VOPS_OVER_3GPP == + static_cast( + ::android::hardware::radio::V1_6::VopsIndicator::VOPS_OVER_3GPP)); +static_assert(aidl::android::hardware::radio::VopsIndicator::VOPS_OVER_NON_3GPP == + static_cast( + ::android::hardware::radio::V1_6::VopsIndicator::VOPS_OVER_NON_3GPP)); + +static_assert(aidl::android::hardware::radio::EmcIndicator::EMC_NOT_SUPPORTED == + static_cast( + ::android::hardware::radio::V1_6::EmcIndicator::EMC_NOT_SUPPORTED)); +static_assert(aidl::android::hardware::radio::EmcIndicator::EMC_NR_CONNECTED_TO_5GCN == + static_cast( + ::android::hardware::radio::V1_6::EmcIndicator::EMC_NR_CONNECTED_TO_5GCN)); +static_assert(aidl::android::hardware::radio::EmcIndicator::EMC_EUTRA_CONNECTED_TO_5GCN == + static_cast( + ::android::hardware::radio::V1_6::EmcIndicator::EMC_EUTRA_CONNECTED_TO_5GCN)); +static_assert(aidl::android::hardware::radio::EmcIndicator::EMC_BOTH_NR_EUTRA_CONNECTED_TO_5GCN == + static_cast( + ::android::hardware::radio::V1_6::EmcIndicator:: + EMC_BOTH_NR_EUTRA_CONNECTED_TO_5GCN)); + +static_assert(aidl::android::hardware::radio::EmfIndicator::EMF_NOT_SUPPORTED == + static_cast( + ::android::hardware::radio::V1_6::EmfIndicator::EMF_NOT_SUPPORTED)); +static_assert(aidl::android::hardware::radio::EmfIndicator::EMF_NR_CONNECTED_TO_5GCN == + static_cast( + ::android::hardware::radio::V1_6::EmfIndicator::EMF_NR_CONNECTED_TO_5GCN)); +static_assert(aidl::android::hardware::radio::EmfIndicator::EMF_EUTRA_CONNECTED_TO_5GCN == + static_cast( + ::android::hardware::radio::V1_6::EmfIndicator::EMF_EUTRA_CONNECTED_TO_5GCN)); +static_assert(aidl::android::hardware::radio::EmfIndicator::EMF_BOTH_NR_EUTRA_CONNECTED_TO_5GCN == + static_cast( + ::android::hardware::radio::V1_6::EmfIndicator:: + EMF_BOTH_NR_EUTRA_CONNECTED_TO_5GCN)); + +static_assert(aidl::android::hardware::radio::NgranBands::BAND_1 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_1)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_2 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_2)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_3 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_3)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_5 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_5)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_7 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_7)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_8 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_8)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_12 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_12)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_14 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_14)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_18 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_18)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_20 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_20)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_25 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_25)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_28 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_28)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_29 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_29)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_30 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_30)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_34 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_34)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_38 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_38)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_39 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_39)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_40 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_40)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_41 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_41)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_48 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_48)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_50 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_50)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_51 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_51)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_65 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_65)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_66 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_66)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_70 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_70)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_71 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_71)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_74 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_74)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_75 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_75)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_76 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_76)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_77 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_77)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_78 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_78)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_79 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_79)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_80 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_80)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_81 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_81)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_82 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_82)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_83 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_83)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_84 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_84)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_86 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_86)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_89 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_89)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_90 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_90)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_91 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_91)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_92 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_92)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_93 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_93)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_94 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_94)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_95 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_95)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_257 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_257)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_258 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_258)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_260 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_260)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_261 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_261)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_26 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_26)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_46 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_46)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_53 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_53)); +static_assert(aidl::android::hardware::radio::NgranBands::BAND_96 == + static_cast( + ::android::hardware::radio::V1_6::NgranBands::BAND_96)); + +static_assert(aidl::android::hardware::radio::SliceServiceType::NONE == + static_cast( + ::android::hardware::radio::V1_6::SliceServiceType::NONE)); +static_assert(aidl::android::hardware::radio::SliceServiceType::EMBB == + static_cast( + ::android::hardware::radio::V1_6::SliceServiceType::EMBB)); +static_assert(aidl::android::hardware::radio::SliceServiceType::URLLC == + static_cast( + ::android::hardware::radio::V1_6::SliceServiceType::URLLC)); +static_assert(aidl::android::hardware::radio::SliceServiceType::MIOT == + static_cast( + ::android::hardware::radio::V1_6::SliceServiceType::MIOT)); + +static_assert(aidl::android::hardware::radio::DataCallFailCause::NONE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::NONE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::OPERATOR_BARRED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::OPERATOR_BARRED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::NAS_SIGNALLING == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::NAS_SIGNALLING)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::INSUFFICIENT_RESOURCES == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::INSUFFICIENT_RESOURCES)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::MISSING_UNKNOWN_APN == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MISSING_UKNOWN_APN)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::UNKNOWN_PDP_ADDRESS_TYPE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::UNKNOWN_PDP_ADDRESS_TYPE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::USER_AUTHENTICATION == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::USER_AUTHENTICATION)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::ACTIVATION_REJECT_GGSN == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::ACTIVATION_REJECT_GGSN)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::ACTIVATION_REJECT_UNSPECIFIED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + ACTIVATION_REJECT_UNSPECIFIED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::SERVICE_OPTION_NOT_SUPPORTED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::SERVICE_OPTION_NOT_SUPPORTED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::SERVICE_OPTION_NOT_SUBSCRIBED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + SERVICE_OPTION_NOT_SUBSCRIBED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::SERVICE_OPTION_OUT_OF_ORDER == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::SERVICE_OPTION_OUT_OF_ORDER)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::NSAPI_IN_USE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::NSAPI_IN_USE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::REGULAR_DEACTIVATION == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::REGULAR_DEACTIVATION)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::QOS_NOT_ACCEPTED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::QOS_NOT_ACCEPTED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::NETWORK_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::NETWORK_FAILURE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::UMTS_REACTIVATION_REQ == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::UMTS_REACTIVATION_REQ)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::FEATURE_NOT_SUPP == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::FEATURE_NOT_SUPP)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::TFT_SEMANTIC_ERROR == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::TFT_SEMANTIC_ERROR)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::TFT_SYTAX_ERROR == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::TFT_SYTAX_ERROR)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::UNKNOWN_PDP_CONTEXT == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::UNKNOWN_PDP_CONTEXT)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::FILTER_SEMANTIC_ERROR == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::FILTER_SEMANTIC_ERROR)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::FILTER_SYTAX_ERROR == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::FILTER_SYTAX_ERROR)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::PDP_WITHOUT_ACTIVE_TFT == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PDP_WITHOUT_ACTIVE_TFT)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::ONLY_IPV4_ALLOWED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::ONLY_IPV4_ALLOWED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::ONLY_IPV6_ALLOWED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::ONLY_IPV6_ALLOWED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::ONLY_SINGLE_BEARER_ALLOWED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::ONLY_SINGLE_BEARER_ALLOWED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::ESM_INFO_NOT_RECEIVED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::ESM_INFO_NOT_RECEIVED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::PDN_CONN_DOES_NOT_EXIST == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PDN_CONN_DOES_NOT_EXIST)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MULTI_CONN_TO_SAME_PDN_NOT_ALLOWED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::MAX_ACTIVE_PDP_CONTEXT_REACHED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MAX_ACTIVE_PDP_CONTEXT_REACHED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::UNSUPPORTED_APN_IN_CURRENT_PLMN == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + UNSUPPORTED_APN_IN_CURRENT_PLMN)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::INVALID_TRANSACTION_ID == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::INVALID_TRANSACTION_ID)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MESSAGE_INCORRECT_SEMANTIC == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MESSAGE_INCORRECT_SEMANTIC)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::INVALID_MANDATORY_INFO == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::INVALID_MANDATORY_INFO)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MESSAGE_TYPE_UNSUPPORTED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MESSAGE_TYPE_UNSUPPORTED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MSG_TYPE_NONCOMPATIBLE_STATE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MSG_TYPE_NONCOMPATIBLE_STATE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::UNKNOWN_INFO_ELEMENT == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::UNKNOWN_INFO_ELEMENT)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::CONDITIONAL_IE_ERROR == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::CONDITIONAL_IE_ERROR)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MSG_AND_PROTOCOL_STATE_UNCOMPATIBLE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::PROTOCOL_ERRORS == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PROTOCOL_ERRORS)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::APN_TYPE_CONFLICT == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::APN_TYPE_CONFLICT)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::INVALID_PCSCF_ADDR == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::INVALID_PCSCF_ADDR)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + INTERNAL_CALL_PREEMPT_BY_HIGH_PRIO_APN)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::EMM_ACCESS_BARRED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::EMM_ACCESS_BARRED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::EMERGENCY_IFACE_ONLY == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::EMERGENCY_IFACE_ONLY)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::IFACE_MISMATCH == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::IFACE_MISMATCH)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::COMPANION_IFACE_IN_USE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::COMPANION_IFACE_IN_USE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::IP_ADDRESS_MISMATCH == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::IP_ADDRESS_MISMATCH)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::IFACE_AND_POL_FAMILY_MISMATCH == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + IFACE_AND_POL_FAMILY_MISMATCH)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::EMM_ACCESS_BARRED_INFINITE_RETRY == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + EMM_ACCESS_BARRED_INFINITE_RETRY)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::AUTH_FAILURE_ON_EMERGENCY_CALL == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + AUTH_FAILURE_ON_EMERGENCY_CALL)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_1 == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_1)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_2 == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_2)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_3 == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_3)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_4 == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_4)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_5 == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_5)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_6 == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_6)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_7 == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_7)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_8 == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_8)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_9 == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_9)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_10 == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_10)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_11 == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_11)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_12 == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_12)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_13 == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_13)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_14 == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_14)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::OEM_DCFAILCAUSE_15 == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::OEM_DCFAILCAUSE_15)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::VOICE_REGISTRATION_FAIL == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::VOICE_REGISTRATION_FAIL)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::DATA_REGISTRATION_FAIL == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::DATA_REGISTRATION_FAIL)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::SIGNAL_LOST == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::SIGNAL_LOST)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::PREF_RADIO_TECH_CHANGED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PREF_RADIO_TECH_CHANGED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::RADIO_POWER_OFF == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::RADIO_POWER_OFF)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::TETHERED_CALL_ACTIVE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::TETHERED_CALL_ACTIVE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::ERROR_UNSPECIFIED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::ERROR_UNSPECIFIED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::LLC_SNDCP == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::LLC_SNDCP)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::ACTIVATION_REJECTED_BCM_VIOLATION == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + ACTIVATION_REJECTED_BCM_VIOLATION)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + COLLISION_WITH_NETWORK_INITIATED_REQUEST == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + COLLISION_WITH_NETWORK_INITIATED_REQUEST)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::ONLY_IPV4V6_ALLOWED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::ONLY_IPV4V6_ALLOWED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::ONLY_NON_IP_ALLOWED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::ONLY_NON_IP_ALLOWED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::UNSUPPORTED_QCI_VALUE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::UNSUPPORTED_QCI_VALUE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::BEARER_HANDLING_NOT_SUPPORTED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + BEARER_HANDLING_NOT_SUPPORTED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::INVALID_DNS_ADDR == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::INVALID_DNS_ADDR)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::INVALID_PCSCF_OR_DNS_ADDRESS == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::INVALID_PCSCF_OR_DNS_ADDRESS)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::CALL_PREEMPT_BY_EMERGENCY_APN == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + CALL_PREEMPT_BY_EMERGENCY_APN)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::UE_INITIATED_DETACH_OR_DISCONNECT == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + UE_INITIATED_DETACH_OR_DISCONNECT)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MIP_FA_REASON_UNSPECIFIED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MIP_FA_REASON_UNSPECIFIED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MIP_FA_ADMIN_PROHIBITED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MIP_FA_ADMIN_PROHIBITED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::MIP_FA_INSUFFICIENT_RESOURCES == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MIP_FA_INSUFFICIENT_RESOURCES)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MIP_FA_MOBILE_NODE_AUTHENTICATION_FAILURE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MIP_FA_HOME_AGENT_AUTHENTICATION_FAILURE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MIP_FA_REQUESTED_LIFETIME_TOO_LONG == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MIP_FA_REQUESTED_LIFETIME_TOO_LONG)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MIP_FA_MALFORMED_REQUEST == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MIP_FA_MALFORMED_REQUEST)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::MIP_FA_MALFORMED_REPLY == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MIP_FA_MALFORMED_REPLY)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::MIP_FA_ENCAPSULATION_UNAVAILABLE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MIP_FA_ENCAPSULATION_UNAVAILABLE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MIP_FA_VJ_HEADER_COMPRESSION_UNAVAILABLE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MIP_FA_REVERSE_TUNNEL_UNAVAILABLE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MIP_FA_REVERSE_TUNNEL_UNAVAILABLE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MIP_FA_REVERSE_TUNNEL_IS_MANDATORY == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MIP_FA_REVERSE_TUNNEL_IS_MANDATORY)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MIP_FA_DELIVERY_STYLE_NOT_SUPPORTED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::MIP_FA_MISSING_NAI == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MIP_FA_MISSING_NAI)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MIP_FA_MISSING_HOME_AGENT == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MIP_FA_MISSING_HOME_AGENT)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MIP_FA_MISSING_HOME_ADDRESS == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MIP_FA_MISSING_HOME_ADDRESS)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MIP_FA_UNKNOWN_CHALLENGE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MIP_FA_UNKNOWN_CHALLENGE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MIP_FA_MISSING_CHALLENGE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MIP_FA_MISSING_CHALLENGE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::MIP_FA_STALE_CHALLENGE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MIP_FA_STALE_CHALLENGE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MIP_HA_REASON_UNSPECIFIED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MIP_HA_REASON_UNSPECIFIED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MIP_HA_ADMIN_PROHIBITED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MIP_HA_ADMIN_PROHIBITED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::MIP_HA_INSUFFICIENT_RESOURCES == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MIP_HA_INSUFFICIENT_RESOURCES)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MIP_HA_MOBILE_NODE_AUTHENTICATION_FAILURE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MIP_HA_FOREIGN_AGENT_AUTHENTICATION_FAILURE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::MIP_HA_REGISTRATION_ID_MISMATCH == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MIP_HA_REGISTRATION_ID_MISMATCH)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MIP_HA_MALFORMED_REQUEST == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MIP_HA_MALFORMED_REQUEST)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MIP_HA_UNKNOWN_HOME_AGENT_ADDRESS)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MIP_HA_REVERSE_TUNNEL_UNAVAILABLE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MIP_HA_REVERSE_TUNNEL_UNAVAILABLE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MIP_HA_REVERSE_TUNNEL_IS_MANDATORY == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MIP_HA_REVERSE_TUNNEL_IS_MANDATORY)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::MIP_HA_ENCAPSULATION_UNAVAILABLE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MIP_HA_ENCAPSULATION_UNAVAILABLE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::CLOSE_IN_PROGRESS == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::CLOSE_IN_PROGRESS)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::NETWORK_INITIATED_TERMINATION == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + NETWORK_INITIATED_TERMINATION)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::MODEM_APP_PREEMPTED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MODEM_APP_PREEMPTED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::PDN_IPV4_CALL_DISALLOWED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PDN_IPV4_CALL_DISALLOWED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::PDN_IPV4_CALL_THROTTLED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PDN_IPV4_CALL_THROTTLED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::PDN_IPV6_CALL_DISALLOWED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PDN_IPV6_CALL_DISALLOWED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::PDN_IPV6_CALL_THROTTLED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PDN_IPV6_CALL_THROTTLED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::MODEM_RESTART == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MODEM_RESTART)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::PDP_PPP_NOT_SUPPORTED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PDP_PPP_NOT_SUPPORTED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::UNPREFERRED_RAT == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::UNPREFERRED_RAT)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::PHYSICAL_LINK_CLOSE_IN_PROGRESS == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + PHYSICAL_LINK_CLOSE_IN_PROGRESS)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::APN_PENDING_HANDOVER == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::APN_PENDING_HANDOVER)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::PROFILE_BEARER_INCOMPATIBLE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PROFILE_BEARER_INCOMPATIBLE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::SIM_CARD_CHANGED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::SIM_CARD_CHANGED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::LOW_POWER_MODE_OR_POWERING_DOWN == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + LOW_POWER_MODE_OR_POWERING_DOWN)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::APN_DISABLED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::APN_DISABLED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::MAX_PPP_INACTIVITY_TIMER_EXPIRED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MAX_PPP_INACTIVITY_TIMER_EXPIRED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::IPV6_ADDRESS_TRANSFER_FAILED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::IPV6_ADDRESS_TRANSFER_FAILED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::TRAT_SWAP_FAILED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::TRAT_SWAP_FAILED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::EHRPD_TO_HRPD_FALLBACK == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::EHRPD_TO_HRPD_FALLBACK)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::MIP_CONFIG_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MIP_CONFIG_FAILURE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::PDN_INACTIVITY_TIMER_EXPIRED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PDN_INACTIVITY_TIMER_EXPIRED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::MAX_IPV4_CONNECTIONS == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MAX_IPV4_CONNECTIONS)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::MAX_IPV6_CONNECTIONS == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MAX_IPV6_CONNECTIONS)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::APN_MISMATCH == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::APN_MISMATCH)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::IP_VERSION_MISMATCH == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::IP_VERSION_MISMATCH)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::DUN_CALL_DISALLOWED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::DUN_CALL_DISALLOWED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::INTERNAL_EPC_NONEPC_TRANSITION == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + INTERNAL_EPC_NONEPC_TRANSITION)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::INTERFACE_IN_USE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::INTERFACE_IN_USE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::APN_DISALLOWED_ON_ROAMING == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::APN_DISALLOWED_ON_ROAMING)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::APN_PARAMETERS_CHANGED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::APN_PARAMETERS_CHANGED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::NULL_APN_DISALLOWED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::NULL_APN_DISALLOWED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::THERMAL_MITIGATION == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::THERMAL_MITIGATION)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::DATA_SETTINGS_DISABLED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::DATA_SETTINGS_DISABLED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::DATA_ROAMING_SETTINGS_DISABLED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + DATA_ROAMING_SETTINGS_DISABLED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::DDS_SWITCHED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::DDS_SWITCHED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::FORBIDDEN_APN_NAME == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::FORBIDDEN_APN_NAME)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::DDS_SWITCH_IN_PROGRESS == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::DDS_SWITCH_IN_PROGRESS)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::CALL_DISALLOWED_IN_ROAMING == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::CALL_DISALLOWED_IN_ROAMING)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::NON_IP_NOT_SUPPORTED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::NON_IP_NOT_SUPPORTED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::PDN_NON_IP_CALL_THROTTLED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PDN_NON_IP_CALL_THROTTLED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::PDN_NON_IP_CALL_DISALLOWED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PDN_NON_IP_CALL_DISALLOWED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::CDMA_LOCK == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::CDMA_LOCK)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::CDMA_INTERCEPT == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::CDMA_INTERCEPT)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::CDMA_REORDER == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::CDMA_REORDER)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::CDMA_RELEASE_DUE_TO_SO_REJECTION == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + CDMA_RELEASE_DUE_TO_SO_REJECTION)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::CDMA_INCOMING_CALL == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::CDMA_INCOMING_CALL)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::CDMA_ALERT_STOP == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::CDMA_ALERT_STOP)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::CHANNEL_ACQUISITION_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::CHANNEL_ACQUISITION_FAILURE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::MAX_ACCESS_PROBE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MAX_ACCESS_PROBE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + CONCURRENT_SERVICE_NOT_SUPPORTED_BY_BASE_STATION)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::NO_RESPONSE_FROM_BASE_STATION == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + NO_RESPONSE_FROM_BASE_STATION)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::REJECTED_BY_BASE_STATION == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::REJECTED_BY_BASE_STATION)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::CONCURRENT_SERVICES_INCOMPATIBLE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + CONCURRENT_SERVICES_INCOMPATIBLE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::NO_CDMA_SERVICE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::NO_CDMA_SERVICE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::RUIM_NOT_PRESENT == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::RUIM_NOT_PRESENT)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::CDMA_RETRY_ORDER == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::CDMA_RETRY_ORDER)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::ACCESS_BLOCK == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::ACCESS_BLOCK)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::ACCESS_BLOCK_ALL == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::ACCESS_BLOCK_ALL)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::IS707B_MAX_ACCESS_PROBES == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::IS707B_MAX_ACCESS_PROBES)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::THERMAL_EMERGENCY == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::THERMAL_EMERGENCY)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::CONCURRENT_SERVICES_NOT_ALLOWED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + CONCURRENT_SERVICES_NOT_ALLOWED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::INCOMING_CALL_REJECTED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::INCOMING_CALL_REJECTED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::NO_SERVICE_ON_GATEWAY == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::NO_SERVICE_ON_GATEWAY)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::NO_GPRS_CONTEXT == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::NO_GPRS_CONTEXT)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::ILLEGAL_MS == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::ILLEGAL_MS)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::ILLEGAL_ME == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::ILLEGAL_ME)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + GPRS_SERVICES_AND_NON_GPRS_SERVICES_NOT_ALLOWED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::GPRS_SERVICES_NOT_ALLOWED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::GPRS_SERVICES_NOT_ALLOWED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MS_IDENTITY_CANNOT_BE_DERIVED_BY_THE_NETWORK)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::IMPLICITLY_DETACHED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::IMPLICITLY_DETACHED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::PLMN_NOT_ALLOWED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PLMN_NOT_ALLOWED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::LOCATION_AREA_NOT_ALLOWED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::LOCATION_AREA_NOT_ALLOWED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + GPRS_SERVICES_NOT_ALLOWED_IN_THIS_PLMN)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::PDP_DUPLICATE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PDP_DUPLICATE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::UE_RAT_CHANGE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::UE_RAT_CHANGE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::CONGESTION == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::CONGESTION)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::NO_PDP_CONTEXT_ACTIVATED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::NO_PDP_CONTEXT_ACTIVATED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::ACCESS_CLASS_DSAC_REJECTION == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::ACCESS_CLASS_DSAC_REJECTION)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::PDP_ACTIVATE_MAX_RETRY_FAILED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + PDP_ACTIVATE_MAX_RETRY_FAILED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::RADIO_ACCESS_BEARER_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::RADIO_ACCESS_BEARER_FAILURE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::ESM_UNKNOWN_EPS_BEARER_CONTEXT == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + ESM_UNKNOWN_EPS_BEARER_CONTEXT)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::DRB_RELEASED_BY_RRC == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::DRB_RELEASED_BY_RRC)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::CONNECTION_RELEASED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::CONNECTION_RELEASED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::EMM_DETACHED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::EMM_DETACHED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::EMM_ATTACH_FAILED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::EMM_ATTACH_FAILED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::EMM_ATTACH_STARTED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::EMM_ATTACH_STARTED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::LTE_NAS_SERVICE_REQUEST_FAILED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + LTE_NAS_SERVICE_REQUEST_FAILED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::DUPLICATE_BEARER_ID == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::DUPLICATE_BEARER_ID)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::ESM_COLLISION_SCENARIOS == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::ESM_COLLISION_SCENARIOS)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + ESM_BEARER_DEACTIVATED_TO_SYNC_WITH_NETWORK)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + ESM_NW_ACTIVATED_DED_BEARER_WITH_ID_OF_DEF_BEARER)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::ESM_BAD_OTA_MESSAGE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::ESM_BAD_OTA_MESSAGE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + ESM_DOWNLOAD_SERVER_REJECTED_THE_CALL)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + ESM_CONTEXT_TRANSFERRED_DUE_TO_IRAT)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::DS_EXPLICIT_DEACTIVATION == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::DS_EXPLICIT_DEACTIVATION)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::ESM_LOCAL_CAUSE_NONE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::ESM_LOCAL_CAUSE_NONE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::LTE_THROTTLING_NOT_REQUIRED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::LTE_THROTTLING_NOT_REQUIRED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::ACCESS_CONTROL_LIST_CHECK_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + ACCESS_CONTROL_LIST_CHECK_FAILURE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::SERVICE_NOT_ALLOWED_ON_PLMN == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::SERVICE_NOT_ALLOWED_ON_PLMN)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::EMM_T3417_EXPIRED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::EMM_T3417_EXPIRED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::EMM_T3417_EXT_EXPIRED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::EMM_T3417_EXT_EXPIRED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::RRC_UPLINK_DATA_TRANSMISSION_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_UPLINK_DATA_TRANSMISSION_FAILURE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_UPLINK_DELIVERY_FAILED_DUE_TO_HANDOVER)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::RRC_UPLINK_CONNECTION_RELEASE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_UPLINK_CONNECTION_RELEASE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::RRC_UPLINK_RADIO_LINK_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_UPLINK_RADIO_LINK_FAILURE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::RRC_UPLINK_ERROR_REQUEST_FROM_NAS == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_UPLINK_ERROR_REQUEST_FROM_NAS)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_ACCESS_STRATUM_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_CONNECTION_ACCESS_STRATUM_FAILURE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_CONNECTION_ANOTHER_PROCEDURE_IN_PROGRESS)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_ACCESS_BARRED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::RRC_CONNECTION_ACCESS_BARRED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_CELL_RESELECTION == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_CONNECTION_CELL_RESELECTION)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_CONFIG_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_CONNECTION_CONFIG_FAILURE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_TIMER_EXPIRED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::RRC_CONNECTION_TIMER_EXPIRED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_LINK_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::RRC_CONNECTION_LINK_FAILURE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_CELL_NOT_CAMPED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_CONNECTION_CELL_NOT_CAMPED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_CONNECTION_SYSTEM_INTERVAL_FAILURE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_REJECT_BY_NETWORK == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_CONNECTION_REJECT_BY_NETWORK)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_NORMAL_RELEASE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_CONNECTION_NORMAL_RELEASE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_RADIO_LINK_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_CONNECTION_RADIO_LINK_FAILURE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_REESTABLISHMENT_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_CONNECTION_REESTABLISHMENT_FAILURE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_CONNECTION_OUT_OF_SERVICE_DURING_CELL_REGISTER)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_ABORT_REQUEST == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::RRC_CONNECTION_ABORT_REQUEST)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_CONNECTION_SYSTEM_INFORMATION_BLOCK_READ_ERROR)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + NETWORK_INITIATED_DETACH_WITH_AUTO_REATTACH)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + NETWORK_INITIATED_DETACH_NO_AUTO_REATTACH)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::ESM_PROCEDURE_TIME_OUT == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::ESM_PROCEDURE_TIME_OUT)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::INVALID_CONNECTION_ID == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::INVALID_CONNECTION_ID)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MAXIMIUM_NSAPIS_EXCEEDED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MAXIMIUM_NSAPIS_EXCEEDED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::INVALID_PRIMARY_NSAPI == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::INVALID_PRIMARY_NSAPI)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::CANNOT_ENCODE_OTA_MESSAGE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::CANNOT_ENCODE_OTA_MESSAGE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::RADIO_ACCESS_BEARER_SETUP_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RADIO_ACCESS_BEARER_SETUP_FAILURE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::PDP_ESTABLISH_TIMEOUT_EXPIRED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + PDP_ESTABLISH_TIMEOUT_EXPIRED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::PDP_MODIFY_TIMEOUT_EXPIRED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PDP_MODIFY_TIMEOUT_EXPIRED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::PDP_INACTIVE_TIMEOUT_EXPIRED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PDP_INACTIVE_TIMEOUT_EXPIRED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::PDP_LOWERLAYER_ERROR == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PDP_LOWERLAYER_ERROR)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::PDP_MODIFY_COLLISION == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PDP_MODIFY_COLLISION)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MAXINUM_SIZE_OF_L2_MESSAGE_EXCEEDED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::NAS_REQUEST_REJECTED_BY_NETWORK == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + NAS_REQUEST_REJECTED_BY_NETWORK)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_INVALID_REQUEST == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_CONNECTION_INVALID_REQUEST)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + RRC_CONNECTION_TRACKING_AREA_ID_CHANGED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_CONNECTION_TRACKING_AREA_ID_CHANGED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_RF_UNAVAILABLE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_CONNECTION_RF_UNAVAILABLE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_CONNECTION_ABORTED_DUE_TO_IRAT_CHANGE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_CONNECTION_RELEASED_SECURITY_NOT_ACTIVE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::RRC_CONNECTION_ABORTED_AFTER_HANDOVER == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_CONNECTION_ABORTED_AFTER_HANDOVER)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_CONNECTION_ABORTED_AFTER_IRAT_CELL_CHANGE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + RRC_CONNECTION_ABORTED_DURING_IRAT_CELL_CHANGE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + IMSI_UNKNOWN_IN_HOME_SUBSCRIBER_SERVER)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::IMEI_NOT_ACCEPTED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::IMEI_NOT_ACCEPTED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + EPS_SERVICES_AND_NON_EPS_SERVICES_NOT_ALLOWED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::EPS_SERVICES_NOT_ALLOWED_IN_PLMN == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + EPS_SERVICES_NOT_ALLOWED_IN_PLMN)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::MSC_TEMPORARILY_NOT_REACHABLE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MSC_TEMPORARILY_NOT_REACHABLE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::CS_DOMAIN_NOT_AVAILABLE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::CS_DOMAIN_NOT_AVAILABLE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::ESM_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::ESM_FAILURE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::MAC_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MAC_FAILURE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::SYNCHRONIZATION_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::SYNCHRONIZATION_FAILURE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::UE_SECURITY_CAPABILITIES_MISMATCH == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + UE_SECURITY_CAPABILITIES_MISMATCH)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::SECURITY_MODE_REJECTED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::SECURITY_MODE_REJECTED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::UNACCEPTABLE_NON_EPS_AUTHENTICATION == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + UNACCEPTABLE_NON_EPS_AUTHENTICATION)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + CS_FALLBACK_CALL_ESTABLISHMENT_NOT_ALLOWED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::NO_EPS_BEARER_CONTEXT_ACTIVATED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + NO_EPS_BEARER_CONTEXT_ACTIVATED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::INVALID_EMM_STATE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::INVALID_EMM_STATE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::NAS_LAYER_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::NAS_LAYER_FAILURE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::MULTIPLE_PDP_CALL_NOT_ALLOWED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + MULTIPLE_PDP_CALL_NOT_ALLOWED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::EMBMS_NOT_ENABLED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::EMBMS_NOT_ENABLED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::IRAT_HANDOVER_FAILED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::IRAT_HANDOVER_FAILED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::EMBMS_REGULAR_DEACTIVATION == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::EMBMS_REGULAR_DEACTIVATION)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::TEST_LOOPBACK_REGULAR_DEACTIVATION == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + TEST_LOOPBACK_REGULAR_DEACTIVATION)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::LOWER_LAYER_REGISTRATION_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + LOWER_LAYER_REGISTRATION_FAILURE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::DATA_PLAN_EXPIRED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::DATA_PLAN_EXPIRED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::UMTS_HANDOVER_TO_IWLAN == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::UMTS_HANDOVER_TO_IWLAN)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + EVDO_CONNECTION_DENY_BY_GENERAL_OR_NETWORK_BUSY)); +static_assert(aidl::android::hardware::radio::DataCallFailCause:: + EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + EVDO_CONNECTION_DENY_BY_BILLING_OR_AUTHENTICATION_FAILURE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::EVDO_HDR_CHANGED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::EVDO_HDR_CHANGED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::EVDO_HDR_EXITED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::EVDO_HDR_EXITED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::EVDO_HDR_NO_SESSION == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::EVDO_HDR_NO_SESSION)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + EVDO_USING_GPS_FIX_INSTEAD_OF_HDR_CALL)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::EVDO_HDR_CONNECTION_SETUP_TIMEOUT == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + EVDO_HDR_CONNECTION_SETUP_TIMEOUT)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::FAILED_TO_ACQUIRE_COLOCATED_HDR == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + FAILED_TO_ACQUIRE_COLOCATED_HDR)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::OTASP_COMMIT_IN_PROGRESS == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::OTASP_COMMIT_IN_PROGRESS)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::NO_HYBRID_HDR_SERVICE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::NO_HYBRID_HDR_SERVICE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::HDR_NO_LOCK_GRANTED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::HDR_NO_LOCK_GRANTED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::DBM_OR_SMS_IN_PROGRESS == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::DBM_OR_SMS_IN_PROGRESS)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::HDR_FADE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::HDR_FADE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::HDR_ACCESS_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::HDR_ACCESS_FAILURE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::UNSUPPORTED_1X_PREV == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::UNSUPPORTED_1X_PREV)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::LOCAL_END == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::LOCAL_END)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::NO_SERVICE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::NO_SERVICE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::FADE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::FADE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::NORMAL_RELEASE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::NORMAL_RELEASE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::ACCESS_ATTEMPT_ALREADY_IN_PROGRESS == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + ACCESS_ATTEMPT_ALREADY_IN_PROGRESS)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::REDIRECTION_OR_HANDOFF_IN_PROGRESS == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + REDIRECTION_OR_HANDOFF_IN_PROGRESS)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::EMERGENCY_MODE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::EMERGENCY_MODE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::PHONE_IN_USE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PHONE_IN_USE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::INVALID_MODE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::INVALID_MODE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::INVALID_SIM_STATE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::INVALID_SIM_STATE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::NO_COLLOCATED_HDR == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::NO_COLLOCATED_HDR)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::UE_IS_ENTERING_POWERSAVE_MODE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + UE_IS_ENTERING_POWERSAVE_MODE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::DUAL_SWITCH == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::DUAL_SWITCH)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::PPP_TIMEOUT == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PPP_TIMEOUT)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::PPP_AUTH_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PPP_AUTH_FAILURE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::PPP_OPTION_MISMATCH == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PPP_OPTION_MISMATCH)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::PPP_PAP_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PPP_PAP_FAILURE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::PPP_CHAP_FAILURE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PPP_CHAP_FAILURE)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::PPP_CLOSE_IN_PROGRESS == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::PPP_CLOSE_IN_PROGRESS)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::LIMITED_TO_IPV4 == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::LIMITED_TO_IPV4)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::LIMITED_TO_IPV6 == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::LIMITED_TO_IPV6)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::VSNCP_TIMEOUT == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::VSNCP_TIMEOUT)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::VSNCP_GEN_ERROR == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::VSNCP_GEN_ERROR)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::VSNCP_APN_UNAUTHORIZED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::VSNCP_APN_UNATHORIZED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::VSNCP_PDN_LIMIT_EXCEEDED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::VSNCP_PDN_LIMIT_EXCEEDED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::VSNCP_NO_PDN_GATEWAY_ADDRESS == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::VSNCP_NO_PDN_GATEWAY_ADDRESS)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::VSNCP_PDN_GATEWAY_UNREACHABLE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + VSNCP_PDN_GATEWAY_UNREACHABLE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::VSNCP_PDN_GATEWAY_REJECT == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::VSNCP_PDN_GATEWAY_REJECT)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::VSNCP_INSUFFICIENT_PARAMETERS == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + VSNCP_INSUFFICIENT_PARAMETERS)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::VSNCP_RESOURCE_UNAVAILABLE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::VSNCP_RESOURCE_UNAVAILABLE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::VSNCP_ADMINISTRATIVELY_PROHIBITED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + VSNCP_ADMINISTRATIVELY_PROHIBITED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::VSNCP_PDN_ID_IN_USE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::VSNCP_PDN_ID_IN_USE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::VSNCP_SUBSCRIBER_LIMITATION == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::VSNCP_SUBSCRIBER_LIMITATION)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::VSNCP_PDN_EXISTS_FOR_THIS_APN == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause:: + VSNCP_PDN_EXISTS_FOR_THIS_APN)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::VSNCP_RECONNECT_NOT_ALLOWED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::VSNCP_RECONNECT_NOT_ALLOWED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::IPV6_PREFIX_UNAVAILABLE == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::IPV6_PREFIX_UNAVAILABLE)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::HANDOFF_PREFERENCE_CHANGED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::HANDOFF_PREFERENCE_CHANGED)); +static_assert(aidl::android::hardware::radio::DataCallFailCause::SLICE_REJECTED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::SLICE_REJECTED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::MATCH_ALL_RULE_NOT_ALLOWED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::MATCH_ALL_RULE_NOT_ALLOWED)); +static_assert( + aidl::android::hardware::radio::DataCallFailCause::ALL_MATCHING_RULES_FAILED == + static_cast( + ::android::hardware::radio::V1_6::DataCallFailCause::ALL_MATCHING_RULES_FAILED)); + +static_assert(aidl::android::hardware::radio::SliceStatus::UNKNOWN == + static_cast( + ::android::hardware::radio::V1_6::SliceStatus::UNKNOWN)); +static_assert(aidl::android::hardware::radio::SliceStatus::CONFIGURED == + static_cast( + ::android::hardware::radio::V1_6::SliceStatus::CONFIGURED)); +static_assert(aidl::android::hardware::radio::SliceStatus::ALLOWED == + static_cast( + ::android::hardware::radio::V1_6::SliceStatus::ALLOWED)); +static_assert( + aidl::android::hardware::radio::SliceStatus::REJECTED_NOT_AVAILABLE_IN_PLMN == + static_cast( + ::android::hardware::radio::V1_6::SliceStatus::REJECTED_NOT_AVAILABLE_IN_PLMN)); +static_assert( + aidl::android::hardware::radio::SliceStatus::REJECTED_NOT_AVAILABLE_IN_REG_AREA == + static_cast( + ::android::hardware::radio::V1_6::SliceStatus::REJECTED_NOT_AVAILABLE_IN_REG_AREA)); +static_assert(aidl::android::hardware::radio::SliceStatus::DEFAULT_CONFIGURED == + static_cast( + ::android::hardware::radio::V1_6::SliceStatus::DEFAULT_CONFIGURED)); + +static_assert(aidl::android::hardware::radio::SscMode::MODE_1 == + static_cast( + ::android::hardware::radio::V1_6::SscMode::MODE_1)); +static_assert(aidl::android::hardware::radio::SscMode::MODE_2 == + static_cast( + ::android::hardware::radio::V1_6::SscMode::MODE_2)); +static_assert(aidl::android::hardware::radio::SscMode::MODE_3 == + static_cast( + ::android::hardware::radio::V1_6::SscMode::MODE_3)); + +static_assert(aidl::android::hardware::radio::PublicKeyType::EPDG == + static_cast( + ::android::hardware::radio::V1_6::PublicKeyType::EPDG)); +static_assert(aidl::android::hardware::radio::PublicKeyType::WLAN == + static_cast( + ::android::hardware::radio::V1_6::PublicKeyType::WLAN)); + +static_assert(aidl::android::hardware::radio::PbReceivedStatus::PB_RECEIVED_OK == + static_cast( + ::android::hardware::radio::V1_6::PbReceivedStatus::PB_RECEIVED_OK)); +static_assert(aidl::android::hardware::radio::PbReceivedStatus::PB_RECEIVED_ERROR == + static_cast( + ::android::hardware::radio::V1_6::PbReceivedStatus::PB_RECEIVED_ERROR)); +static_assert(aidl::android::hardware::radio::PbReceivedStatus::PB_RECEIVED_ABORT == + static_cast( + ::android::hardware::radio::V1_6::PbReceivedStatus::PB_RECEIVED_ABORT)); +static_assert(aidl::android::hardware::radio::PbReceivedStatus::PB_RECEIVED_FINAL == + static_cast( + ::android::hardware::radio::V1_6::PbReceivedStatus::PB_RECEIVED_FINAL)); + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::IccIo& in, + aidl::android::hardware::radio::IccIo* out) { + out->command = static_cast(in.command); + out->fileId = static_cast(in.fileId); + out->path = in.path; + out->p1 = static_cast(in.p1); + out->p2 = static_cast(in.p2); + out->p3 = static_cast(in.p3); + out->data = in.data; + out->pin2 = in.pin2; + out->aid = in.aid; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::NeighboringCell& in, + aidl::android::hardware::radio::NeighboringCell* out) { + out->cid = in.cid; + out->rssi = static_cast(in.rssi); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::UusInfo& in, + aidl::android::hardware::radio::UusInfo* out) { + out->uusType = static_cast(in.uusType); + out->uusDcs = static_cast(in.uusDcs); + out->uusData = in.uusData; + return true; +} + +__attribute__((warn_unused_result)) bool translate(const ::android::hardware::radio::V1_0::Dial& in, + aidl::android::hardware::radio::Dial* out) { + out->address = in.address; + out->clir = static_cast(in.clir); + { + size_t size = in.uusInfo.size(); + aidl::android::hardware::radio::UusInfo uusInfo; + for (size_t i = 0; i < size; i++) { + if (!translate(in.uusInfo[i], &uusInfo)) return false; + out->uusInfo.push_back(uusInfo); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::LastCallFailCauseInfo& in, + aidl::android::hardware::radio::LastCallFailCauseInfo* out) { + out->causeCode = static_cast(in.causeCode); + out->vendorCause = in.vendorCause; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::GsmSignalStrength& in, + aidl::android::hardware::radio::GsmSignalStrength* out) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.signalStrength > std::numeric_limits::max() || in.signalStrength < 0) { + return false; + } + out->signalStrength = static_cast(in.signalStrength); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.bitErrorRate > std::numeric_limits::max() || in.bitErrorRate < 0) { + return false; + } + out->bitErrorRate = static_cast(in.bitErrorRate); + out->timingAdvance = static_cast(in.timingAdvance); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaSignalStrength& in, + aidl::android::hardware::radio::CdmaSignalStrength* out) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.dbm > std::numeric_limits::max() || in.dbm < 0) { + return false; + } + out->dbm = static_cast(in.dbm); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.ecio > std::numeric_limits::max() || in.ecio < 0) { + return false; + } + out->ecio = static_cast(in.ecio); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::EvdoSignalStrength& in, + aidl::android::hardware::radio::EvdoSignalStrength* out) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.dbm > std::numeric_limits::max() || in.dbm < 0) { + return false; + } + out->dbm = static_cast(in.dbm); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.ecio > std::numeric_limits::max() || in.ecio < 0) { + return false; + } + out->ecio = static_cast(in.ecio); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.signalNoiseRatio > std::numeric_limits::max() || in.signalNoiseRatio < 0) { + return false; + } + out->signalNoiseRatio = static_cast(in.signalNoiseRatio); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::SendSmsResult& in, + aidl::android::hardware::radio::SendSmsResult* out) { + out->messageRef = static_cast(in.messageRef); + out->ackPDU = in.ackPDU; + out->errorCode = static_cast(in.errorCode); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::IccIoResult& in, + aidl::android::hardware::radio::IccIoResult* out) { + out->sw1 = static_cast(in.sw1); + out->sw2 = static_cast(in.sw2); + out->simResponse = in.simResponse; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CallForwardInfo& in, + aidl::android::hardware::radio::CallForwardInfo* out) { + out->status = static_cast(in.status); + out->reason = static_cast(in.reason); + out->serviceClass = static_cast(in.serviceClass); + out->toa = static_cast(in.toa); + out->number = in.number; + out->timeSeconds = static_cast(in.timeSeconds); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::OperatorInfo& in, + aidl::android::hardware::radio::OperatorInfo* out) { + out->alphaLong = in.alphaLong; + out->alphaShort = in.alphaShort; + out->operatorNumeric = in.operatorNumeric; + out->status = static_cast(in.status); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::SmsWriteArgs& in, + aidl::android::hardware::radio::SmsWriteArgs* out) { + out->status = static_cast(in.status); + out->pdu = in.pdu; + out->smsc = in.smsc; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaSmsAddress& in, + aidl::android::hardware::radio::CdmaSmsAddress* out) { + out->digitMode = static_cast(in.digitMode); + out->numberMode = static_cast(in.numberMode); + out->numberType = static_cast(in.numberType); + out->numberPlan = static_cast(in.numberPlan); + { + size_t size = in.digits.size(); + for (size_t i = 0; i < size; i++) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.digits[i] > std::numeric_limits::max() || in.digits[i] < 0) { + return false; + } + out->digits.push_back(static_cast(in.digits[i])); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaSmsSubaddress& in, + aidl::android::hardware::radio::CdmaSmsSubaddress* out) { + out->subaddressType = + static_cast(in.subaddressType); + out->odd = static_cast(in.odd); + { + size_t size = in.digits.size(); + for (size_t i = 0; i < size; i++) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.digits[i] > std::numeric_limits::max() || in.digits[i] < 0) { + return false; + } + out->digits.push_back(static_cast(in.digits[i])); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaSmsMessage& in, + aidl::android::hardware::radio::CdmaSmsMessage* out) { + out->teleserviceId = static_cast(in.teleserviceId); + out->isServicePresent = static_cast(in.isServicePresent); + out->serviceCategory = static_cast(in.serviceCategory); + if (!translate(in.address, &out->address)) return false; + if (!translate(in.subAddress, &out->subAddress)) return false; + { + size_t size = in.bearerData.size(); + for (size_t i = 0; i < size; i++) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.bearerData[i] > std::numeric_limits::max() || in.bearerData[i] < 0) { + return false; + } + out->bearerData.push_back(static_cast(in.bearerData[i])); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaSmsAck& in, + aidl::android::hardware::radio::CdmaSmsAck* out) { + out->errorClass = static_cast(in.errorClass); + out->smsCauseCode = static_cast(in.smsCauseCode); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaBroadcastSmsConfigInfo& in, + aidl::android::hardware::radio::CdmaBroadcastSmsConfigInfo* out) { + out->serviceCategory = static_cast(in.serviceCategory); + out->language = static_cast(in.language); + out->selected = static_cast(in.selected); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaSmsWriteArgs& in, + aidl::android::hardware::radio::CdmaSmsWriteArgs* out) { + out->status = static_cast(in.status); + if (!translate(in.message, &out->message)) return false; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::GsmBroadcastSmsConfigInfo& in, + aidl::android::hardware::radio::GsmBroadcastSmsConfigInfo* out) { + out->fromServiceId = static_cast(in.fromServiceId); + out->toServiceId = static_cast(in.toServiceId); + out->fromCodeScheme = static_cast(in.fromCodeScheme); + out->toCodeScheme = static_cast(in.toCodeScheme); + out->selected = static_cast(in.selected); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::GsmSmsMessage& in, + aidl::android::hardware::radio::GsmSmsMessage* out) { + out->smscPdu = in.smscPdu; + out->pdu = in.pdu; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::ImsSmsMessage& in, + aidl::android::hardware::radio::ImsSmsMessage* out) { + out->tech = static_cast(in.tech); + out->retry = static_cast(in.retry); + out->messageRef = static_cast(in.messageRef); + { + size_t size = in.cdmaMessage.size(); + aidl::android::hardware::radio::CdmaSmsMessage cdmaMessage; + for (size_t i = 0; i < size; i++) { + if (!translate(in.cdmaMessage[i], &cdmaMessage)) return false; + out->cdmaMessage.push_back(cdmaMessage); + } + } + { + size_t size = in.gsmMessage.size(); + aidl::android::hardware::radio::GsmSmsMessage gsmMessage; + for (size_t i = 0; i < size; i++) { + if (!translate(in.gsmMessage[i], &gsmMessage)) return false; + out->gsmMessage.push_back(gsmMessage); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::SimApdu& in, + aidl::android::hardware::radio::SimApdu* out) { + out->sessionId = static_cast(in.sessionId); + out->cla = static_cast(in.cla); + out->instruction = static_cast(in.instruction); + out->p1 = static_cast(in.p1); + out->p2 = static_cast(in.p2); + out->p3 = static_cast(in.p3); + out->data = in.data; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::NvWriteItem& in, + aidl::android::hardware::radio::NvWriteItem* out) { + out->itemId = static_cast(in.itemId); + out->value = in.value; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::SelectUiccSub& in, + aidl::android::hardware::radio::SelectUiccSub* out) { + out->slot = static_cast(in.slot); + out->appIndex = static_cast(in.appIndex); + out->subType = static_cast(in.subType); + out->actStatus = static_cast(in.actStatus); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::HardwareConfigModem& in, + aidl::android::hardware::radio::HardwareConfigModem* out) { + out->rilModel = static_cast(in.rilModel); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.rat > std::numeric_limits::max() || in.rat < 0) { + return false; + } + out->rat = static_cast(in.rat); + out->maxVoice = static_cast(in.maxVoice); + out->maxData = static_cast(in.maxData); + out->maxStandby = static_cast(in.maxStandby); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::HardwareConfigSim& in, + aidl::android::hardware::radio::HardwareConfigSim* out) { + out->modemUuid = in.modemUuid; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::HardwareConfig& in, + aidl::android::hardware::radio::HardwareConfig* out) { + out->type = static_cast(in.type); + out->uuid = in.uuid; + out->state = static_cast(in.state); + { + size_t size = in.modem.size(); + aidl::android::hardware::radio::HardwareConfigModem modem; + for (size_t i = 0; i < size; i++) { + if (!translate(in.modem[i], &modem)) return false; + out->modem.push_back(modem); + } + } + { + size_t size = in.sim.size(); + aidl::android::hardware::radio::HardwareConfigSim sim; + for (size_t i = 0; i < size; i++) { + if (!translate(in.sim[i], &sim)) return false; + out->sim.push_back(sim); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::LceStatusInfo& in, + aidl::android::hardware::radio::LceStatusInfo* out) { + out->lceStatus = static_cast(in.lceStatus); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.actualIntervalMs > std::numeric_limits::max() || in.actualIntervalMs < 0) { + return false; + } + out->actualIntervalMs = static_cast(in.actualIntervalMs); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::LceDataInfo& in, + aidl::android::hardware::radio::LceDataInfo* out) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.lastHopCapacityKbps > std::numeric_limits::max() || + in.lastHopCapacityKbps < 0) { + return false; + } + out->lastHopCapacityKbps = static_cast(in.lastHopCapacityKbps); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.confidenceLevel > std::numeric_limits::max() || in.confidenceLevel < 0) { + return false; + } + out->confidenceLevel = static_cast(in.confidenceLevel); + out->lceSuspended = static_cast(in.lceSuspended); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::ActivityStatsInfo& in, + aidl::android::hardware::radio::ActivityStatsInfo* out) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.sleepModeTimeMs > std::numeric_limits::max() || in.sleepModeTimeMs < 0) { + return false; + } + out->sleepModeTimeMs = static_cast(in.sleepModeTimeMs); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.idleModeTimeMs > std::numeric_limits::max() || in.idleModeTimeMs < 0) { + return false; + } + out->idleModeTimeMs = static_cast(in.idleModeTimeMs); + { + size_t size = sizeof(in.txmModetimeMs) / sizeof(in.txmModetimeMs[0]); + for (size_t i = 0; i < size; i++) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.txmModetimeMs[i] > std::numeric_limits::max() || + in.txmModetimeMs[i] < 0) { + return false; + } + out->txmModetimeMs.push_back(static_cast(in.txmModetimeMs[i])); + } + } + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.rxModeTimeMs > std::numeric_limits::max() || in.rxModeTimeMs < 0) { + return false; + } + out->rxModeTimeMs = static_cast(in.rxModeTimeMs); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::Carrier& in, + aidl::android::hardware::radio::Carrier* out) { + out->mcc = in.mcc; + out->mnc = in.mnc; + out->matchType = static_cast(in.matchType); + out->matchData = in.matchData; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CarrierRestrictions& in, + aidl::android::hardware::radio::CarrierRestrictions* out) { + { + size_t size = in.allowedCarriers.size(); + aidl::android::hardware::radio::Carrier allowedCarriers; + for (size_t i = 0; i < size; i++) { + if (!translate(in.allowedCarriers[i], &allowedCarriers)) return false; + out->allowedCarriers.push_back(allowedCarriers); + } + } + { + size_t size = in.excludedCarriers.size(); + aidl::android::hardware::radio::Carrier excludedCarriers; + for (size_t i = 0; i < size; i++) { + if (!translate(in.excludedCarriers[i], &excludedCarriers)) return false; + out->excludedCarriers.push_back(excludedCarriers); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::SuppSvcNotification& in, + aidl::android::hardware::radio::SuppSvcNotification* out) { + out->isMT = static_cast(in.isMT); + out->code = static_cast(in.code); + out->index = static_cast(in.index); + out->type = static_cast(in.type); + out->number = in.number; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::SimRefreshResult& in, + aidl::android::hardware::radio::SimRefreshResult* out) { + out->type = static_cast(in.type); + out->efId = static_cast(in.efId); + out->aid = in.aid; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaSignalInfoRecord& in, + aidl::android::hardware::radio::CdmaSignalInfoRecord* out) { + out->isPresent = static_cast(in.isPresent); + out->signalType = static_cast(in.signalType); + out->alertPitch = static_cast(in.alertPitch); + out->signal = static_cast(in.signal); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaCallWaiting& in, + aidl::android::hardware::radio::CdmaCallWaiting* out) { + out->number = in.number; + out->numberPresentation = + static_cast( + in.numberPresentation); + out->name = in.name; + if (!translate(in.signalInfoRecord, &out->signalInfoRecord)) return false; + out->numberType = + static_cast(in.numberType); + out->numberPlan = + static_cast(in.numberPlan); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaDisplayInfoRecord& in, + aidl::android::hardware::radio::CdmaDisplayInfoRecord* out) { + out->alphaBuf = in.alphaBuf; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaNumberInfoRecord& in, + aidl::android::hardware::radio::CdmaNumberInfoRecord* out) { + out->number = in.number; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.numberType > std::numeric_limits::max() || in.numberType < 0) { + return false; + } + out->numberType = static_cast(in.numberType); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.numberPlan > std::numeric_limits::max() || in.numberPlan < 0) { + return false; + } + out->numberPlan = static_cast(in.numberPlan); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.pi > std::numeric_limits::max() || in.pi < 0) { + return false; + } + out->pi = static_cast(in.pi); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.si > std::numeric_limits::max() || in.si < 0) { + return false; + } + out->si = static_cast(in.si); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaRedirectingNumberInfoRecord& in, + aidl::android::hardware::radio::CdmaRedirectingNumberInfoRecord* out) { + if (!translate(in.redirectingNumber, &out->redirectingNumber)) return false; + out->redirectingReason = static_cast( + in.redirectingReason); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaLineControlInfoRecord& in, + aidl::android::hardware::radio::CdmaLineControlInfoRecord* out) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.lineCtrlPolarityIncluded > std::numeric_limits::max() || + in.lineCtrlPolarityIncluded < 0) { + return false; + } + out->lineCtrlPolarityIncluded = static_cast(in.lineCtrlPolarityIncluded); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.lineCtrlToggle > std::numeric_limits::max() || in.lineCtrlToggle < 0) { + return false; + } + out->lineCtrlToggle = static_cast(in.lineCtrlToggle); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.lineCtrlReverse > std::numeric_limits::max() || in.lineCtrlReverse < 0) { + return false; + } + out->lineCtrlReverse = static_cast(in.lineCtrlReverse); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.lineCtrlPowerDenial > std::numeric_limits::max() || in.lineCtrlPowerDenial < 0) { + return false; + } + out->lineCtrlPowerDenial = static_cast(in.lineCtrlPowerDenial); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaT53ClirInfoRecord& in, + aidl::android::hardware::radio::CdmaT53ClirInfoRecord* out) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.cause > std::numeric_limits::max() || in.cause < 0) { + return false; + } + out->cause = static_cast(in.cause); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaT53AudioControlInfoRecord& in, + aidl::android::hardware::radio::CdmaT53AudioControlInfoRecord* out) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.upLink > std::numeric_limits::max() || in.upLink < 0) { + return false; + } + out->upLink = static_cast(in.upLink); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.downLink > std::numeric_limits::max() || in.downLink < 0) { + return false; + } + out->downLink = static_cast(in.downLink); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaInformationRecord& in, + aidl::android::hardware::radio::CdmaInformationRecord* out) { + out->name = static_cast(in.name); + { + size_t size = in.display.size(); + aidl::android::hardware::radio::CdmaDisplayInfoRecord display; + for (size_t i = 0; i < size; i++) { + if (!translate(in.display[i], &display)) return false; + out->display.push_back(display); + } + } + { + size_t size = in.number.size(); + aidl::android::hardware::radio::CdmaNumberInfoRecord number; + for (size_t i = 0; i < size; i++) { + if (!translate(in.number[i], &number)) return false; + out->number.push_back(number); + } + } + { + size_t size = in.signal.size(); + aidl::android::hardware::radio::CdmaSignalInfoRecord signal; + for (size_t i = 0; i < size; i++) { + if (!translate(in.signal[i], &signal)) return false; + out->signal.push_back(signal); + } + } + { + size_t size = in.redir.size(); + aidl::android::hardware::radio::CdmaRedirectingNumberInfoRecord redir; + for (size_t i = 0; i < size; i++) { + if (!translate(in.redir[i], &redir)) return false; + out->redir.push_back(redir); + } + } + { + size_t size = in.lineCtrl.size(); + aidl::android::hardware::radio::CdmaLineControlInfoRecord lineCtrl; + for (size_t i = 0; i < size; i++) { + if (!translate(in.lineCtrl[i], &lineCtrl)) return false; + out->lineCtrl.push_back(lineCtrl); + } + } + { + size_t size = in.clir.size(); + aidl::android::hardware::radio::CdmaT53ClirInfoRecord clir; + for (size_t i = 0; i < size; i++) { + if (!translate(in.clir[i], &clir)) return false; + out->clir.push_back(clir); + } + } + { + size_t size = in.audioCtrl.size(); + aidl::android::hardware::radio::CdmaT53AudioControlInfoRecord audioCtrl; + for (size_t i = 0; i < size; i++) { + if (!translate(in.audioCtrl[i], &audioCtrl)) return false; + out->audioCtrl.push_back(audioCtrl); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaInformationRecords& in, + aidl::android::hardware::radio::CdmaInformationRecords* out) { + { + size_t size = in.infoRec.size(); + aidl::android::hardware::radio::CdmaInformationRecord infoRec; + for (size_t i = 0; i < size; i++) { + if (!translate(in.infoRec[i], &infoRec)) return false; + out->infoRec.push_back(infoRec); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CfData& in, + aidl::android::hardware::radio::CfData* out) { + { + size_t size = in.cfInfo.size(); + aidl::android::hardware::radio::CallForwardInfo cfInfo; + for (size_t i = 0; i < size; i++) { + if (!translate(in.cfInfo[i], &cfInfo)) return false; + out->cfInfo.push_back(cfInfo); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::SsInfoData& in, + aidl::android::hardware::radio::SsInfoData* out) { + { + size_t size = in.ssInfo.size(); + for (size_t i = 0; i < size; i++) { + out->ssInfo.push_back(static_cast(in.ssInfo[i])); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::StkCcUnsolSsResult& in, + aidl::android::hardware::radio::StkCcUnsolSsResult* out) { + out->serviceType = static_cast(in.serviceType); + out->requestType = static_cast(in.requestType); + out->teleserviceType = + static_cast(in.teleserviceType); + out->serviceClass = + static_cast(in.serviceClass); + out->result = static_cast(in.result); + { + size_t size = in.ssInfo.size(); + aidl::android::hardware::radio::SsInfoData ssInfo; + for (size_t i = 0; i < size; i++) { + if (!translate(in.ssInfo[i], &ssInfo)) return false; + out->ssInfo.push_back(ssInfo); + } + } + { + size_t size = in.cfData.size(); + aidl::android::hardware::radio::CfData cfData; + for (size_t i = 0; i < size; i++) { + if (!translate(in.cfData[i], &cfData)) return false; + out->cfData.push_back(cfData); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::PcoDataInfo& in, + aidl::android::hardware::radio::PcoDataInfo* out) { + out->cid = static_cast(in.cid); + out->bearerProto = in.bearerProto; + out->pcoId = static_cast(in.pcoId); + { + size_t size = in.contents.size(); + for (size_t i = 0; i < size; i++) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.contents[i] > std::numeric_limits::max() || in.contents[i] < 0) { + return false; + } + out->contents.push_back(static_cast(in.contents[i])); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_1::KeepaliveRequest& in, + aidl::android::hardware::radio::KeepaliveRequest* out) { + out->type = static_cast(in.type); + { + size_t size = in.sourceAddress.size(); + for (size_t i = 0; i < size; i++) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.sourceAddress[i] > std::numeric_limits::max() || + in.sourceAddress[i] < 0) { + return false; + } + out->sourceAddress.push_back(static_cast(in.sourceAddress[i])); + } + } + out->sourcePort = static_cast(in.sourcePort); + { + size_t size = in.destinationAddress.size(); + for (size_t i = 0; i < size; i++) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.destinationAddress[i] > std::numeric_limits::max() || + in.destinationAddress[i] < 0) { + return false; + } + out->destinationAddress.push_back(static_cast(in.destinationAddress[i])); + } + } + out->destinationPort = static_cast(in.destinationPort); + out->maxKeepaliveIntervalMillis = static_cast(in.maxKeepaliveIntervalMillis); + out->cid = static_cast(in.cid); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_1::KeepaliveStatus& in, + aidl::android::hardware::radio::KeepaliveStatus* out) { + out->sessionHandle = static_cast(in.sessionHandle); + out->code = static_cast(in.code); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_2::CellIdentityOperatorNames& in, + aidl::android::hardware::radio::CellIdentityOperatorNames* out) { + out->alphaLong = in.alphaLong; + out->alphaShort = in.alphaShort; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_2::CellIdentityCdma& in, + aidl::android::hardware::radio::CellIdentityCdma* out) { + out->networkId = static_cast(in.base.networkId); + out->systemId = static_cast(in.base.systemId); + out->baseStationId = static_cast(in.base.baseStationId); + out->longitude = static_cast(in.base.longitude); + out->latitude = static_cast(in.base.latitude); + if (!translate(in.operatorNames, &out->operatorNames)) return false; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_2::CellInfoCdma& in, + aidl::android::hardware::radio::CellInfoCdma* out) { + if (!translate(in.cellIdentityCdma, &out->cellIdentityCdma)) return false; + if (!translate(in.signalStrengthCdma, &out->signalStrengthCdma)) return false; + if (!translate(in.signalStrengthEvdo, &out->signalStrengthEvdo)) return false; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_2::WcdmaSignalStrength& in, + aidl::android::hardware::radio::WcdmaSignalStrength* out) { + out->signalStrength = static_cast(in.base.signalStrength); + out->bitErrorRate = static_cast(in.base.bitErrorRate); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.rscp > std::numeric_limits::max() || in.rscp < 0) { + return false; + } + out->rscp = static_cast(in.rscp); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.ecno > std::numeric_limits::max() || in.ecno < 0) { + return false; + } + out->ecno = static_cast(in.ecno); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_2::TdscdmaSignalStrength& in, + aidl::android::hardware::radio::TdscdmaSignalStrength* out) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.signalStrength > std::numeric_limits::max() || in.signalStrength < 0) { + return false; + } + out->signalStrength = static_cast(in.signalStrength); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.bitErrorRate > std::numeric_limits::max() || in.bitErrorRate < 0) { + return false; + } + out->bitErrorRate = static_cast(in.bitErrorRate); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.rscp > std::numeric_limits::max() || in.rscp < 0) { + return false; + } + out->rscp = static_cast(in.rscp); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_2::VoiceRegStateResult& in, + aidl::android::hardware::radio::VoiceRegStateResult* out) { + out->regState = static_cast(in.regState); + out->rat = static_cast(in.rat); + out->cssSupported = static_cast(in.cssSupported); + out->roamingIndicator = static_cast(in.roamingIndicator); + out->systemIsInPrl = static_cast(in.systemIsInPrl); + out->defaultRoamingIndicator = static_cast(in.defaultRoamingIndicator); + out->reasonForDenial = static_cast(in.reasonForDenial); + // FIXME Unknown type: android.hardware.radio@1.2::CellIdentity + // That type's package needs to be converted separately and the corresponding translate function + // should be added here. + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_3::RadioResponseInfoModem& in, + aidl::android::hardware::radio::RadioResponseInfoModem* out) { + out->type = static_cast(in.type); + out->serial = static_cast(in.serial); + out->error = static_cast(in.error); + out->isEnabled = static_cast(in.isEnabled); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_4::EmergencyNumber& in, + aidl::android::hardware::radio::EmergencyNumber* out) { + out->number = in.number; + out->mcc = in.mcc; + out->mnc = in.mnc; + out->categories = + static_cast(in.categories); + { + size_t size = in.urns.size(); + for (size_t i = 0; i < size; i++) { + out->urns.push_back(in.urns[i]); + } + } + out->sources = static_cast(in.sources); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_4::RadioFrequencyInfo& in, + aidl::android::hardware::radio::RadioFrequencyInfo* out) { + switch (in.getDiscriminator()) { + case ::android::hardware::radio::V1_4::RadioFrequencyInfo::hidl_discriminator::range: + *out = static_cast(in.range()); + break; + case ::android::hardware::radio::V1_4::RadioFrequencyInfo::hidl_discriminator:: + channelNumber: + *out = static_cast(in.channelNumber()); + break; + default: + return false; + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_4::LteVopsInfo& in, + aidl::android::hardware::radio::LteVopsInfo* out) { + out->isVopsSupported = static_cast(in.isVopsSupported); + out->isEmcBearerSupported = static_cast(in.isEmcBearerSupported); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_4::NrIndicators& in, + aidl::android::hardware::radio::NrIndicators* out) { + out->isEndcAvailable = static_cast(in.isEndcAvailable); + out->isDcNrRestricted = static_cast(in.isDcNrRestricted); + out->isNrAvailable = static_cast(in.isNrAvailable); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_4::DataRegStateResult& in, + aidl::android::hardware::radio::DataRegStateResult* out) { + out->regState = static_cast(in.base.regState); + out->rat = static_cast(in.base.rat); + out->reasonDataDenied = static_cast(in.base.reasonDataDenied); + out->maxDataCalls = static_cast(in.base.maxDataCalls); + // FIXME Unknown type: android.hardware.radio@1.2::CellIdentity + // That type's package needs to be converted separately and the corresponding translate function + // should be added here. + if (!translate(in.vopsInfo, &out->vopsInfo)) return false; + if (!translate(in.nrIndicators, &out->nrIndicators)) return false; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_4::DataRegStateResult::VopsInfo& in, + aidl::android::hardware::radio::DataRegStateResultVopsInfo* out) { + switch (in.getDiscriminator()) { + case ::android::hardware::radio::V1_4::DataRegStateResult::VopsInfo::hidl_discriminator:: + noinit: + // Nothing to translate for Monostate. + break; + case ::android::hardware::radio::V1_4::DataRegStateResult::VopsInfo::hidl_discriminator:: + lteVopsInfo: { + aidl::android::hardware::radio::LteVopsInfo lteVopsInfo; + if (!translate(in.lteVopsInfo(), <eVopsInfo)) return false; + out->set( + lteVopsInfo); + } break; + default: + return false; + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_4::CellConfigLte& in, + aidl::android::hardware::radio::CellConfigLte* out) { + out->isEndcAvailable = static_cast(in.isEndcAvailable); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_4::CellInfo::Info& in, + aidl::android::hardware::radio::CellInfoInfo* out) { + switch (in.getDiscriminator()) { + case ::android::hardware::radio::V1_4::CellInfo::Info::hidl_discriminator::gsm: + // FIXME Unknown type: android.hardware.radio@1.2::CellInfoGsm + // That type's package needs to be converted separately and the corresponding translate + // function should be added here. + break; + case ::android::hardware::radio::V1_4::CellInfo::Info::hidl_discriminator::cdma: { + aidl::android::hardware::radio::CellInfoCdma cdma; + if (!translate(in.cdma(), &cdma)) return false; + out->set(cdma); + } break; + case ::android::hardware::radio::V1_4::CellInfo::Info::hidl_discriminator::wcdma: + // FIXME Unknown type: android.hardware.radio@1.2::CellInfoWcdma + // That type's package needs to be converted separately and the corresponding translate + // function should be added here. + break; + case ::android::hardware::radio::V1_4::CellInfo::Info::hidl_discriminator::tdscdma: + // FIXME Unknown type: android.hardware.radio@1.2::CellInfoTdscdma + // That type's package needs to be converted separately and the corresponding translate + // function should be added here. + break; + case ::android::hardware::radio::V1_4::CellInfo::Info::hidl_discriminator::lte: + // FIXME Unknown type: android.hardware.radio@1.4::CellInfoLte + // That type's package needs to be converted separately and the corresponding translate + // function should be added here. + break; + case ::android::hardware::radio::V1_4::CellInfo::Info::hidl_discriminator::nr: + // FIXME Unknown type: android.hardware.radio@1.4::CellInfoNr + // That type's package needs to be converted separately and the corresponding translate + // function should be added here. + break; + default: + return false; + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_4::RadioCapability& in, + aidl::android::hardware::radio::RadioCapability* out) { + out->session = static_cast(in.session); + out->phase = static_cast(in.phase); + out->raf = static_cast(in.raf); + out->logicalModemUuid = in.logicalModemUuid; + out->status = static_cast(in.status); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_4::CarrierRestrictionsWithPriority& in, + aidl::android::hardware::radio::CarrierRestrictionsWithPriority* out) { + { + size_t size = in.allowedCarriers.size(); + aidl::android::hardware::radio::Carrier allowedCarriers; + for (size_t i = 0; i < size; i++) { + if (!translate(in.allowedCarriers[i], &allowedCarriers)) return false; + out->allowedCarriers.push_back(allowedCarriers); + } + } + { + size_t size = in.excludedCarriers.size(); + aidl::android::hardware::radio::Carrier excludedCarriers; + for (size_t i = 0; i < size; i++) { + if (!translate(in.excludedCarriers[i], &excludedCarriers)) return false; + out->excludedCarriers.push_back(excludedCarriers); + } + } + out->allowedCarriersPrioritized = static_cast(in.allowedCarriersPrioritized); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::RadioAccessSpecifier& in, + aidl::android::hardware::radio::RadioAccessSpecifier* out) { + out->radioAccessNetwork = + static_cast(in.radioAccessNetwork); + if (!translate(in.bands, &out->bands)) return false; + { + size_t size = in.channels.size(); + for (size_t i = 0; i < size; i++) { + out->channels.push_back(static_cast(in.channels[i])); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::RadioAccessSpecifier::Bands& in, + aidl::android::hardware::radio::RadioAccessSpecifierBands* out) { + switch (in.getDiscriminator()) { + case ::android::hardware::radio::V1_5::RadioAccessSpecifier::Bands::hidl_discriminator:: + geranBands: { + ::android::hardware::hidl_vec<::android::hardware::radio::V1_1::GeranBands> geranBands = + in.geranBands(); + size_t size = geranBands.size(); + for (size_t i = 0; i < size; i++) { + out->get() + .push_back(static_cast( + geranBands[i])); + } + } break; + case ::android::hardware::radio::V1_5::RadioAccessSpecifier::Bands::hidl_discriminator:: + utranBands: { + ::android::hardware::hidl_vec<::android::hardware::radio::V1_5::UtranBands> utranBands = + in.utranBands(); + size_t size = utranBands.size(); + for (size_t i = 0; i < size; i++) { + out->get() + .push_back(static_cast( + utranBands[i])); + } + } break; + case ::android::hardware::radio::V1_5::RadioAccessSpecifier::Bands::hidl_discriminator:: + eutranBands: { + ::android::hardware::hidl_vec<::android::hardware::radio::V1_5::EutranBands> + eutranBands = in.eutranBands(); + size_t size = eutranBands.size(); + for (size_t i = 0; i < size; i++) { + out->get() + .push_back(static_cast( + eutranBands[i])); + } + } break; + case ::android::hardware::radio::V1_5::RadioAccessSpecifier::Bands::hidl_discriminator:: + ngranBands: { + ::android::hardware::hidl_vec<::android::hardware::radio::V1_5::NgranBands> ngranBands = + in.ngranBands(); + size_t size = ngranBands.size(); + for (size_t i = 0; i < size; i++) { + out->get() + .push_back(static_cast( + ngranBands[i])); + } + } break; + default: + return false; + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::SignalThresholdInfo& in, + aidl::android::hardware::radio::SignalThresholdInfo* out) { + out->signalMeasurement = static_cast( + in.signalMeasurement); + out->hysteresisMs = static_cast(in.hysteresisMs); + out->hysteresisDb = static_cast(in.hysteresisDb); + { + size_t size = in.thresholds.size(); + for (size_t i = 0; i < size; i++) { + out->thresholds.push_back(static_cast(in.thresholds[i])); + } + } + out->isEnabled = static_cast(in.isEnabled); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::NetworkScanRequest& in, + aidl::android::hardware::radio::NetworkScanRequest* out) { + out->type = static_cast(in.type); + out->interval = static_cast(in.interval); + { + size_t size = in.specifiers.size(); + aidl::android::hardware::radio::RadioAccessSpecifier specifiers; + for (size_t i = 0; i < size; i++) { + if (!translate(in.specifiers[i], &specifiers)) return false; + out->specifiers.push_back(specifiers); + } + } + out->maxSearchTime = static_cast(in.maxSearchTime); + out->incrementalResults = static_cast(in.incrementalResults); + out->incrementalResultsPeriodicity = static_cast(in.incrementalResultsPeriodicity); + { + size_t size = in.mccMncs.size(); + for (size_t i = 0; i < size; i++) { + out->mccMncs.push_back(in.mccMncs[i]); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::DataProfileInfo& in, + aidl::android::hardware::radio::DataProfileInfo* out) { + out->profileId = static_cast(in.profileId); + out->apn = in.apn; + out->protocol = static_cast(in.protocol); + out->roamingProtocol = + static_cast(in.roamingProtocol); + out->authType = static_cast(in.authType); + out->user = in.user; + out->password = in.password; + out->type = static_cast(in.type); + out->maxConnsTime = static_cast(in.maxConnsTime); + out->maxConns = static_cast(in.maxConns); + out->waitTime = static_cast(in.waitTime); + out->enabled = static_cast(in.enabled); + out->supportedApnTypesBitmap = + static_cast(in.supportedApnTypesBitmap); + out->bearerBitmap = + static_cast(in.bearerBitmap); + out->mtuV4 = static_cast(in.mtuV4); + out->mtuV6 = static_cast(in.mtuV6); + out->preferred = static_cast(in.preferred); + out->persistent = static_cast(in.persistent); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::LinkAddress& in, + aidl::android::hardware::radio::LinkAddress* out) { + out->address = in.address; + out->properties = static_cast(in.properties); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.deprecationTime > std::numeric_limits::max() || in.deprecationTime < 0) { + return false; + } + out->deprecationTime = static_cast(in.deprecationTime); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.expirationTime > std::numeric_limits::max() || in.expirationTime < 0) { + return false; + } + out->expirationTime = static_cast(in.expirationTime); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::ClosedSubscriberGroupInfo& in, + aidl::android::hardware::radio::ClosedSubscriberGroupInfo* out) { + out->csgIndication = static_cast(in.csgIndication); + out->homeNodebName = in.homeNodebName; + out->csgIdentity = static_cast(in.csgIdentity); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::OptionalCsgInfo& in, + aidl::android::hardware::radio::OptionalCsgInfo* out) { + switch (in.getDiscriminator()) { + case ::android::hardware::radio::V1_5::OptionalCsgInfo::hidl_discriminator::noinit: + // Nothing to translate for Monostate. + break; + case ::android::hardware::radio::V1_5::OptionalCsgInfo::hidl_discriminator::csgInfo: { + aidl::android::hardware::radio::ClosedSubscriberGroupInfo csgInfo; + if (!translate(in.csgInfo(), &csgInfo)) return false; + out->set(csgInfo); + } break; + default: + return false; + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::CellIdentityGsm& in, + aidl::android::hardware::radio::CellIdentityGsm* out) { + out->mcc = in.base.base.mcc; + out->mnc = in.base.base.mnc; + out->lac = static_cast(in.base.base.lac); + out->cid = static_cast(in.base.base.cid); + out->arfcn = static_cast(in.base.base.arfcn); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.base.base.bsic > std::numeric_limits::max() || in.base.base.bsic < 0) { + return false; + } + out->bsic = static_cast(in.base.base.bsic); + if (!translate(in.base.operatorNames, &out->operatorNames)) return false; + { + size_t size = in.additionalPlmns.size(); + for (size_t i = 0; i < size; i++) { + out->additionalPlmns.push_back(in.additionalPlmns[i]); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::CellIdentityWcdma& in, + aidl::android::hardware::radio::CellIdentityWcdma* out) { + out->mcc = in.base.base.mcc; + out->mnc = in.base.base.mnc; + out->lac = static_cast(in.base.base.lac); + out->cid = static_cast(in.base.base.cid); + out->psc = static_cast(in.base.base.psc); + out->uarfcn = static_cast(in.base.base.uarfcn); + if (!translate(in.base.operatorNames, &out->operatorNames)) return false; + { + size_t size = in.additionalPlmns.size(); + for (size_t i = 0; i < size; i++) { + out->additionalPlmns.push_back(in.additionalPlmns[i]); + } + } + if (!translate(in.optionalCsgInfo, &out->optionalCsgInfo)) return false; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::CellIdentityTdscdma& in, + aidl::android::hardware::radio::CellIdentityTdscdma* out) { + out->mcc = in.base.base.mcc; + out->mnc = in.base.base.mnc; + out->lac = static_cast(in.base.base.lac); + out->cid = static_cast(in.base.base.cid); + out->cpid = static_cast(in.base.base.cpid); + out->uarfcn = static_cast(in.base.uarfcn); + if (!translate(in.base.operatorNames, &out->operatorNames)) return false; + { + size_t size = in.additionalPlmns.size(); + for (size_t i = 0; i < size; i++) { + out->additionalPlmns.push_back(in.additionalPlmns[i]); + } + } + if (!translate(in.optionalCsgInfo, &out->optionalCsgInfo)) return false; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::CellIdentityLte& in, + aidl::android::hardware::radio::CellIdentityLte* out) { + out->mcc = in.base.base.mcc; + out->mnc = in.base.base.mnc; + out->ci = static_cast(in.base.base.ci); + out->pci = static_cast(in.base.base.pci); + out->tac = static_cast(in.base.base.tac); + out->earfcn = static_cast(in.base.base.earfcn); + if (!translate(in.base.operatorNames, &out->operatorNames)) return false; + out->bandwidth = static_cast(in.base.bandwidth); + { + size_t size = in.additionalPlmns.size(); + for (size_t i = 0; i < size; i++) { + out->additionalPlmns.push_back(in.additionalPlmns[i]); + } + } + if (!translate(in.optionalCsgInfo, &out->optionalCsgInfo)) return false; + { + size_t size = in.bands.size(); + for (size_t i = 0; i < size; i++) { + out->bands.push_back( + static_cast(in.bands[i])); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::CellIdentityNr& in, + aidl::android::hardware::radio::CellIdentityNr* out) { + out->mcc = in.base.mcc; + out->mnc = in.base.mnc; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.base.nci > std::numeric_limits::max() || in.base.nci < 0) { + return false; + } + out->nci = static_cast(in.base.nci); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.base.pci > std::numeric_limits::max() || in.base.pci < 0) { + return false; + } + out->pci = static_cast(in.base.pci); + out->tac = static_cast(in.base.tac); + out->nrarfcn = static_cast(in.base.nrarfcn); + if (!translate(in.base.operatorNames, &out->operatorNames)) return false; + { + size_t size = in.additionalPlmns.size(); + for (size_t i = 0; i < size; i++) { + out->additionalPlmns.push_back(in.additionalPlmns[i]); + } + } + { + size_t size = in.bands.size(); + for (size_t i = 0; i < size; i++) { + out->bands.push_back( + static_cast(in.bands[i])); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::CellInfoGsm& in, + aidl::android::hardware::radio::CellInfoGsm* out) { + if (!translate(in.cellIdentityGsm, &out->cellIdentityGsm)) return false; + if (!translate(in.signalStrengthGsm, &out->signalStrengthGsm)) return false; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::CellInfoWcdma& in, + aidl::android::hardware::radio::CellInfoWcdma* out) { + if (!translate(in.cellIdentityWcdma, &out->cellIdentityWcdma)) return false; + if (!translate(in.signalStrengthWcdma, &out->signalStrengthWcdma)) return false; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::CellInfoTdscdma& in, + aidl::android::hardware::radio::CellInfoTdscdma* out) { + if (!translate(in.cellIdentityTdscdma, &out->cellIdentityTdscdma)) return false; + if (!translate(in.signalStrengthTdscdma, &out->signalStrengthTdscdma)) return false; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::CellIdentity& in, + aidl::android::hardware::radio::CellIdentity* out) { + switch (in.getDiscriminator()) { + case ::android::hardware::radio::V1_5::CellIdentity::hidl_discriminator::noinit: + // Nothing to translate for Monostate. + break; + case ::android::hardware::radio::V1_5::CellIdentity::hidl_discriminator::gsm: { + aidl::android::hardware::radio::CellIdentityGsm gsm; + if (!translate(in.gsm(), &gsm)) return false; + out->set(gsm); + } break; + case ::android::hardware::radio::V1_5::CellIdentity::hidl_discriminator::wcdma: { + aidl::android::hardware::radio::CellIdentityWcdma wcdma; + if (!translate(in.wcdma(), &wcdma)) return false; + out->set(wcdma); + } break; + case ::android::hardware::radio::V1_5::CellIdentity::hidl_discriminator::tdscdma: { + aidl::android::hardware::radio::CellIdentityTdscdma tdscdma; + if (!translate(in.tdscdma(), &tdscdma)) return false; + out->set(tdscdma); + } break; + case ::android::hardware::radio::V1_5::CellIdentity::hidl_discriminator::cdma: { + aidl::android::hardware::radio::CellIdentityCdma cdma; + if (!translate(in.cdma(), &cdma)) return false; + out->set(cdma); + } break; + case ::android::hardware::radio::V1_5::CellIdentity::hidl_discriminator::lte: { + aidl::android::hardware::radio::CellIdentityLte lte; + if (!translate(in.lte(), <e)) return false; + out->set(lte); + } break; + case ::android::hardware::radio::V1_5::CellIdentity::hidl_discriminator::nr: { + aidl::android::hardware::radio::CellIdentityNr nr; + if (!translate(in.nr(), &nr)) return false; + out->set(nr); + } break; + default: + return false; + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::BarringInfo& in, + aidl::android::hardware::radio::BarringInfo* out) { + out->serviceType = + static_cast(in.serviceType); + out->barringType = + static_cast(in.barringType); + if (!translate(in.barringTypeSpecificInfo, &out->barringTypeSpecificInfo)) return false; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::BarringInfo::BarringTypeSpecificInfo::Conditional& + in, + aidl::android::hardware::radio::BarringInfoBarringTypeSpecificInfoConditional* out) { + out->factor = static_cast(in.factor); + out->timeSeconds = static_cast(in.timeSeconds); + out->isBarred = static_cast(in.isBarred); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::BarringInfo::BarringTypeSpecificInfo& in, + aidl::android::hardware::radio::BarringInfoBarringTypeSpecificInfo* out) { + switch (in.getDiscriminator()) { + case ::android::hardware::radio::V1_5::BarringInfo::BarringTypeSpecificInfo:: + hidl_discriminator::noinit: + // Nothing to translate for Monostate. + break; + case ::android::hardware::radio::V1_5::BarringInfo::BarringTypeSpecificInfo:: + hidl_discriminator::conditional: { + aidl::android::hardware::radio::BarringInfoBarringTypeSpecificInfoConditional + conditional; + if (!translate(in.conditional(), &conditional)) return false; + out->set(conditional); + } break; + default: + return false; + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::RegStateResult::AccessTechnologySpecificInfo:: + Cdma2000RegistrationInfo& in, + aidl::android::hardware::radio:: + RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo* out) { + out->cssSupported = static_cast(in.cssSupported); + out->roamingIndicator = static_cast(in.roamingIndicator); + out->systemIsInPrl = + static_cast(in.systemIsInPrl); + out->defaultRoamingIndicator = static_cast(in.defaultRoamingIndicator); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::RegStateResult::AccessTechnologySpecificInfo:: + EutranRegistrationInfo& in, + aidl::android::hardware::radio:: + RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo* out) { + if (!translate(in.lteVopsInfo, &out->lteVopsInfo)) return false; + if (!translate(in.nrIndicators, &out->nrIndicators)) return false; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::AppStatus& in, + aidl::android::hardware::radio::AppStatus* out) { + out->appType = static_cast(in.base.appType); + out->appState = static_cast(in.base.appState); + out->persoSubstate = + static_cast(in.persoSubstate); + out->aidPtr = in.base.aidPtr; + out->appLabelPtr = in.base.appLabelPtr; + out->pin1Replaced = static_cast(in.base.pin1Replaced); + out->pin1 = static_cast(in.base.pin1); + out->pin2 = static_cast(in.base.pin2); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::CardStatus& in, + aidl::android::hardware::radio::CardStatus* out) { + out->cardState = + static_cast(in.base.base.base.cardState); + out->universalPinState = static_cast( + in.base.base.base.universalPinState); + out->gsmUmtsSubscriptionAppIndex = + static_cast(in.base.base.base.gsmUmtsSubscriptionAppIndex); + out->cdmaSubscriptionAppIndex = + static_cast(in.base.base.base.cdmaSubscriptionAppIndex); + out->imsSubscriptionAppIndex = static_cast(in.base.base.base.imsSubscriptionAppIndex); + { + size_t size = in.applications.size(); + aidl::android::hardware::radio::AppStatus applications; + for (size_t i = 0; i < size; i++) { + if (!translate(in.applications[i], &applications)) return false; + out->applications.push_back(applications); + } + } + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.base.base.physicalSlotId > std::numeric_limits::max() || + in.base.base.physicalSlotId < 0) { + return false; + } + out->physicalSlotId = static_cast(in.base.base.physicalSlotId); + out->atr = in.base.base.atr; + out->iccid = in.base.base.iccid; + out->eid = in.base.eid; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::QosBandwidth& in, + aidl::android::hardware::radio::QosBandwidth* out) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.maxBitrateKbps > std::numeric_limits::max() || in.maxBitrateKbps < 0) { + return false; + } + out->maxBitrateKbps = static_cast(in.maxBitrateKbps); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.guaranteedBitrateKbps > std::numeric_limits::max() || + in.guaranteedBitrateKbps < 0) { + return false; + } + out->guaranteedBitrateKbps = static_cast(in.guaranteedBitrateKbps); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::EpsQos& in, + aidl::android::hardware::radio::EpsQos* out) { + out->qci = static_cast(in.qci); + if (!translate(in.downlink, &out->downlink)) return false; + if (!translate(in.uplink, &out->uplink)) return false; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::NrQos& in, + aidl::android::hardware::radio::NrQos* out) { + out->fiveQi = static_cast(in.fiveQi); + if (!translate(in.downlink, &out->downlink)) return false; + if (!translate(in.uplink, &out->uplink)) return false; + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.qfi > std::numeric_limits::max() || in.qfi < 0) { + return false; + } + out->qfi = static_cast(in.qfi); + out->averagingWindowMs = static_cast(in.averagingWindowMs); + return true; +} + +__attribute__((warn_unused_result)) bool translate(const ::android::hardware::radio::V1_6::Qos& in, + aidl::android::hardware::radio::Qos* out) { + switch (in.getDiscriminator()) { + case ::android::hardware::radio::V1_6::Qos::hidl_discriminator::noinit: + // Nothing to translate for Monostate. + break; + case ::android::hardware::radio::V1_6::Qos::hidl_discriminator::eps: { + aidl::android::hardware::radio::EpsQos eps; + if (!translate(in.eps(), &eps)) return false; + out->set(eps); + } break; + case ::android::hardware::radio::V1_6::Qos::hidl_discriminator::nr: { + aidl::android::hardware::radio::NrQos nr; + if (!translate(in.nr(), &nr)) return false; + out->set(nr); + } break; + default: + return false; + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::RadioResponseInfo& in, + aidl::android::hardware::radio::RadioResponseInfo* out) { + out->type = static_cast(in.type); + out->serial = static_cast(in.serial); + out->error = static_cast(in.error); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::PortRange& in, + aidl::android::hardware::radio::PortRange* out) { + out->start = static_cast(in.start); + out->end = static_cast(in.end); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::MaybePort& in, + aidl::android::hardware::radio::MaybePort* out) { + switch (in.getDiscriminator()) { + case ::android::hardware::radio::V1_6::MaybePort::hidl_discriminator::noinit: + // Nothing to translate for Monostate. + break; + case ::android::hardware::radio::V1_6::MaybePort::hidl_discriminator::range: { + aidl::android::hardware::radio::PortRange range; + if (!translate(in.range(), &range)) return false; + out->set(range); + } break; + default: + return false; + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::QosFilter& in, + aidl::android::hardware::radio::QosFilter* out) { + { + size_t size = in.localAddresses.size(); + for (size_t i = 0; i < size; i++) { + out->localAddresses.push_back(in.localAddresses[i]); + } + } + { + size_t size = in.remoteAddresses.size(); + for (size_t i = 0; i < size; i++) { + out->remoteAddresses.push_back(in.remoteAddresses[i]); + } + } + if (!translate(in.localPort, &out->localPort)) return false; + if (!translate(in.remotePort, &out->remotePort)) return false; + out->protocol = static_cast(in.protocol); + if (!translate(in.tos, &out->tos)) return false; + if (!translate(in.flowLabel, &out->flowLabel)) return false; + if (!translate(in.spi, &out->spi)) return false; + out->direction = static_cast(in.direction); + out->precedence = static_cast(in.precedence); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::QosFilter::TypeOfService& in, + aidl::android::hardware::radio::QosFilterTypeOfService* out) { + switch (in.getDiscriminator()) { + case ::android::hardware::radio::V1_6::QosFilter::TypeOfService::hidl_discriminator::noinit: + // Nothing to translate for Monostate. + break; + case ::android::hardware::radio::V1_6::QosFilter::TypeOfService::hidl_discriminator::value: + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.value() > std::numeric_limits::max() || in.value() < 0) { + return false; + } + *out = static_cast(in.value()); + break; + default: + return false; + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::QosFilter::Ipv6FlowLabel& in, + aidl::android::hardware::radio::QosFilterIpv6FlowLabel* out) { + switch (in.getDiscriminator()) { + case ::android::hardware::radio::V1_6::QosFilter::Ipv6FlowLabel::hidl_discriminator::noinit: + // Nothing to translate for Monostate. + break; + case ::android::hardware::radio::V1_6::QosFilter::Ipv6FlowLabel::hidl_discriminator::value: + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.value() > std::numeric_limits::max() || in.value() < 0) { + return false; + } + *out = static_cast(in.value()); + break; + default: + return false; + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::QosFilter::IpsecSpi& in, + aidl::android::hardware::radio::QosFilterIpsecSpi* out) { + switch (in.getDiscriminator()) { + case ::android::hardware::radio::V1_6::QosFilter::IpsecSpi::hidl_discriminator::noinit: + // Nothing to translate for Monostate. + break; + case ::android::hardware::radio::V1_6::QosFilter::IpsecSpi::hidl_discriminator::value: + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.value() > std::numeric_limits::max() || in.value() < 0) { + return false; + } + *out = static_cast(in.value()); + break; + default: + return false; + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::QosSession& in, + aidl::android::hardware::radio::QosSession* out) { + out->qosSessionId = static_cast(in.qosSessionId); + if (!translate(in.qos, &out->qos)) return false; + { + size_t size = in.qosFilters.size(); + aidl::android::hardware::radio::QosFilter qosFilters; + for (size_t i = 0; i < size; i++) { + if (!translate(in.qosFilters[i], &qosFilters)) return false; + out->qosFilters.push_back(qosFilters); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::SetupDataCallResult& in, + aidl::android::hardware::radio::SetupDataCallResult* out) { + out->cause = static_cast(in.cause); + out->suggestedRetryTime = static_cast(in.suggestedRetryTime); + out->cid = static_cast(in.cid); + out->active = static_cast(in.active); + out->type = static_cast(in.type); + out->ifname = in.ifname; + { + size_t size = in.addresses.size(); + aidl::android::hardware::radio::LinkAddress addresses; + for (size_t i = 0; i < size; i++) { + if (!translate(in.addresses[i], &addresses)) return false; + out->addresses.push_back(addresses); + } + } + { + size_t size = in.dnses.size(); + for (size_t i = 0; i < size; i++) { + out->dnses.push_back(in.dnses[i]); + } + } + { + size_t size = in.gateways.size(); + for (size_t i = 0; i < size; i++) { + out->gateways.push_back(in.gateways[i]); + } + } + { + size_t size = in.pcscf.size(); + for (size_t i = 0; i < size; i++) { + out->pcscf.push_back(in.pcscf[i]); + } + } + out->mtuV4 = static_cast(in.mtuV4); + out->mtuV6 = static_cast(in.mtuV6); + if (!translate(in.defaultQos, &out->defaultQos)) return false; + { + size_t size = in.qosSessions.size(); + aidl::android::hardware::radio::QosSession qosSessions; + for (size_t i = 0; i < size; i++) { + if (!translate(in.qosSessions[i], &qosSessions)) return false; + out->qosSessions.push_back(qosSessions); + } + } + out->handoverFailureMode = static_cast( + in.handoverFailureMode); + out->pduSessionId = static_cast(in.pduSessionId); + if (!translate(in.sliceInfo, &out->sliceInfo)) return false; + { + size_t size = in.trafficDescriptors.size(); + aidl::android::hardware::radio::TrafficDescriptor trafficDescriptors; + for (size_t i = 0; i < size; i++) { + if (!translate(in.trafficDescriptors[i], &trafficDescriptors)) return false; + out->trafficDescriptors.push_back(trafficDescriptors); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::LinkCapacityEstimate& in, + aidl::android::hardware::radio::LinkCapacityEstimate* out) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.downlinkCapacityKbps > std::numeric_limits::max() || + in.downlinkCapacityKbps < 0) { + return false; + } + out->downlinkCapacityKbps = static_cast(in.downlinkCapacityKbps); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.uplinkCapacityKbps > std::numeric_limits::max() || in.uplinkCapacityKbps < 0) { + return false; + } + out->uplinkCapacityKbps = static_cast(in.uplinkCapacityKbps); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.secondaryDownlinkCapacityKbps > std::numeric_limits::max() || + in.secondaryDownlinkCapacityKbps < 0) { + return false; + } + out->secondaryDownlinkCapacityKbps = static_cast(in.secondaryDownlinkCapacityKbps); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.secondaryUplinkCapacityKbps > std::numeric_limits::max() || + in.secondaryUplinkCapacityKbps < 0) { + return false; + } + out->secondaryUplinkCapacityKbps = static_cast(in.secondaryUplinkCapacityKbps); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::NrVopsInfo& in, + aidl::android::hardware::radio::NrVopsInfo* out) { + out->vopsSupported = + static_cast(in.vopsSupported); + out->emcSupported = static_cast(in.emcSupported); + out->emfSupported = static_cast(in.emfSupported); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::LteSignalStrength& in, + aidl::android::hardware::radio::LteSignalStrength* out) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.base.signalStrength > std::numeric_limits::max() || + in.base.signalStrength < 0) { + return false; + } + out->signalStrength = static_cast(in.base.signalStrength); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.base.rsrp > std::numeric_limits::max() || in.base.rsrp < 0) { + return false; + } + out->rsrp = static_cast(in.base.rsrp); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.base.rsrq > std::numeric_limits::max() || in.base.rsrq < 0) { + return false; + } + out->rsrq = static_cast(in.base.rsrq); + out->rssnr = static_cast(in.base.rssnr); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.base.cqi > std::numeric_limits::max() || in.base.cqi < 0) { + return false; + } + out->cqi = static_cast(in.base.cqi); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.base.timingAdvance > std::numeric_limits::max() || in.base.timingAdvance < 0) { + return false; + } + out->timingAdvance = static_cast(in.base.timingAdvance); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.cqiTableIndex > std::numeric_limits::max() || in.cqiTableIndex < 0) { + return false; + } + out->cqiTableIndex = static_cast(in.cqiTableIndex); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::NrSignalStrength& in, + aidl::android::hardware::radio::NrSignalStrength* out) { + out->ssRsrp = static_cast(in.base.ssRsrp); + out->ssRsrq = static_cast(in.base.ssRsrq); + out->ssSinr = static_cast(in.base.ssSinr); + out->csiRsrp = static_cast(in.base.csiRsrp); + out->csiRsrq = static_cast(in.base.csiRsrq); + out->csiSinr = static_cast(in.base.csiSinr); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.csiCqiTableIndex > std::numeric_limits::max() || in.csiCqiTableIndex < 0) { + return false; + } + out->csiCqiTableIndex = static_cast(in.csiCqiTableIndex); + { + size_t size = in.csiCqiReport.size(); + for (size_t i = 0; i < size; i++) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.csiCqiReport[i] > std::numeric_limits::max() || in.csiCqiReport[i] < 0) { + return false; + } + out->csiCqiReport.push_back(static_cast(in.csiCqiReport[i])); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::SignalStrength& in, + aidl::android::hardware::radio::SignalStrength* out) { + if (!translate(in.gsm, &out->gsm)) return false; + if (!translate(in.cdma, &out->cdma)) return false; + if (!translate(in.evdo, &out->evdo)) return false; + if (!translate(in.lte, &out->lte)) return false; + if (!translate(in.tdscdma, &out->tdscdma)) return false; + if (!translate(in.wcdma, &out->wcdma)) return false; + if (!translate(in.nr, &out->nr)) return false; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::CellInfoLte& in, + aidl::android::hardware::radio::CellInfoLte* out) { + if (!translate(in.cellIdentityLte, &out->cellIdentityLte)) return false; + if (!translate(in.signalStrengthLte, &out->signalStrengthLte)) return false; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::CellInfoNr& in, + aidl::android::hardware::radio::CellInfoNr* out) { + if (!translate(in.cellIdentityNr, &out->cellIdentityNr)) return false; + if (!translate(in.signalStrengthNr, &out->signalStrengthNr)) return false; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::CellInfo& in, + aidl::android::hardware::radio::CellInfo* out) { + out->registered = static_cast(in.registered); + out->connectionStatus = + static_cast(in.connectionStatus); + if (!translate(in.ratSpecificInfo, &out->ratSpecificInfo)) return false; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::CellInfo::CellInfoRatSpecificInfo& in, + aidl::android::hardware::radio::CellInfoCellInfoRatSpecificInfo* out) { + switch (in.getDiscriminator()) { + case ::android::hardware::radio::V1_6::CellInfo::CellInfoRatSpecificInfo:: + hidl_discriminator::gsm: { + aidl::android::hardware::radio::CellInfoGsm gsm; + if (!translate(in.gsm(), &gsm)) return false; + out->set(gsm); + } break; + case ::android::hardware::radio::V1_6::CellInfo::CellInfoRatSpecificInfo:: + hidl_discriminator::wcdma: { + aidl::android::hardware::radio::CellInfoWcdma wcdma; + if (!translate(in.wcdma(), &wcdma)) return false; + out->set(wcdma); + } break; + case ::android::hardware::radio::V1_6::CellInfo::CellInfoRatSpecificInfo:: + hidl_discriminator::tdscdma: { + aidl::android::hardware::radio::CellInfoTdscdma tdscdma; + if (!translate(in.tdscdma(), &tdscdma)) return false; + out->set( + tdscdma); + } break; + case ::android::hardware::radio::V1_6::CellInfo::CellInfoRatSpecificInfo:: + hidl_discriminator::lte: { + aidl::android::hardware::radio::CellInfoLte lte; + if (!translate(in.lte(), <e)) return false; + out->set(lte); + } break; + case ::android::hardware::radio::V1_6::CellInfo::CellInfoRatSpecificInfo:: + hidl_discriminator::nr: { + aidl::android::hardware::radio::CellInfoNr nr; + if (!translate(in.nr(), &nr)) return false; + out->set(nr); + } break; + case ::android::hardware::radio::V1_6::CellInfo::CellInfoRatSpecificInfo:: + hidl_discriminator::cdma: { + aidl::android::hardware::radio::CellInfoCdma cdma; + if (!translate(in.cdma(), &cdma)) return false; + out->set(cdma); + } break; + default: + return false; + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::NetworkScanResult& in, + aidl::android::hardware::radio::NetworkScanResult* out) { + out->status = static_cast(in.status); + out->error = static_cast(in.error); + { + size_t size = in.networkInfos.size(); + aidl::android::hardware::radio::CellInfo networkInfos; + for (size_t i = 0; i < size; i++) { + if (!translate(in.networkInfos[i], &networkInfos)) return false; + out->networkInfos.push_back(networkInfos); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::RegStateResult& in, + aidl::android::hardware::radio::RegStateResult* out) { + out->regState = static_cast(in.regState); + out->rat = static_cast(in.rat); + out->reasonForDenial = + static_cast(in.reasonForDenial); + if (!translate(in.cellIdentity, &out->cellIdentity)) return false; + out->registeredPlmn = in.registeredPlmn; + if (!translate(in.accessTechnologySpecificInfo, &out->accessTechnologySpecificInfo)) + return false; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::RegStateResult::AccessTechnologySpecificInfo& in, + aidl::android::hardware::radio::RegStateResultAccessTechnologySpecificInfo* out) { + switch (in.getDiscriminator()) { + case ::android::hardware::radio::V1_6::RegStateResult::AccessTechnologySpecificInfo:: + hidl_discriminator::noinit: + // Nothing to translate for Monostate. + break; + case ::android::hardware::radio::V1_6::RegStateResult::AccessTechnologySpecificInfo:: + hidl_discriminator::cdmaInfo: { + aidl::android::hardware::radio:: + RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo cdmaInfo; + if (!translate(in.cdmaInfo(), &cdmaInfo)) return false; + out->set(cdmaInfo); + } break; + case ::android::hardware::radio::V1_6::RegStateResult::AccessTechnologySpecificInfo:: + hidl_discriminator::eutranInfo: { + aidl::android::hardware::radio:: + RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo eutranInfo; + if (!translate(in.eutranInfo(), &eutranInfo)) return false; + out->set(eutranInfo); + } break; + case ::android::hardware::radio::V1_6::RegStateResult::AccessTechnologySpecificInfo:: + hidl_discriminator::ngranNrVopsInfo: { + aidl::android::hardware::radio::NrVopsInfo ngranNrVopsInfo; + if (!translate(in.ngranNrVopsInfo(), &ngranNrVopsInfo)) return false; + out->set(ngranNrVopsInfo); + } break; + case ::android::hardware::radio::V1_6::RegStateResult::AccessTechnologySpecificInfo:: + hidl_discriminator::geranDtmSupported: + out->set(static_cast(in.geranDtmSupported())); + break; + default: + return false; + } + return true; +} + +__attribute__((warn_unused_result)) bool translate(const ::android::hardware::radio::V1_6::Call& in, + aidl::android::hardware::radio::Call* out) { + out->state = static_cast(in.base.base.state); + out->index = static_cast(in.base.base.index); + out->toa = static_cast(in.base.base.toa); + out->isMpty = static_cast(in.base.base.isMpty); + out->isMT = static_cast(in.base.base.isMT); + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.base.base.als > std::numeric_limits::max() || in.base.base.als < 0) { + return false; + } + out->als = static_cast(in.base.base.als); + out->isVoice = static_cast(in.base.base.isVoice); + out->isVoicePrivacy = static_cast(in.base.base.isVoicePrivacy); + out->number = in.base.base.number; + out->numberPresentation = static_cast( + in.base.base.numberPresentation); + out->name = in.base.base.name; + out->namePresentation = static_cast( + in.base.base.namePresentation); + { + size_t size = in.base.base.uusInfo.size(); + aidl::android::hardware::radio::UusInfo uusInfo; + for (size_t i = 0; i < size; i++) { + if (!translate(in.base.base.uusInfo[i], &uusInfo)) return false; + out->uusInfo.push_back(uusInfo); + } + } + out->audioQuality = + static_cast(in.base.audioQuality); + out->forwardedNumber = in.forwardedNumber; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::PhysicalChannelConfig& in, + aidl::android::hardware::radio::PhysicalChannelConfig* out) { + out->status = static_cast(in.status); + out->rat = static_cast(in.rat); + out->downlinkChannelNumber = static_cast(in.downlinkChannelNumber); + out->uplinkChannelNumber = static_cast(in.uplinkChannelNumber); + out->cellBandwidthDownlinkKhz = static_cast(in.cellBandwidthDownlinkKhz); + out->cellBandwidthUplinkKhz = static_cast(in.cellBandwidthUplinkKhz); + { + size_t size = in.contextIds.size(); + for (size_t i = 0; i < size; i++) { + out->contextIds.push_back(static_cast(in.contextIds[i])); + } + } + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.physicalCellId > std::numeric_limits::max() || in.physicalCellId < 0) { + return false; + } + out->physicalCellId = static_cast(in.physicalCellId); + if (!translate(in.band, &out->band)) return false; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::PhysicalChannelConfig::Band& in, + aidl::android::hardware::radio::PhysicalChannelConfigBand* out) { + switch (in.getDiscriminator()) { + case ::android::hardware::radio::V1_6::PhysicalChannelConfig::Band::hidl_discriminator:: + geranBand: + *out = static_cast(in.geranBand()); + break; + case ::android::hardware::radio::V1_6::PhysicalChannelConfig::Band::hidl_discriminator:: + utranBand: + *out = static_cast(in.utranBand()); + break; + case ::android::hardware::radio::V1_6::PhysicalChannelConfig::Band::hidl_discriminator:: + eutranBand: + *out = static_cast(in.eutranBand()); + break; + case ::android::hardware::radio::V1_6::PhysicalChannelConfig::Band::hidl_discriminator:: + ngranBand: + *out = static_cast(in.ngranBand()); + break; + default: + return false; + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::OptionalSliceInfo& in, + aidl::android::hardware::radio::OptionalSliceInfo* out) { + switch (in.getDiscriminator()) { + case ::android::hardware::radio::V1_6::OptionalSliceInfo::hidl_discriminator::noinit: + // Nothing to translate for Monostate. + break; + case ::android::hardware::radio::V1_6::OptionalSliceInfo::hidl_discriminator::value: { + aidl::android::hardware::radio::SliceInfo value; + if (!translate(in.value(), &value)) return false; + out->set(value); + } break; + default: + return false; + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::SliceInfo& in, + aidl::android::hardware::radio::SliceInfo* out) { + out->sst = static_cast(in.sst); + out->sliceDifferentiator = static_cast(in.sliceDifferentiator); + out->mappedHplmnSst = + static_cast(in.mappedHplmnSst); + out->mappedHplmnSD = static_cast(in.mappedHplmnSD); + out->status = static_cast(in.status); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::OptionalDnn& in, + aidl::android::hardware::radio::OptionalDnn* out) { + switch (in.getDiscriminator()) { + case ::android::hardware::radio::V1_6::OptionalDnn::hidl_discriminator::noinit: + // Nothing to translate for Monostate. + break; + case ::android::hardware::radio::V1_6::OptionalDnn::hidl_discriminator::value: + *out = in.value(); + break; + default: + return false; + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::OptionalOsAppId& in, + aidl::android::hardware::radio::OptionalOsAppId* out) { + switch (in.getDiscriminator()) { + case ::android::hardware::radio::V1_6::OptionalOsAppId::hidl_discriminator::noinit: + // Nothing to translate for Monostate. + break; + case ::android::hardware::radio::V1_6::OptionalOsAppId::hidl_discriminator::value: { + aidl::android::hardware::radio::OsAppId value; + if (!translate(in.value(), &value)) return false; + out->set(value); + } break; + default: + return false; + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::OptionalTrafficDescriptor& in, + aidl::android::hardware::radio::OptionalTrafficDescriptor* out) { + switch (in.getDiscriminator()) { + case ::android::hardware::radio::V1_6::OptionalTrafficDescriptor::hidl_discriminator:: + noinit: + // Nothing to translate for Monostate. + break; + case ::android::hardware::radio::V1_6::OptionalTrafficDescriptor::hidl_discriminator:: + value: { + aidl::android::hardware::radio::TrafficDescriptor value; + if (!translate(in.value(), &value)) return false; + out->set(value); + } break; + default: + return false; + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::TrafficDescriptor& in, + aidl::android::hardware::radio::TrafficDescriptor* out) { + if (!translate(in.dnn, &out->dnn)) return false; + if (!translate(in.osAppId, &out->osAppId)) return false; + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::OsAppId& in, + aidl::android::hardware::radio::OsAppId* out) { + { + size_t size = in.osAppId.size(); + for (size_t i = 0; i < size; i++) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.osAppId[i] > std::numeric_limits::max() || in.osAppId[i] < 0) { + return false; + } + out->osAppId.push_back(static_cast(in.osAppId[i])); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::SlicingConfig& in, + aidl::android::hardware::radio::SlicingConfig* out) { + { + size_t size = in.urspRules.size(); + aidl::android::hardware::radio::UrspRule urspRules; + for (size_t i = 0; i < size; i++) { + if (!translate(in.urspRules[i], &urspRules)) return false; + out->urspRules.push_back(urspRules); + } + } + { + size_t size = in.sliceInfo.size(); + aidl::android::hardware::radio::SliceInfo sliceInfo; + for (size_t i = 0; i < size; i++) { + if (!translate(in.sliceInfo[i], &sliceInfo)) return false; + out->sliceInfo.push_back(sliceInfo); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::UrspRule& in, + aidl::android::hardware::radio::UrspRule* out) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.precedence > std::numeric_limits::max() || in.precedence < 0) { + return false; + } + out->precedence = static_cast(in.precedence); + { + size_t size = in.trafficDescriptors.size(); + aidl::android::hardware::radio::TrafficDescriptor trafficDescriptors; + for (size_t i = 0; i < size; i++) { + if (!translate(in.trafficDescriptors[i], &trafficDescriptors)) return false; + out->trafficDescriptors.push_back(trafficDescriptors); + } + } + { + size_t size = in.routeSelectionDescriptor.size(); + aidl::android::hardware::radio::RouteSelectionDescriptor routeSelectionDescriptor; + for (size_t i = 0; i < size; i++) { + if (!translate(in.routeSelectionDescriptor[i], &routeSelectionDescriptor)) return false; + out->routeSelectionDescriptor.push_back(routeSelectionDescriptor); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::RouteSelectionDescriptor& in, + aidl::android::hardware::radio::RouteSelectionDescriptor* out) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.precedence > std::numeric_limits::max() || in.precedence < 0) { + return false; + } + out->precedence = static_cast(in.precedence); + if (!translate(in.sessionType, &out->sessionType)) return false; + if (!translate(in.sscMode, &out->sscMode)) return false; + { + size_t size = in.sliceInfo.size(); + aidl::android::hardware::radio::SliceInfo sliceInfo; + for (size_t i = 0; i < size; i++) { + if (!translate(in.sliceInfo[i], &sliceInfo)) return false; + out->sliceInfo.push_back(sliceInfo); + } + } + { + size_t size = in.dnn.size(); + for (size_t i = 0; i < size; i++) { + out->dnn.push_back(in.dnn[i]); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::OptionalPdpProtocolType& in, + aidl::android::hardware::radio::OptionalPdpProtocolType* out) { + switch (in.getDiscriminator()) { + case ::android::hardware::radio::V1_6::OptionalPdpProtocolType::hidl_discriminator::noinit: + // Nothing to translate for Monostate. + break; + case ::android::hardware::radio::V1_6::OptionalPdpProtocolType::hidl_discriminator::value: + *out = static_cast(in.value()); + break; + default: + return false; + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::OptionalSscMode& in, + aidl::android::hardware::radio::OptionalSscMode* out) { + switch (in.getDiscriminator()) { + case ::android::hardware::radio::V1_6::OptionalSscMode::hidl_discriminator::noinit: + // Nothing to translate for Monostate. + break; + case ::android::hardware::radio::V1_6::OptionalSscMode::hidl_discriminator::value: + *out = static_cast(in.value()); + break; + default: + return false; + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::ImsiEncryptionInfo& in, + aidl::android::hardware::radio::ImsiEncryptionInfo* out) { + out->mcc = in.base.mcc; + out->mnc = in.base.mnc; + { + size_t size = in.base.carrierKey.size(); + for (size_t i = 0; i < size; i++) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't + // suit your needs. + if (in.base.carrierKey[i] > std::numeric_limits::max() || + in.base.carrierKey[i] < 0) { + return false; + } + out->carrierKey.push_back(static_cast(in.base.carrierKey[i])); + } + } + out->keyIdentifier = in.base.keyIdentifier; + out->expirationTime = static_cast(in.base.expirationTime); + out->keyType = static_cast(in.keyType); + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::PhonebookRecordInfo& in, + aidl::android::hardware::radio::PhonebookRecordInfo* out) { + // FIXME This requires conversion between signed and unsigned. Change this if it doesn't suit + // your needs. + if (in.recordId > std::numeric_limits::max() || in.recordId < 0) { + return false; + } + out->recordId = static_cast(in.recordId); + out->name = in.name; + out->number = in.number; + { + size_t size = in.emails.size(); + for (size_t i = 0; i < size; i++) { + out->emails.push_back(in.emails[i]); + } + } + { + size_t size = in.additionalNumbers.size(); + for (size_t i = 0; i < size; i++) { + out->additionalNumbers.push_back(in.additionalNumbers[i]); + } + } + return true; +} + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::PhonebookCapacity& in, + aidl::android::hardware::radio::PhonebookCapacity* out) { + out->maxAdnRecords = static_cast(in.maxAdnRecords); + out->usedAdnRecords = static_cast(in.usedAdnRecords); + out->maxEmailRecords = static_cast(in.maxEmailRecords); + out->usedEmailRecords = static_cast(in.usedEmailRecords); + out->maxAdditionalNumberRecords = static_cast(in.maxAdditionalNumberRecords); + out->usedAdditionalNumberRecords = static_cast(in.usedAdditionalNumberRecords); + out->maxNameLen = static_cast(in.maxNameLen); + out->maxNumberLen = static_cast(in.maxNumberLen); + out->maxEmailLen = static_cast(in.maxEmailLen); + out->maxAdditionalNumberLen = static_cast(in.maxAdditionalNumberLen); + return true; +} + +} // namespace android::h2a diff --git a/radio/aidl/include/android/hardware/radio/translate-ndk.h b/radio/aidl/include/android/hardware/radio/translate-ndk.h new file mode 100644 index 0000000000..b13602905f --- /dev/null +++ b/radio/aidl/include/android/hardware/radio/translate-ndk.h @@ -0,0 +1,699 @@ +/* + * Copyright (C) 2021 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. + */ + +#pragma once + +#include +#include "aidl/android/hardware/radio/AccessNetwork.h" +#include "aidl/android/hardware/radio/ActivityStatsInfo.h" +#include "aidl/android/hardware/radio/AddressProperty.h" +#include "aidl/android/hardware/radio/ApnAuthType.h" +#include "aidl/android/hardware/radio/ApnTypes.h" +#include "aidl/android/hardware/radio/AppState.h" +#include "aidl/android/hardware/radio/AppStatus.h" +#include "aidl/android/hardware/radio/AppType.h" +#include "aidl/android/hardware/radio/AudioQuality.h" +#include "aidl/android/hardware/radio/BarringInfo.h" +#include "aidl/android/hardware/radio/BarringInfoBarringType.h" +#include "aidl/android/hardware/radio/BarringInfoBarringTypeSpecificInfo.h" +#include "aidl/android/hardware/radio/BarringInfoBarringTypeSpecificInfoConditional.h" +#include "aidl/android/hardware/radio/BarringInfoServiceType.h" +#include "aidl/android/hardware/radio/Call.h" +#include "aidl/android/hardware/radio/CallForwardInfo.h" +#include "aidl/android/hardware/radio/CallForwardInfoStatus.h" +#include "aidl/android/hardware/radio/CallPresentation.h" +#include "aidl/android/hardware/radio/CallState.h" +#include "aidl/android/hardware/radio/CardPowerState.h" +#include "aidl/android/hardware/radio/CardState.h" +#include "aidl/android/hardware/radio/CardStatus.h" +#include "aidl/android/hardware/radio/Carrier.h" +#include "aidl/android/hardware/radio/CarrierMatchType.h" +#include "aidl/android/hardware/radio/CarrierRestrictions.h" +#include "aidl/android/hardware/radio/CarrierRestrictionsWithPriority.h" +#include "aidl/android/hardware/radio/CdmaBroadcastSmsConfigInfo.h" +#include "aidl/android/hardware/radio/CdmaCallWaiting.h" +#include "aidl/android/hardware/radio/CdmaCallWaitingNumberPlan.h" +#include "aidl/android/hardware/radio/CdmaCallWaitingNumberPresentation.h" +#include "aidl/android/hardware/radio/CdmaCallWaitingNumberType.h" +#include "aidl/android/hardware/radio/CdmaDisplayInfoRecord.h" +#include "aidl/android/hardware/radio/CdmaInfoRecName.h" +#include "aidl/android/hardware/radio/CdmaInformationRecord.h" +#include "aidl/android/hardware/radio/CdmaInformationRecords.h" +#include "aidl/android/hardware/radio/CdmaLineControlInfoRecord.h" +#include "aidl/android/hardware/radio/CdmaNumberInfoRecord.h" +#include "aidl/android/hardware/radio/CdmaOtaProvisionStatus.h" +#include "aidl/android/hardware/radio/CdmaRedirectingNumberInfoRecord.h" +#include "aidl/android/hardware/radio/CdmaRedirectingReason.h" +#include "aidl/android/hardware/radio/CdmaRoamingType.h" +#include "aidl/android/hardware/radio/CdmaSignalInfoRecord.h" +#include "aidl/android/hardware/radio/CdmaSignalStrength.h" +#include "aidl/android/hardware/radio/CdmaSmsAck.h" +#include "aidl/android/hardware/radio/CdmaSmsAddress.h" +#include "aidl/android/hardware/radio/CdmaSmsDigitMode.h" +#include "aidl/android/hardware/radio/CdmaSmsErrorClass.h" +#include "aidl/android/hardware/radio/CdmaSmsMessage.h" +#include "aidl/android/hardware/radio/CdmaSmsNumberMode.h" +#include "aidl/android/hardware/radio/CdmaSmsNumberPlan.h" +#include "aidl/android/hardware/radio/CdmaSmsNumberType.h" +#include "aidl/android/hardware/radio/CdmaSmsSubaddress.h" +#include "aidl/android/hardware/radio/CdmaSmsSubaddressType.h" +#include "aidl/android/hardware/radio/CdmaSmsWriteArgs.h" +#include "aidl/android/hardware/radio/CdmaSmsWriteArgsStatus.h" +#include "aidl/android/hardware/radio/CdmaSubscriptionSource.h" +#include "aidl/android/hardware/radio/CdmaT53AudioControlInfoRecord.h" +#include "aidl/android/hardware/radio/CdmaT53ClirInfoRecord.h" +#include "aidl/android/hardware/radio/CellConfigLte.h" +#include "aidl/android/hardware/radio/CellConnectionStatus.h" +#include "aidl/android/hardware/radio/CellIdentity.h" +#include "aidl/android/hardware/radio/CellIdentityCdma.h" +#include "aidl/android/hardware/radio/CellIdentityGsm.h" +#include "aidl/android/hardware/radio/CellIdentityLte.h" +#include "aidl/android/hardware/radio/CellIdentityNr.h" +#include "aidl/android/hardware/radio/CellIdentityOperatorNames.h" +#include "aidl/android/hardware/radio/CellIdentityTdscdma.h" +#include "aidl/android/hardware/radio/CellIdentityWcdma.h" +#include "aidl/android/hardware/radio/CellInfo.h" +#include "aidl/android/hardware/radio/CellInfoCdma.h" +#include "aidl/android/hardware/radio/CellInfoCellInfoRatSpecificInfo.h" +#include "aidl/android/hardware/radio/CellInfoGsm.h" +#include "aidl/android/hardware/radio/CellInfoInfo.h" +#include "aidl/android/hardware/radio/CellInfoLte.h" +#include "aidl/android/hardware/radio/CellInfoNr.h" +#include "aidl/android/hardware/radio/CellInfoTdscdma.h" +#include "aidl/android/hardware/radio/CellInfoType.h" +#include "aidl/android/hardware/radio/CellInfoWcdma.h" +#include "aidl/android/hardware/radio/CfData.h" +#include "aidl/android/hardware/radio/ClipStatus.h" +#include "aidl/android/hardware/radio/Clir.h" +#include "aidl/android/hardware/radio/ClosedSubscriberGroupInfo.h" +#include "aidl/android/hardware/radio/DataCallFailCause.h" +#include "aidl/android/hardware/radio/DataConnActiveStatus.h" +#include "aidl/android/hardware/radio/DataProfileId.h" +#include "aidl/android/hardware/radio/DataProfileInfo.h" +#include "aidl/android/hardware/radio/DataProfileInfoType.h" +#include "aidl/android/hardware/radio/DataRegStateResult.h" +#include "aidl/android/hardware/radio/DataRegStateResultVopsInfo.h" +#include "aidl/android/hardware/radio/DataRequestReason.h" +#include "aidl/android/hardware/radio/DataThrottlingAction.h" +#include "aidl/android/hardware/radio/DeviceStateType.h" +#include "aidl/android/hardware/radio/Dial.h" +#include "aidl/android/hardware/radio/Domain.h" +#include "aidl/android/hardware/radio/EmcIndicator.h" +#include "aidl/android/hardware/radio/EmergencyCallRouting.h" +#include "aidl/android/hardware/radio/EmergencyNumber.h" +#include "aidl/android/hardware/radio/EmergencyNumberSource.h" +#include "aidl/android/hardware/radio/EmergencyServiceCategory.h" +#include "aidl/android/hardware/radio/EmfIndicator.h" +#include "aidl/android/hardware/radio/EpsQos.h" +#include "aidl/android/hardware/radio/EutranBands.h" +#include "aidl/android/hardware/radio/EvdoSignalStrength.h" +#include "aidl/android/hardware/radio/FrequencyRange.h" +#include "aidl/android/hardware/radio/GeranBands.h" +#include "aidl/android/hardware/radio/GsmBroadcastSmsConfigInfo.h" +#include "aidl/android/hardware/radio/GsmSignalStrength.h" +#include "aidl/android/hardware/radio/GsmSmsMessage.h" +#include "aidl/android/hardware/radio/HandoverFailureMode.h" +#include "aidl/android/hardware/radio/HardwareConfig.h" +#include "aidl/android/hardware/radio/HardwareConfigModem.h" +#include "aidl/android/hardware/radio/HardwareConfigSim.h" +#include "aidl/android/hardware/radio/HardwareConfigState.h" +#include "aidl/android/hardware/radio/HardwareConfigType.h" +#include "aidl/android/hardware/radio/IccIo.h" +#include "aidl/android/hardware/radio/IccIoResult.h" +#include "aidl/android/hardware/radio/ImsSmsMessage.h" +#include "aidl/android/hardware/radio/ImsiEncryptionInfo.h" +#include "aidl/android/hardware/radio/IncrementalResultsPeriodicityRange.h" +#include "aidl/android/hardware/radio/IndicationFilter.h" +#include "aidl/android/hardware/radio/KeepaliveRequest.h" +#include "aidl/android/hardware/radio/KeepaliveStatus.h" +#include "aidl/android/hardware/radio/KeepaliveStatusCode.h" +#include "aidl/android/hardware/radio/KeepaliveType.h" +#include "aidl/android/hardware/radio/LastCallFailCause.h" +#include "aidl/android/hardware/radio/LastCallFailCauseInfo.h" +#include "aidl/android/hardware/radio/LceDataInfo.h" +#include "aidl/android/hardware/radio/LceStatus.h" +#include "aidl/android/hardware/radio/LceStatusInfo.h" +#include "aidl/android/hardware/radio/LinkAddress.h" +#include "aidl/android/hardware/radio/LinkCapacityEstimate.h" +#include "aidl/android/hardware/radio/LteSignalStrength.h" +#include "aidl/android/hardware/radio/LteVopsInfo.h" +#include "aidl/android/hardware/radio/MaxSearchTimeRange.h" +#include "aidl/android/hardware/radio/MaybePort.h" +#include "aidl/android/hardware/radio/MvnoType.h" +#include "aidl/android/hardware/radio/NeighboringCell.h" +#include "aidl/android/hardware/radio/NetworkScanRequest.h" +#include "aidl/android/hardware/radio/NetworkScanResult.h" +#include "aidl/android/hardware/radio/NgranBands.h" +#include "aidl/android/hardware/radio/NrDualConnectivityState.h" +#include "aidl/android/hardware/radio/NrIndicators.h" +#include "aidl/android/hardware/radio/NrQos.h" +#include "aidl/android/hardware/radio/NrSignalStrength.h" +#include "aidl/android/hardware/radio/NrVopsInfo.h" +#include "aidl/android/hardware/radio/NvItem.h" +#include "aidl/android/hardware/radio/NvWriteItem.h" +#include "aidl/android/hardware/radio/OperatorInfo.h" +#include "aidl/android/hardware/radio/OperatorStatus.h" +#include "aidl/android/hardware/radio/OptionalCsgInfo.h" +#include "aidl/android/hardware/radio/OptionalDnn.h" +#include "aidl/android/hardware/radio/OptionalOsAppId.h" +#include "aidl/android/hardware/radio/OptionalPdpProtocolType.h" +#include "aidl/android/hardware/radio/OptionalSliceInfo.h" +#include "aidl/android/hardware/radio/OptionalSscMode.h" +#include "aidl/android/hardware/radio/OptionalTrafficDescriptor.h" +#include "aidl/android/hardware/radio/OsAppId.h" +#include "aidl/android/hardware/radio/P2Constant.h" +#include "aidl/android/hardware/radio/PbReceivedStatus.h" +#include "aidl/android/hardware/radio/PcoDataInfo.h" +#include "aidl/android/hardware/radio/PdpProtocolType.h" +#include "aidl/android/hardware/radio/PersoSubstate.h" +#include "aidl/android/hardware/radio/PhoneRestrictedState.h" +#include "aidl/android/hardware/radio/PhonebookCapacity.h" +#include "aidl/android/hardware/radio/PhonebookRecordInfo.h" +#include "aidl/android/hardware/radio/PhysicalChannelConfig.h" +#include "aidl/android/hardware/radio/PhysicalChannelConfigBand.h" +#include "aidl/android/hardware/radio/PinState.h" +#include "aidl/android/hardware/radio/PortRange.h" +#include "aidl/android/hardware/radio/PreferredNetworkType.h" +#include "aidl/android/hardware/radio/PrlIndicator.h" +#include "aidl/android/hardware/radio/PublicKeyType.h" +#include "aidl/android/hardware/radio/Qos.h" +#include "aidl/android/hardware/radio/QosBandwidth.h" +#include "aidl/android/hardware/radio/QosFilter.h" +#include "aidl/android/hardware/radio/QosFilterDirection.h" +#include "aidl/android/hardware/radio/QosFilterIpsecSpi.h" +#include "aidl/android/hardware/radio/QosFilterIpv6FlowLabel.h" +#include "aidl/android/hardware/radio/QosFilterTypeOfService.h" +#include "aidl/android/hardware/radio/QosFlowIdRange.h" +#include "aidl/android/hardware/radio/QosPortRange.h" +#include "aidl/android/hardware/radio/QosProtocol.h" +#include "aidl/android/hardware/radio/QosSession.h" +#include "aidl/android/hardware/radio/RadioAccessFamily.h" +#include "aidl/android/hardware/radio/RadioAccessNetworks.h" +#include "aidl/android/hardware/radio/RadioAccessSpecifier.h" +#include "aidl/android/hardware/radio/RadioAccessSpecifierBands.h" +#include "aidl/android/hardware/radio/RadioBandMode.h" +#include "aidl/android/hardware/radio/RadioCapability.h" +#include "aidl/android/hardware/radio/RadioCapabilityPhase.h" +#include "aidl/android/hardware/radio/RadioCapabilityStatus.h" +#include "aidl/android/hardware/radio/RadioCdmaSmsConst.h" +#include "aidl/android/hardware/radio/RadioConst.h" +#include "aidl/android/hardware/radio/RadioError.h" +#include "aidl/android/hardware/radio/RadioFrequencyInfo.h" +#include "aidl/android/hardware/radio/RadioIndicationType.h" +#include "aidl/android/hardware/radio/RadioResponseInfo.h" +#include "aidl/android/hardware/radio/RadioResponseInfoModem.h" +#include "aidl/android/hardware/radio/RadioResponseType.h" +#include "aidl/android/hardware/radio/RadioState.h" +#include "aidl/android/hardware/radio/RadioTechnology.h" +#include "aidl/android/hardware/radio/RadioTechnologyFamily.h" +#include "aidl/android/hardware/radio/RegState.h" +#include "aidl/android/hardware/radio/RegStateResult.h" +#include "aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfo.h" +#include "aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo.h" +#include "aidl/android/hardware/radio/RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo.h" +#include "aidl/android/hardware/radio/RegistrationFailCause.h" +#include "aidl/android/hardware/radio/ResetNvType.h" +#include "aidl/android/hardware/radio/RestrictedState.h" +#include "aidl/android/hardware/radio/RouteSelectionDescriptor.h" +#include "aidl/android/hardware/radio/SapApduType.h" +#include "aidl/android/hardware/radio/SapConnectRsp.h" +#include "aidl/android/hardware/radio/SapDisconnectType.h" +#include "aidl/android/hardware/radio/SapResultCode.h" +#include "aidl/android/hardware/radio/SapStatus.h" +#include "aidl/android/hardware/radio/SapTransferProtocol.h" +#include "aidl/android/hardware/radio/ScanIntervalRange.h" +#include "aidl/android/hardware/radio/ScanStatus.h" +#include "aidl/android/hardware/radio/ScanType.h" +#include "aidl/android/hardware/radio/SelectUiccSub.h" +#include "aidl/android/hardware/radio/SendSmsResult.h" +#include "aidl/android/hardware/radio/SetupDataCallResult.h" +#include "aidl/android/hardware/radio/SignalMeasurementType.h" +#include "aidl/android/hardware/radio/SignalStrength.h" +#include "aidl/android/hardware/radio/SignalThresholdInfo.h" +#include "aidl/android/hardware/radio/SimApdu.h" +#include "aidl/android/hardware/radio/SimLockMultiSimPolicy.h" +#include "aidl/android/hardware/radio/SimRefreshResult.h" +#include "aidl/android/hardware/radio/SimRefreshType.h" +#include "aidl/android/hardware/radio/SliceInfo.h" +#include "aidl/android/hardware/radio/SliceServiceType.h" +#include "aidl/android/hardware/radio/SliceStatus.h" +#include "aidl/android/hardware/radio/SlicingConfig.h" +#include "aidl/android/hardware/radio/SmsAcknowledgeFailCause.h" +#include "aidl/android/hardware/radio/SmsWriteArgs.h" +#include "aidl/android/hardware/radio/SmsWriteArgsStatus.h" +#include "aidl/android/hardware/radio/SrvccState.h" +#include "aidl/android/hardware/radio/SsInfoData.h" +#include "aidl/android/hardware/radio/SsRequestType.h" +#include "aidl/android/hardware/radio/SsServiceType.h" +#include "aidl/android/hardware/radio/SsTeleserviceType.h" +#include "aidl/android/hardware/radio/SscMode.h" +#include "aidl/android/hardware/radio/StkCcUnsolSsResult.h" +#include "aidl/android/hardware/radio/SubscriptionType.h" +#include "aidl/android/hardware/radio/SuppServiceClass.h" +#include "aidl/android/hardware/radio/SuppSvcNotification.h" +#include "aidl/android/hardware/radio/TdscdmaSignalStrength.h" +#include "aidl/android/hardware/radio/TimeStampType.h" +#include "aidl/android/hardware/radio/TrafficDescriptor.h" +#include "aidl/android/hardware/radio/TtyMode.h" +#include "aidl/android/hardware/radio/UiccSubActStatus.h" +#include "aidl/android/hardware/radio/UrspRule.h" +#include "aidl/android/hardware/radio/UssdModeType.h" +#include "aidl/android/hardware/radio/UtranBands.h" +#include "aidl/android/hardware/radio/UusDcs.h" +#include "aidl/android/hardware/radio/UusInfo.h" +#include "aidl/android/hardware/radio/UusType.h" +#include "aidl/android/hardware/radio/VoiceRegStateResult.h" +#include "aidl/android/hardware/radio/VopsIndicator.h" +#include "aidl/android/hardware/radio/WcdmaSignalStrength.h" +#include "android/hardware/radio/1.0/types.h" +#include "android/hardware/radio/1.1/types.h" +#include "android/hardware/radio/1.2/types.h" +#include "android/hardware/radio/1.3/types.h" +#include "android/hardware/radio/1.4/types.h" +#include "android/hardware/radio/1.5/types.h" +#include "android/hardware/radio/1.6/types.h" + +namespace android::h2a { + +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::IccIo& in, + aidl::android::hardware::radio::IccIo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::NeighboringCell& in, + aidl::android::hardware::radio::NeighboringCell* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::UusInfo& in, + aidl::android::hardware::radio::UusInfo* out); +__attribute__((warn_unused_result)) bool translate(const ::android::hardware::radio::V1_0::Dial& in, + aidl::android::hardware::radio::Dial* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::LastCallFailCauseInfo& in, + aidl::android::hardware::radio::LastCallFailCauseInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::GsmSignalStrength& in, + aidl::android::hardware::radio::GsmSignalStrength* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaSignalStrength& in, + aidl::android::hardware::radio::CdmaSignalStrength* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::EvdoSignalStrength& in, + aidl::android::hardware::radio::EvdoSignalStrength* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::SendSmsResult& in, + aidl::android::hardware::radio::SendSmsResult* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::IccIoResult& in, + aidl::android::hardware::radio::IccIoResult* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CallForwardInfo& in, + aidl::android::hardware::radio::CallForwardInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::OperatorInfo& in, + aidl::android::hardware::radio::OperatorInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::SmsWriteArgs& in, + aidl::android::hardware::radio::SmsWriteArgs* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaSmsAddress& in, + aidl::android::hardware::radio::CdmaSmsAddress* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaSmsSubaddress& in, + aidl::android::hardware::radio::CdmaSmsSubaddress* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaSmsMessage& in, + aidl::android::hardware::radio::CdmaSmsMessage* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaSmsAck& in, + aidl::android::hardware::radio::CdmaSmsAck* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaBroadcastSmsConfigInfo& in, + aidl::android::hardware::radio::CdmaBroadcastSmsConfigInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaSmsWriteArgs& in, + aidl::android::hardware::radio::CdmaSmsWriteArgs* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::GsmBroadcastSmsConfigInfo& in, + aidl::android::hardware::radio::GsmBroadcastSmsConfigInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::GsmSmsMessage& in, + aidl::android::hardware::radio::GsmSmsMessage* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::ImsSmsMessage& in, + aidl::android::hardware::radio::ImsSmsMessage* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::SimApdu& in, + aidl::android::hardware::radio::SimApdu* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::NvWriteItem& in, + aidl::android::hardware::radio::NvWriteItem* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::SelectUiccSub& in, + aidl::android::hardware::radio::SelectUiccSub* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::HardwareConfigModem& in, + aidl::android::hardware::radio::HardwareConfigModem* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::HardwareConfigSim& in, + aidl::android::hardware::radio::HardwareConfigSim* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::HardwareConfig& in, + aidl::android::hardware::radio::HardwareConfig* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::LceStatusInfo& in, + aidl::android::hardware::radio::LceStatusInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::LceDataInfo& in, + aidl::android::hardware::radio::LceDataInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::ActivityStatsInfo& in, + aidl::android::hardware::radio::ActivityStatsInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::Carrier& in, + aidl::android::hardware::radio::Carrier* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CarrierRestrictions& in, + aidl::android::hardware::radio::CarrierRestrictions* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::SuppSvcNotification& in, + aidl::android::hardware::radio::SuppSvcNotification* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::SimRefreshResult& in, + aidl::android::hardware::radio::SimRefreshResult* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaSignalInfoRecord& in, + aidl::android::hardware::radio::CdmaSignalInfoRecord* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaCallWaiting& in, + aidl::android::hardware::radio::CdmaCallWaiting* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaDisplayInfoRecord& in, + aidl::android::hardware::radio::CdmaDisplayInfoRecord* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaNumberInfoRecord& in, + aidl::android::hardware::radio::CdmaNumberInfoRecord* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaRedirectingNumberInfoRecord& in, + aidl::android::hardware::radio::CdmaRedirectingNumberInfoRecord* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaLineControlInfoRecord& in, + aidl::android::hardware::radio::CdmaLineControlInfoRecord* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaT53ClirInfoRecord& in, + aidl::android::hardware::radio::CdmaT53ClirInfoRecord* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaT53AudioControlInfoRecord& in, + aidl::android::hardware::radio::CdmaT53AudioControlInfoRecord* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaInformationRecord& in, + aidl::android::hardware::radio::CdmaInformationRecord* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CdmaInformationRecords& in, + aidl::android::hardware::radio::CdmaInformationRecords* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::CfData& in, + aidl::android::hardware::radio::CfData* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::SsInfoData& in, + aidl::android::hardware::radio::SsInfoData* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::StkCcUnsolSsResult& in, + aidl::android::hardware::radio::StkCcUnsolSsResult* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_0::PcoDataInfo& in, + aidl::android::hardware::radio::PcoDataInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_1::KeepaliveRequest& in, + aidl::android::hardware::radio::KeepaliveRequest* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_1::KeepaliveStatus& in, + aidl::android::hardware::radio::KeepaliveStatus* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_2::CellIdentityOperatorNames& in, + aidl::android::hardware::radio::CellIdentityOperatorNames* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_2::CellIdentityCdma& in, + aidl::android::hardware::radio::CellIdentityCdma* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_2::CellInfoCdma& in, + aidl::android::hardware::radio::CellInfoCdma* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_2::WcdmaSignalStrength& in, + aidl::android::hardware::radio::WcdmaSignalStrength* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_2::TdscdmaSignalStrength& in, + aidl::android::hardware::radio::TdscdmaSignalStrength* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_2::VoiceRegStateResult& in, + aidl::android::hardware::radio::VoiceRegStateResult* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_3::RadioResponseInfoModem& in, + aidl::android::hardware::radio::RadioResponseInfoModem* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_4::EmergencyNumber& in, + aidl::android::hardware::radio::EmergencyNumber* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_4::RadioFrequencyInfo& in, + aidl::android::hardware::radio::RadioFrequencyInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_4::LteVopsInfo& in, + aidl::android::hardware::radio::LteVopsInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_4::NrIndicators& in, + aidl::android::hardware::radio::NrIndicators* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_4::DataRegStateResult& in, + aidl::android::hardware::radio::DataRegStateResult* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_4::DataRegStateResult::VopsInfo& in, + aidl::android::hardware::radio::DataRegStateResultVopsInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_4::CellConfigLte& in, + aidl::android::hardware::radio::CellConfigLte* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_4::CellInfo::Info& in, + aidl::android::hardware::radio::CellInfoInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_4::RadioCapability& in, + aidl::android::hardware::radio::RadioCapability* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_4::CarrierRestrictionsWithPriority& in, + aidl::android::hardware::radio::CarrierRestrictionsWithPriority* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::RadioAccessSpecifier& in, + aidl::android::hardware::radio::RadioAccessSpecifier* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::RadioAccessSpecifier::Bands& in, + aidl::android::hardware::radio::RadioAccessSpecifierBands* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::SignalThresholdInfo& in, + aidl::android::hardware::radio::SignalThresholdInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::NetworkScanRequest& in, + aidl::android::hardware::radio::NetworkScanRequest* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::DataProfileInfo& in, + aidl::android::hardware::radio::DataProfileInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::LinkAddress& in, + aidl::android::hardware::radio::LinkAddress* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::ClosedSubscriberGroupInfo& in, + aidl::android::hardware::radio::ClosedSubscriberGroupInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::OptionalCsgInfo& in, + aidl::android::hardware::radio::OptionalCsgInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::CellIdentityGsm& in, + aidl::android::hardware::radio::CellIdentityGsm* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::CellIdentityWcdma& in, + aidl::android::hardware::radio::CellIdentityWcdma* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::CellIdentityTdscdma& in, + aidl::android::hardware::radio::CellIdentityTdscdma* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::CellIdentityLte& in, + aidl::android::hardware::radio::CellIdentityLte* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::CellIdentityNr& in, + aidl::android::hardware::radio::CellIdentityNr* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::CellInfoGsm& in, + aidl::android::hardware::radio::CellInfoGsm* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::CellInfoWcdma& in, + aidl::android::hardware::radio::CellInfoWcdma* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::CellInfoTdscdma& in, + aidl::android::hardware::radio::CellInfoTdscdma* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::CellIdentity& in, + aidl::android::hardware::radio::CellIdentity* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::BarringInfo& in, + aidl::android::hardware::radio::BarringInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::BarringInfo::BarringTypeSpecificInfo::Conditional& + in, + aidl::android::hardware::radio::BarringInfoBarringTypeSpecificInfoConditional* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::BarringInfo::BarringTypeSpecificInfo& in, + aidl::android::hardware::radio::BarringInfoBarringTypeSpecificInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::RegStateResult::AccessTechnologySpecificInfo:: + Cdma2000RegistrationInfo& in, + aidl::android::hardware::radio:: + RegStateResultAccessTechnologySpecificInfoCdma2000RegistrationInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::RegStateResult::AccessTechnologySpecificInfo:: + EutranRegistrationInfo& in, + aidl::android::hardware::radio:: + RegStateResultAccessTechnologySpecificInfoEutranRegistrationInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::AppStatus& in, + aidl::android::hardware::radio::AppStatus* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_5::CardStatus& in, + aidl::android::hardware::radio::CardStatus* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::QosBandwidth& in, + aidl::android::hardware::radio::QosBandwidth* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::EpsQos& in, + aidl::android::hardware::radio::EpsQos* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::NrQos& in, + aidl::android::hardware::radio::NrQos* out); +__attribute__((warn_unused_result)) bool translate(const ::android::hardware::radio::V1_6::Qos& in, + aidl::android::hardware::radio::Qos* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::RadioResponseInfo& in, + aidl::android::hardware::radio::RadioResponseInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::PortRange& in, + aidl::android::hardware::radio::PortRange* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::MaybePort& in, + aidl::android::hardware::radio::MaybePort* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::QosFilter& in, + aidl::android::hardware::radio::QosFilter* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::QosFilter::TypeOfService& in, + aidl::android::hardware::radio::QosFilterTypeOfService* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::QosFilter::Ipv6FlowLabel& in, + aidl::android::hardware::radio::QosFilterIpv6FlowLabel* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::QosFilter::IpsecSpi& in, + aidl::android::hardware::radio::QosFilterIpsecSpi* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::QosSession& in, + aidl::android::hardware::radio::QosSession* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::SetupDataCallResult& in, + aidl::android::hardware::radio::SetupDataCallResult* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::LinkCapacityEstimate& in, + aidl::android::hardware::radio::LinkCapacityEstimate* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::NrVopsInfo& in, + aidl::android::hardware::radio::NrVopsInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::LteSignalStrength& in, + aidl::android::hardware::radio::LteSignalStrength* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::NrSignalStrength& in, + aidl::android::hardware::radio::NrSignalStrength* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::SignalStrength& in, + aidl::android::hardware::radio::SignalStrength* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::CellInfoLte& in, + aidl::android::hardware::radio::CellInfoLte* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::CellInfoNr& in, + aidl::android::hardware::radio::CellInfoNr* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::CellInfo& in, + aidl::android::hardware::radio::CellInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::CellInfo::CellInfoRatSpecificInfo& in, + aidl::android::hardware::radio::CellInfoCellInfoRatSpecificInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::NetworkScanResult& in, + aidl::android::hardware::radio::NetworkScanResult* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::RegStateResult& in, + aidl::android::hardware::radio::RegStateResult* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::RegStateResult::AccessTechnologySpecificInfo& in, + aidl::android::hardware::radio::RegStateResultAccessTechnologySpecificInfo* out); +__attribute__((warn_unused_result)) bool translate(const ::android::hardware::radio::V1_6::Call& in, + aidl::android::hardware::radio::Call* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::PhysicalChannelConfig& in, + aidl::android::hardware::radio::PhysicalChannelConfig* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::PhysicalChannelConfig::Band& in, + aidl::android::hardware::radio::PhysicalChannelConfigBand* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::OptionalSliceInfo& in, + aidl::android::hardware::radio::OptionalSliceInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::SliceInfo& in, + aidl::android::hardware::radio::SliceInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::OptionalDnn& in, + aidl::android::hardware::radio::OptionalDnn* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::OptionalOsAppId& in, + aidl::android::hardware::radio::OptionalOsAppId* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::OptionalTrafficDescriptor& in, + aidl::android::hardware::radio::OptionalTrafficDescriptor* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::TrafficDescriptor& in, + aidl::android::hardware::radio::TrafficDescriptor* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::OsAppId& in, + aidl::android::hardware::radio::OsAppId* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::SlicingConfig& in, + aidl::android::hardware::radio::SlicingConfig* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::UrspRule& in, + aidl::android::hardware::radio::UrspRule* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::RouteSelectionDescriptor& in, + aidl::android::hardware::radio::RouteSelectionDescriptor* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::OptionalPdpProtocolType& in, + aidl::android::hardware::radio::OptionalPdpProtocolType* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::OptionalSscMode& in, + aidl::android::hardware::radio::OptionalSscMode* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::ImsiEncryptionInfo& in, + aidl::android::hardware::radio::ImsiEncryptionInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::PhonebookRecordInfo& in, + aidl::android::hardware::radio::PhonebookRecordInfo* out); +__attribute__((warn_unused_result)) bool translate( + const ::android::hardware::radio::V1_6::PhonebookCapacity& in, + aidl::android::hardware::radio::PhonebookCapacity* out); + +} // namespace android::h2a