Add isLnaSupported API
Bug: 239240674
Test: atest android.media.tv.tuner.cts with cf_x86_tv-userdebug
Change-Id: I94527e9ce73f5b7f13674aff34e419668ec8a425
diff --git a/services/tuner/TunerService.cpp b/services/tuner/TunerService.cpp
index 514a636..d59d95f 100644
--- a/services/tuner/TunerService.cpp
+++ b/services/tuner/TunerService.cpp
@@ -194,6 +194,11 @@
return ::ndk::ScopedAStatus::ok();
}
+::ndk::ScopedAStatus TunerService::isLnaSupported(bool* _aidl_return) {
+ ALOGV("isLnaSupported");
+ return mTuner->isLnaSupported(_aidl_return);
+}
+
::ndk::ScopedAStatus TunerService::setLna(bool bEnable) {
return mTuner->setLna(bEnable);
}
diff --git a/services/tuner/TunerService.h b/services/tuner/TunerService.h
index 6435e17..517df4a 100644
--- a/services/tuner/TunerService.h
+++ b/services/tuner/TunerService.h
@@ -77,6 +77,7 @@
::ndk::ScopedAStatus openSharedFilter(const string& in_filterToken,
const shared_ptr<ITunerFilterCallback>& in_cb,
shared_ptr<ITunerFilter>* _aidl_return) override;
+ ::ndk::ScopedAStatus isLnaSupported(bool* _aidl_return) override;
::ndk::ScopedAStatus setLna(bool in_bEnable) override;
::ndk::ScopedAStatus setMaxNumberOfFrontends(FrontendType in_frontendType,
int32_t in_maxNumber) override;
diff --git a/services/tuner/aidl/android/media/tv/tuner/ITunerService.aidl b/services/tuner/aidl/android/media/tv/tuner/ITunerService.aidl
index b8084ab..8d285e3 100644
--- a/services/tuner/aidl/android/media/tv/tuner/ITunerService.aidl
+++ b/services/tuner/aidl/android/media/tv/tuner/ITunerService.aidl
@@ -107,6 +107,13 @@
ITunerFilter openSharedFilter(in String filterToken, in ITunerFilterCallback cb);
/**
+ * Is Low Noise Amplifier (LNA) supported by the Tuner.
+ *
+ * @return {@code true} if supported, otherwise {@code false}.
+ */
+ boolean isLnaSupported();
+
+ /**
* Enable or Disable Low Noise Amplifier (LNA).
*
* @param bEnable enable Lna or not.
diff --git a/services/tuner/hidl/TunerHidlService.cpp b/services/tuner/hidl/TunerHidlService.cpp
index aa03316..52005c2 100644
--- a/services/tuner/hidl/TunerHidlService.cpp
+++ b/services/tuner/hidl/TunerHidlService.cpp
@@ -302,6 +302,11 @@
return ::ndk::ScopedAStatus::ok();
}
+::ndk::ScopedAStatus TunerHidlService::isLnaSupported(bool* /* _aidl_return */) {
+ return ::ndk::ScopedAStatus::fromServiceSpecificError(
+ static_cast<int32_t>(Result::UNAVAILABLE));
+}
+
::ndk::ScopedAStatus TunerHidlService::setLna(bool bEnable) {
if (mTuner == nullptr) {
ALOGE("get ITuner failed");
diff --git a/services/tuner/hidl/TunerHidlService.h b/services/tuner/hidl/TunerHidlService.h
index 6f43d43..872aefc 100644
--- a/services/tuner/hidl/TunerHidlService.h
+++ b/services/tuner/hidl/TunerHidlService.h
@@ -89,6 +89,7 @@
::ndk::ScopedAStatus openSharedFilter(const string& in_filterToken,
const shared_ptr<ITunerFilterCallback>& in_cb,
shared_ptr<ITunerFilter>* _aidl_return) override;
+ ::ndk::ScopedAStatus isLnaSupported(bool* _aidl_return) override;
::ndk::ScopedAStatus setLna(bool in_bEnable) override;
::ndk::ScopedAStatus setMaxNumberOfFrontends(FrontendType in_frontendType,
int32_t in_maxNumber) override;