1/* 2 * Copyright (C) 2020 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package android.hardware.radio@1.6; 18 19import @1.0::RadioIndicationType; 20import @1.5::IRadioIndication; 21import @1.6::CellInfo; 22import @1.6::LinkCapacityEstimate; 23import @1.6::NetworkScanResult; 24import @1.6::SignalStrength; 25import @1.6::SetupDataCallResult; 26import @1.6::PbReceivedStatus; 27import @1.6::PhysicalChannelConfig; 28import @1.6::PhonebookRecordInfo; 29 30/** 31 * Interface declaring unsolicited radio indications. 32 */ 33interface IRadioIndication extends @1.5::IRadioIndication { 34 35 /** 36 * Indicates data call contexts have changed. 37 * 38 * This indication is updated from IRadioIndication@1.5 to report the @1.6 version of 39 * SetupDataCallResult. 40 * 41 * @param type Type of radio indication 42 * @param dcList Array of SetupDataCallResult identical to that returned by 43 * IRadio.getDataCallList(). It is the complete list of current data contexts including 44 * new contexts that have been activated. A data call is only removed from this list 45 * when any of the below conditions is matched. 46 * 1. The framework sends a IRadio.deactivateDataCall(). 47 * 2. The radio is powered off/on. 48 * 3. Unsolicited disconnect from either modem or network side. 49 */ 50 oneway dataCallListChanged_1_6(RadioIndicationType type, vec<SetupDataCallResult> dcList); 51 52 /** 53 * The modem can explicitly set SetupDataCallResult::suggestedRetryTime after a failure in 54 * IRadio@1.6::SetupDataCall. During that time, no new calls are allowed to 55 * IRadio@1.6::SetupDataCall that use the same APN. 56 * 57 * When IRadioIndication@1.6::unthrottleApn is sent, AOSP will no longer throttle calls 58 * to IRadio@1.6::SetupDataCall for the given APN. 59 * 60 * @param type Type of radio indication 61 * @param apn Apn to unthrottle 62 */ 63 oneway unthrottleApn(RadioIndicationType type, string apn); 64 65 /** 66 * Indicates current link capacity estimate. 67 * This replaces @1.2::IRadioIndication.currentLinkCapacityEstimate(). 68 * This indication is sent whenever the reporting criteria, as set by 69 * @1.2::IRadio.setLinkCapacityReportingCriteria, are met and the indication is not 70 * suppressed by @1.2::IRadio.setIndicationFilter_1_2(). 71 * 72 * @param type Type of radio indication 73 * @param lce LinkCapacityEstimate 74 */ 75 oneway currentLinkCapacityEstimate_1_6(RadioIndicationType type, LinkCapacityEstimate lce); 76 77 /** 78 * Indicates current signal strength of the radio. 79 * 80 * This is identical to currentSignalStrength_1_4 but uses an updated version of 81 * SignalStrength. 82 * 83 * @param type Type of radio indication 84 * @param signalStrength SignalStrength information 85 */ 86 oneway currentSignalStrength_1_6(RadioIndicationType type, SignalStrength signalStrength); 87 88 /** 89 * Report all of the current cell information known to the radio. 90 * 91 * This indication is updated from IRadioIndication@1.5 to report the @1.6 version of 92 * CellInfo. 93 * 94 * @param type Type of radio indication 95 * @param records Current cell information 96 */ 97 oneway cellInfoList_1_6(RadioIndicationType type, vec<CellInfo> records); 98 99 /** 100 * Incremental network scan results. 101 * 102 * This indication is updated from IRadioIndication@1.5 to report the @1.6 version of 103 * CellInfo. 104 */ 105 oneway networkScanResult_1_6(RadioIndicationType type, NetworkScanResult result); 106 107 /** 108 * Indicates physical channel configurations. 109 * 110 * An empty configs list shall be returned when the radio is in idle mode (i.e. RRC idle). 111 * 112 * @param type Type of radio indication 113 * @param configs Vector of PhysicalChannelConfigs 114 */ 115 oneway currentPhysicalChannelConfigs_1_6(RadioIndicationType type, 116 vec<PhysicalChannelConfig> configs); 117 118 /** 119 * Indicates whether SIM phonebook is changed. 120 * 121 * This indication is sent whenever the SIM phonebook is changed, including SIM is 122 * inserted or removed and updated by IRadio.updateSimPhonebookRecords. 123 * 124 * @param type Type of radio indication 125 */ 126 oneway simPhonebookChanged(RadioIndicationType type); 127 128 /** 129 * Indicates the content of all the used records in the SIM phonebook. 130 * 131 * This indication is associated with the API getSimPhonebookRecords and 132 * might be received more than once that is replying on the record count. 133 * 134 * @param type Type of radio indication 135 * @param status Status of PbReceivedStatus 136 * @param records Vector of PhonebookRecordInfo 137 */ 138 oneway simPhonebookRecordsReceived(RadioIndicationType type, 139 PbReceivedStatus status, vec<PhonebookRecordInfo> records); 140}; 141