Merge "Add getModemEnabled HAL API"

am: 5acbc036b0

Change-Id: I62b5453b62d8e68eebd09c784c82ed5b5d910caa
This commit is contained in:
Nazanin Bakhshi 2019-01-22 13:47:23 -08:00 committed by android-build-merger
commit e816c587f0
11 changed files with 2018 additions and 2 deletions

View file

@ -60,4 +60,15 @@ interface IRadio extends @1.2::IRadio {
* Response function is IRadioResponse.enableModemResponse() * Response function is IRadioResponse.enableModemResponse()
*/ */
oneway enableModem(int32_t serial, bool on); oneway enableModem(int32_t serial, bool on);
};
/**
* Request status of logical modem associated with the given serial number. It returns
* isEnabled=true if the logical modem is in low power mode without any activity, while
* the SIM card remains visible.
*
* @param serial Serial number of request.
*
* Response function is IRadioResponse.getModemStackStatusResponse()
*/
oneway getModemStackStatus(int32_t serial);
};

View file

@ -43,7 +43,17 @@ interface IRadioResponse extends @1.2::IRadioResponse {
* Valid errors returned: * Valid errors returned:
* RadioError:NONE * RadioError:NONE
* RadioError:RADIO_NOT_AVAILABLE * RadioError:RADIO_NOT_AVAILABLE
* RadioError:INTERNAL_ERR * RadioError:MODEM_ERR
*/ */
oneway enableModemResponse(RadioResponseInfo info); oneway enableModemResponse(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
*/
oneway getModemStackStatusResponse(RadioResponseInfo info, bool isEnabled);
}; };

27
radio/1.3/types.hal Normal file
View file

@ -0,0 +1,27 @@
/*
* Copyright (C) 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.hardware.radio@1.3;
import @1.0::RadioResponseType;
import @1.0::RadioError;
struct RadioResponseInfoModem {
RadioResponseType type; // Response type
int32_t serial; // Serial number of the request
RadioError error; // Response error
bool isEnabled; // whether modem is enabled or not
};

10
radio/1.3/vts/OWNERS Normal file
View file

@ -0,0 +1,10 @@
# Telephony team
amitmahajan@google.com
sanketpadawe@google.com
shuoq@google.com
sasindran@google.com
nazaninb@google.com
# VTS team
yuexima@google.com
yim@google.com

View file

@ -0,0 +1,36 @@
//
// Copyright (C) 2019 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
cc_test {
name: "VtsHalRadioV1_3TargetTest",
defaults: ["VtsHalTargetTestDefaults"],
srcs: [
"radio_hidl_hal_api.cpp",
"radio_hidl_hal_test.cpp",
"radio_response.cpp",
"radio_indication.cpp",
"VtsHalRadioV1_3TargetTest.cpp",
],
static_libs: [
"RadioVtsTestUtilBase",
"android.hardware.radio@1.3",
"android.hardware.radio@1.2",
"android.hardware.radio@1.1",
"android.hardware.radio@1.0",
],
header_libs: ["radio.util.header@1.0"],
test_suites: ["general-tests"],
}

View file

@ -0,0 +1,26 @@
/*
* Copyright (C) 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT 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 <radio_hidl_hal_utils_v1_3.h>
int main(int argc, char** argv) {
::testing::AddGlobalTestEnvironment(RadioHidlEnvironment::Instance());
::testing::InitGoogleTest(&argc, argv);
RadioHidlEnvironment::Instance()->init(&argc, argv);
int status = RUN_ALL_TESTS();
LOG(INFO) << "Test result = " << status;
return status;
}

View file

@ -0,0 +1,77 @@
/*
* Copyright (C) 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT 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 <radio_hidl_hal_utils_v1_3.h>
#include <vector>
#define ASSERT_OK(ret) ASSERT_TRUE(ret.isOk())
/*
* Test IRadio.enableMddem() for the response returned.
*/
TEST_F(RadioHidlTest_v1_3, enableModem) {
serial = GetRandomSerialNumber();
bool responseToggle = radioRsp_v1_3->enableModemResponseToggle;
Return<void> res = radio_v1_3->enableModem(serial, true);
ASSERT_OK(res);
EXPECT_EQ(std::cv_status::no_timeout, wait());
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_3->rspInfo.type);
EXPECT_EQ(serial, radioRsp_v1_3->rspInfo.serial);
ALOGI("getModemStackStatus, rspInfo.error = %s\n",
toString(radioRsp_v1_3->rspInfo.error).c_str());
ASSERT_TRUE(CheckAnyOfErrors(
radioRsp_v1_3->rspInfo.error,
{RadioError::NONE, RadioError::RADIO_NOT_AVAILABLE, RadioError::MODEM_ERR}));
// checking if getModemStackStatus returns true, as modem was enabled above
if (RadioError::NONE == radioRsp_v1_3->rspInfo.error) {
// wait until modem enabling is finished
while (responseToggle == radioRsp_v1_3->enableModemResponseToggle) {
sleep(1);
}
Return<void> resEnabled = radio_v1_3->getModemStackStatus(serial);
ASSERT_OK(resEnabled);
EXPECT_EQ(std::cv_status::no_timeout, wait());
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_3->rspInfo.type);
EXPECT_EQ(serial, radioRsp_v1_3->rspInfo.serial);
ALOGI("getModemStackStatus, rspInfo.error = %s\n",
toString(radioRsp_v1_3->rspInfo.error).c_str());
ASSERT_TRUE(CheckAnyOfErrors(
radioRsp_v1_3->rspInfo.error,
{RadioError::NONE, RadioError::RADIO_NOT_AVAILABLE, RadioError::MODEM_ERR}));
// verify that enableModem did set isEnabled correctly
EXPECT_EQ(true, radioRsp_v1_3->isModemEnabled);
}
}
/*
* Test IRadio.getModemStackStatus() for the response returned.
*/
TEST_F(RadioHidlTest_v1_3, getModemStackStatus) {
serial = GetRandomSerialNumber();
Return<void> res = radio_v1_3->getModemStackStatus(serial);
ASSERT_OK(res);
EXPECT_EQ(std::cv_status::no_timeout, wait());
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_3->rspInfo.type);
EXPECT_EQ(serial, radioRsp_v1_3->rspInfo.serial);
ALOGI("getModemStackStatus, rspInfo.error = %s\n",
toString(radioRsp_v1_3->rspInfo.error).c_str());
ASSERT_TRUE(CheckAnyOfErrors(
radioRsp_v1_3->rspInfo.error,
{RadioError::NONE, RadioError::RADIO_NOT_AVAILABLE, RadioError::MODEM_ERR}));
}

View file

