Remove Lnb updating related implementation from Tuner JNI/java
Note: This was part of ag/13255478. Making it a separate CL can break
the dependency of the Tuner client changes on the frameworks/base
changes that require owner review from external teams.
Test: make
Bug: 174095851
Change-Id: Id40014b2ccd95b944e465b79571e113d8ed1a254
diff --git a/media/jni/tuner/TunerClient.cpp b/media/jni/tuner/TunerClient.cpp
index bd18c707..649828f 100644
--- a/media/jni/tuner/TunerClient.cpp
+++ b/media/jni/tuner/TunerClient.cpp
@@ -99,9 +99,10 @@
}
if (mTuner != NULL) {
- sp<IFrontend> hidlFrontend = openHidlFrontendByHandle(frontendHandle);
+ int id = getResourceIdFromHandle(frontendHandle, FRONTEND);
+ sp<IFrontend> hidlFrontend = openHidlFrontendById(id);
if (hidlFrontend != NULL) {
- sp<FrontendClient> frontendClient = new FrontendClient(NULL, frontendHandle);
+ sp<FrontendClient> frontendClient = new FrontendClient(NULL, id);
frontendClient->setHidlFrontend(hidlFrontend);
return frontendClient;
}
@@ -193,10 +194,9 @@
return mTuner;
}
-sp<IFrontend> TunerClient::openHidlFrontendByHandle(int frontendHandle) {
+sp<IFrontend> TunerClient::openHidlFrontendById(int id) {
sp<IFrontend> fe;
Result res;
- uint32_t id = getResourceIdFromHandle(frontendHandle);
mTuner->openFrontendById(id, [&](Result r, const sp<IFrontend>& frontend) {
fe = frontend;
res = r;
@@ -246,4 +246,15 @@
return hidlFrontendInfo;
}
+
+int TunerClient::getResourceIdFromHandle(int handle, int /*resourceType*/) {
+ return (handle & 0x00ff0000) >> 16;
+}
+
+int TunerClient::getResourceHandleFromId(int id, int resourceType) {
+ // TODO: build up randomly generated id to handle mapping
+ return (resourceType & 0x000000ff) << 24
+ | (id << 16)
+ | (mResourceRequestCount++ & 0xffff);
+}
} // namespace android