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

Commit 6ad943c9 authored by nharold's avatar nharold Committed by Gerrit Code Review
Browse files

Merge "Add a Test for RadioBandMode to Ensure Auto Mode"

parents f8ce2138 d07b5895
Loading
Loading
Loading
Loading
+30 −0
Original line number Diff line number Diff line
@@ -710,3 +710,33 @@ TEST_F(RadioHidlTest_v1_2, getDataRegistrationState) {
        radioRsp_v1_2->rspInfo.error,
        {RadioError::NONE, RadioError::RADIO_NOT_AVAILABLE, RadioError::NOT_PROVISIONED}));
}

/*
 * Test IRadio.getAvailableBandModes() for the response returned.
 */
TEST_F(RadioHidlTest_v1_2, getAvailableBandModes) {
    int serial = GetRandomSerialNumber();

    Return<void> res = radio_v1_2->getAvailableBandModes(serial);
    ASSERT_OK(res);
    EXPECT_EQ(std::cv_status::no_timeout, wait());
    EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_2->rspInfo.type);
    EXPECT_EQ(serial, radioRsp_v1_2->rspInfo.serial);
    ALOGI("getAvailableBandModes, rspInfo.error = %s\n",
          toString(radioRsp_v1_2->rspInfo.error).c_str());
    ASSERT_TRUE(
        CheckAnyOfErrors(radioRsp_v1_2->rspInfo.error,
                         {RadioError::NONE, RadioError::RADIO_NOT_AVAILABLE, RadioError::MODEM_ERR,
                          RadioError::INTERNAL_ERR,
                          // If REQUEST_NOT_SUPPORTED is returned, then it should also be returned
                          // for setRandMode().
                          RadioError::REQUEST_NOT_SUPPORTED}));
    bool hasUnspecifiedBandMode = false;
    if (radioRsp_v1_2->rspInfo.error == RadioError::NONE) {
        for (const RadioBandMode& mode : radioRsp_v1_2->radioBandModes) {
            // Automatic mode selection must be supported
            if (mode == RadioBandMode::BAND_MODE_UNSPECIFIED) hasUnspecifiedBandMode = true;
        }
        ASSERT_TRUE(hasUnspecifiedBandMode);
    }
}
+2 −0
Original line number Diff line number Diff line
@@ -51,6 +51,8 @@ class RadioResponse_v1_2 : public V1_1::IRadioResponse {
    RadioHidlTest_v1_2& parent_v1_2;

   public:
    hidl_vec<RadioBandMode> radioBandModes;

    RadioResponseInfo rspInfo;

    RadioResponse_v1_2(RadioHidlTest_v1_2& parent_v1_2);
+4 −2
Original line number Diff line number Diff line
@@ -312,8 +312,10 @@ Return<void> RadioResponse_v1_2::setBandModeResponse(const RadioResponseInfo& /*
}

Return<void> RadioResponse_v1_2::getAvailableBandModesResponse(
    const RadioResponseInfo& /*info*/,
    const ::android::hardware::hidl_vec<RadioBandMode>& /*bandModes*/) {
    const RadioResponseInfo& info, const ::android::hardware::hidl_vec<RadioBandMode>& bandModes) {
    rspInfo = info;
    radioBandModes = bandModes;
    parent_v1_2.notify();
    return Void();
}