@ -0,0 +1,87 @@
/*
* Copyright (C) 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT 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 <radio_hidl_hal_utils_v1_3.h>
void RadioHidlTest_v1_3::SetUp() {
radio_v1_3 = ::testing::VtsHalHidlTargetTestBase::getService<
::android::hardware::radio::V1_3::IRadio>(
RadioHidlEnvironment::Instance()
->getServiceName<::android::hardware::radio::V1_3::IRadio>(
hidl_string(RADIO_SERVICE_NAME)));
if (radio_v1_3 == NULL) {
sleep(60);
radio_v1_3 = ::testing::VtsHalHidlTargetTestBase::getService<
::android::hardware::radio::V1_3::IRadio>(
RadioHidlEnvironment::Instance()
->getServiceName<::android::hardware::radio::V1_3::IRadio>(
hidl_string(RADIO_SERVICE_NAME)));
}
ASSERT_NE(nullptr, radio_v1_3.get());
radioRsp_v1_3 = new (std::nothrow) RadioResponse_v1_3(*this);
ASSERT_NE(nullptr, radioRsp_v1_3.get());
count_ = 0;
radioInd_v1_3 = new (std::nothrow) RadioIndication_v1_3(*this);
ASSERT_NE(nullptr, radioInd_v1_3.get());
radio_v1_3->setResponseFunctions(radioRsp_v1_3, radioInd_v1_3);
updateSimCardStatus();
EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_3->rspInfo.type);
EXPECT_EQ(serial, radioRsp_v1_3->rspInfo.serial);
EXPECT_EQ(RadioError::NONE, radioRsp_v1_3->rspInfo.error);
/* Enforce Vts Testing with Sim Status Present only. */
EXPECT_EQ(CardState::PRESENT, cardStatus.base.cardState);
}
/*
* Notify that the response message is received.
*/
void RadioHidlTest_v1_3::notify(int receivedSerial) {
std::unique_lock<std::mutex> lock(mtx_);
if (serial == receivedSerial) {
count_++;
cv_.notify_one();
}
}
/*
* Wait till the response message is notified or till TIMEOUT_PERIOD.
*/
std::cv_status RadioHidlTest_v1_3::wait() {
std::unique_lock<std::mutex> lock(mtx_);
std::cv_status status = std::cv_status::no_timeout;
auto now = std::chrono::system_clock::now();
while (count_ == 0) {
status = cv_.wait_until(lock, now + std::chrono::seconds(TIMEOUT_PERIOD));
if (status == std::cv_status::timeout) {
return status;
}
}
count_--;
return status;
}
void RadioHidlTest_v1_3::updateSimCardStatus() {
serial = GetRandomSerialNumber();
radio_v1_3->getIccCardStatus(serial);
EXPECT_EQ(std::cv_status::no_timeout, wait());
}

View file

