Enable LnbCallback in hidl/aidl default tuner implementation
Bug: 210960436
Test: cts.TunerTest#testLnbAddAndRemoveSharee
Change-Id: I11443144dcd1979afe9b077c446faaa293ccb61c
diff --git a/tv/tuner/1.0/default/Lnb.cpp b/tv/tuner/1.0/default/Lnb.cpp
index 6025339..c770e91 100644
--- a/tv/tuner/1.0/default/Lnb.cpp
+++ b/tv/tuner/1.0/default/Lnb.cpp
@@ -33,9 +33,10 @@
Lnb::~Lnb() {}
-Return<Result> Lnb::setCallback(const sp<ILnbCallback>& /* callback */) {
+Return<Result> Lnb::setCallback(const sp<ILnbCallback>& callback) {
ALOGV("%s", __FUNCTION__);
+ mCallback = callback;
return Result::SUCCESS;
}
@@ -57,9 +58,16 @@
return Result::SUCCESS;
}
-Return<Result> Lnb::sendDiseqcMessage(const hidl_vec<uint8_t>& /* diseqcMessage */) {
+Return<Result> Lnb::sendDiseqcMessage(const hidl_vec<uint8_t>& diseqcMessage) {
ALOGV("%s", __FUNCTION__);
+ if (mCallback != nullptr) {
+ // The correct implementation should be to return the response from the
+ // device via onDiseqcMessage(). The below implementation is only to enable
+ // testing for LnbCallbacks.
+ ALOGV("[hidl] %s - this is for test purpose only, and must be replaced!", __FUNCTION__);
+ mCallback->onDiseqcMessage(diseqcMessage);
+ }
return Result::SUCCESS;
}
diff --git a/tv/tuner/1.0/default/Lnb.h b/tv/tuner/1.0/default/Lnb.h
index 1e97214..c14bbd8 100644
--- a/tv/tuner/1.0/default/Lnb.h
+++ b/tv/tuner/1.0/default/Lnb.h
@@ -57,6 +57,7 @@
private:
int mId;
virtual ~Lnb();
+ sp<ILnbCallback> mCallback;
};
} // namespace implementation
diff --git a/tv/tuner/1.1/default/Lnb.cpp b/tv/tuner/1.1/default/Lnb.cpp
index 044727f..5dd0147 100644
--- a/tv/tuner/1.1/default/Lnb.cpp
+++ b/tv/tuner/1.1/default/Lnb.cpp
@@ -33,9 +33,10 @@
Lnb::~Lnb() {}
-Return<Result> Lnb::setCallback(const sp<ILnbCallback>& /* callback */) {
+Return<Result> Lnb::setCallback(const sp<ILnbCallback>& callback) {
ALOGV("%s", __FUNCTION__);
+ mCallback = callback;
return Result::SUCCESS;
}
@@ -57,9 +58,16 @@
return Result::SUCCESS;
}
-Return<Result> Lnb::sendDiseqcMessage(const hidl_vec<uint8_t>& /* diseqcMessage */) {
+Return<Result> Lnb::sendDiseqcMessage(const hidl_vec<uint8_t>& diseqcMessage) {
ALOGV("%s", __FUNCTION__);
+ if (mCallback != nullptr) {
+ // The correct implementation should be to return the response from the
+ // device via onDiseqcMessage(). The below implementation is only to enable
+ // testing for LnbCallbacks.
+ ALOGV("[hidl] %s - this is for test purpose only, and must be replaced!", __FUNCTION__);
+ mCallback->onDiseqcMessage(diseqcMessage);
+ }
return Result::SUCCESS;
}
diff --git a/tv/tuner/1.1/default/Lnb.h b/tv/tuner/1.1/default/Lnb.h
index 70a8e41..b34ca39 100644
--- a/tv/tuner/1.1/default/Lnb.h
+++ b/tv/tuner/1.1/default/Lnb.h
@@ -51,6 +51,7 @@
private:
int mId;
virtual ~Lnb();
+ sp<ILnbCallback> mCallback;
};
} // namespace implementation
diff --git a/tv/tuner/aidl/default/Lnb.cpp b/tv/tuner/aidl/default/Lnb.cpp
index 35d2da6..f9343ae 100644
--- a/tv/tuner/aidl/default/Lnb.cpp
+++ b/tv/tuner/aidl/default/Lnb.cpp
@@ -34,9 +34,11 @@
Lnb::~Lnb() {}
-::ndk::ScopedAStatus Lnb::setCallback(const std::shared_ptr<ILnbCallback>& /* in_callback */) {
+::ndk::ScopedAStatus Lnb::setCallback(const std::shared_ptr<ILnbCallback>& in_callback) {
ALOGV("%s", __FUNCTION__);
+ mCallback = in_callback;
+
return ::ndk::ScopedAStatus::ok();
}
@@ -58,9 +60,17 @@
return ::ndk::ScopedAStatus::ok();
}
-::ndk::ScopedAStatus Lnb::sendDiseqcMessage(const std::vector<uint8_t>& /* in_diseqcMessage */) {
+::ndk::ScopedAStatus Lnb::sendDiseqcMessage(const std::vector<uint8_t>& in_diseqcMessage) {
ALOGV("%s", __FUNCTION__);
+ if (mCallback != nullptr) {
+ // The correct implementation should be to return the response from the
+ // device via onDiseqcMessage(). The below implementation is only to enable
+ // testing for LnbCallbacks.
+ ALOGV("[aidl] %s - this is for test purpose only, and must be replaced!", __FUNCTION__);
+ mCallback->onDiseqcMessage(in_diseqcMessage);
+ }
+
return ::ndk::ScopedAStatus::ok();
}
diff --git a/tv/tuner/aidl/default/Lnb.h b/tv/tuner/aidl/default/Lnb.h
index bfe3097..464f9a4 100644
--- a/tv/tuner/aidl/default/Lnb.h
+++ b/tv/tuner/aidl/default/Lnb.h
@@ -44,6 +44,7 @@
private:
int mId;
virtual ~Lnb();
+ std::shared_ptr<ILnbCallback> mCallback;
};
} // namespace tuner