Support DVB-T Cell Ids.

Bug: 210358443
Test: atest VtsHalTvTunerTargetTest
Change-Id: I36a61a78e919c036cde5ea24634eed28d7eb4e5d
This commit is contained in:
Hongguang
2021-12-20 14:48:14 -08:00
parent d2c6d679f4
commit 7eda78274c
11 changed files with 47 additions and 0 deletions

View File

@@ -50,4 +50,5 @@ union FrontendScanMessage {
android.hardware.tv.tuner.FrontendModulation modulation;
android.hardware.tv.tuner.FrontendDvbcAnnex annex;
boolean isHighPriority;
int[] dvbtCellIds;
}

View File

@@ -50,4 +50,5 @@ enum FrontendScanMessageType {
MODULATION = 12,
DVBC_ANNEX = 13,
HIGH_PRIORITY = 14,
DVBT_CELL_IDS = 15,
}

View File

@@ -75,4 +75,5 @@ union FrontendStatus {
android.hardware.tv.tuner.FrontendIsdbtMode isdbtMode;
android.hardware.tv.tuner.FrontendIsdbtPartialReceptionFlag partialReceptionFlag;
int[] streamIdList;
int[] dvbtCellIds;
}

View File

@@ -75,4 +75,5 @@ enum FrontendStatusType {
ISDBT_MODE = 37,
ISDBT_PARTIAL_RECEPTION_FLAG = 38,
STREAM_ID_LIST = 39,
DVBT_CELL_IDS = 40,
}

View File

@@ -70,4 +70,10 @@ union FrontendScanMessage {
FrontendDvbcAnnex annex;
boolean isHighPriority;
/**
* DVB-T Cell Ids.
*/
int[] dvbtCellIds;
}

View File

@@ -86,4 +86,10 @@ enum FrontendScanMessageType {
DVBC_ANNEX,
HIGH_PRIORITY,
/**
* DVB-T CELL ID.
*/
DVBT_CELL_IDS,
}

View File

@@ -236,4 +236,10 @@ union FrontendStatus {
*/
int[] streamIdList;
/**
* DVB-T Cell Id.
*/
int[] dvbtCellIds;
}

View File

@@ -223,4 +223,9 @@ enum FrontendStatusType {
* Stream ID list included in a transponder.
*/
STREAM_ID_LIST,
/**
* DVB-T Cell Id.
*/
DVBT_CELL_IDS,
}

View File

@@ -237,6 +237,13 @@ Frontend::~Frontend() {}
mCallback->onScanMessage(FrontendScanMessageType::HIGH_PRIORITY, msg);
}
if (mType == FrontendType::DVBT) {
FrontendScanMessage msg;
vector<int32_t> dvbtCellIds = {0, 1};
msg.set<FrontendScanMessage::Tag::dvbtCellIds>(dvbtCellIds);
mCallback->onScanMessage(FrontendScanMessageType::DVBT_CELL_IDS, msg);
}
{
FrontendScanMessage msg;
msg.set<FrontendScanMessage::Tag::isLocked>(true);
@@ -681,6 +688,11 @@ Frontend::~Frontend() {}
status.set<FrontendStatus::streamIdList>(streamIds);
break;
}
case FrontendStatusType::DVBT_CELL_IDS: {
vector<int32_t> dvbtCellIds = {0, 1};
status.set<FrontendStatus::dvbtCellIds>(dvbtCellIds);
break;
}
default: {
continue;
}

View File

@@ -112,6 +112,7 @@ void Tuner::init() {
FrontendStatusType::GUARD_INTERVAL,
FrontendStatusType::TRANSMISSION_MODE,
FrontendStatusType::T2_SYSTEM_ID,
FrontendStatusType::DVBT_CELL_IDS,
};
mFrontendStatusCaps[4] = statusCaps;

View File

@@ -405,6 +405,13 @@ void FrontendTests::verifyFrontendStatus(vector<FrontendStatusType> statusTypes,
expectStatuses[i].get<FrontendStatus::Tag::streamIdList>().begin()));
break;
}
case FrontendStatusType::DVBT_CELL_IDS: {
ASSERT_TRUE(std::equal(
realStatuses[i].get<FrontendStatus::Tag::dvbtCellIds>().begin(),
realStatuses[i].get<FrontendStatus::Tag::dvbtCellIds>().end(),
expectStatuses[i].get<FrontendStatus::Tag::dvbtCellIds>().begin()));
break;
}
default: {
continue;
}