From 8fe32b251309e394c788a988130a44fbb1d3fd05 Mon Sep 17 00:00:00 2001 From: Ray Chin Date: Tue, 1 Nov 2022 11:51:23 +0800 Subject: [PATCH] Add isLnaSupported in HAL layer Bug: 239240674 Test: atest android.media.tv.tuner.cts with cf_x86_tv-userdebug Change-Id: I87aaff87a9ff0d92f4d3895bfe41f5f6fffa1938 --- tv/tuner/OWNERS | 6 ++++++ .../current/android/hardware/tv/tuner/ITuner.aidl | 1 + tv/tuner/aidl/android/hardware/tv/tuner/ITuner.aidl | 10 ++++++++++ tv/tuner/aidl/default/Tuner.cpp | 7 +++++++ tv/tuner/aidl/default/Tuner.h | 1 + 5 files changed, 25 insertions(+) create mode 100644 tv/tuner/OWNERS diff --git a/tv/tuner/OWNERS b/tv/tuner/OWNERS new file mode 100644 index 0000000000..83e090db2a --- /dev/null +++ b/tv/tuner/OWNERS @@ -0,0 +1,6 @@ +# Bug component: 136752 + +quxiangfang@google.com +shubang@google.com +hgchen@google.com +raychin@google.com diff --git a/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/ITuner.aidl b/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/ITuner.aidl index 0ff2da9aa1..5d1d21513e 100644 --- a/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/ITuner.aidl +++ b/tv/tuner/aidl/aidl_api/android.hardware.tv.tuner/current/android/hardware/tv/tuner/ITuner.aidl @@ -47,4 +47,5 @@ interface ITuner { void setLna(in boolean bEnable); void setMaxNumberOfFrontends(in android.hardware.tv.tuner.FrontendType frontendType, in int maxNumber); int getMaxNumberOfFrontends(in android.hardware.tv.tuner.FrontendType frontendType); + boolean isLnaSupported(); } diff --git a/tv/tuner/aidl/android/hardware/tv/tuner/ITuner.aidl b/tv/tuner/aidl/android/hardware/tv/tuner/ITuner.aidl index 03def33d46..4a0b7a23ee 100644 --- a/tv/tuner/aidl/android/hardware/tv/tuner/ITuner.aidl +++ b/tv/tuner/aidl/android/hardware/tv/tuner/ITuner.aidl @@ -125,6 +125,9 @@ interface ITuner { /** * Enable or Disable Low Noise Amplifier (LNA). * + * If the device doesn't support LNA, the HAL implement should set {@link Result#UNAVAILABLE} + * to EX_SERVICE_SPECIFIC as the service specific error. + * * @param bEnable true if activate LNA module; false if deactivate LNA */ void setLna(in boolean bEnable); @@ -148,4 +151,11 @@ interface ITuner { * @return the maximum usable number of the queried frontend type. */ int getMaxNumberOfFrontends(in FrontendType frontendType); + + /** + * Is Low Noise Amplifier (LNA) supported. + * + * @return true if supported, otherwise false + */ + boolean isLnaSupported(); } diff --git a/tv/tuner/aidl/default/Tuner.cpp b/tv/tuner/aidl/default/Tuner.cpp index 591f936fbe..8c715a0e12 100644 --- a/tv/tuner/aidl/default/Tuner.cpp +++ b/tv/tuner/aidl/default/Tuner.cpp @@ -204,6 +204,13 @@ std::shared_ptr Tuner::getFrontendById(int32_t frontendId) { return ::ndk::ScopedAStatus::ok(); } +::ndk::ScopedAStatus Tuner::isLnaSupported(bool* _aidl_return) { + ALOGV("%s", __FUNCTION__); + + *_aidl_return = true; + return ::ndk::ScopedAStatus::ok(); +} + binder_status_t Tuner::dump(int fd, const char** args, uint32_t numArgs) { ALOGV("%s", __FUNCTION__); { diff --git a/tv/tuner/aidl/default/Tuner.h b/tv/tuner/aidl/default/Tuner.h index ad73003eeb..a77c9304a1 100644 --- a/tv/tuner/aidl/default/Tuner.h +++ b/tv/tuner/aidl/default/Tuner.h @@ -61,6 +61,7 @@ class Tuner : public BnTuner { int32_t in_maxNumber) override; ::ndk::ScopedAStatus getMaxNumberOfFrontends(FrontendType in_frontendType, int32_t* _aidl_return) override; + ::ndk::ScopedAStatus isLnaSupported(bool* _aidl_return) override; binder_status_t dump(int fd, const char** args, uint32_t numArgs) override;