Fix: BroadcastradioHalTest.DabTune case failure am: 58eeec5925 am: c9fa6a8ef3 am: 3675d2fc6a am: 407a2b1328

Original change: https://android-review.googlesource.com/c/platform/hardware/interfaces/+/2379191

Change-Id: I3e10a10b0d19f6d8141d50558f857b4d7780c189
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Netajee Shubash Chand Miriyala
2023-01-25 20:41:22 +00:00
committed by Automerger Merge Worker
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);