@ -0,0 +1,658 @@
/*
* Copyright (C) 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT 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-base/logging.h>
#include <VtsHalHidlTargetTestBase.h>
#include <VtsHalHidlTargetTestEnvBase.h>
#include <chrono>
#include <condition_variable>
#include <mutex>
#include <android/hardware/radio/1.2/types.h>
#include <android/hardware/radio/1.3/IRadio.h>
#include <android/hardware/radio/1.3/IRadioIndication.h>
#include <android/hardware/radio/1.3/IRadioResponse.h>
#include "vts_test_util.h"
using namespace ::android::hardware::radio::V1_3;
using namespace ::android::hardware::radio::V1_2;
using namespace ::android::hardware::radio::V1_1;
using namespace ::android::hardware::radio::V1_0;
using ::android::sp;
using ::android::hardware::hidl_bitfield;
using ::android::hardware::hidl_string;
using ::android::hardware::hidl_vec;
using ::android::hardware::Return;
using ::android::hardware::Void;
#define TIMEOUT_PERIOD 75
#define RADIO_SERVICE_NAME "slot1"
class RadioHidlTest_v1_3;
extern ::android::hardware::radio::V1_2::CardStatus cardStatus;
/* Callback class for radio response v1_3*/
class RadioResponse_v1_3 : public ::android::hardware::radio::V1_3::IRadioResponse {
protected:
RadioHidlTest_v1_3& parent_v1_3;
public:
RadioResponseInfo rspInfo;
// Modem
bool isModemEnabled;
bool enableModemResponseToggle = false;
// Data
::android::hardware::radio::V1_2::DataRegStateResult dataRegResp;
RadioResponse_v1_3(RadioHidlTest_v1_3& parent_v1_3);
virtual ~RadioResponse_v1_3() = default;
Return<void> getIccCardStatusResponse(
const RadioResponseInfo& info,
const ::android::hardware::radio::V1_0::CardStatus& cardStatus);
Return<void> supplyIccPinForAppResponse(const RadioResponseInfo& info,
int32_t remainingRetries);
Return<void> supplyIccPukForAppResponse(const RadioResponseInfo& info,
int32_t remainingRetries);
Return<void> supplyIccPin2ForAppResponse(const RadioResponseInfo& info,
int32_t remainingRetries);
Return<void> supplyIccPuk2ForAppResponse(const RadioResponseInfo& info,
int32_t remainingRetries);
Return<void> changeIccPinForAppResponse(const RadioResponseInfo& info,
int32_t remainingRetries);
Return<void> changeIccPin2ForAppResponse(const RadioResponseInfo& info,
int32_t remainingRetries);
Return<void> supplyNetworkDepersonalizationResponse(const RadioResponseInfo& info,
int32_t remainingRetries);
Return<void> getCurrentCallsResponse(
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<::android::hardware::radio::V1_0::Call>& calls);
Return<void> dialResponse(const RadioResponseInfo& info);
Return<void> getIMSIForAppResponse(const RadioResponseInfo& info,
const ::android::hardware::hidl_string& imsi);
Return<void> hangupConnectionResponse(const RadioResponseInfo& info);
Return<void> hangupWaitingOrBackgroundResponse(const RadioResponseInfo& info);
Return<void> hangupForegroundResumeBackgroundResponse(const RadioResponseInfo& info);
Return<void> switchWaitingOrHoldingAndActiveResponse(const RadioResponseInfo& info);
Return<void> conferenceResponse(const RadioResponseInfo& info);
Return<void> rejectCallResponse(const RadioResponseInfo& info);
Return<void> getLastCallFailCauseResponse(const RadioResponseInfo& info,
const LastCallFailCauseInfo& failCauseInfo);
Return<void> getSignalStrengthResponse(
const RadioResponseInfo& info,
const ::android::hardware::radio::V1_0::SignalStrength& sigStrength);
Return<void> getVoiceRegistrationStateResponse(
const RadioResponseInfo& info,
const ::android::hardware::radio::V1_0::VoiceRegStateResult& voiceRegResponse);
Return<void> getDataRegistrationStateResponse(
const RadioResponseInfo& info,
const ::android::hardware::radio::V1_0::DataRegStateResult& dataRegResponse);
Return<void> getOperatorResponse(const RadioResponseInfo& info,
const ::android::hardware::hidl_string& longName,
const ::android::hardware::hidl_string& shortName,
const ::android::hardware::hidl_string& numeric);
Return<void> setRadioPowerResponse(const RadioResponseInfo& info);
Return<void> sendDtmfResponse(const RadioResponseInfo& info);
Return<void> sendSmsResponse(const RadioResponseInfo& info, const SendSmsResult& sms);
Return<void> sendSMSExpectMoreResponse(const RadioResponseInfo& info, const SendSmsResult& sms);
Return<void> setupDataCallResponse(const RadioResponseInfo& info,
const SetupDataCallResult& dcResponse);
Return<void> iccIOForAppResponse(const RadioResponseInfo& info, const IccIoResult& iccIo);
Return<void> sendUssdResponse(const RadioResponseInfo& info);
Return<void> cancelPendingUssdResponse(const RadioResponseInfo& info);
Return<void> getClirResponse(const RadioResponseInfo& info, int32_t n, int32_t m);
Return<void> setClirResponse(const RadioResponseInfo& info);
Return<void> getCallForwardStatusResponse(
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<CallForwardInfo>& call_forwardInfos);
Return<void> setCallForwardResponse(const RadioResponseInfo& info);
Return<void> getCallWaitingResponse(const RadioResponseInfo& info, bool enable,
int32_t serviceClass);
Return<void> setCallWaitingResponse(const RadioResponseInfo& info);
Return<void> acknowledgeLastIncomingGsmSmsResponse(const RadioResponseInfo& info);
Return<void> acceptCallResponse(const RadioResponseInfo& info);
Return<void> deactivateDataCallResponse(const RadioResponseInfo& info);
Return<void> getFacilityLockForAppResponse(const RadioResponseInfo& info, int32_t response);
Return<void> setFacilityLockForAppResponse(const RadioResponseInfo& info, int32_t retry);
Return<void> setBarringPasswordResponse(const RadioResponseInfo& info);
Return<void> getNetworkSelectionModeResponse(const RadioResponseInfo& info, bool manual);
Return<void> setNetworkSelectionModeAutomaticResponse(const RadioResponseInfo& info);
Return<void> setNetworkSelectionModeManualResponse(const RadioResponseInfo& info);
Return<void> getAvailableNetworksResponse(
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<OperatorInfo>& networkInfos);
Return<void> startDtmfResponse(const RadioResponseInfo& info);
Return<void> stopDtmfResponse(const RadioResponseInfo& info);
Return<void> getBasebandVersionResponse(const RadioResponseInfo& info,
const ::android::hardware::hidl_string& version);
Return<void> separateConnectionResponse(const RadioResponseInfo& info);
Return<void> setMuteResponse(const RadioResponseInfo& info);
Return<void> getMuteResponse(const RadioResponseInfo& info, bool enable);
Return<void> getClipResponse(const RadioResponseInfo& info, ClipStatus status);
Return<void> getDataCallListResponse(
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<SetupDataCallResult>& dcResponse);
Return<void> sendOemRilRequestRawResponse(const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<uint8_t>& data);
Return<void> sendOemRilRequestStringsResponse(
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<::android::hardware::hidl_string>& data);
Return<void> setSuppServiceNotificationsResponse(const RadioResponseInfo& info);
Return<void> writeSmsToSimResponse(const RadioResponseInfo& info, int32_t index);
Return<void> deleteSmsOnSimResponse(const RadioResponseInfo& info);
Return<void> setBandModeResponse(const RadioResponseInfo& info);
Return<void> getAvailableBandModesResponse(
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<RadioBandMode>& bandModes);
Return<void> sendEnvelopeResponse(const RadioResponseInfo& info,
const ::android::hardware::hidl_string& commandResponse);
Return<void> sendTerminalResponseToSimResponse(const RadioResponseInfo& info);
Return<void> handleStkCallSetupRequestFromSimResponse(const RadioResponseInfo& info);
Return<void> explicitCallTransferResponse(const RadioResponseInfo& info);
Return<void> setPreferredNetworkTypeResponse(const RadioResponseInfo& info);
Return<void> getPreferredNetworkTypeResponse(const RadioResponseInfo& info,
PreferredNetworkType nwType);
Return<void> getNeighboringCidsResponse(
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<NeighboringCell>& cells);
Return<void> setLocationUpdatesResponse(const RadioResponseInfo& info);
Return<void> setCdmaSubscriptionSourceResponse(const RadioResponseInfo& info);
Return<void> setCdmaRoamingPreferenceResponse(const RadioResponseInfo& info);
Return<void> getCdmaRoamingPreferenceResponse(const RadioResponseInfo& info,
CdmaRoamingType type);
Return<void> setTTYModeResponse(const RadioResponseInfo& info);
Return<void> getTTYModeResponse(const RadioResponseInfo& info, TtyMode mode);
Return<void> setPreferredVoicePrivacyResponse(const RadioResponseInfo& info);
Return<void> getPreferredVoicePrivacyResponse(const RadioResponseInfo& info, bool enable);
Return<void> sendCDMAFeatureCodeResponse(const RadioResponseInfo& info);
Return<void> sendBurstDtmfResponse(const RadioResponseInfo& info);
Return<void> sendCdmaSmsResponse(const RadioResponseInfo& info, const SendSmsResult& sms);
Return<void> acknowledgeLastIncomingCdmaSmsResponse(const RadioResponseInfo& info);
Return<void> getGsmBroadcastConfigResponse(
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<GsmBroadcastSmsConfigInfo>& configs);
Return<void> setGsmBroadcastConfigResponse(const RadioResponseInfo& info);
Return<void> setGsmBroadcastActivationResponse(const RadioResponseInfo& info);
Return<void> getCdmaBroadcastConfigResponse(
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<CdmaBroadcastSmsConfigInfo>& configs);
Return<void> setCdmaBroadcastConfigResponse(const RadioResponseInfo& info);
Return<void> setCdmaBroadcastActivationResponse(const RadioResponseInfo& info);
Return<void> getCDMASubscriptionResponse(const RadioResponseInfo& info,
const ::android::hardware::hidl_string& mdn,
const ::android::hardware::hidl_string& hSid,
const ::android::hardware::hidl_string& hNid,
const ::android::hardware::hidl_string& min,
const ::android::hardware::hidl_string& prl);
Return<void> writeSmsToRuimResponse(const RadioResponseInfo& info, uint32_t index);
Return<void> deleteSmsOnRuimResponse(const RadioResponseInfo& info);
Return<void> getDeviceIdentityResponse(const RadioResponseInfo& info,
const ::android::hardware::hidl_string& imei,
const ::android::hardware::hidl_string& imeisv,
const ::android::hardware::hidl_string& esn,
const ::android::hardware::hidl_string& meid);
Return<void> exitEmergencyCallbackModeResponse(const RadioResponseInfo& info);
Return<void> getSmscAddressResponse(const RadioResponseInfo& info,
const ::android::hardware::hidl_string& smsc);
Return<void> setSmscAddressResponse(const RadioResponseInfo& info);
Return<void> reportSmsMemoryStatusResponse(const RadioResponseInfo& info);
Return<void> reportStkServiceIsRunningResponse(const RadioResponseInfo& info);
Return<void> getCdmaSubscriptionSourceResponse(const RadioResponseInfo& info,
CdmaSubscriptionSource source);
Return<void> requestIsimAuthenticationResponse(
const RadioResponseInfo& info, const ::android::hardware::hidl_string& response);
Return<void> acknowledgeIncomingGsmSmsWithPduResponse(const RadioResponseInfo& info);
Return<void> sendEnvelopeWithStatusResponse(const RadioResponseInfo& info,
const IccIoResult& iccIo);
Return<void> getVoiceRadioTechnologyResponse(const RadioResponseInfo& info,
RadioTechnology rat);
Return<void> getCellInfoListResponse(
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<::android::hardware::radio::V1_0::CellInfo>&
cellInfo);
Return<void> setCellInfoListRateResponse(const RadioResponseInfo& info);
Return<void> setInitialAttachApnResponse(const RadioResponseInfo& info);
Return<void> getImsRegistrationStateResponse(const RadioResponseInfo& info, bool isRegistered,
RadioTechnologyFamily ratFamily);
Return<void> sendImsSmsResponse(const RadioResponseInfo& info, const SendSmsResult& sms);
Return<void> iccTransmitApduBasicChannelResponse(const RadioResponseInfo& info,
const IccIoResult& result);
Return<void> iccOpenLogicalChannelResponse(
const RadioResponseInfo& info, int32_t channelId,
const ::android::hardware::hidl_vec<int8_t>& selectResponse);
Return<void> iccCloseLogicalChannelResponse(const RadioResponseInfo& info);
Return<void> iccTransmitApduLogicalChannelResponse(const RadioResponseInfo& info,
const IccIoResult& result);
Return<void> nvReadItemResponse(const RadioResponseInfo& info,
const ::android::hardware::hidl_string& result);
Return<void> nvWriteItemResponse(const RadioResponseInfo& info);
Return<void> nvWriteCdmaPrlResponse(const RadioResponseInfo& info);
Return<void> nvResetConfigResponse(const RadioResponseInfo& info);
Return<void> setUiccSubscriptionResponse(const RadioResponseInfo& info);
Return<void> setDataAllowedResponse(const RadioResponseInfo& info);
Return<void> getHardwareConfigResponse(
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<HardwareConfig>& config);
Return<void> requestIccSimAuthenticationResponse(const RadioResponseInfo& info,
const IccIoResult& result);
Return<void> setDataProfileResponse(const RadioResponseInfo& info);
Return<void> requestShutdownResponse(const RadioResponseInfo& info);
Return<void> getRadioCapabilityResponse(const RadioResponseInfo& info,
const RadioCapability& rc);
Return<void> setRadioCapabilityResponse(const RadioResponseInfo& info,
const RadioCapability& rc);
Return<void> startLceServiceResponse(const RadioResponseInfo& info,
const LceStatusInfo& statusInfo);
Return<void> stopLceServiceResponse(const RadioResponseInfo& info,
const LceStatusInfo& statusInfo);
Return<void> pullLceDataResponse(const RadioResponseInfo& info, const LceDataInfo& lceInfo);
Return<void> getModemActivityInfoResponse(const RadioResponseInfo& info,
const ActivityStatsInfo& activityInfo);
Return<void> setAllowedCarriersResponse(const RadioResponseInfo& info, int32_t numAllowed);
Return<void> getAllowedCarriersResponse(const RadioResponseInfo& info, bool allAllowed,
const CarrierRestrictions& carriers);
Return<void> sendDeviceStateResponse(const RadioResponseInfo& info);
Return<void> setIndicationFilterResponse(const RadioResponseInfo& info);
Return<void> setSimCardPowerResponse(const RadioResponseInfo& info);
Return<void> acknowledgeRequest(int32_t serial);
/* 1.1 Api */
Return<void> setCarrierInfoForImsiEncryptionResponse(const RadioResponseInfo& info);
Return<void> setSimCardPowerResponse_1_1(const RadioResponseInfo& info);
Return<void> startNetworkScanResponse(const RadioResponseInfo& info);
Return<void> stopNetworkScanResponse(const RadioResponseInfo& info);
Return<void> startKeepaliveResponse(const RadioResponseInfo& info,
const KeepaliveStatus& status);
Return<void> stopKeepaliveResponse(const RadioResponseInfo& info);
/* 1.2 Api */
Return<void> setSignalStrengthReportingCriteriaResponse(const RadioResponseInfo& info);
Return<void> setLinkCapacityReportingCriteriaResponse(const RadioResponseInfo& info);
Return<void> getIccCardStatusResponse_1_2(
const RadioResponseInfo& info,
const ::android::hardware::radio::V1_2::CardStatus& card_status);
Return<void> getCurrentCallsResponse_1_2(
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<::android::hardware::radio::V1_2::Call>& calls);
Return<void> getSignalStrengthResponse_1_2(
const RadioResponseInfo& info,
const ::android::hardware::radio::V1_2::SignalStrength& sig_strength);
Return<void> getCellInfoListResponse_1_2(
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<::android::hardware::radio::V1_2::CellInfo>&
cellInfo);
Return<void> getVoiceRegistrationStateResponse_1_2(
const RadioResponseInfo& info,
const ::android::hardware::radio::V1_2::VoiceRegStateResult& voiceRegResponse);
Return<void> getDataRegistrationStateResponse_1_2(
const RadioResponseInfo& info,
const ::android::hardware::radio::V1_2::DataRegStateResult& dataRegResponse);
/* 1.3 Api */
Return<void> setSystemSelectionChannelsResponse(const RadioResponseInfo& info);
Return<void> enableModemResponse(const RadioResponseInfo& info);
Return<void> getModemStackStatusResponse(const RadioResponseInfo& info, const bool enabled);
};
/* Callback class for radio indication */
class RadioIndication_v1_3 : public ::android::hardware::radio::V1_3::IRadioIndication {
protected:
RadioHidlTest_v1_3& parent_v1_3;
public:
RadioIndication_v1_3(RadioHidlTest_v1_3& parent_v1_3);
virtual ~RadioIndication_v1_3() = default;
/* 1.2 Api */
Return<void> networkScanResult_1_2(
RadioIndicationType type,
const ::android::hardware::radio::V1_2::NetworkScanResult& result);
Return<void> cellInfoList_1_2(
RadioIndicationType type,
const ::android::hardware::hidl_vec<::android::hardware::radio::V1_2::CellInfo>&
records);
Return<void> currentLinkCapacityEstimate(
RadioIndicationType type,
const ::android::hardware::radio::V1_2::LinkCapacityEstimate& lce);
Return<void> currentPhysicalChannelConfigs(
RadioIndicationType type,
const ::android::hardware::hidl_vec<
::android::hardware::radio::V1_2::PhysicalChannelConfig>& configs);
Return<void> currentSignalStrength_1_2(
RadioIndicationType type,
const ::android::hardware::radio::V1_2::SignalStrength& signalStrength);
/* 1.1 Api */
Return<void> carrierInfoForImsiEncryption(RadioIndicationType info);
Return<void> networkScanResult(
RadioIndicationType type,
const ::android::hardware::radio::V1_1::NetworkScanResult& result);
Return<void> keepaliveStatus(RadioIndicationType type, const KeepaliveStatus& status);
/* 1.0 Api */
Return<void> radioStateChanged(RadioIndicationType type, RadioState radioState);
Return<void> callStateChanged(RadioIndicationType type);
Return<void> networkStateChanged(RadioIndicationType type);
Return<void> newSms(RadioIndicationType type,
const ::android::hardware::hidl_vec<uint8_t>& pdu);
Return<void> newSmsStatusReport(RadioIndicationType type,
const ::android::hardware::hidl_vec<uint8_t>& pdu);
Return<void> newSmsOnSim(RadioIndicationType type, int32_t recordNumber);
Return<void> onUssd(RadioIndicationType type, UssdModeType modeType,
const ::android::hardware::hidl_string& msg);
Return<void> nitzTimeReceived(RadioIndicationType type,
const ::android::hardware::hidl_string& nitzTime,
uint64_t receivedTime);
Return<void> currentSignalStrength(
RadioIndicationType type,
const ::android::hardware::radio::V1_0::SignalStrength& signalStrength);
Return<void> dataCallListChanged(
RadioIndicationType type,
const ::android::hardware::hidl_vec<SetupDataCallResult>& dcList);
Return<void> suppSvcNotify(RadioIndicationType type, const SuppSvcNotification& suppSvc);
Return<void> stkSessionEnd(RadioIndicationType type);
Return<void> stkProactiveCommand(RadioIndicationType type,
const ::android::hardware::hidl_string& cmd);
Return<void> stkEventNotify(RadioIndicationType type,
const ::android::hardware::hidl_string& cmd);
Return<void> stkCallSetup(RadioIndicationType type, int64_t timeout);
Return<void> simSmsStorageFull(RadioIndicationType type);
Return<void> simRefresh(RadioIndicationType type, const SimRefreshResult& refreshResult);
Return<void> callRing(RadioIndicationType type, bool isGsm, const CdmaSignalInfoRecord& record);
Return<void> simStatusChanged(RadioIndicationType type);
Return<void> cdmaNewSms(RadioIndicationType type, const CdmaSmsMessage& msg);
Return<void> newBroadcastSms(RadioIndicationType type,
const ::android::hardware::hidl_vec<uint8_t>& data);
Return<void> cdmaRuimSmsStorageFull(RadioIndicationType type);
Return<void> restrictedStateChanged(RadioIndicationType type, PhoneRestrictedState state);
Return<void> enterEmergencyCallbackMode(RadioIndicationType type);
Return<void> cdmaCallWaiting(RadioIndicationType type,
const CdmaCallWaiting& callWaitingRecord);
Return<void> cdmaOtaProvisionStatus(RadioIndicationType type, CdmaOtaProvisionStatus status);
Return<void> cdmaInfoRec(RadioIndicationType type, const CdmaInformationRecords& records);
Return<void> indicateRingbackTone(RadioIndicationType type, bool start);
Return<void> resendIncallMute(RadioIndicationType type);
Return<void> cdmaSubscriptionSourceChanged(RadioIndicationType type,
CdmaSubscriptionSource cdmaSource);
Return<void> cdmaPrlChanged(RadioIndicationType type, int32_t version);
Return<void> exitEmergencyCallbackMode(RadioIndicationType type);
Return<void> rilConnected(RadioIndicationType type);
Return<void> voiceRadioTechChanged(RadioIndicationType type, RadioTechnology rat);
Return<void> cellInfoList(
RadioIndicationType type,
const ::android::hardware::hidl_vec<::android::hardware::radio::V1_0::CellInfo>&
records);
Return<void> imsNetworkStateChanged(RadioIndicationType type);
Return<void> subscriptionStatusChanged(RadioIndicationType type, bool activate);
Return<void> srvccStateNotify(RadioIndicationType type, SrvccState state);
Return<void> hardwareConfigChanged(
RadioIndicationType type, const ::android::hardware::hidl_vec<HardwareConfig>& configs);
Return<void> radioCapabilityIndication(RadioIndicationType type, const RadioCapability& rc);
Return<void> onSupplementaryServiceIndication(RadioIndicationType type,
const StkCcUnsolSsResult& ss);
Return<void> stkCallControlAlphaNotify(RadioIndicationType type,
const ::android::hardware::hidl_string& alpha);
Return<void> lceData(RadioIndicationType type, const LceDataInfo& lce);
Return<void> pcoData(RadioIndicationType type, const PcoDataInfo& pco);
Return<void> modemReset(RadioIndicationType type,
const ::android::hardware::hidl_string& reason);
};
// Test environment for Radio HIDL HAL.
class RadioHidlEnvironment : public ::testing::VtsHalHidlTargetTestEnvBase {
public:
// get the test environment singleton
static RadioHidlEnvironment* Instance() {
static RadioHidlEnvironment* instance = new RadioHidlEnvironment;
return instance;
}
virtual void registerTestServices() override {
registerTestService<::android::hardware::radio::V1_3::IRadio>();
}
private:
RadioHidlEnvironment() {}
};
// The main test class for Radio HIDL.
class RadioHidlTest_v1_3 : public ::testing::VtsHalHidlTargetTestBase {
protected:
std::mutex mtx_;
std::condition_variable cv_;
int count_;
/* Serial number for radio request */
int serial;
/* Update Sim Card Status */
void updateSimCardStatus();
public:
virtual void SetUp() override;
/* Used as a mechanism to inform the test about data/event callback */
void notify(int receivedSerial);
/* Test code calls this function to wait for response */
std::cv_status wait();
/* radio service handle */
sp<::android::hardware::radio::V1_3::IRadio> radio_v1_3;
/* radio response handle */
sp<RadioResponse_v1_3> radioRsp_v1_3;
/* radio indication handle */
sp<RadioIndication_v1_3> radioInd_v1_3;
};

