tv.cec: Add a constant and fix cec module name
Bug: 32073236
Test: Checked CEC features works on fugu after applying Treble HAL
Change-Id: I70f542dff6dce7b336523788a4e203f432b1b6a7
diff --git a/tv/cec/1.0/default/HdmiCec.cpp b/tv/cec/1.0/default/HdmiCec.cpp
index c4bae41..ebe2681 100644
--- a/tv/cec/1.0/default/HdmiCec.cpp
+++ b/tv/cec/1.0/default/HdmiCec.cpp
@@ -389,7 +389,7 @@
int ret = 0;
const hw_module_t* hw_module = nullptr;
- ret = hw_get_module (hal, &hw_module);
+ ret = hw_get_module (HDMI_CEC_HARDWARE_MODULE_ID, &hw_module);
if (ret == 0) {
ret = hdmi_cec_open (hw_module, &hdmi_cec_device);
if (ret != 0) {
diff --git a/tv/cec/1.0/default/HdmiCec.h b/tv/cec/1.0/default/HdmiCec.h
index 3e80cb1..49237d5 100644
--- a/tv/cec/1.0/default/HdmiCec.h
+++ b/tv/cec/1.0/default/HdmiCec.h
@@ -34,6 +34,7 @@
using ::android::hardware::tv::cec::V1_0::CecLogicalAddress;
using ::android::hardware::tv::cec::V1_0::CecMessage;
+using ::android::hardware::tv::cec::V1_0::MaxLength;
using ::android::hardware::tv::cec::V1_0::HdmiPortInfo;
using ::android::hardware::tv::cec::V1_0::IHdmiCec;
using ::android::hardware::tv::cec::V1_0::IHdmiCecCallback;
@@ -65,7 +66,8 @@
static void eventCallback(const hdmi_event_t* event, void* arg) {
if (mCallback != nullptr && event != nullptr) {
if (event->type == HDMI_EVENT_CEC_MESSAGE) {
- size_t length = std::min(event->cec.length, static_cast<size_t>(15));
+ size_t length = std::min(event->cec.length,
+ static_cast<size_t>(MaxLength::MESSAGE_BODY));
CecMessage cecMessage {
.initiator = static_cast<CecLogicalAddress>(event->cec.initiator),
.destination = static_cast<CecLogicalAddress>(event->cec.destination),
diff --git a/tv/cec/1.0/types.hal b/tv/cec/1.0/types.hal
index 421fe9c..ec2e373 100644
--- a/tv/cec/1.0/types.hal
+++ b/tv/cec/1.0/types.hal
@@ -16,6 +16,10 @@
package android.hardware.tv.cec@1.0;
+enum MaxLength : int32_t {
+ MESSAGE_BODY = 15,
+};
+
enum CecDeviceType : int32_t {
INACTIVE = -1,
TV = 0,
@@ -196,8 +200,8 @@
/* logical address of receiver */
CecLogicalAddress destination;
- /* The maximum size of body is 15 as specified in the section 6 of the CEC
- * Spec 1.4b. Overflowed data must be ignored. */
+ /* The maximum size of body is 15 (MaxLength::MESSAGE_BODY) as specified in
+ * the section 6 of the CEC Spec 1.4b. Overflowed data must be ignored. */
vec<uint8_t> body;
};