blob: a53d7c121228d65ec86ddf30d710719c79ae5d39 [file] [log] [blame]
Jayachandran C262b6062020-07-22 15:53:58 -07001/*
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
Jayachandran C9bc276b2020-07-24 00:46:58 -070019import @1.0::RadioIndicationType;
Jayachandran C262b6062020-07-22 15:53:58 -070020import @1.5::IRadioIndication;
Mingming Caida0d9832020-11-05 17:56:57 -080021import @1.6::CellInfo;
Sooraj Sasindran43e52202020-10-22 15:24:14 -070022import @1.6::LinkCapacityEstimate;
Mingming Caida0d9832020-11-05 17:56:57 -080023import @1.6::NetworkScanResult;
Mingming Cai20a2f422020-12-03 12:18:48 -080024import @1.6::SignalStrength;
Mingming Caida0d9832020-11-05 17:56:57 -080025import @1.6::SetupDataCallResult;
Zoey Chene47a5162020-12-01 12:44:06 +080026import @1.6::PhysicalChannelConfig;
Jayachandran C262b6062020-07-22 15:53:58 -070027
28/**
29 * Interface declaring unsolicited radio indications.
30 */
31interface IRadioIndication extends @1.5::IRadioIndication {
Jayachandran C9bc276b2020-07-24 00:46:58 -070032
33 /**
34 * Indicates data call contexts have changed.
35 *
36 * This indication is updated from IRadioIndication@1.5 to report the @1.6 version of
37 * SetupDataCallResult.
38 *
39 * @param type Type of radio indication
40 * @param dcList Array of SetupDataCallResult identical to that returned by
41 * IRadio.getDataCallList(). It is the complete list of current data contexts including
42 * new contexts that have been activated. A data call is only removed from this list
43 * when any of the below conditions is matched.
44 * 1. The framework sends a IRadio.deactivateDataCall().
45 * 2. The radio is powered off/on.
46 * 3. Unsolicited disconnect from either modem or network side.
47 */
48 oneway dataCallListChanged_1_6(RadioIndicationType type, vec<SetupDataCallResult> dcList);
Daniel Bright95db21d2020-10-28 15:24:20 -070049
50 /**
51 * The modem can explicitly set SetupDataCallResult::suggestedRetryTime after a failure in
52 * IRadio@1.6::SetupDataCall. During that time, no new calls are allowed to
53 * IRadio@1.6::SetupDataCall that use the same APN.
54 *
55 * When IRadioIndication@1.6::unthrottleApn is sent, AOSP will no longer throttle calls
56 * to IRadio@1.6::SetupDataCall for the given APN.
57 *
58 * @param type Type of radio indication
59 * @param apn Apn to unthrottle
60 */
61 oneway unthrottleApn(RadioIndicationType type, string apn);
Sooraj Sasindran43e52202020-10-22 15:24:14 -070062
63 /**
64 * Indicates current link capacity estimate.
65 * This replaces @1.2::IRadioIndication.currentLinkCapacityEstimate().
66 * This indication is sent whenever the reporting criteria, as set by
67 * @1.2::IRadio.setLinkCapacityReportingCriteria, are met and the indication is not
68 * suppressed by @1.2::IRadio.setIndicationFilter_1_2().
69 *
70 * @param type Type of radio indication
71 * @param lce LinkCapacityEstimate
72 */
73 oneway currentLinkCapacityEstimate_1_6(RadioIndicationType type, LinkCapacityEstimate lce);
Mingming Caida0d9832020-11-05 17:56:57 -080074
Mingming Cai20a2f422020-12-03 12:18:48 -080075
76 /**
77 * Indicates current signal strength of the radio.
78 *
79 * This is identical to currentSignalStrength_1_4 but uses an updated version of
80 * SignalStrength.
81 *
82 * @param type Type of radio indication
83 * @param signalStrength SignalStrength information
84 */
85 oneway currentSignalStrength_1_6(RadioIndicationType type, SignalStrength signalStrength);
86
Mingming Caida0d9832020-11-05 17:56:57 -080087 /**
88 * Report all of the current cell information known to the radio.
89 *
90 * This indication is updated from IRadioIndication@1.5 to report the @1.6 version of
91 * CellInfo.
92 *
93 * @param type Type of radio indication
94 * @param records Current cell information
95 */
96 oneway cellInfoList_1_6(RadioIndicationType type, vec<CellInfo> records);
97
98 /**
99 * Incremental network scan results.
100 *
101 * This indication is updated from IRadioIndication@1.5 to report the @1.6 version of
102 * CellInfo.
103 */
104 oneway networkScanResult_1_6(RadioIndicationType type, NetworkScanResult result);
Zoey Chene47a5162020-12-01 12:44:06 +0800105
106 /**
107 * Indicates physical channel configurations.
108 *
109 * An empty configs list indicates that the radio is in idle mode.
110 *
111 * @param type Type of radio indication
112 * @param configs Vector of PhysicalChannelConfigs
113 */
114 oneway currentPhysicalChannelConfigs_1_6(RadioIndicationType type,
115 vec<PhysicalChannelConfig> configs);
Jayachandran C262b6062020-07-22 15:53:58 -0700116};