View file

@ -0,0 +1,288 @@
/*
* Copyright (C) 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT 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 <radio_hidl_hal_utils_v1_3.h>
RadioIndication_v1_3::RadioIndication_v1_3(RadioHidlTest_v1_3& parent) : parent_v1_3(parent) {}
/* 1.2 Apis */
Return<void> RadioIndication_v1_3::networkScanResult_1_2(
RadioIndicationType /*type*/,
const ::android::hardware::radio::V1_2::NetworkScanResult& /*result*/) {
return Void();
}
Return<void> RadioIndication_v1_3::cellInfoList_1_2(
RadioIndicationType /*type*/,
const ::android::hardware::hidl_vec<
::android::hardware::radio::V1_2::CellInfo>& /*records*/) {
return Void();
}
Return<void> RadioIndication_v1_3::currentLinkCapacityEstimate(
RadioIndicationType /*type*/,
const ::android::hardware::radio::V1_2::LinkCapacityEstimate& /*lce*/) {
return Void();
}
Return<void> RadioIndication_v1_3::currentPhysicalChannelConfigs(
RadioIndicationType /*type*/,
const ::android::hardware::hidl_vec<
::android::hardware::radio::V1_2::PhysicalChannelConfig>& /*configs*/) {
return Void();
}
Return<void> RadioIndication_v1_3::currentSignalStrength_1_2(
RadioIndicationType /*type*/,
const ::android::hardware::radio::V1_2::SignalStrength& /*signalStrength*/) {
return Void();
}
/* 1.1 Apis */
Return<void> RadioIndication_v1_3::carrierInfoForImsiEncryption(RadioIndicationType /*info*/) {
return Void();
}
Return<void> RadioIndication_v1_3::networkScanResult(
RadioIndicationType /*type*/,
const ::android::hardware::radio::V1_1::NetworkScanResult& /*result*/) {
return Void();
}
Return<void> RadioIndication_v1_3::keepaliveStatus(RadioIndicationType /*type*/,
const KeepaliveStatus& /*status*/) {
return Void();
}
/* 1.0 Apis */
Return<void> RadioIndication_v1_3::radioStateChanged(RadioIndicationType /*type*/,
RadioState /*radioState*/) {
return Void();
}
Return<void> RadioIndication_v1_3::callStateChanged(RadioIndicationType /*type*/) {
return Void();
}
Return<void> RadioIndication_v1_3::networkStateChanged(RadioIndicationType /*type*/) {
return Void();
}
Return<void> RadioIndication_v1_3::newSms(RadioIndicationType /*type*/,
const ::android::hardware::hidl_vec<uint8_t>& /*pdu*/) {
return Void();
}
Return<void> RadioIndication_v1_3::newSmsStatusReport(
RadioIndicationType /*type*/, const ::android::hardware::hidl_vec<uint8_t>& /*pdu*/) {
return Void();
}
Return<void> RadioIndication_v1_3::newSmsOnSim(RadioIndicationType /*type*/,
int32_t /*recordNumber*/) {
return Void();
}
Return<void> RadioIndication_v1_3::onUssd(RadioIndicationType /*type*/, UssdModeType /*modeType*/,
const ::android::hardware::hidl_string& /*msg*/) {
return Void();
}
Return<void> RadioIndication_v1_3::nitzTimeReceived(
RadioIndicationType /*type*/, const ::android::hardware::hidl_string& /*nitzTime*/,
uint64_t /*receivedTime*/) {
return Void();
}
Return<void> RadioIndication_v1_3::currentSignalStrength(
RadioIndicationType /*type*/,
const ::android::hardware::radio::V1_0::SignalStrength& /*signalStrength*/) {
return Void();
}
Return<void> RadioIndication_v1_3::dataCallListChanged(
RadioIndicationType /*type*/,
const ::android::hardware::hidl_vec<SetupDataCallResult>& /*dcList*/) {
return Void();
}
Return<void> RadioIndication_v1_3::suppSvcNotify(RadioIndicationType /*type*/,
const SuppSvcNotification& /*suppSvc*/) {
return Void();
}
Return<void> RadioIndication_v1_3::stkSessionEnd(RadioIndicationType /*type*/) {
return Void();
}
Return<void> RadioIndication_v1_3::stkProactiveCommand(
RadioIndicationType /*type*/, const ::android::hardware::hidl_string& /*cmd*/) {
return Void();
}
Return<void> RadioIndication_v1_3::stkEventNotify(RadioIndicationType /*type*/,
const ::android::hardware::hidl_string& /*cmd*/) {
return Void();
}
Return<void> RadioIndication_v1_3::stkCallSetup(RadioIndicationType /*type*/, int64_t /*timeout*/) {
return Void();
}
Return<void> RadioIndication_v1_3::simSmsStorageFull(RadioIndicationType /*type*/) {
return Void();
}
Return<void> RadioIndication_v1_3::simRefresh(RadioIndicationType /*type*/,
const SimRefreshResult& /*refreshResult*/) {
return Void();
}
Return<void> RadioIndication_v1_3::callRing(RadioIndicationType /*type*/, bool /*isGsm*/,
const CdmaSignalInfoRecord& /*record*/) {
return Void();
}
Return<void> RadioIndication_v1_3::simStatusChanged(RadioIndicationType /*type*/) {
return Void();
}
Return<void> RadioIndication_v1_3::cdmaNewSms(RadioIndicationType /*type*/,
const CdmaSmsMessage& /*msg*/) {
return Void();
}
Return<void> RadioIndication_v1_3::newBroadcastSms(
RadioIndicationType /*type*/, const ::android::hardware::hidl_vec<uint8_t>& /*data*/) {
return Void();
}
Return<void> RadioIndication_v1_3::cdmaRuimSmsStorageFull(RadioIndicationType /*type*/) {
return Void();
}
Return<void> RadioIndication_v1_3::restrictedStateChanged(RadioIndicationType /*type*/,
PhoneRestrictedState /*state*/) {
return Void();
}
Return<void> RadioIndication_v1_3::enterEmergencyCallbackMode(RadioIndicationType /*type*/) {
return Void();
}
Return<void> RadioIndication_v1_3::cdmaCallWaiting(RadioIndicationType /*type*/,
const CdmaCallWaiting& /*callWaitingRecord*/) {
return Void();
}
Return<void> RadioIndication_v1_3::cdmaOtaProvisionStatus(RadioIndicationType /*type*/,
CdmaOtaProvisionStatus /*status*/) {
return Void();
}
Return<void> RadioIndication_v1_3::cdmaInfoRec(RadioIndicationType /*type*/,
const CdmaInformationRecords& /*records*/) {
return Void();
}
Return<void> RadioIndication_v1_3::indicateRingbackTone(RadioIndicationType /*type*/,
bool /*start*/) {
return Void();
}
Return<void> RadioIndication_v1_3::resendIncallMute(RadioIndicationType /*type*/) {
return Void();
}
Return<void> RadioIndication_v1_3::cdmaSubscriptionSourceChanged(
RadioIndicationType /*type*/, CdmaSubscriptionSource /*cdmaSource*/) {
return Void();
}
Return<void> RadioIndication_v1_3::cdmaPrlChanged(RadioIndicationType /*type*/,
int32_t /*version*/) {
return Void();
}
Return<void> RadioIndication_v1_3::exitEmergencyCallbackMode(RadioIndicationType /*type*/) {
return Void();
}
Return<void> RadioIndication_v1_3::rilConnected(RadioIndicationType /*type*/) {
return Void();
}
Return<void> RadioIndication_v1_3::voiceRadioTechChanged(RadioIndicationType /*type*/,
RadioTechnology /*rat*/) {
return Void();
}
Return<void> RadioIndication_v1_3::cellInfoList(
RadioIndicationType /*type*/,
const ::android::hardware::hidl_vec<
::android::hardware::radio::V1_0::CellInfo>& /*records*/) {
return Void();
}
Return<void> RadioIndication_v1_3::imsNetworkStateChanged(RadioIndicationType /*type*/) {
return Void();
}
Return<void> RadioIndication_v1_3::subscriptionStatusChanged(RadioIndicationType /*type*/,
bool /*activate*/) {
return Void();
}
Return<void> RadioIndication_v1_3::srvccStateNotify(RadioIndicationType /*type*/,
SrvccState /*state*/) {
return Void();
}
Return<void> RadioIndication_v1_3::hardwareConfigChanged(
RadioIndicationType /*type*/,
const ::android::hardware::hidl_vec<HardwareConfig>& /*configs*/) {
return Void();
}
Return<void> RadioIndication_v1_3::radioCapabilityIndication(RadioIndicationType /*type*/,
const RadioCapability& /*rc*/) {
return Void();
}
Return<void> RadioIndication_v1_3::onSupplementaryServiceIndication(
RadioIndicationType /*type*/, const StkCcUnsolSsResult& /*ss*/) {
return Void();
}
Return<void> RadioIndication_v1_3::stkCallControlAlphaNotify(
RadioIndicationType /*type*/, const ::android::hardware::hidl_string& /*alpha*/) {
return Void();
}
Return<void> RadioIndication_v1_3::lceData(RadioIndicationType /*type*/,
const LceDataInfo& /*lce*/) {
return Void();
}
Return<void> RadioIndication_v1_3::pcoData(RadioIndicationType /*type*/,
const PcoDataInfo& /*pco*/) {
return Void();
}
Return<void> RadioIndication_v1_3::modemReset(RadioIndicationType /*type*/,
const ::android::hardware::hidl_string& /*reason*/) {
return Void();
}

