Add new APIs for watermarking

Bug: 263762255
Test: m
Change-Id: I7eeaa58f0a3a1056f33e22aba42540636794ade1
diff --git a/tv/input/aidl/default/Android.bp b/tv/input/aidl/default/Android.bp
index 66148c8..05af6a9 100644
--- a/tv/input/aidl/default/Android.bp
+++ b/tv/input/aidl/default/Android.bp
@@ -13,6 +13,10 @@
     init_rc: ["input-default.rc"],
     vintf_fragments: ["input-default.xml"],
     vendor: true,
+    cflags: [
+        "-Werror",
+        "-Wno-unused-parameter",
+    ],
     srcs: [
         "TvInput.cpp",
         "service.cpp",
@@ -23,9 +27,11 @@
     shared_libs: [
         "libbase",
         "liblog",
+        "libfmq",
         "libutils",
         "libcutils",
         "libbinder_ndk",
         "android.hardware.tv.input-V1-ndk",
+        "android.hardware.common.fmq-V1-ndk",
     ],
 }
diff --git a/tv/input/aidl/default/TvInput.cpp b/tv/input/aidl/default/TvInput.cpp
index ed12cbc..47f8be5 100644
--- a/tv/input/aidl/default/TvInput.cpp
+++ b/tv/input/aidl/default/TvInput.cpp
@@ -65,6 +65,21 @@
     return ::ndk::ScopedAStatus::ok();
 }
 
+::ndk::ScopedAStatus TvInput::setTvMessageEnabled(int32_t deviceId, int32_t streamId,
+                                                  TvMessageEventType in_type, bool enabled) {
+    ALOGV("%s", __FUNCTION__);
+    // TODO: Implement this
+    return ::ndk::ScopedAStatus::ok();
+}
+
+::ndk::ScopedAStatus TvInput::getTvMessageQueueDesc(
+        MQDescriptor<int8_t, SynchronizedReadWrite>* out_queue, int32_t in_deviceId,
+        int32_t in_streamId) {
+    ALOGV("%s", __FUNCTION__);
+    // TODO: Implement this
+    return ::ndk::ScopedAStatus::ok();
+}
+
 ::ndk::ScopedAStatus TvInput::getStreamConfigurations(int32_t in_deviceId,
                                                       vector<TvStreamConfig>* _aidl_return) {
     ALOGV("%s", __FUNCTION__);
diff --git a/tv/input/aidl/default/TvInput.h b/tv/input/aidl/default/TvInput.h
index a72bca3..9cb7ae6 100644
--- a/tv/input/aidl/default/TvInput.h
+++ b/tv/input/aidl/default/TvInput.h
@@ -19,6 +19,8 @@
 #include <aidl/android/hardware/tv/input/BnTvInput.h>
 #include <utils/KeyedVector.h>
 
+#include <aidl/android/hardware/tv/input/TvMessageEventType.h>
+#include <fmq/AidlMessageQueue.h>
 #include <map>
 #include "TvInputDeviceInfoWrapper.h"
 #include "TvStreamConfigWrapper.h"
@@ -26,6 +28,9 @@
 using namespace android;
 using namespace std;
 using ::aidl::android::hardware::common::NativeHandle;
+using ::aidl::android::hardware::common::fmq::MQDescriptor;
+using ::aidl::android::hardware::common::fmq::SynchronizedReadWrite;
+using ::android::AidlMessageQueue;
 
 namespace aidl {
 namespace android {
@@ -38,6 +43,11 @@
     TvInput();
 
     ::ndk::ScopedAStatus setCallback(const shared_ptr<ITvInputCallback>& in_callback) override;
+    ::ndk::ScopedAStatus setTvMessageEnabled(int32_t deviceId, int32_t streamId,
+                                             TvMessageEventType in_type, bool enabled) override;
+    ::ndk::ScopedAStatus getTvMessageQueueDesc(
+            MQDescriptor<int8_t, SynchronizedReadWrite>* out_queue, int32_t in_deviceId,
+            int32_t in_streamId) override;
     ::ndk::ScopedAStatus getStreamConfigurations(int32_t in_deviceId,
                                                  vector<TvStreamConfig>* _aidl_return) override;
     ::ndk::ScopedAStatus openStream(int32_t in_deviceId, int32_t in_streamId,