Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7e268122 authored by Shuo Qian's avatar Shuo Qian Committed by Android (Google) Code Review
Browse files

Merge "Add RadioIndication for Radio VTS test" into oc-dr1-dev

parents be3cb04f 54d88b7a
Loading
Loading
Loading
Loading
+1 −23
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ cc_test {
           "radio_hidl_hal_stk.cpp",
           "radio_hidl_hal_test.cpp",
           "radio_hidl_hal_voice.cpp",
           "radio_indication.cpp",
           "radio_response.cpp",
           "VtsHalRadioV1_0TargetTest.cpp",
           "vts_test_util.cpp"],
@@ -71,29 +72,6 @@ cc_test {
    ],
}

cc_library_static {
    name: "RadioHidlHalUtilsBase",
    srcs : [
        "radio_hidl_hal_test.cpp",
        "radio_response.cpp"
    ],
    shared_libs: [
        "libbase",
        "liblog",
        "libcutils",
        "libhidlbase",
        "libhidltransport",
        "libnativehelper",
        "libutils",
        "android.hardware.radio@1.0",
    ],
    static_libs: ["VtsHalHidlTargetTestBase"],
    cflags: [
        "-O0",
        "-g",
    ],
}

cc_library_static {
    name: "RadioVtsTestUtilBase",
    srcs : [
+6 −4
Original line number Diff line number Diff line
@@ -19,14 +19,16 @@
void RadioHidlTest::SetUp() {
    radio =
        ::testing::VtsHalHidlTargetTestBase::getService<IRadio>(hidl_string(RADIO_SERVICE_NAME));
    ASSERT_NE(radio, nullptr);
    ASSERT_NE(nullptr, radio.get());

    radioRsp = new RadioResponse(*this);
    ASSERT_NE(radioRsp, nullptr);
    radioRsp = new (std::nothrow) RadioResponse(*this);
    ASSERT_NE(nullptr, radioRsp.get());

    count = 0;

    radioInd = NULL;
    radioInd = new (std::nothrow) RadioIndication(*this);
    ASSERT_NE(nullptr, radioInd.get());

    radio->setResponseFunctions(radioRsp, radioInd);

    int serial = GetRandomSerialNumber();
+119 −48
Original line number Diff line number Diff line
@@ -28,53 +28,7 @@

#include "vts_test_util.h"

using ::android::hardware::radio::V1_0::ActivityStatsInfo;
using ::android::hardware::radio::V1_0::AppType;
using ::android::hardware::radio::V1_0::CardStatus;
using ::android::hardware::radio::V1_0::CardState;
using ::android::hardware::radio::V1_0::Call;
using ::android::hardware::radio::V1_0::CallForwardInfo;
using ::android::hardware::radio::V1_0::CarrierMatchType;
using ::android::hardware::radio::V1_0::CarrierRestrictions;
using ::android::hardware::radio::V1_0::CdmaRoamingType;
using ::android::hardware::radio::V1_0::CdmaBroadcastSmsConfigInfo;
using ::android::hardware::radio::V1_0::CdmaSubscriptionSource;
using ::android::hardware::radio::V1_0::CellInfo;
using ::android::hardware::radio::V1_0::ClipStatus;
using ::android::hardware::radio::V1_0::DataRegStateResult;
using ::android::hardware::radio::V1_0::DeviceStateType;
using ::android::hardware::radio::V1_0::Dial;
using ::android::hardware::radio::V1_0::GsmBroadcastSmsConfigInfo;
using ::android::hardware::radio::V1_0::HardwareConfig;
using ::android::hardware::radio::V1_0::IccIo;
using ::android::hardware::radio::V1_0::IccIoResult;
using ::android::hardware::radio::V1_0::IRadio;
using ::android::hardware::radio::V1_0::IRadioResponse;
using ::android::hardware::radio::V1_0::IRadioIndication;
using ::android::hardware::radio::V1_0::RadioConst;
using ::android::hardware::radio::V1_0::RadioError;
using ::android::hardware::radio::V1_0::RadioResponseInfo;
using ::android::hardware::radio::V1_0::LastCallFailCauseInfo;
using ::android::hardware::radio::V1_0::LceDataInfo;
using ::android::hardware::radio::V1_0::LceStatusInfo;
using ::android::hardware::radio::V1_0::NeighboringCell;
using ::android::hardware::radio::V1_0::NvItem;
using ::android::hardware::radio::V1_0::NvWriteItem;
using ::android::hardware::radio::V1_0::OperatorInfo;
using ::android::hardware::radio::V1_0::PreferredNetworkType;
using ::android::hardware::radio::V1_0::RadioBandMode;
using ::android::hardware::radio::V1_0::RadioCapability;
using ::android::hardware::radio::V1_0::RadioResponseType;
using ::android::hardware::radio::V1_0::RadioTechnology;
using ::android::hardware::radio::V1_0::RadioTechnologyFamily;
using ::android::hardware::radio::V1_0::ResetNvType;
using ::android::hardware::radio::V1_0::SelectUiccSub;
using ::android::hardware::radio::V1_0::SendSmsResult;
using ::android::hardware::radio::V1_0::SetupDataCallResult;
using ::android::hardware::radio::V1_0::SignalStrength;
using ::android::hardware::radio::V1_0::SimApdu;
using ::android::hardware::radio::V1_0::TtyMode;
using ::android::hardware::radio::V1_0::VoiceRegStateResult;
using namespace ::android::hardware::radio::V1_0;

using ::android::hardware::hidl_string;
using ::android::hardware::hidl_vec;
@@ -440,6 +394,123 @@ class RadioResponse : public IRadioResponse {
    Return<void> acknowledgeRequest(int32_t serial);
};

/* Callback class for radio indication */
class RadioIndication : public IRadioIndication {
   protected:
    RadioHidlTest& parent;

   public:
    RadioIndication(RadioHidlTest& parent);
    virtual ~RadioIndication() = default;

    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 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<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);
};

// The main test class for Radio HIDL.
class RadioHidlTest : public ::testing::VtsHalHidlTargetTestBase {
   protected:
@@ -466,7 +537,7 @@ class RadioHidlTest : public ::testing::VtsHalHidlTargetTestBase {

    sp<IRadio> radio;
    sp<RadioResponse> radioRsp;
    sp<IRadioIndication> radioInd;
    sp<RadioIndication> radioInd;
};

// A class for test environment setup
+229 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2017 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_0.h>

RadioIndication::RadioIndication(RadioHidlTest& parent) : parent(parent) {}

Return<void> RadioIndication::radioStateChanged(RadioIndicationType /*type*/,
                                                RadioState /*radioState*/) {
    return Void();
}

Return<void> RadioIndication::callStateChanged(RadioIndicationType /*type*/) {
    return Void();
}

Return<void> RadioIndication::networkStateChanged(RadioIndicationType /*type*/) {
    return Void();
}

Return<void> RadioIndication::newSms(RadioIndicationType /*type*/,
                                     const ::android::hardware::hidl_vec<uint8_t>& /*pdu*/) {
    return Void();
}

Return<void> RadioIndication::newSmsStatusReport(
    RadioIndicationType /*type*/, const ::android::hardware::hidl_vec<uint8_t>& /*pdu*/) {
    return Void();
}

Return<void> RadioIndication::newSmsOnSim(RadioIndicationType /*type*/, int32_t /*recordNumber*/) {
    return Void();
}

Return<void> RadioIndication::onUssd(RadioIndicationType /*type*/, UssdModeType /*modeType*/,
                                     const ::android::hardware::hidl_string& /*msg*/) {
    return Void();
}

Return<void> RadioIndication::nitzTimeReceived(RadioIndicationType /*type*/,
                                               const ::android::hardware::hidl_string& /*nitzTime*/,
                                               uint64_t /*receivedTime*/) {
    return Void();
}

Return<void> RadioIndication::currentSignalStrength(RadioIndicationType /*type*/,
                                                    const SignalStrength& /*signalStrength*/) {
    return Void();
}

Return<void> RadioIndication::dataCallListChanged(
    RadioIndicationType /*type*/,
    const ::android::hardware::hidl_vec<SetupDataCallResult>& /*dcList*/) {
    return Void();
}

Return<void> RadioIndication::suppSvcNotify(RadioIndicationType /*type*/,
                                            const SuppSvcNotification& /*suppSvc*/) {
    return Void();
}

Return<void> RadioIndication::stkSessionEnd(RadioIndicationType /*type*/) {
    return Void();
}

Return<void> RadioIndication::stkProactiveCommand(RadioIndicationType /*type*/,
                                                  const ::android::hardware::hidl_string& /*cmd*/) {
    return Void();
}

Return<void> RadioIndication::stkEventNotify(RadioIndicationType /*type*/,
                                             const ::android::hardware::hidl_string& /*cmd*/) {
    return Void();
}

Return<void> RadioIndication::stkCallSetup(RadioIndicationType /*type*/, int64_t /*timeout*/) {
    return Void();
}

Return<void> RadioIndication::simSmsStorageFull(RadioIndicationType /*type*/) {
    return Void();
}

Return<void> RadioIndication::simRefresh(RadioIndicationType /*type*/,
                                         const SimRefreshResult& /*refreshResult*/) {
    return Void();
}

Return<void> RadioIndication::callRing(RadioIndicationType /*type*/, bool /*isGsm*/,
                                       const CdmaSignalInfoRecord& /*record*/) {
    return Void();
}

Return<void> RadioIndication::simStatusChanged(RadioIndicationType /*type*/) {
    return Void();
}

Return<void> RadioIndication::cdmaNewSms(RadioIndicationType /*type*/,
                                         const CdmaSmsMessage& /*msg*/) {
    return Void();
}

Return<void> RadioIndication::newBroadcastSms(
    RadioIndicationType /*type*/, const ::android::hardware::hidl_vec<uint8_t>& /*data*/) {
    return Void();
}

Return<void> RadioIndication::cdmaRuimSmsStorageFull(RadioIndicationType /*type*/) {
    return Void();
}

Return<void> RadioIndication::restrictedStateChanged(RadioIndicationType /*type*/,
                                                     PhoneRestrictedState /*state*/) {
    return Void();
}

Return<void> RadioIndication::enterEmergencyCallbackMode(RadioIndicationType /*type*/) {
    return Void();
}

Return<void> RadioIndication::cdmaCallWaiting(RadioIndicationType /*type*/,
                                              const CdmaCallWaiting& /*callWaitingRecord*/) {
    return Void();
}

Return<void> RadioIndication::cdmaOtaProvisionStatus(RadioIndicationType /*type*/,
                                                     CdmaOtaProvisionStatus /*status*/) {
    return Void();
}

Return<void> RadioIndication::cdmaInfoRec(RadioIndicationType /*type*/,
                                          const CdmaInformationRecords& /*records*/) {
    return Void();
}

Return<void> RadioIndication::indicateRingbackTone(RadioIndicationType /*type*/, bool /*start*/) {
    return Void();
}

Return<void> RadioIndication::resendIncallMute(RadioIndicationType /*type*/) {
    return Void();
}

Return<void> RadioIndication::cdmaSubscriptionSourceChanged(RadioIndicationType /*type*/,
                                                            CdmaSubscriptionSource /*cdmaSource*/) {
    return Void();
}

Return<void> RadioIndication::cdmaPrlChanged(RadioIndicationType /*type*/, int32_t /*version*/) {
    return Void();
}

Return<void> RadioIndication::exitEmergencyCallbackMode(RadioIndicationType /*type*/) {
    return Void();
}

Return<void> RadioIndication::rilConnected(RadioIndicationType /*type*/) {
    return Void();
}

Return<void> RadioIndication::voiceRadioTechChanged(RadioIndicationType /*type*/,
                                                    RadioTechnology /*rat*/) {
    return Void();
}

Return<void> RadioIndication::cellInfoList(
    RadioIndicationType /*type*/, const ::android::hardware::hidl_vec<CellInfo>& /*records*/) {
    return Void();
}

Return<void> RadioIndication::imsNetworkStateChanged(RadioIndicationType /*type*/) {
    return Void();
}

Return<void> RadioIndication::subscriptionStatusChanged(RadioIndicationType /*type*/,
                                                        bool /*activate*/) {
    return Void();
}

Return<void> RadioIndication::srvccStateNotify(RadioIndicationType /*type*/, SrvccState /*state*/) {
    return Void();
}

Return<void> RadioIndication::hardwareConfigChanged(
    RadioIndicationType /*type*/,
    const ::android::hardware::hidl_vec<HardwareConfig>& /*configs*/) {
    return Void();
}

Return<void> RadioIndication::radioCapabilityIndication(RadioIndicationType /*type*/,
                                                        const RadioCapability& /*rc*/) {
    return Void();
}

Return<void> RadioIndication::onSupplementaryServiceIndication(RadioIndicationType /*type*/,
                                                               const StkCcUnsolSsResult& /*ss*/) {
    return Void();
}

Return<void> RadioIndication::stkCallControlAlphaNotify(
    RadioIndicationType /*type*/, const ::android::hardware::hidl_string& /*alpha*/) {
    return Void();
}

Return<void> RadioIndication::lceData(RadioIndicationType /*type*/, const LceDataInfo& /*lce*/) {
    return Void();
}

Return<void> RadioIndication::pcoData(RadioIndicationType /*type*/, const PcoDataInfo& /*pco*/) {
    return Void();
}

Return<void> RadioIndication::modemReset(RadioIndicationType /*type*/,
                                         const ::android::hardware::hidl_string& /*reason*/) {
    return Void();
}
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
@@ -19,6 +19,7 @@ cc_test {
    defaults: ["hidl_defaults"],
    srcs: ["radio_hidl_hal_api.cpp",
           "radio_hidl_hal_test.cpp",
           "radio_indication.cpp",
           "radio_response.cpp",
           "VtsHalRadioV1_1TargetTest.cpp"],
    shared_libs: [
@@ -33,7 +34,6 @@ cc_test {
        "android.hardware.radio@1.0",
    ],
    static_libs: ["VtsHalHidlTargetTestBase",
                  "RadioHidlHalUtilsBase",
                  "RadioVtsTestUtilBase"],
    header_libs: [
        "radio.util.header@1.0",
Loading