• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
17 #pragma once
18 
19 #include <android-base/logging.h>
20 
21 #include "radio_config_hidl_hal_utils.h"
22 
23 #include <chrono>
24 #include <condition_variable>
25 #include <mutex>
26 
27 #include <android/hardware/radio/1.6/IRadio.h>
28 #include <android/hardware/radio/1.6/IRadioIndication.h>
29 #include <android/hardware/radio/1.6/IRadioResponse.h>
30 #include <android/hardware/radio/1.6/types.h>
31 
32 #include "vts_test_util_v1_6.h"
33 
34 using namespace ::android::hardware::radio::V1_6;
35 using namespace ::android::hardware::radio::V1_5;
36 using namespace ::android::hardware::radio::V1_4;
37 using namespace ::android::hardware::radio::V1_3;
38 using namespace ::android::hardware::radio::V1_2;
39 using namespace ::android::hardware::radio::V1_1;
40 using namespace ::android::hardware::radio::V1_0;
41 
42 using ::android::sp;
43 using ::android::hardware::hidl_string;
44 using ::android::hardware::hidl_vec;
45 using ::android::hardware::Return;
46 using ::android::hardware::Void;
47 
48 #define MODEM_EMERGENCY_CALL_ESTABLISH_TIME 3
49 #define MODEM_EMERGENCY_CALL_DISCONNECT_TIME 3
50 
51 #define RADIO_SERVICE_SLOT1_NAME "slot1"  // HAL instance name for SIM slot 1 or single SIM device
52 #define RADIO_SERVICE_SLOT2_NAME "slot2"  // HAL instance name for SIM slot 2 on dual SIM device
53 #define RADIO_SERVICE_SLOT3_NAME "slot3"  // HAL instance name for SIM slot 3 on triple SIM device
54 
55 class RadioHidlTest_v1_6;
56 extern ::android::hardware::radio::V1_5::CardStatus cardStatus;
57 
58 /* Callback class for radio response v1_6 */
59 class RadioResponse_v1_6 : public ::android::hardware::radio::V1_6::IRadioResponse {
60   protected:
61     RadioResponseWaiter& parent_v1_6;
62 
63   public:
64     hidl_vec<RadioBandMode> radioBandModes;
65     hidl_vec<OperatorInfo> networkInfos;
66 
67     ::android::hardware::radio::V1_0::RadioResponseInfo rspInfo_v1_0;
68     ::android::hardware::radio::V1_6::RadioResponseInfo rspInfo;
69 
70     // Call
71     hidl_vec<::android::hardware::radio::V1_6::Call> currentCalls;
72     ::android::hardware::radio::V1_2::VoiceRegStateResult voiceRegResp;
73 
74     // Sms
75     SendSmsResult sendSmsResult;
76 
77     // Modem
78     bool isModemEnabled;
79     bool enableModemResponseToggle;
80     bool isNRDualConnectivityEnabled;
81 
82     // Pdu Session Id and Handover
83     int32_t allocatedPduSessionId;
84 
85     ::android::hardware::hidl_bitfield<::android::hardware::radio::V1_4::RadioAccessFamily>
86             networkTypeBitmapResponse;
87 
88     // Data
89     ::android::hardware::radio::V1_4::DataRegStateResult dataRegResp;
90     ::android::hardware::radio::V1_6::SetupDataCallResult setupDataCallResult;
91 
92     // SimLock status
93     ::android::hardware::radio::V1_4::CarrierRestrictionsWithPriority carrierRestrictionsResp;
94     ::android::hardware::radio::V1_4::SimLockMultiSimPolicy multiSimPolicyResp;
95 
96     // Whether toggling uicc applications operation is supported.
97     bool canToggleUiccApplicationsEnablement;
98 
99     // Whether Uicc applications are enabled or not.
100     bool areUiccApplicationsEnabled;
101 
102     // Barring Info Response
103     ::android::hardware::radio::V1_5::CellIdentity barringCellIdentity;
104     ::android::hardware::hidl_vec<::android::hardware::radio::V1_5::BarringInfo> barringInfos;
105 
106     RadioResponse_v1_6(RadioResponseWaiter& parent_v1_6);
107 
108     // Phone Book
109     ::android::hardware::radio::V1_6::PhonebookCapacity capacity;
110     int32_t updatedRecordIndex;
111 
112     virtual ~RadioResponse_v1_6() = default;
113 
114     Return<void> getIccCardStatusResponse(
115             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
116             const ::android::hardware::radio::V1_0::CardStatus& cardStatus);
117 
118     Return<void> supplyIccPinForAppResponse(
119             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
120             int32_t remainingRetries);
121 
122     Return<void> supplyIccPukForAppResponse(
123             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
124             int32_t remainingRetries);
125 
126     Return<void> supplyIccPin2ForAppResponse(
127             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
128             int32_t remainingRetries);
129 
130     Return<void> supplyIccPuk2ForAppResponse(
131             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
132             int32_t remainingRetries);
133 
134     Return<void> changeIccPinForAppResponse(
135             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
136             int32_t remainingRetries);
137 
138     Return<void> changeIccPin2ForAppResponse(
139             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
140             int32_t remainingRetries);
141 
142     Return<void> supplyNetworkDepersonalizationResponse(
143             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
144             int32_t remainingRetries);
145 
146     Return<void> getCurrentCallsResponse(
147             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
148             const ::android::hardware::hidl_vec<::android::hardware::radio::V1_0::Call>& calls);
149 
150     Return<void> dialResponse(const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
151 
152     Return<void> getIMSIForAppResponse(
153             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
154             const ::android::hardware::hidl_string& imsi);
155 
156     Return<void> hangupConnectionResponse(
157             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
158 
159     Return<void> hangupWaitingOrBackgroundResponse(
160             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
161 
162     Return<void> hangupForegroundResumeBackgroundResponse(
163             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
164 
165     Return<void> switchWaitingOrHoldingAndActiveResponse(
166             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
167 
168     Return<void> conferenceResponse(
169             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
170 
171     Return<void> rejectCallResponse(
172             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
173 
174     Return<void> getLastCallFailCauseResponse(
175             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
176             const LastCallFailCauseInfo& failCauseInfo);
177 
178     Return<void> getSignalStrengthResponse(
179             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
180             const ::android::hardware::radio::V1_0::SignalStrength& sigStrength);
181 
182     Return<void> getVoiceRegistrationStateResponse(
183             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
184             const ::android::hardware::radio::V1_0::VoiceRegStateResult& voiceRegResponse);
185 
186     Return<void> getDataRegistrationStateResponse(
187             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
188             const ::android::hardware::radio::V1_0::DataRegStateResult& dataRegResponse);
189 
190     Return<void> getOperatorResponse(
191             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
192             const ::android::hardware::hidl_string& longName,
193             const ::android::hardware::hidl_string& shortName,
194             const ::android::hardware::hidl_string& numeric);
195 
196     Return<void> setRadioPowerResponse(
197             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
198 
199     Return<void> sendDtmfResponse(const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
200 
201     Return<void> sendSmsResponse(const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
202                                  const SendSmsResult& sms);
203 
204     Return<void> sendSMSExpectMoreResponse(
205             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
206             const SendSmsResult& sms);
207 
208     Return<void> setupDataCallResponse(
209             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
210             const android::hardware::radio::V1_0::SetupDataCallResult& dcResponse);
211 
212     Return<void> iccIOForAppResponse(
213             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
214             const IccIoResult& iccIo);
215 
216     Return<void> sendUssdResponse(const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
217 
218     Return<void> cancelPendingUssdResponse(
219             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
220 
221     Return<void> getClirResponse(const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
222                                  int32_t n, int32_t m);
223 
224     Return<void> setClirResponse(const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
225 
226     Return<void> getCallForwardStatusResponse(
227             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
228             const ::android::hardware::hidl_vec<CallForwardInfo>& call_forwardInfos);
229 
230     Return<void> setCallForwardResponse(
231             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
232 
233     Return<void> getCallWaitingResponse(
234             const ::android::hardware::radio::V1_0::RadioResponseInfo& info, bool enable,
235             int32_t serviceClass);
236 
237     Return<void> setCallWaitingResponse(
238             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
239 
240     Return<void> acknowledgeLastIncomingGsmSmsResponse(
241             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
242 
243     Return<void> acceptCallResponse(
244             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
245 
246     Return<void> deactivateDataCallResponse(
247             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
248 
249     Return<void> getFacilityLockForAppResponse(
250             const ::android::hardware::radio::V1_0::RadioResponseInfo& info, int32_t response);
251 
252     Return<void> setFacilityLockForAppResponse(
253             const ::android::hardware::radio::V1_0::RadioResponseInfo& info, int32_t retry);
254 
255     Return<void> setBarringPasswordResponse(
256             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
257 
258     Return<void> getNetworkSelectionModeResponse(
259             const ::android::hardware::radio::V1_0::RadioResponseInfo& info, bool manual);
260 
261     Return<void> setNetworkSelectionModeAutomaticResponse(
262             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
263 
264     Return<void> setNetworkSelectionModeManualResponse(
265             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
266 
267     Return<void> getAvailableNetworksResponse(
268             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
269             const ::android::hardware::hidl_vec<OperatorInfo>& networkInfos);
270 
271     Return<void> startDtmfResponse(const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
272 
273     Return<void> stopDtmfResponse(const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
274 
275     Return<void> getBasebandVersionResponse(
276             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
277             const ::android::hardware::hidl_string& version);
278 
279     Return<void> separateConnectionResponse(
280             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
281 
282     Return<void> setMuteResponse(const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
283 
284     Return<void> getMuteResponse(const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
285                                  bool enable);
286 
287     Return<void> getClipResponse(const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
288                                  ClipStatus status);
289 
290     Return<void> getDataCallListResponse(
291             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
292             const ::android::hardware::hidl_vec<
293                     android::hardware::radio::V1_0::SetupDataCallResult>& dcResponse);
294 
295     Return<void> sendOemRilRequestRawResponse(
296             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
297             const ::android::hardware::hidl_vec<uint8_t>& data);
298 
299     Return<void> sendOemRilRequestStringsResponse(
300             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
301             const ::android::hardware::hidl_vec<::android::hardware::hidl_string>& data);
302 
303     Return<void> setSuppServiceNotificationsResponse(
304             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
305 
306     Return<void> writeSmsToSimResponse(
307             const ::android::hardware::radio::V1_0::RadioResponseInfo& info, int32_t index);
308 
309     Return<void> deleteSmsOnSimResponse(
310             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
311 
312     Return<void> setBandModeResponse(
313             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
314 
315     Return<void> getAvailableBandModesResponse(
316             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
317             const ::android::hardware::hidl_vec<RadioBandMode>& bandModes);
318 
319     Return<void> sendEnvelopeResponse(
320             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
321             const ::android::hardware::hidl_string& commandResponse);
322 
323     Return<void> sendTerminalResponseToSimResponse(
324             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
325 
326     Return<void> handleStkCallSetupRequestFromSimResponse(
327             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
328 
329     Return<void> explicitCallTransferResponse(
330             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
331 
332     Return<void> setPreferredNetworkTypeResponse(
333             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
334 
335     Return<void> getPreferredNetworkTypeResponse(
336             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
337             PreferredNetworkType nwType);
338 
339     Return<void> getNeighboringCidsResponse(
340             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
341             const ::android::hardware::hidl_vec<NeighboringCell>& cells);
342 
343     Return<void> setLocationUpdatesResponse(
344             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
345 
346     Return<void> setCdmaSubscriptionSourceResponse(
347             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
348 
349     Return<void> setCdmaRoamingPreferenceResponse(
350             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
351 
352     Return<void> getCdmaRoamingPreferenceResponse(
353             const ::android::hardware::radio::V1_0::RadioResponseInfo& info, CdmaRoamingType type);
354 
355     Return<void> setTTYModeResponse(
356             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
357 
358     Return<void> getTTYModeResponse(const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
359                                     TtyMode mode);
360 
361     Return<void> setPreferredVoicePrivacyResponse(
362             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
363 
364     Return<void> getPreferredVoicePrivacyResponse(
365             const ::android::hardware::radio::V1_0::RadioResponseInfo& info, bool enable);
366 
367     Return<void> sendCDMAFeatureCodeResponse(
368             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
369 
370     Return<void> sendBurstDtmfResponse(
371             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
372 
373     Return<void> sendCdmaSmsResponse(
374             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
375             const SendSmsResult& sms);
376 
377     Return<void> acknowledgeLastIncomingCdmaSmsResponse(
378             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
379 
380     Return<void> getGsmBroadcastConfigResponse(
381             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
382             const ::android::hardware::hidl_vec<GsmBroadcastSmsConfigInfo>& configs);
383 
384     Return<void> setGsmBroadcastConfigResponse(
385             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
386 
387     Return<void> setGsmBroadcastActivationResponse(
388             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
389 
390     Return<void> getCdmaBroadcastConfigResponse(
391             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
392             const ::android::hardware::hidl_vec<CdmaBroadcastSmsConfigInfo>& configs);
393 
394     Return<void> setCdmaBroadcastConfigResponse(
395             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
396 
397     Return<void> setCdmaBroadcastActivationResponse(
398             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
399 
400     Return<void> getCDMASubscriptionResponse(
401             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
402             const ::android::hardware::hidl_string& mdn,
403             const ::android::hardware::hidl_string& hSid,
404             const ::android::hardware::hidl_string& hNid,
405             const ::android::hardware::hidl_string& min,
406             const ::android::hardware::hidl_string& prl);
407 
408     Return<void> writeSmsToRuimResponse(
409             const ::android::hardware::radio::V1_0::RadioResponseInfo& info, uint32_t index);
410 
411     Return<void> deleteSmsOnRuimResponse(
412             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
413 
414     Return<void> getDeviceIdentityResponse(
415             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
416             const ::android::hardware::hidl_string& imei,
417             const ::android::hardware::hidl_string& imeisv,
418             const ::android::hardware::hidl_string& esn,
419             const ::android::hardware::hidl_string& meid);
420 
421     Return<void> exitEmergencyCallbackModeResponse(
422             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
423 
424     Return<void> getSmscAddressResponse(
425             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
426             const ::android::hardware::hidl_string& smsc);
427 
428     Return<void> setSmscAddressResponse(
429             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
430 
431     Return<void> reportSmsMemoryStatusResponse(
432             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
433 
434     Return<void> reportStkServiceIsRunningResponse(
435             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
436 
437     Return<void> getCdmaSubscriptionSourceResponse(
438             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
439             CdmaSubscriptionSource source);
440 
441     Return<void> requestIsimAuthenticationResponse(
442             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
443             const ::android::hardware::hidl_string& response);
444 
445     Return<void> acknowledgeIncomingGsmSmsWithPduResponse(
446             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
447 
448     Return<void> sendEnvelopeWithStatusResponse(
449             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
450             const IccIoResult& iccIo);
451 
452     Return<void> getVoiceRadioTechnologyResponse(
453             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
454             ::android::hardware::radio::V1_0::RadioTechnology rat);
455 
456     Return<void> getCellInfoListResponse(
457             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
458             const ::android::hardware::hidl_vec<::android::hardware::radio::V1_0::CellInfo>&
459                     cellInfo);
460 
461     Return<void> setCellInfoListRateResponse(
462             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
463 
464     Return<void> setInitialAttachApnResponse(
465             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
466 
467     Return<void> getImsRegistrationStateResponse(
468             const ::android::hardware::radio::V1_0::RadioResponseInfo& info, bool isRegistered,
469             RadioTechnologyFamily ratFamily);
470 
471     Return<void> sendImsSmsResponse(const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
472                                     const SendSmsResult& sms);
473 
474     Return<void> iccTransmitApduBasicChannelResponse(
475             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
476             const IccIoResult& result);
477 
478     Return<void> iccOpenLogicalChannelResponse(
479             const ::android::hardware::radio::V1_0::RadioResponseInfo& info, int32_t channelId,
480             const ::android::hardware::hidl_vec<int8_t>& selectResponse);
481 
482     Return<void> iccCloseLogicalChannelResponse(
483             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
484 
485     Return<void> iccTransmitApduLogicalChannelResponse(
486             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
487             const IccIoResult& result);
488 
489     Return<void> nvReadItemResponse(const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
490                                     const ::android::hardware::hidl_string& result);
491 
492     Return<void> nvWriteItemResponse(
493             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
494 
495     Return<void> nvWriteCdmaPrlResponse(
496             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
497 
498     Return<void> nvResetConfigResponse(
499             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
500 
501     Return<void> setUiccSubscriptionResponse(
502             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
503 
504     Return<void> setDataAllowedResponse(
505             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
506 
507     Return<void> getHardwareConfigResponse(
508             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
509             const ::android::hardware::hidl_vec<HardwareConfig>& config);
510 
511     Return<void> requestIccSimAuthenticationResponse(
512             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
513             const IccIoResult& result);
514 
515     Return<void> setDataProfileResponse(
516             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
517 
518     Return<void> requestShutdownResponse(
519             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
520 
521     Return<void> getRadioCapabilityResponse(
522             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
523             const android::hardware::radio::V1_0::RadioCapability& rc);
524 
525     Return<void> setRadioCapabilityResponse(
526             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
527             const android::hardware::radio::V1_0::RadioCapability& rc);
528 
529     Return<void> startLceServiceResponse(
530             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
531             const LceStatusInfo& statusInfo);
532 
533     Return<void> stopLceServiceResponse(
534             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
535             const LceStatusInfo& statusInfo);
536 
537     Return<void> pullLceDataResponse(
538             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
539             const LceDataInfo& lceInfo);
540 
541     Return<void> getModemActivityInfoResponse(
542             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
543             const ActivityStatsInfo& activityInfo);
544 
545     Return<void> setAllowedCarriersResponse(
546             const ::android::hardware::radio::V1_0::RadioResponseInfo& info, int32_t numAllowed);
547 
548     Return<void> getAllowedCarriersResponse(
549             const ::android::hardware::radio::V1_0::RadioResponseInfo& info, bool allAllowed,
550             const CarrierRestrictions& carriers);
551 
552     Return<void> sendDeviceStateResponse(
553             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
554 
555     Return<void> setIndicationFilterResponse(
556             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
557 
558     Return<void> setSimCardPowerResponse(
559             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
560 
561     Return<void> acknowledgeRequest(int32_t serial);
562 
563     /* 1.1 Api */
564     Return<void> setCarrierInfoForImsiEncryptionResponse(
565             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
566 
567     Return<void> setSimCardPowerResponse_1_1(
568             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
569 
570     Return<void> startNetworkScanResponse(
571             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
572 
573     Return<void> stopNetworkScanResponse(
574             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
575 
576     Return<void> startKeepaliveResponse(
577             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
578             const KeepaliveStatus& status);
579 
580     Return<void> stopKeepaliveResponse(
581             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
582 
583     /* 1.2 Api */
584     Return<void> setSignalStrengthReportingCriteriaResponse(
585             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
586 
587     Return<void> setLinkCapacityReportingCriteriaResponse(
588             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
589 
590     Return<void> getIccCardStatusResponse_1_2(
591             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
592             const ::android::hardware::radio::V1_2::CardStatus& card_status);
593 
594     Return<void> getCurrentCallsResponse_1_2(
595             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
596             const ::android::hardware::hidl_vec<::android::hardware::radio::V1_2::Call>& calls);
597 
598     Return<void> getSignalStrengthResponse_1_2(
599             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
600             const ::android::hardware::radio::V1_2::SignalStrength& sig_strength);
601 
602     Return<void> getSignalStrengthResponse_1_4(
603             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
604             const ::android::hardware::radio::V1_4::SignalStrength& sig_strength);
605 
606     Return<void> getCellInfoListResponse_1_2(
607             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
608             const ::android::hardware::hidl_vec<::android::hardware::radio::V1_2::CellInfo>&
609                     cellInfo);
610 
611     Return<void> getVoiceRegistrationStateResponse_1_2(
612             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
613             const ::android::hardware::radio::V1_2::VoiceRegStateResult& voiceRegResponse);
614 
615     Return<void> getDataRegistrationStateResponse_1_2(
616             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
617             const ::android::hardware::radio::V1_2::DataRegStateResult& dataRegResponse);
618 
619     /* 1.3 Api */
620     Return<void> setSystemSelectionChannelsResponse(
621             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
622 
623     Return<void> enableModemResponse(
624             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
625 
626     Return<void> getModemStackStatusResponse(
627             const ::android::hardware::radio::V1_0::RadioResponseInfo& info, const bool enabled);
628 
629     /* 1.4 Api */
630     Return<void> emergencyDialResponse(
631             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
632 
633     Return<void> startNetworkScanResponse_1_4(
634             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
635 
636     Return<void> getCellInfoListResponse_1_4(
637             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
638             const ::android::hardware::hidl_vec<::android::hardware::radio::V1_4::CellInfo>&
639                     cellInfo);
640 
641     Return<void> getDataRegistrationStateResponse_1_4(
642             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
643             const ::android::hardware::radio::V1_4::DataRegStateResult& dataRegResponse);
644 
645     Return<void> getIccCardStatusResponse_1_4(
646             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
647             const ::android::hardware::radio::V1_4::CardStatus& card_status);
648 
649     Return<void> getPreferredNetworkTypeBitmapResponse(
650             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
651             const ::android::hardware::hidl_bitfield<
652                     ::android::hardware::radio::V1_4::RadioAccessFamily>
653                     networkTypeBitmap);
654 
655     Return<void> setPreferredNetworkTypeBitmapResponse(
656             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
657 
658     Return<void> getDataCallListResponse_1_4(
659             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
660             const ::android::hardware::hidl_vec<
661                     ::android::hardware::radio::V1_4::SetupDataCallResult>& dcResponse);
662 
663     Return<void> setupDataCallResponse_1_4(
664             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
665             const android::hardware::radio::V1_4::SetupDataCallResult& dcResponse);
666 
667     Return<void> setAllowedCarriersResponse_1_4(
668             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
669 
670     Return<void> getAllowedCarriersResponse_1_4(
671             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
672             const CarrierRestrictionsWithPriority& carriers, SimLockMultiSimPolicy multiSimPolicy);
673 
674     /* 1.5 Api */
675     Return<void> setSignalStrengthReportingCriteriaResponse_1_5(
676             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
677 
678     Return<void> setLinkCapacityReportingCriteriaResponse_1_5(
679             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
680 
681     Return<void> enableUiccApplicationsResponse(
682             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
683 
684     Return<void> areUiccApplicationsEnabledResponse(
685             const ::android::hardware::radio::V1_0::RadioResponseInfo& info, bool enabled);
686 
687     Return<void> canToggleUiccApplicationsEnablementResponse(
688             const ::android::hardware::radio::V1_0::RadioResponseInfo& info, bool canToggle);
689 
690     Return<void> setSystemSelectionChannelsResponse_1_5(
691             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
692 
693     Return<void> startNetworkScanResponse_1_5(
694             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
695 
696     Return<void> setupDataCallResponse_1_5(
697             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
698             const android::hardware::radio::V1_5::SetupDataCallResult& dcResponse);
699 
700     Return<void> getDataCallListResponse_1_5(
701             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
702             const hidl_vec<::android::hardware::radio::V1_5::SetupDataCallResult>& dcResponse);
703 
704     Return<void> setInitialAttachApnResponse_1_5(
705             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
706 
707     Return<void> setDataProfileResponse_1_5(
708             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
709 
710     Return<void> setRadioPowerResponse_1_5(
711             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
712 
713     Return<void> setIndicationFilterResponse_1_5(
714             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
715 
716     Return<void> getBarringInfoResponse(
717             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
718             const ::android::hardware::radio::V1_5::CellIdentity& cellIdentity,
719             const ::android::hardware::hidl_vec<::android::hardware::radio::V1_5::BarringInfo>&
720                     barringInfos);
721 
722     Return<void> getVoiceRegistrationStateResponse_1_5(
723             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
724             const ::android::hardware::radio::V1_5::RegStateResult& regResponse);
725 
726     Return<void> getDataRegistrationStateResponse_1_5(
727             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
728             const ::android::hardware::radio::V1_5::RegStateResult& regResponse);
729 
730     Return<void> getCellInfoListResponse_1_5(
731             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
732             const ::android::hardware::hidl_vec<::android::hardware::radio::V1_5::CellInfo>&
733                     cellInfo);
734 
735     Return<void> setNetworkSelectionModeManualResponse_1_5(
736             const ::android::hardware::radio::V1_0::RadioResponseInfo& info);
737 
738     Return<void> sendCdmaSmsExpectMoreResponse(
739             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
740             const SendSmsResult& sms);
741 
742     Return<void> supplySimDepersonalizationResponse(
743             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
744             ::android::hardware::radio::V1_5::PersoSubstate persoType, int32_t remainingRetries);
745 
746     Return<void> getIccCardStatusResponse_1_5(
747             const ::android::hardware::radio::V1_0::RadioResponseInfo& info,
748             const ::android::hardware::radio::V1_5::CardStatus& card_status);
749 
750     /* 1.6 Api */
751     Return<void> setRadioPowerResponse_1_6(
752             const ::android::hardware::radio::V1_6::RadioResponseInfo& info);
753 
754     Return<void> setupDataCallResponse_1_6(
755             const ::android::hardware::radio::V1_6::RadioResponseInfo& info,
756             const android::hardware::radio::V1_6::SetupDataCallResult& dcResponse);
757 
758     Return<void> getDataCallListResponse_1_6(
759             const ::android::hardware::radio::V1_6::RadioResponseInfo& info,
760             const hidl_vec<::android::hardware::radio::V1_6::SetupDataCallResult>& dcResponse);
761 
762     Return<void> sendSmsResponse_1_6(
763             const ::android::hardware::radio::V1_6::RadioResponseInfo& info,
764             const SendSmsResult& sms);
765 
766     Return<void> sendSmsExpectMoreResponse_1_6(
767             const ::android::hardware::radio::V1_6::RadioResponseInfo& info,
768             const SendSmsResult& sms);
769 
770     Return<void> sendCdmaSmsResponse_1_6(
771             const ::android::hardware::radio::V1_6::RadioResponseInfo& info,
772             const SendSmsResult& sms);
773 
774     Return<void> setSimCardPowerResponse_1_6(
775             const ::android::hardware::radio::V1_6::RadioResponseInfo& info);
776 
777     Return<void> sendCdmaSmsExpectMoreResponse_1_6(
778             const ::android::hardware::radio::V1_6::RadioResponseInfo& info,
779             const SendSmsResult& sms);
780 
781     Return<void> setNrDualConnectivityStateResponse(
782             const ::android::hardware::radio::V1_6::RadioResponseInfo& info);
783     Return<void> isNrDualConnectivityEnabledResponse(
784             const ::android::hardware::radio::V1_6::RadioResponseInfo& info, bool isEnabled);
785 
786     Return<void> allocatePduSessionIdResponse(
787             const ::android::hardware::radio::V1_6::RadioResponseInfo& info, int32_t id);
788 
789     Return<void> releasePduSessionIdResponse(
790             const ::android::hardware::radio::V1_6::RadioResponseInfo& info);
791 
792     Return<void> startHandoverResponse(
793             const ::android::hardware::radio::V1_6::RadioResponseInfo& info);
794 
795     Return<void> cancelHandoverResponse(
796             const ::android::hardware::radio::V1_6::RadioResponseInfo& info);
797 
798     Return<void> setAllowedNetworkTypesBitmapResponse(
799             const ::android::hardware::radio::V1_6::RadioResponseInfo& info);
800 
801     Return<void> getAllowedNetworkTypesBitmapResponse(
802             const ::android::hardware::radio::V1_6::RadioResponseInfo& info,
803             const ::android::hardware::hidl_bitfield<
804                     ::android::hardware::radio::V1_4::RadioAccessFamily>
805                     networkTypeBitmap);
806 
807     Return<void> setDataThrottlingResponse(
808             const ::android::hardware::radio::V1_6::RadioResponseInfo& info);
809 
810     Return<void> getSystemSelectionChannelsResponse(
811             const ::android::hardware::radio::V1_6::RadioResponseInfo& info,
812             const hidl_vec<::android::hardware::radio::V1_5::RadioAccessSpecifier>& specifier);
813 
814     Return<void> getSignalStrengthResponse_1_6(
815             const ::android::hardware::radio::V1_6::RadioResponseInfo& info,
816             const ::android::hardware::radio::V1_6::SignalStrength& sig_strength);
817 
818     Return<void> getCellInfoListResponse_1_6(
819             const ::android::hardware::radio::V1_6::RadioResponseInfo& info,
820             const ::android::hardware::hidl_vec<::android::hardware::radio::V1_6::CellInfo>&
821                     cellInfo);
822 
823     Return<void> getVoiceRegistrationStateResponse_1_6(
824             const ::android::hardware::radio::V1_6::RadioResponseInfo& info,
825             const ::android::hardware::radio::V1_6::RegStateResult& regResponse);
826 
827     Return<void> getDataRegistrationStateResponse_1_6(
828             const ::android::hardware::radio::V1_6::RadioResponseInfo& info,
829             const ::android::hardware::radio::V1_6::RegStateResult& regResponse);
830 
831     Return<void> getCurrentCallsResponse_1_6(
832             const ::android::hardware::radio::V1_6::RadioResponseInfo& info,
833             const ::android::hardware::hidl_vec<::android::hardware::radio::V1_6::Call>& calls);
834 
835     Return<void> getSlicingConfigResponse(
836             const ::android::hardware::radio::V1_6::RadioResponseInfo& info,
837             const ::android::hardware::radio::V1_6::SlicingConfig& slicingConfig);
838 
839     Return<void> getSimPhonebookRecordsResponse(
840             const ::android::hardware::radio::V1_6::RadioResponseInfo& info);
841 
842     Return<void> getSimPhonebookCapacityResponse(
843             const ::android::hardware::radio::V1_6::RadioResponseInfo& info,
844             const ::android::hardware::radio::V1_6::PhonebookCapacity& capacity);
845 
846     Return<void> updateSimPhonebookRecordsResponse(
847             const ::android::hardware::radio::V1_6::RadioResponseInfo& info,
848             int32_t updatedRecordIndex);
849 };
850 
851 /* Callback class for radio indication */
852 class RadioIndication_v1_6 : public ::android::hardware::radio::V1_6::IRadioIndication {
853   protected:
854     RadioHidlTest_v1_6& parent_v1_6;
855 
856   public:
857     RadioIndication_v1_6(RadioHidlTest_v1_6& parent_v1_6);
858     virtual ~RadioIndication_v1_6() = default;
859 
860     /* 1.6 Api */
861     Return<void> dataCallListChanged_1_6(
862             RadioIndicationType type,
863             const hidl_vec<::android::hardware::radio::V1_6::SetupDataCallResult>& dcList);
864 
865     Return<void> unthrottleApn(RadioIndicationType type,
866                                const ::android::hardware::hidl_string& apn);
867 
868     Return<void> currentSignalStrength_1_6(
869             RadioIndicationType type,
870             const ::android::hardware::radio::V1_6::SignalStrength& signalStrength);
871 
872     Return<void> networkScanResult_1_6(
873             RadioIndicationType type,
874             const ::android::hardware::radio::V1_6::NetworkScanResult& result);
875 
876     Return<void> cellInfoList_1_6(
877             RadioIndicationType type,
878             const ::android::hardware::hidl_vec<::android::hardware::radio::V1_6::CellInfo>&
879                     records);
880 
881     Return<void> currentPhysicalChannelConfigs_1_6(
882             RadioIndicationType type,
883             const ::android::hardware::hidl_vec<
884                     ::android::hardware::radio::V1_6::PhysicalChannelConfig>& configs);
885 
886     /* 1.5 Api */
887     Return<void> uiccApplicationsEnablementChanged(RadioIndicationType type, bool enabled);
888 
889     Return<void> networkScanResult_1_5(
890             RadioIndicationType type,
891             const ::android::hardware::radio::V1_5::NetworkScanResult& result);
892 
893     Return<void> cellInfoList_1_5(
894             RadioIndicationType type,
895             const ::android::hardware::hidl_vec<::android::hardware::radio::V1_5::CellInfo>&
896                     records);
897 
898     Return<void> dataCallListChanged_1_5(
899             RadioIndicationType type,
900             const hidl_vec<::android::hardware::radio::V1_5::SetupDataCallResult>& dcList);
901 
902     /* 1.4 Api */
903     Return<void> currentEmergencyNumberList(
904             RadioIndicationType type,
905             const ::android::hardware::hidl_vec<EmergencyNumber>& emergencyNumberList);
906 
907     Return<void> cellInfoList_1_4(
908             RadioIndicationType type,
909             const ::android::hardware::hidl_vec<::android::hardware::radio::V1_4::CellInfo>&
910                     records);
911 
912     Return<void> networkScanResult_1_4(
913             RadioIndicationType type,
914             const ::android::hardware::radio::V1_4::NetworkScanResult& result);
915 
916     Return<void> currentPhysicalChannelConfigs_1_4(
917             RadioIndicationType type,
918             const ::android::hardware::hidl_vec<
919                     ::android::hardware::radio::V1_4::PhysicalChannelConfig>& configs);
920 
921     Return<void> dataCallListChanged_1_4(
922             RadioIndicationType type,
923             const ::android::hardware::hidl_vec<
924                     android::hardware::radio::V1_4::SetupDataCallResult>& dcList);
925 
926     /* 1.2 Api */
927     Return<void> networkScanResult_1_2(
928             RadioIndicationType type,
929             const ::android::hardware::radio::V1_2::NetworkScanResult& result);
930 
931     Return<void> cellInfoList_1_2(
932             RadioIndicationType type,
933             const ::android::hardware::hidl_vec<::android::hardware::radio::V1_2::CellInfo>&
934                     records);
935 
936     Return<void> currentLinkCapacityEstimate(
937             RadioIndicationType type,
938             const ::android::hardware::radio::V1_2::LinkCapacityEstimate& lce);
939 
940     Return<void> currentLinkCapacityEstimate_1_6(
941             RadioIndicationType type,
942             const ::android::hardware::radio::V1_6::LinkCapacityEstimate& lce);
943 
944     Return<void> currentPhysicalChannelConfigs(
945             RadioIndicationType type,
946             const ::android::hardware::hidl_vec<
947                     ::android::hardware::radio::V1_2::PhysicalChannelConfig>& configs);
948 
949     Return<void> currentSignalStrength_1_2(
950             RadioIndicationType type,
951             const ::android::hardware::radio::V1_2::SignalStrength& signalStrength);
952 
953     Return<void> currentSignalStrength_1_4(
954             RadioIndicationType type,
955             const ::android::hardware::radio::V1_4::SignalStrength& signalStrength);
956 
957     /* 1.1 Api */
958     Return<void> carrierInfoForImsiEncryption(RadioIndicationType info);
959 
960     Return<void> networkScanResult(
961             RadioIndicationType type,
962             const ::android::hardware::radio::V1_1::NetworkScanResult& result);
963 
964     Return<void> keepaliveStatus(RadioIndicationType type, const KeepaliveStatus& status);
965 
966     /* 1.0 Api */
967     Return<void> radioStateChanged(RadioIndicationType type, RadioState radioState);
968 
969     Return<void> callStateChanged(RadioIndicationType type);
970 
971     Return<void> networkStateChanged(RadioIndicationType type);
972 
973     Return<void> newSms(RadioIndicationType type,
974                         const ::android::hardware::hidl_vec<uint8_t>& pdu);
975 
976     Return<void> newSmsStatusReport(RadioIndicationType type,
977                                     const ::android::hardware::hidl_vec<uint8_t>& pdu);
978 
979     Return<void> newSmsOnSim(RadioIndicationType type, int32_t recordNumber);
980 
981     Return<void> onUssd(RadioIndicationType type, UssdModeType modeType,
982                         const ::android::hardware::hidl_string& msg);
983 
984     Return<void> nitzTimeReceived(RadioIndicationType type,
985                                   const ::android::hardware::hidl_string& nitzTime,
986                                   uint64_t receivedTime);
987 
988     Return<void> currentSignalStrength(
989             RadioIndicationType type,
990             const ::android::hardware::radio::V1_0::SignalStrength& signalStrength);
991 
992     Return<void> dataCallListChanged(
993             RadioIndicationType type,
994             const ::android::hardware::hidl_vec<
995                     android::hardware::radio::V1_0::SetupDataCallResult>& dcList);
996 
997     Return<void> suppSvcNotify(RadioIndicationType type, const SuppSvcNotification& suppSvc);
998 
999     Return<void> stkSessionEnd(RadioIndicationType type);
1000 
1001     Return<void> stkProactiveCommand(RadioIndicationType type,
1002                                      const ::android::hardware::hidl_string& cmd);
1003 
1004     Return<void> stkEventNotify(RadioIndicationType type,
1005                                 const ::android::hardware::hidl_string& cmd);
1006 
1007     Return<void> stkCallSetup(RadioIndicationType type, int64_t timeout);
1008 
1009     Return<void> simSmsStorageFull(RadioIndicationType type);
1010 
1011     Return<void> simRefresh(RadioIndicationType type, const SimRefreshResult& refreshResult);
1012 
1013     Return<void> callRing(RadioIndicationType type, bool isGsm, const CdmaSignalInfoRecord& record);
1014 
1015     Return<void> simStatusChanged(RadioIndicationType type);
1016 
1017     Return<void> cdmaNewSms(RadioIndicationType type, const CdmaSmsMessage& msg);
1018 
1019     Return<void> newBroadcastSms(RadioIndicationType type,
1020                                  const ::android::hardware::hidl_vec<uint8_t>& data);
1021 
1022     Return<void> cdmaRuimSmsStorageFull(RadioIndicationType type);
1023 
1024     Return<void> restrictedStateChanged(RadioIndicationType type, PhoneRestrictedState state);
1025 
1026     Return<void> enterEmergencyCallbackMode(RadioIndicationType type);
1027 
1028     Return<void> cdmaCallWaiting(RadioIndicationType type,
1029                                  const CdmaCallWaiting& callWaitingRecord);
1030 
1031     Return<void> cdmaOtaProvisionStatus(RadioIndicationType type, CdmaOtaProvisionStatus status);
1032 
1033     Return<void> cdmaInfoRec(RadioIndicationType type, const CdmaInformationRecords& records);
1034 
1035     Return<void> indicateRingbackTone(RadioIndicationType type, bool start);
1036 
1037     Return<void> resendIncallMute(RadioIndicationType type);
1038 
1039     Return<void> cdmaSubscriptionSourceChanged(RadioIndicationType type,
1040                                                CdmaSubscriptionSource cdmaSource);
1041 
1042     Return<void> cdmaPrlChanged(RadioIndicationType type, int32_t version);
1043 
1044     Return<void> exitEmergencyCallbackMode(RadioIndicationType type);
1045 
1046     Return<void> rilConnected(RadioIndicationType type);
1047 
1048     Return<void> voiceRadioTechChanged(RadioIndicationType type,
1049                                        ::android::hardware::radio::V1_0::RadioTechnology rat);
1050 
1051     Return<void> cellInfoList(
1052             RadioIndicationType type,
1053             const ::android::hardware::hidl_vec<::android::hardware::radio::V1_0::CellInfo>&
1054                     records);
1055 
1056     Return<void> imsNetworkStateChanged(RadioIndicationType type);
1057 
1058     Return<void> subscriptionStatusChanged(RadioIndicationType type, bool activate);
1059 
1060     Return<void> srvccStateNotify(RadioIndicationType type, SrvccState state);
1061 
1062     Return<void> hardwareConfigChanged(
1063             RadioIndicationType type, const ::android::hardware::hidl_vec<HardwareConfig>& configs);
1064 
1065     Return<void> radioCapabilityIndication(
1066             RadioIndicationType type, const android::hardware::radio::V1_0::RadioCapability& rc);
1067 
1068     Return<void> onSupplementaryServiceIndication(RadioIndicationType type,
1069                                                   const StkCcUnsolSsResult& ss);
1070 
1071     Return<void> stkCallControlAlphaNotify(RadioIndicationType type,
1072                                            const ::android::hardware::hidl_string& alpha);
1073 
1074     Return<void> lceData(RadioIndicationType type, const LceDataInfo& lce);
1075 
1076     Return<void> pcoData(RadioIndicationType type, const PcoDataInfo& pco);
1077 
1078     Return<void> modemReset(RadioIndicationType type,
1079                             const ::android::hardware::hidl_string& reason);
1080 
1081     Return<void> registrationFailed(
1082             RadioIndicationType type,
1083             const ::android::hardware::radio::V1_5::CellIdentity& cellIdentity,
1084             const ::android::hardware::hidl_string& chosenPlmn,
1085             ::android::hardware::hidl_bitfield<::android::hardware::radio::V1_5::Domain> domain,
1086             int32_t causeCode, int32_t additionalCauseCode);
1087 
1088     Return<void> barringInfoChanged(
1089             RadioIndicationType /*type*/,
1090             const ::android::hardware::radio::V1_5::CellIdentity& /*cellIdentity*/,
1091             const ::android::hardware::hidl_vec<::android::hardware::radio::V1_5::BarringInfo>&
1092             /*barringInfos*/);
1093 
1094     Return<void> simPhonebookChanged(RadioIndicationType type);
1095 
1096     Return<void> simPhonebookRecordsReceived(
1097             RadioIndicationType type,
1098             ::android::hardware::radio::V1_6::PbReceivedStatus status,
1099             const ::android::hardware::hidl_vec<::android::hardware::radio::V1_6::PhonebookRecordInfo>&
1100                     records);
1101 };
1102 
1103 // The main test class for Radio HIDL.
1104 class RadioHidlTest_v1_6 : public ::testing::TestWithParam<std::string>,
1105                            public RadioResponseWaiter {
1106   protected:
1107     /* Clear Potential Established Calls */
1108     void clearPotentialEstablishedCalls();
1109 
1110     /* Update Sim Card Status */
1111     void updateSimCardStatus();
1112 
1113     /* Get current data call list */
1114     void getDataCallList();
1115 
1116   public:
1117     virtual void SetUp() override;
1118 
1119     bool getRadioHalCapabilities();
1120 
1121     /* radio service handle */
1122     sp<::android::hardware::radio::V1_6::IRadio> radio_v1_6;
1123 
1124     /* radio response handle */
1125     sp<RadioResponse_v1_6> radioRsp_v1_6;
1126 
1127     /* radio indication handle */
1128     sp<RadioIndication_v1_6> radioInd_v1_6;
1129 };
1130