Merge "Fix: BroadcastradioHalTest.DabTune case failure" into android11-tests-dev

This commit is contained in:
Treehugger Robot 2023-01-06 07:05:02 +00:00 committed by Gerrit Code Review
commit 77b8b2524a
2 changed files with 43 additions and 4 deletions

View file

@ -1,6 +1,6 @@
# Automotive team
egranata@google.com
twasilczyk@google.com
xuweilin@google.com
oscarazu@google.com
# VTS team
dshi@google.com

View file

@ -514,9 +514,48 @@ TEST_P(BroadcastRadioHalTest, DabTune) {
ASSERT_TRUE(openSession());
auto programList = getProgramList();
if (!programList) {
printSkipped("Empty Station-List, tune cannot be performed");
return;
}
ProgramSelector sel = {};
uint64_t freq = config[config.size() / 2].frequency;
sel.primaryId = make_identifier(IdentifierType::DAB_FREQUENCY,freq);
uint64_t freq = 0;
bool dabStnPresent = false;
for (auto&& programInfo : *programList) {
if (utils::hasId(programInfo.selector, IdentifierType::DAB_FREQUENCY)) {
for (auto&& config_entry : config) {
if (config_entry.frequency == utils::getId(programInfo.selector,
IdentifierType::DAB_FREQUENCY, 0)) {
freq = config_entry.frequency;
break;
}
}
// Do not trigger a tune request if the programList entry does not contain
// a valid DAB frequency
if (freq == 0) {
continue;
}
uint64_t dabSidExt = utils::getId(programInfo.selector, IdentifierType::DAB_SID_EXT, 0);
uint64_t dabEns = utils::getId(programInfo.selector, IdentifierType::DAB_ENSEMBLE, 0);
sel.primaryId = make_identifier(IdentifierType::DAB_SID_EXT, dabSidExt);
hidl_vec<ProgramIdentifier> secondaryIds = {
make_identifier(IdentifierType::DAB_ENSEMBLE, dabEns),
make_identifier(IdentifierType::DAB_FREQUENCY, freq)
};
sel.secondaryIds = secondaryIds;
dabStnPresent = true;
break;
}
}
if (!dabStnPresent) {
printSkipped("No DAB stations in the list, tune cannot be performed");
return;
}
std::this_thread::sleep_for(gTuneWorkaround);