diff --git a/tv/tuner/aidl/vts/functional/VtsHalTvTunerTargetTest.cpp b/tv/tuner/aidl/vts/functional/VtsHalTvTunerTargetTest.cpp index 6987588ef7..766814f950 100644 --- a/tv/tuner/aidl/vts/functional/VtsHalTvTunerTargetTest.cpp +++ b/tv/tuner/aidl/vts/functional/VtsHalTvTunerTargetTest.cpp @@ -1198,6 +1198,10 @@ TEST_P(TunerFrontendAidlTest, BlindScanFrontend) { vector scan_configs = generateScanConfigurations(); for (auto& configuration : scan_configs) { scan = configuration; + // Skip test if the frontend implementation doesn't support blind scan + if (!frontendMap[scan.frontendId].supportBlindScan) { + continue; + } mFrontendTests.scanTest(frontendMap[scan.frontendId], FrontendScanType::SCAN_BLIND); } } @@ -1222,6 +1226,10 @@ TEST_P(TunerFrontendAidlTest, BlindScanFrontendWithEndFrequency) { vector scan_configs = generateScanConfigurations(); for (auto& configuration : scan_configs) { scan = configuration; + // Skip test if the frontend implementation doesn't support blind scan + if (!frontendMap[scan.frontendId].supportBlindScan) { + continue; + } mFrontendTests.scanTest(frontendMap[scan.frontendId], FrontendScanType::SCAN_BLIND); } } diff --git a/tv/tuner/aidl/vts/functional/VtsHalTvTunerTestConfigurations.h b/tv/tuner/aidl/vts/functional/VtsHalTvTunerTestConfigurations.h index 516cb62f04..5c13ed081a 100644 --- a/tv/tuner/aidl/vts/functional/VtsHalTvTunerTestConfigurations.h +++ b/tv/tuner/aidl/vts/functional/VtsHalTvTunerTestConfigurations.h @@ -612,6 +612,7 @@ inline void initFrontendConfig() { frontendMap[defaultFeId].isSoftwareFe = true; frontendMap[defaultFeId].canConnectToCiCam = true; frontendMap[defaultFeId].ciCamId = 0; + frontendMap[defaultFeId].supportBlindScan = true; FrontendDvbtSettings dvbt; dvbt.transmissionMode = FrontendDvbtTransmissionMode::MODE_8K_E; frontendMap[defaultFeId].settings.set(dvbt); diff --git a/tv/tuner/config/TunerTestingConfigAidlReaderV1_0.h b/tv/tuner/config/TunerTestingConfigAidlReaderV1_0.h index 9517520c18..5ffb38ffcd 100644 --- a/tv/tuner/config/TunerTestingConfigAidlReaderV1_0.h +++ b/tv/tuner/config/TunerTestingConfigAidlReaderV1_0.h @@ -114,6 +114,7 @@ struct FrontendConfig { FrontendSettings settings; vector tuneStatusTypes; vector expectTuneStatuses; + bool supportBlindScan; }; struct FilterConfig { @@ -354,6 +355,11 @@ struct TunerTestingConfigAidlReader1_0 { } else { hasHwFe = true; } + if (feConfig.hasSupportBlindScan()) { + frontendMap[id].supportBlindScan = feConfig.getSupportBlindScan(); + } else { + frontendMap[id].supportBlindScan = true; + } // TODO: b/182519645 complete the tune status config frontendMap[id].tuneStatusTypes = types; frontendMap[id].expectTuneStatuses = statuses; diff --git a/tv/tuner/config/api/current.txt b/tv/tuner/config/api/current.txt index dbd3486e67..ff2df90b80 100644 --- a/tv/tuner/config/api/current.txt +++ b/tv/tuner/config/api/current.txt @@ -369,6 +369,7 @@ package android.media.tuner.testing.configuration.V1_0 { method @Nullable public android.media.tuner.testing.configuration.V1_0.IsdbsFrontendSettings getIsdbsFrontendSettings_optional(); method @Nullable public android.media.tuner.testing.configuration.V1_0.IsdbtFrontendSettings getIsdbtFrontendSettings_optional(); method @Nullable public java.math.BigInteger getRemoveOutputPid(); + method @Nullable public boolean getSupportBlindScan(); method @Nullable public android.media.tuner.testing.configuration.V1_0.FrontendTypeEnum getType(); method public void setAtscFrontendSettings_optional(@Nullable android.media.tuner.testing.configuration.V1_0.AtscFrontendSettings); method public void setConnectToCicamId(@Nullable java.math.BigInteger); @@ -381,6 +382,7 @@ package android.media.tuner.testing.configuration.V1_0 { method public void setIsdbsFrontendSettings_optional(@Nullable android.media.tuner.testing.configuration.V1_0.IsdbsFrontendSettings); method public void setIsdbtFrontendSettings_optional(@Nullable android.media.tuner.testing.configuration.V1_0.IsdbtFrontendSettings); method public void setRemoveOutputPid(@Nullable java.math.BigInteger); + method public void setSupportBlindScan(@Nullable boolean); method public void setType(@Nullable android.media.tuner.testing.configuration.V1_0.FrontendTypeEnum); } diff --git a/tv/tuner/config/tuner_testing_dynamic_configuration.xsd b/tv/tuner/config/tuner_testing_dynamic_configuration.xsd index c51ac5183c..eafaca9a30 100644 --- a/tv/tuner/config/tuner_testing_dynamic_configuration.xsd +++ b/tv/tuner/config/tuner_testing_dynamic_configuration.xsd @@ -162,6 +162,7 @@ +