View file

@ -0,0 +1,786 @@
/*
* Copyright (C) 2019 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT 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 <radio_hidl_hal_utils_v1_3.h>
::android::hardware::radio::V1_2::CardStatus cardStatus;
RadioResponse_v1_3::RadioResponse_v1_3(RadioHidlTest_v1_3& parent) : parent_v1_3(parent) {}
/* 1.0 Apis */
Return<void> RadioResponse_v1_3::getIccCardStatusResponse(
const RadioResponseInfo& /*info*/,
const ::android::hardware::radio::V1_0::CardStatus& /*card_status*/) {
return Void();
}
Return<void> RadioResponse_v1_3::supplyIccPinForAppResponse(const RadioResponseInfo& /*info*/,
int32_t /*remainingRetries*/) {
return Void();
}
Return<void> RadioResponse_v1_3::supplyIccPukForAppResponse(const RadioResponseInfo& /*info*/,
int32_t /*remainingRetries*/) {
return Void();
}
Return<void> RadioResponse_v1_3::supplyIccPin2ForAppResponse(const RadioResponseInfo& /*info*/,
int32_t /*remainingRetries*/) {
return Void();
}
Return<void> RadioResponse_v1_3::supplyIccPuk2ForAppResponse(const RadioResponseInfo& /*info*/,
int32_t /*remainingRetries*/) {
return Void();
}
Return<void> RadioResponse_v1_3::changeIccPinForAppResponse(const RadioResponseInfo& /*info*/,
int32_t /*remainingRetries*/) {
return Void();
}
Return<void> RadioResponse_v1_3::changeIccPin2ForAppResponse(const RadioResponseInfo& /*info*/,
int32_t /*remainingRetries*/) {
return Void();
}
Return<void> RadioResponse_v1_3::supplyNetworkDepersonalizationResponse(
const RadioResponseInfo& /*info*/, int32_t /*remainingRetries*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getCurrentCallsResponse(
const RadioResponseInfo& /*info*/,
const ::android::hardware::hidl_vec<::android::hardware::radio::V1_0::Call>& /*calls*/) {
return Void();
}
Return<void> RadioResponse_v1_3::dialResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getIMSIForAppResponse(
const RadioResponseInfo& /*info*/, const ::android::hardware::hidl_string& /*imsi*/) {
return Void();
}
Return<void> RadioResponse_v1_3::hangupConnectionResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::hangupWaitingOrBackgroundResponse(
const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::hangupForegroundResumeBackgroundResponse(
const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::switchWaitingOrHoldingAndActiveResponse(
const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::conferenceResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::rejectCallResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getLastCallFailCauseResponse(
const RadioResponseInfo& /*info*/, const LastCallFailCauseInfo& /*failCauseInfo*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getSignalStrengthResponse(
const RadioResponseInfo& /*info*/,
const ::android::hardware::radio::V1_0::SignalStrength& /*sig_strength*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getVoiceRegistrationStateResponse(
const RadioResponseInfo& /*info*/,
const ::android::hardware::radio::V1_0::VoiceRegStateResult& /*voiceRegResponse*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getDataRegistrationStateResponse(
const RadioResponseInfo& /*info*/,
const ::android::hardware::radio::V1_0::DataRegStateResult& /*dataRegResponse*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getOperatorResponse(
const RadioResponseInfo& /*info*/, const ::android::hardware::hidl_string& /*longName*/,
const ::android::hardware::hidl_string& /*shortName*/,
const ::android::hardware::hidl_string& /*numeric*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setRadioPowerResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::sendDtmfResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::sendSmsResponse(const RadioResponseInfo& /*info*/,
const SendSmsResult& /*sms*/) {
return Void();
}
Return<void> RadioResponse_v1_3::sendSMSExpectMoreResponse(const RadioResponseInfo& /*info*/,
const SendSmsResult& /*sms*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setupDataCallResponse(const RadioResponseInfo& info,
const SetupDataCallResult& /*dcResponse*/) {
rspInfo = info;
parent_v1_3.notify(info.serial);
return Void();
}
Return<void> RadioResponse_v1_3::iccIOForAppResponse(const RadioResponseInfo& /*info*/,
const IccIoResult& /*iccIo*/) {
return Void();
}
Return<void> RadioResponse_v1_3::sendUssdResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::cancelPendingUssdResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getClirResponse(const RadioResponseInfo& /*info*/, int32_t /*n*/,
int32_t /*m*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setClirResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getCallForwardStatusResponse(
const RadioResponseInfo& /*info*/, const ::android::hardware::hidl_vec<CallForwardInfo>&
/*callForwardInfos*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setCallForwardResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getCallWaitingResponse(const RadioResponseInfo& /*info*/,
bool /*enable*/, int32_t /*serviceClass*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setCallWaitingResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::acknowledgeLastIncomingGsmSmsResponse(
const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::acceptCallResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::deactivateDataCallResponse(const RadioResponseInfo& info) {
rspInfo = info;
parent_v1_3.notify(info.serial);
return Void();
}
Return<void> RadioResponse_v1_3::getFacilityLockForAppResponse(const RadioResponseInfo& /*info*/,
int32_t /*response*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setFacilityLockForAppResponse(const RadioResponseInfo& /*info*/,
int32_t /*retry*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setBarringPasswordResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getNetworkSelectionModeResponse(const RadioResponseInfo& /*info*/,
bool /*manual*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setNetworkSelectionModeAutomaticResponse(
const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setNetworkSelectionModeManualResponse(
const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getAvailableNetworksResponse(
const RadioResponseInfo& /*info*/,
const ::android::hardware::hidl_vec<OperatorInfo>& /*networkInfos*/) {
return Void();
}
Return<void> RadioResponse_v1_3::startDtmfResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::stopDtmfResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getBasebandVersionResponse(
const RadioResponseInfo& /*info*/, const ::android::hardware::hidl_string& /*version*/) {
return Void();
}
Return<void> RadioResponse_v1_3::separateConnectionResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setMuteResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getMuteResponse(const RadioResponseInfo& /*info*/,
bool /*enable*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getClipResponse(const RadioResponseInfo& /*info*/,
ClipStatus /*status*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getDataCallListResponse(
const RadioResponseInfo& /*info*/,
const ::android::hardware::hidl_vec<SetupDataCallResult>& /*dcResponse*/) {
return Void();
}
Return<void> RadioResponse_v1_3::sendOemRilRequestRawResponse(
const RadioResponseInfo& /*info*/, const ::android::hardware::hidl_vec<uint8_t>& /*data*/) {
return Void();
}
Return<void> RadioResponse_v1_3::sendOemRilRequestStringsResponse(
const RadioResponseInfo& /*info*/,
const ::android::hardware::hidl_vec<::android::hardware::hidl_string>& /*data*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setSuppServiceNotificationsResponse(
const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::writeSmsToSimResponse(const RadioResponseInfo& /*info*/,
int32_t /*index*/) {
return Void();
}
Return<void> RadioResponse_v1_3::deleteSmsOnSimResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setBandModeResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getAvailableBandModesResponse(
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<RadioBandMode>& /* bandModes */) {
rspInfo = info;
parent_v1_3.notify(info.serial);
return Void();
}
Return<void> RadioResponse_v1_3::sendEnvelopeResponse(
const RadioResponseInfo& /*info*/,
const ::android::hardware::hidl_string& /*commandResponse*/) {
return Void();
}
Return<void> RadioResponse_v1_3::sendTerminalResponseToSimResponse(
const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::handleStkCallSetupRequestFromSimResponse(
const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::explicitCallTransferResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setPreferredNetworkTypeResponse(
const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getPreferredNetworkTypeResponse(const RadioResponseInfo& /*info*/,
PreferredNetworkType /*nw_type*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getNeighboringCidsResponse(
const RadioResponseInfo& /*info*/,
const ::android::hardware::hidl_vec<NeighboringCell>& /*cells*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setLocationUpdatesResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setCdmaSubscriptionSourceResponse(
const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setCdmaRoamingPreferenceResponse(
const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getCdmaRoamingPreferenceResponse(const RadioResponseInfo& /*info*/,
CdmaRoamingType /*type*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setTTYModeResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getTTYModeResponse(const RadioResponseInfo& /*info*/,
TtyMode /*mode*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setPreferredVoicePrivacyResponse(
const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getPreferredVoicePrivacyResponse(const RadioResponseInfo& /*info*/,
bool /*enable*/) {
return Void();
}
Return<void> RadioResponse_v1_3::sendCDMAFeatureCodeResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::sendBurstDtmfResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::sendCdmaSmsResponse(const RadioResponseInfo& /*info*/,
const SendSmsResult& /*sms*/) {
return Void();
}
Return<void> RadioResponse_v1_3::acknowledgeLastIncomingCdmaSmsResponse(
const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getGsmBroadcastConfigResponse(
const RadioResponseInfo& /*info*/,
const ::android::hardware::hidl_vec<GsmBroadcastSmsConfigInfo>& /*configs*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setGsmBroadcastConfigResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setGsmBroadcastActivationResponse(
const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getCdmaBroadcastConfigResponse(
const RadioResponseInfo& /*info*/,
const ::android::hardware::hidl_vec<CdmaBroadcastSmsConfigInfo>& /*configs*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setCdmaBroadcastConfigResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setCdmaBroadcastActivationResponse(
const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getCDMASubscriptionResponse(
const RadioResponseInfo& /*info*/, const ::android::hardware::hidl_string& /*mdn*/,
const ::android::hardware::hidl_string& /*hSid*/,
const ::android::hardware::hidl_string& /*hNid*/,
const ::android::hardware::hidl_string& /*min*/,
const ::android::hardware::hidl_string& /*prl*/) {
return Void();
}
Return<void> RadioResponse_v1_3::writeSmsToRuimResponse(const RadioResponseInfo& /*info*/,
uint32_t /*index*/) {
return Void();
}
Return<void> RadioResponse_v1_3::deleteSmsOnRuimResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getDeviceIdentityResponse(
const RadioResponseInfo& /*info*/, const ::android::hardware::hidl_string& /*imei*/,
const ::android::hardware::hidl_string& /*imeisv*/,
const ::android::hardware::hidl_string& /*esn*/,
const ::android::hardware::hidl_string& /*meid*/) {
return Void();
}
Return<void> RadioResponse_v1_3::exitEmergencyCallbackModeResponse(
const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getSmscAddressResponse(
const RadioResponseInfo& /*info*/, const ::android::hardware::hidl_string& /*smsc*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setSmscAddressResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::reportSmsMemoryStatusResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::reportStkServiceIsRunningResponse(
const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getCdmaSubscriptionSourceResponse(
const RadioResponseInfo& /*info*/, CdmaSubscriptionSource /*source*/) {
return Void();
}
Return<void> RadioResponse_v1_3::requestIsimAuthenticationResponse(
const RadioResponseInfo& /*info*/, const ::android::hardware::hidl_string& /*response*/) {
return Void();
}
Return<void> RadioResponse_v1_3::acknowledgeIncomingGsmSmsWithPduResponse(
const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::sendEnvelopeWithStatusResponse(const RadioResponseInfo& /*info*/,
const IccIoResult& /*iccIo*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getVoiceRadioTechnologyResponse(const RadioResponseInfo& /*info*/,
RadioTechnology /*rat*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getCellInfoListResponse(
const RadioResponseInfo& /*info*/,
const ::android::hardware::hidl_vec<
::android::hardware::radio::V1_0::CellInfo>& /*cellInfo*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setCellInfoListRateResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setInitialAttachApnResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getImsRegistrationStateResponse(
const RadioResponseInfo& /*info*/, bool /*isRegistered*/,
RadioTechnologyFamily /*ratFamily*/) {
return Void();
}
Return<void> RadioResponse_v1_3::sendImsSmsResponse(const RadioResponseInfo& /*info*/,
const SendSmsResult& /*sms*/) {
return Void();
}
Return<void> RadioResponse_v1_3::iccTransmitApduBasicChannelResponse(
const RadioResponseInfo& /*info*/, const IccIoResult& /*result*/) {
return Void();
}
Return<void> RadioResponse_v1_3::iccOpenLogicalChannelResponse(
const RadioResponseInfo& /*info*/, int32_t /*channelId*/,
const ::android::hardware::hidl_vec<int8_t>& /*selectResponse*/) {
return Void();
}
Return<void> RadioResponse_v1_3::iccCloseLogicalChannelResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::iccTransmitApduLogicalChannelResponse(
const RadioResponseInfo& /*info*/, const IccIoResult& /*result*/) {
return Void();
}
Return<void> RadioResponse_v1_3::nvReadItemResponse(
const RadioResponseInfo& /*info*/, const ::android::hardware::hidl_string& /*result*/) {
return Void();
}
Return<void> RadioResponse_v1_3::nvWriteItemResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::nvWriteCdmaPrlResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::nvResetConfigResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setUiccSubscriptionResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setDataAllowedResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getHardwareConfigResponse(
const RadioResponseInfo& /*info*/,
const ::android::hardware::hidl_vec<HardwareConfig>& /*config*/) {
return Void();
}
Return<void> RadioResponse_v1_3::requestIccSimAuthenticationResponse(
const RadioResponseInfo& /*info*/, const IccIoResult& /*result*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setDataProfileResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::requestShutdownResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getRadioCapabilityResponse(const RadioResponseInfo& /*info*/,
const RadioCapability& /*rc*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setRadioCapabilityResponse(const RadioResponseInfo& /*info*/,
const RadioCapability& /*rc*/) {
return Void();
}
Return<void> RadioResponse_v1_3::startLceServiceResponse(const RadioResponseInfo& /*info*/,
const LceStatusInfo& /*statusInfo*/) {
return Void();
}
Return<void> RadioResponse_v1_3::stopLceServiceResponse(const RadioResponseInfo& /*info*/,
const LceStatusInfo& /*statusInfo*/) {
return Void();
}
Return<void> RadioResponse_v1_3::pullLceDataResponse(const RadioResponseInfo& /*info*/,
const LceDataInfo& /*lceInfo*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getModemActivityInfoResponse(
const RadioResponseInfo& /*info*/, const ActivityStatsInfo& /*activityInfo*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setAllowedCarriersResponse(const RadioResponseInfo& /*info*/,
int32_t /*numAllowed*/) {
return Void();
}
Return<void> RadioResponse_v1_3::getAllowedCarriersResponse(
const RadioResponseInfo& /*info*/, bool /*allAllowed*/,
const CarrierRestrictions& /*carriers*/) {
return Void();
}
Return<void> RadioResponse_v1_3::sendDeviceStateResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setIndicationFilterResponse(const RadioResponseInfo& info) {
rspInfo = info;
parent_v1_3.notify(info.serial);
return Void();
}
Return<void> RadioResponse_v1_3::setSimCardPowerResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::acknowledgeRequest(int32_t /*serial*/) {
return Void();
}
/* 1.1 Apis */
Return<void> RadioResponse_v1_3::setCarrierInfoForImsiEncryptionResponse(
const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::setSimCardPowerResponse_1_1(const RadioResponseInfo& /*info*/) {
return Void();
}
Return<void> RadioResponse_v1_3::startNetworkScanResponse(const RadioResponseInfo& info) {
rspInfo = info;
parent_v1_3.notify(info.serial);
return Void();
}
Return<void> RadioResponse_v1_3::stopNetworkScanResponse(const RadioResponseInfo& info) {
rspInfo = info;
parent_v1_3.notify(info.serial);
return Void();
}
Return<void> RadioResponse_v1_3::startKeepaliveResponse(const RadioResponseInfo& /*info*/,
const KeepaliveStatus& /*status*/) {
return Void();
}
Return<void> RadioResponse_v1_3::stopKeepaliveResponse(const RadioResponseInfo& /*info*/) {
return Void();
}
/* 1.2 Apis */
Return<void> RadioResponse_v1_3::setSignalStrengthReportingCriteriaResponse(
const RadioResponseInfo& info) {
rspInfo = info;
parent_v1_3.notify(info.serial);
return Void();
}
Return<void> RadioResponse_v1_3::setLinkCapacityReportingCriteriaResponse(
const RadioResponseInfo& info) {
rspInfo = info;
parent_v1_3.notify(info.serial);
return Void();
}
Return<void> RadioResponse_v1_3::getIccCardStatusResponse_1_2(
const RadioResponseInfo& info,
const ::android::hardware::radio::V1_2::CardStatus& card_status) {
rspInfo = info;
cardStatus = card_status;
parent_v1_3.notify(info.serial);
return Void();
}
Return<void> RadioResponse_v1_3::getCurrentCallsResponse_1_2(
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<::android::hardware::radio::V1_2::Call>& /*calls*/) {
rspInfo = info;
parent_v1_3.notify(info.serial);
return Void();
}
Return<void> RadioResponse_v1_3::getSignalStrengthResponse_1_2(
const RadioResponseInfo& info,
const ::android::hardware::radio::V1_2::SignalStrength& /*sig_strength*/) {
rspInfo = info;
parent_v1_3.notify(info.serial);
return Void();
}
Return<void> RadioResponse_v1_3::getCellInfoListResponse_1_2(
const RadioResponseInfo& info,
const ::android::hardware::hidl_vec<
::android::hardware::radio::V1_2::CellInfo>& /*cellInfo*/) {
rspInfo = info;
parent_v1_3.notify(info.serial);
return Void();
}
Return<void> RadioResponse_v1_3::getVoiceRegistrationStateResponse_1_2(
const RadioResponseInfo& info,
const ::android::hardware::radio::V1_2::VoiceRegStateResult& /*voiceRegResponse*/) {
rspInfo = info;
parent_v1_3.notify(info.serial);
return Void();
}
Return<void> RadioResponse_v1_3::getDataRegistrationStateResponse_1_2(
const RadioResponseInfo& info,
const ::android::hardware::radio::V1_2::DataRegStateResult& dataRegResponse) {
rspInfo = info;
dataRegResp = dataRegResponse;
parent_v1_3.notify(info.serial);
return Void();
}
/* 1.3 Api */
Return<void> RadioResponse_v1_3::setSystemSelectionChannelsResponse(const RadioResponseInfo& info) {
rspInfo = info;
return Void();
}
Return<void> RadioResponse_v1_3::enableModemResponse(const RadioResponseInfo& info) {
rspInfo = info;
enableModemResponseToggle = !enableModemResponseToggle;
return Void();
}
Return<void> RadioResponse_v1_3::getModemStackStatusResponse(const RadioResponseInfo& info,
const bool enabled) {
rspInfo = info;
isModemEnabled = enabled;
return Void();
}