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/FrontendClient.cpp b/media/jni/tuner/FrontendClient.cpp
index 44b46f0..b6225cf 100644
--- a/media/jni/tuner/FrontendClient.cpp
+++ b/media/jni/tuner/FrontendClient.cpp
@@ -27,11 +27,11 @@
 
 /////////////// FrontendClient ///////////////////////
 
-FrontendClient::FrontendClient(shared_ptr<ITunerFrontend> tunerFrontend, int frontendHandle) {
+FrontendClient::FrontendClient(shared_ptr<ITunerFrontend> tunerFrontend, int id) {
     mTunerFrontend = tunerFrontend;
     mAidlCallback = NULL;
     mHidlCallback = NULL;
-    mFrontendHandle = frontendHandle;
+    mId = id;
 }
 
 FrontendClient::~FrontendClient() {
@@ -40,7 +40,7 @@
     mFrontend_1_1 = NULL;
     mAidlCallback = NULL;
     mHidlCallback = NULL;
-    mFrontendHandle = -1;
+    mId = -1;
 }
 
 Result FrontendClient::setCallback(sp<FrontendClientCallback> frontendClientCallback) {
@@ -123,7 +123,7 @@
 }
 
 int FrontendClient::getId() {
-    return getResourceIdFromHandle(mFrontendHandle);
+    return mId;
 }
 
 /////////////// TunerFrontendCallback ///////////////////////
diff --git a/media/jni/tuner/FrontendClient.h b/media/jni/tuner/FrontendClient.h
index 7db572b..265e14f 100644
--- a/media/jni/tuner/FrontendClient.h
+++ b/media/jni/tuner/FrontendClient.h
@@ -105,7 +105,7 @@
 struct FrontendClient : public RefBase {
 
 public:
-    FrontendClient(shared_ptr<ITunerFrontend> tunerFrontend, int frontendHandle);
+    FrontendClient(shared_ptr<ITunerFrontend> tunerFrontend, int id);
     ~FrontendClient();
 
     /**
@@ -135,10 +135,6 @@
 
     int getId();
 
-    static int getResourceIdFromHandle(int handle) {
-        return (handle & 0x00ff0000) >> 16;
-    }
-
 private:
     /**
      * An AIDL Tuner Frontend Singleton assigned at the first time when the Tuner Client
@@ -163,7 +159,7 @@
     shared_ptr<TunerFrontendCallback> mAidlCallback;
     sp<HidlFrontendCallback> mHidlCallback;
 
-    int mFrontendHandle;
+    int mId;
 };
 }  // namespace android
 
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
diff --git a/media/jni/tuner/TunerClient.h b/media/jni/tuner/TunerClient.h
index 197b110..108293b 100644
--- a/media/jni/tuner/TunerClient.h
+++ b/media/jni/tuner/TunerClient.h
@@ -37,6 +37,13 @@
 
 namespace android {
 
+typedef enum {
+    FRONTEND,
+    LNB,
+    DEMUX,
+    DESCRAMBLER,
+} TunerResourceType;
+
 struct TunerClient : public RefBase {
 
 public:
@@ -95,9 +102,16 @@
      */
     int getHalTunerVersion() { return mTunerVersion; }
 
-    static int getResourceIdFromHandle(int handle) {
-        return (handle & 0x00ff0000) >> 16;
-    }
+private:
+    sp<ITuner> getHidlTuner();
+    sp<IFrontend> openHidlFrontendById(int id);
+    sp<IDemux> openHidlDemux();
+    Result getHidlFrontendInfo(int id, FrontendInfo& info);
+    FrontendInfo FrontendInfoAidlToHidl(TunerServiceFrontendInfo aidlFrontendInfo);
+
+    int getResourceIdFromHandle(int handle, int resourceType);
+
+    int getResourceHandleFromId(int id, int resourceType);
 
 private:
     /**
@@ -124,11 +138,7 @@
     // while the low 16 bits are the minor version. Default value is unknown version 0.
     static int mTunerVersion;
 
-    sp<ITuner> getHidlTuner();
-    sp<IFrontend> openHidlFrontendByHandle(int frontendHandle);
-    sp<IDemux> openHidlDemux();
-    Result getHidlFrontendInfo(int id, FrontendInfo& info);
-    FrontendInfo FrontendInfoAidlToHidl(TunerServiceFrontendInfo aidlFrontendInfo);
+    int mResourceRequestCount = 0;
 };
 }  // namespace android