From c22bed32553dfb562a00a5da6552edb51bb0a2d8 Mon Sep 17 00:00:00 2001 From: Donghyun Cho Date: Fri, 4 Nov 2016 05:38:40 +0900 Subject: [PATCH] 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 --- tv/cec/1.0/default/HdmiCec.cpp | 2 +- tv/cec/1.0/default/HdmiCec.h | 4 +++- tv/cec/1.0/types.hal | 8 ++++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/tv/cec/1.0/default/HdmiCec.cpp b/tv/cec/1.0/default/HdmiCec.cpp index c4bae41657..ebe26816b3 100644 --- a/tv/cec/1.0/default/HdmiCec.cpp +++ b/tv/cec/1.0/default/HdmiCec.cpp @@ -389,7 +389,7 @@ IHdmiCec* HIDL_FETCH_IHdmiCec(const char* hal) { 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 3e80cb1650..49237d5bdd 100644 --- a/tv/cec/1.0/default/HdmiCec.h +++ b/tv/cec/1.0/default/HdmiCec.h @@ -34,6 +34,7 @@ namespace implementation { 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 @@ struct HdmiCec : public IHdmiCec { 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(15)); + size_t length = std::min(event->cec.length, + static_cast(MaxLength::MESSAGE_BODY)); CecMessage cecMessage { .initiator = static_cast(event->cec.initiator), .destination = static_cast(event->cec.destination), diff --git a/tv/cec/1.0/types.hal b/tv/cec/1.0/types.hal index 421fe9c400..ec2e3732ac 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 @@ struct CecMessage { /* 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 body; };