blob: 326d127e2264b77fa957fb5930d9def10af79da5 [file] [log] [blame]
Willi Yedaf0b732019-10-22 22:48:05 +02001/*
2 * Copyright (C) 2019, The LineageOS Project
3 *
4 * Licensed under the Apache License, Version 2.1 (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.1
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#include "SecRadioIndication.h"
18
19namespace vendor {
20namespace samsung {
21namespace hardware {
22namespace radio {
23namespace V1_2 {
24namespace implementation {
25
26SecRadioIndication::SecRadioIndication(
27 const sp<::android::hardware::radio::V1_2::IRadioIndication>& radioIndication)
28 : radioIndication(radioIndication) {}
29
30// Methods from ::android::hardware::radio::V1_0::IRadioIndication follow.
31Return<void> SecRadioIndication::radioStateChanged(
32 ::android::hardware::radio::V1_0::RadioIndicationType type,
33 ::android::hardware::radio::V1_0::RadioState radioState) {
34 radioIndication->radioStateChanged(type, radioState);
35 return Void();
36}
37
38Return<void> SecRadioIndication::callStateChanged(
39 ::android::hardware::radio::V1_0::RadioIndicationType type) {
40 radioIndication->callStateChanged(type);
41 return Void();
42}
43
44Return<void> SecRadioIndication::networkStateChanged(
45 ::android::hardware::radio::V1_0::RadioIndicationType type) {
46 radioIndication->networkStateChanged(type);
47 return Void();
48}
49
50Return<void> SecRadioIndication::newSms(::android::hardware::radio::V1_0::RadioIndicationType type,
51 const hidl_vec<uint8_t>& pdu) {
52 radioIndication->newSms(type, pdu);
53 return Void();
54}
55
56Return<void> SecRadioIndication::newSmsStatusReport(
57 ::android::hardware::radio::V1_0::RadioIndicationType type, const hidl_vec<uint8_t>& pdu) {
58 radioIndication->newSmsStatusReport(type, pdu);
59 return Void();
60}
61
62Return<void> SecRadioIndication::newSmsOnSim(
63 ::android::hardware::radio::V1_0::RadioIndicationType type, int32_t recordNumber) {
64 radioIndication->newSmsOnSim(type, recordNumber);
65 return Void();
66}
67
68Return<void> SecRadioIndication::onUssd(::android::hardware::radio::V1_0::RadioIndicationType type,
69 ::android::hardware::radio::V1_0::UssdModeType modeType,
70 const hidl_string& msg) {
71 radioIndication->onUssd(type, modeType, msg);
72 return Void();
73}
74
75Return<void> SecRadioIndication::nitzTimeReceived(
76 ::android::hardware::radio::V1_0::RadioIndicationType type, const hidl_string& nitzTime,
77 uint64_t receivedTime) {
78 radioIndication->nitzTimeReceived(type, nitzTime, receivedTime);
79 return Void();
80}
81
82Return<void> SecRadioIndication::currentSignalStrength(
83 ::android::hardware::radio::V1_0::RadioIndicationType type,
84 const ::android::hardware::radio::V1_0::SignalStrength& signalStrength) {
85 radioIndication->currentSignalStrength(type, signalStrength);
86 return Void();
87}
88
89Return<void> SecRadioIndication::dataCallListChanged(
90 ::android::hardware::radio::V1_0::RadioIndicationType type,
91 const hidl_vec<::android::hardware::radio::V1_0::SetupDataCallResult>& dcList) {
92 radioIndication->dataCallListChanged(type, dcList);
93 return Void();
94}
95
96Return<void> SecRadioIndication::suppSvcNotify(
97 ::android::hardware::radio::V1_0::RadioIndicationType type,
98 const ::android::hardware::radio::V1_0::SuppSvcNotification& suppSvc) {
99 radioIndication->suppSvcNotify(type, suppSvc);
100 return Void();
101}
102
103Return<void> SecRadioIndication::stkSessionEnd(
104 ::android::hardware::radio::V1_0::RadioIndicationType type) {
105 radioIndication->stkSessionEnd(type);
106 return Void();
107}
108
109Return<void> SecRadioIndication::stkProactiveCommand(
110 ::android::hardware::radio::V1_0::RadioIndicationType type, const hidl_string& cmd) {
111 radioIndication->stkProactiveCommand(type, cmd);
112 return Void();
113}
114
115Return<void> SecRadioIndication::stkEventNotify(
116 ::android::hardware::radio::V1_0::RadioIndicationType type, const hidl_string& cmd) {
117 radioIndication->stkEventNotify(type, cmd);
118 return Void();
119}
120
121Return<void> SecRadioIndication::stkCallSetup(
122 ::android::hardware::radio::V1_0::RadioIndicationType type, int64_t timeout) {
123 radioIndication->stkCallSetup(type, timeout);
124 return Void();
125}
126
127Return<void> SecRadioIndication::simSmsStorageFull(
128 ::android::hardware::radio::V1_0::RadioIndicationType type) {
129 radioIndication->simSmsStorageFull(type);
130 return Void();
131}
132
133Return<void> SecRadioIndication::simRefresh(
134 ::android::hardware::radio::V1_0::RadioIndicationType type,
135 const ::android::hardware::radio::V1_0::SimRefreshResult& refreshResult) {
136 radioIndication->simRefresh(type, refreshResult);
137 return Void();
138}
139
140Return<void> SecRadioIndication::callRing(
141 ::android::hardware::radio::V1_0::RadioIndicationType type, bool isGsm,
142 const ::android::hardware::radio::V1_0::CdmaSignalInfoRecord& record) {
143 radioIndication->callRing(type, isGsm, record);
144 return Void();
145}
146
147Return<void> SecRadioIndication::simStatusChanged(
148 ::android::hardware::radio::V1_0::RadioIndicationType type) {
149 radioIndication->simStatusChanged(type);
150 return Void();
151}
152
153Return<void> SecRadioIndication::cdmaNewSms(
154 ::android::hardware::radio::V1_0::RadioIndicationType type,
155 const ::android::hardware::radio::V1_0::CdmaSmsMessage& msg) {
156 radioIndication->cdmaNewSms(type, msg);
157 return Void();
158}
159
160Return<void> SecRadioIndication::newBroadcastSms(
161 ::android::hardware::radio::V1_0::RadioIndicationType type, const hidl_vec<uint8_t>& data) {
162 radioIndication->newBroadcastSms(type, data);
163 return Void();
164}
165
166Return<void> SecRadioIndication::cdmaRuimSmsStorageFull(
167 ::android::hardware::radio::V1_0::RadioIndicationType type) {
168 radioIndication->cdmaRuimSmsStorageFull(type);
169 return Void();
170}
171
172Return<void> SecRadioIndication::restrictedStateChanged(
173 ::android::hardware::radio::V1_0::RadioIndicationType type,
174 ::android::hardware::radio::V1_0::PhoneRestrictedState state) {
175 radioIndication->restrictedStateChanged(type, state);
176 return Void();
177}
178
179Return<void> SecRadioIndication::enterEmergencyCallbackMode(
180 ::android::hardware::radio::V1_0::RadioIndicationType type) {
181 radioIndication->enterEmergencyCallbackMode(type);
182 return Void();
183}
184
185Return<void> SecRadioIndication::cdmaCallWaiting(
186 ::android::hardware::radio::V1_0::RadioIndicationType type,
187 const ::android::hardware::radio::V1_0::CdmaCallWaiting& callWaitingRecord) {
188 radioIndication->cdmaCallWaiting(type, callWaitingRecord);
189 return Void();
190}
191
192Return<void> SecRadioIndication::cdmaOtaProvisionStatus(
193 ::android::hardware::radio::V1_0::RadioIndicationType type,
194 ::android::hardware::radio::V1_0::CdmaOtaProvisionStatus status) {
195 radioIndication->cdmaOtaProvisionStatus(type, status);
196 return Void();
197}
198
199Return<void> SecRadioIndication::cdmaInfoRec(
200 ::android::hardware::radio::V1_0::RadioIndicationType type,
201 const ::android::hardware::radio::V1_0::CdmaInformationRecords& records) {
202 radioIndication->cdmaInfoRec(type, records);
203 return Void();
204}
205
206Return<void> SecRadioIndication::indicateRingbackTone(
207 ::android::hardware::radio::V1_0::RadioIndicationType type, bool start) {
208 radioIndication->indicateRingbackTone(type, start);
209 return Void();
210}
211
212Return<void> SecRadioIndication::resendIncallMute(
213 ::android::hardware::radio::V1_0::RadioIndicationType type) {
214 radioIndication->resendIncallMute(type);
215 return Void();
216}
217
218Return<void> SecRadioIndication::cdmaSubscriptionSourceChanged(
219 ::android::hardware::radio::V1_0::RadioIndicationType type,
220 ::android::hardware::radio::V1_0::CdmaSubscriptionSource cdmaSource) {
221 radioIndication->cdmaSubscriptionSourceChanged(type, cdmaSource);
222 return Void();
223}
224
225Return<void> SecRadioIndication::cdmaPrlChanged(
226 ::android::hardware::radio::V1_0::RadioIndicationType type, int32_t version) {
227 radioIndication->cdmaPrlChanged(type, version);
228 return Void();
229}
230
231Return<void> SecRadioIndication::exitEmergencyCallbackMode(
232 ::android::hardware::radio::V1_0::RadioIndicationType type) {
233 radioIndication->exitEmergencyCallbackMode(type);
234 return Void();
235}
236
237Return<void> SecRadioIndication::rilConnected(
238 ::android::hardware::radio::V1_0::RadioIndicationType type) {
239 radioIndication->rilConnected(type);
240 return Void();
241}
242
243Return<void> SecRadioIndication::voiceRadioTechChanged(
244 ::android::hardware::radio::V1_0::RadioIndicationType type,
245 ::android::hardware::radio::V1_0::RadioTechnology rat) {
246 radioIndication->voiceRadioTechChanged(type, rat);
247 return Void();
248}
249
250Return<void> SecRadioIndication::cellInfoList(
251 ::android::hardware::radio::V1_0::RadioIndicationType type,
252 const hidl_vec<::android::hardware::radio::V1_0::CellInfo>& records) {
253 radioIndication->cellInfoList(type, records);
254 return Void();
255}
256
257Return<void> SecRadioIndication::imsNetworkStateChanged(
258 ::android::hardware::radio::V1_0::RadioIndicationType type) {
259 radioIndication->imsNetworkStateChanged(type);
260 return Void();
261}
262
263Return<void> SecRadioIndication::subscriptionStatusChanged(
264 ::android::hardware::radio::V1_0::RadioIndicationType type, bool activate) {
265 radioIndication->subscriptionStatusChanged(type, activate);
266 return Void();
267}
268
269Return<void> SecRadioIndication::srvccStateNotify(
270 ::android::hardware::radio::V1_0::RadioIndicationType type,
271 ::android::hardware::radio::V1_0::SrvccState state) {
272 radioIndication->srvccStateNotify(type, state);
273 return Void();
274}
275
276Return<void> SecRadioIndication::hardwareConfigChanged(
277 ::android::hardware::radio::V1_0::RadioIndicationType type,
278 const hidl_vec<::android::hardware::radio::V1_0::HardwareConfig>& configs) {
279 radioIndication->hardwareConfigChanged(type, configs);
280 return Void();
281}
282
283Return<void> SecRadioIndication::radioCapabilityIndication(
284 ::android::hardware::radio::V1_0::RadioIndicationType type,
285 const ::android::hardware::radio::V1_0::RadioCapability& rc) {
286 radioIndication->radioCapabilityIndication(type, rc);
287 return Void();
288}
289
290Return<void> SecRadioIndication::onSupplementaryServiceIndication(
291 ::android::hardware::radio::V1_0::RadioIndicationType type,
292 const ::android::hardware::radio::V1_0::StkCcUnsolSsResult& ss) {
293 radioIndication->onSupplementaryServiceIndication(type, ss);
294 return Void();
295}
296
297Return<void> SecRadioIndication::stkCallControlAlphaNotify(
298 ::android::hardware::radio::V1_0::RadioIndicationType type, const hidl_string& alpha) {
299 radioIndication->stkCallControlAlphaNotify(type, alpha);
300 return Void();
301}
302
303Return<void> SecRadioIndication::lceData(::android::hardware::radio::V1_0::RadioIndicationType type,
304 const ::android::hardware::radio::V1_0::LceDataInfo& lce) {
305 radioIndication->lceData(type, lce);
306 return Void();
307}
308
309Return<void> SecRadioIndication::pcoData(::android::hardware::radio::V1_0::RadioIndicationType type,
310 const ::android::hardware::radio::V1_0::PcoDataInfo& pco) {
311 radioIndication->pcoData(type, pco);
312 return Void();
313}
314
315Return<void> SecRadioIndication::modemReset(
316 ::android::hardware::radio::V1_0::RadioIndicationType type, const hidl_string& reason) {
317 radioIndication->modemReset(type, reason);
318 return Void();
319}
320
321// Methods from ::android::hardware::radio::V1_1::IRadioIndication follow.
322Return<void> SecRadioIndication::carrierInfoForImsiEncryption(
323 ::android::hardware::radio::V1_0::RadioIndicationType info) {
324 radioIndication->carrierInfoForImsiEncryption(info);
325 return Void();
326}
327
328Return<void> SecRadioIndication::networkScanResult(
329 ::android::hardware::radio::V1_0::RadioIndicationType type,
330 const ::android::hardware::radio::V1_1::NetworkScanResult& result) {
331 radioIndication->networkScanResult(type, result);
332 return Void();
333}
334
335Return<void> SecRadioIndication::keepaliveStatus(
336 ::android::hardware::radio::V1_0::RadioIndicationType type,
337 const ::android::hardware::radio::V1_1::KeepaliveStatus& status) {
338 radioIndication->keepaliveStatus(type, status);
339 return Void();
340}
341
342// Methods from ::android::hardware::radio::V1_2::IRadioIndication follow.
343Return<void> SecRadioIndication::networkScanResult_1_2(
344 ::android::hardware::radio::V1_0::RadioIndicationType type,
345 const ::android::hardware::radio::V1_2::NetworkScanResult& result) {
346 radioIndication->networkScanResult_1_2(type, result);
347 return Void();
348}
349
350Return<void> SecRadioIndication::cellInfoList_1_2(
351 ::android::hardware::radio::V1_0::RadioIndicationType type,
352 const hidl_vec<::android::hardware::radio::V1_2::CellInfo>& records) {
353 radioIndication->cellInfoList_1_2(type, records);
354 return Void();
355}
356
357Return<void> SecRadioIndication::currentLinkCapacityEstimate(
358 ::android::hardware::radio::V1_0::RadioIndicationType type,
359 const ::android::hardware::radio::V1_2::LinkCapacityEstimate& lce) {
360 radioIndication->currentLinkCapacityEstimate(type, lce);
361 return Void();
362}
363
364Return<void> SecRadioIndication::currentPhysicalChannelConfigs(
365 ::android::hardware::radio::V1_0::RadioIndicationType type,
366 const hidl_vec<::android::hardware::radio::V1_2::PhysicalChannelConfig>& configs) {
367 radioIndication->currentPhysicalChannelConfigs(type, configs);
368 return Void();
369}
370
371Return<void> SecRadioIndication::currentSignalStrength_1_2(
372 ::android::hardware::radio::V1_0::RadioIndicationType type,
373 const ::android::hardware::radio::V1_2::SignalStrength& signalStrength) {
374 radioIndication->currentSignalStrength_1_2(type, signalStrength);
375 return Void();
376}
377
378// Methods from ::vendor::samsung::hardware::radio::V1_2::IRadioIndication follow.
379Return<void> SecRadioIndication::secCurrentSignalStrength(
380 ::android::hardware::radio::V1_0::RadioIndicationType type,
381 const ::vendor::samsung::hardware::radio::V1_2::SecSignalStrength& signalStrength) {
382 ::android::hardware::radio::V1_2::SignalStrength newSignalStrength = signalStrength.base;
383 if (signalStrength.base.lte.signalStrength == 99) {
384 // Set lte signal to invalid
385 newSignalStrength.lte.timingAdvance = std::numeric_limits<int>::max();
386 }
387 radioIndication->currentSignalStrength_1_2(type, newSignalStrength);
388 return Void();
389}
390
391Return<void> SecRadioIndication::secImsNetworkStateChanged(
392 ::android::hardware::radio::V1_0::RadioIndicationType, const hidl_vec<int32_t>&) {
393 return Void();
394}
395
396Return<void> SecRadioIndication::oemAcbInfoChanged(
397 ::android::hardware::radio::V1_0::RadioIndicationType, const hidl_vec<int32_t>&) {
398 return Void();
399}
400
401Return<void> SecRadioIndication::oemCsFallback(::android::hardware::radio::V1_0::RadioIndicationType,
402 int32_t) {
403 return Void();
404}
405
406Return<void> SecRadioIndication::oemImsPreferenceChangeInd(
407 ::android::hardware::radio::V1_0::RadioIndicationType, const hidl_vec<int32_t>&) {
408 return Void();
409}
410
411Return<void> SecRadioIndication::oemVoiceRadioBearerHoStatusInd(
412 ::android::hardware::radio::V1_0::RadioIndicationType, int32_t) {
413 return Void();
414}
415
416Return<void> SecRadioIndication::oemHysteresisDcnInd(
417 ::android::hardware::radio::V1_0::RadioIndicationType) {
418 return Void();
419}
420
421Return<void> SecRadioIndication::oemTimerStatusChangedInd(int32_t, const hidl_vec<int32_t>&) {
422 return Void();
423}
424
425Return<void> SecRadioIndication::oemModemCapInd(int32_t, const hidl_vec<int8_t>&) {
426 return Void();
427}
428
429Return<void> SecRadioIndication::oemAmInd(int32_t, const hidl_string&) {
430 return Void();
431}
432
433Return<void> SecRadioIndication::oemTrunRadioOnInd(int32_t) {
434 return Void();
435}
436
437Return<void> SecRadioIndication::oemSimPbReadyInd(int32_t) {
438 return Void();
439}
440
441Return<void> SecRadioIndication::oemPbInitCompleteInd(int32_t) {
442 return Void();
443}
444
445Return<void> SecRadioIndication::oemDeviceReadyNoti(int32_t) {
446 return Void();
447}
448
449Return<void> SecRadioIndication::oemStkSmsSendResultInd(int32_t, int32_t) {
450 return Void();
451}
452
453Return<void> SecRadioIndication::oemStkCallControlResultInd(int32_t, const hidl_string&) {
454 return Void();
455}
456
457Return<void> SecRadioIndication::oemSimSwapStateChangedInd(int32_t, int32_t) {
458 return Void();
459}
460
461Return<void> SecRadioIndication::oemSimCountMismatchedInd(int32_t, int32_t) {
462 return Void();
463}
464
465Return<void> SecRadioIndication::oemSimIccidNoti(int32_t, const hidl_string&) {
466 return Void();
467}
468
469Return<void> SecRadioIndication::oemSimOnOffNoti(int32_t, int32_t) {
470 return Void();
471}
472
473Return<void> SecRadioIndication::oemReleaseCompleteMessageInd(
474 int32_t, const ::vendor::samsung::hardware::radio::V1_2::OemSSReleaseComplete&) {
475 return Void();
476}
477
478Return<void> SecRadioIndication::oemSapNoti(int32_t, const hidl_vec<int8_t>&) {
479 return Void();
480}
481
482Return<void> SecRadioIndication::oemNrBearerAllocationChangeInd(int32_t, int32_t) {
483 return Void();
484}
485
486Return<void> SecRadioIndication::oem5gStatusChangeInd(int32_t, int32_t) {
487 return Void();
488}
489
490Return<void> SecRadioIndication::oemNrDcParamChangeInd(
491 int32_t, const ::vendor::samsung::hardware::radio::V1_2::DcParam&) {
492 return Void();
493}
494
495Return<void> SecRadioIndication::oemNrSignalStrengthInd(
496 int32_t, const ::vendor::samsung::hardware::radio::V1_2::NrSignalStrength&) {
497 return Void();
498}
499
500Return<void> SecRadioIndication::oemLoadApnProfile(const hidl_string&, oemLoadApnProfile_cb) {
501 return Void();
502}
503
504Return<int32_t> SecRadioIndication::oemGetSettingValue(const hidl_string&, const hidl_string&) {
505 return int32_t{};
506}
507
508} // namespace implementation
509} // namespace V1_2
510} // namespace radio
511} // namespace hardware
512} // namespace samsung
513} // namespace vendor