diff --git a/radio/1.6/vts/functional/radio_hidl_hal_api.cpp b/radio/1.6/vts/functional/radio_hidl_hal_api.cpp index d048776b60..391166be56 100644 --- a/radio/1.6/vts/functional/radio_hidl_hal_api.cpp +++ b/radio/1.6/vts/functional/radio_hidl_hal_api.cpp @@ -51,6 +51,49 @@ TEST_P(RadioHidlTest_v1_6, setAllowedNetworkTypesBitmap) { } } +/* + * Test IRadio.getAllowedNetworkTypesBitmap for the response returned. + */ +TEST_P(RadioHidlTest_v1_6, getAllowedNetworkTypesBitmap) { + serial = GetRandomSerialNumber(); + ::android::hardware::hidl_bitfield<::android::hardware::radio::V1_4::RadioAccessFamily> + allowedNetworkTypesBitmap{}; + allowedNetworkTypesBitmap |= ::android::hardware::radio::V1_4::RadioAccessFamily::LTE; + + radio_v1_6->setAllowedNetworkTypesBitmap(serial, allowedNetworkTypesBitmap); + + EXPECT_EQ(std::cv_status::no_timeout, wait()); + EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_6->rspInfo.type); + EXPECT_EQ(serial, radioRsp_v1_6->rspInfo.serial); + + if (radioRsp_v1_6->rspInfo.error == ::android::hardware::radio::V1_6::RadioError::NONE) { + sleep(3); // wait for modem + serial = GetRandomSerialNumber(); + radio_v1_6->getAllowedNetworkTypesBitmap(serial); + + EXPECT_EQ(std::cv_status::no_timeout, wait()); + EXPECT_EQ(RadioResponseType::SOLICITED, radioRsp_v1_6->rspInfo.type); + EXPECT_EQ(serial, radioRsp_v1_6->rspInfo.serial); + + if (getRadioHalCapabilities()) { + ASSERT_TRUE(CheckAnyOfErrors( + radioRsp_v1_6->rspInfo.error, + {::android::hardware::radio::V1_6::RadioError::REQUEST_NOT_SUPPORTED})); + } else { + ASSERT_TRUE(CheckAnyOfErrors( + radioRsp_v1_6->rspInfo.error, + {::android::hardware::radio::V1_6::RadioError::NONE, + ::android::hardware::radio::V1_6::RadioError::RADIO_NOT_AVAILABLE, + ::android::hardware::radio::V1_6::RadioError::OPERATION_NOT_ALLOWED, + ::android::hardware::radio::V1_6::RadioError::MODE_NOT_SUPPORTED, + ::android::hardware::radio::V1_6::RadioError::INTERNAL_ERR, + ::android::hardware::radio::V1_6::RadioError::INVALID_ARGUMENTS, + ::android::hardware::radio::V1_6::RadioError::MODEM_ERR, + ::android::hardware::radio::V1_6::RadioError::NO_RESOURCES})); + } + } +} + /* * Test IRadio.setupDataCall_1_6() for the response returned. */ diff --git a/radio/1.6/vts/functional/radio_response.cpp b/radio/1.6/vts/functional/radio_response.cpp index b1e679b35b..e1b9f56de0 100644 --- a/radio/1.6/vts/functional/radio_response.cpp +++ b/radio/1.6/vts/functional/radio_response.cpp @@ -1172,10 +1172,13 @@ Return RadioResponse_v1_6::setAllowedNetworkTypesBitmapResponse( } Return RadioResponse_v1_6::getAllowedNetworkTypesBitmapResponse( - const ::android::hardware::radio::V1_6::RadioResponseInfo& /*info*/, + const ::android::hardware::radio::V1_6::RadioResponseInfo& info, const ::android::hardware::hidl_bitfield< ::android::hardware::radio::V1_4::RadioAccessFamily> - /*networkTypeBitmap*/) { + networkTypeBitmap) { + rspInfo = info; + networkTypeBitmapResponse = networkTypeBitmap; + parent_v1_6.notify(info.serial); return Void(); }