camera: mediatek: Use token to replace mojo channel manager instance

We want to hide the detail of the camera mojo channel manager and camera
hal also doesn't need it. Use a token to decouple it.

BUG=b:173033342
TEST=emerge cros-camera-hal-mtk
Check preview/take picture/recording on CCA on kukui.
Pass "*Camera3FrameTest/Camera3SingleFrameTest*" on kukui.

Change-Id: I0b3e600a25032d70633b6f3349664498e7c1b09d
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/2550968
Tested-by: Hsu Wei-Cheng <mojahsu@chromium.org>
Commit-Queue: Hsu Wei-Cheng <mojahsu@chromium.org>
Reviewed-by: Hsu Wei-Cheng <mojahsu@chromium.org>
Reviewed-by: MengHui Lin <menghui.lin@mediatek.com>
diff --git a/camera/hal/mediatek/mtkcam/include/mtkcam/utils/std/Mojo.h b/camera/hal/mediatek/mtkcam/include/mtkcam/utils/std/Mojo.h
index 90d1791..ed25a28 100644
--- a/camera/hal/mediatek/mtkcam/include/mtkcam/utils/std/Mojo.h
+++ b/camera/hal/mediatek/mtkcam/include/mtkcam/utils/std/Mojo.h
@@ -22,9 +22,10 @@
 namespace NSCam {
 namespace Utils {
 
-cros::CameraMojoChannelManager* VISIBILITY_PUBLIC getMojoManagerInstance();
+cros::CameraMojoChannelManagerToken* VISIBILITY_PUBLIC getMojoManagerToken();
 
-void VISIBILITY_PUBLIC setMojoManagerInstance(cros::CameraMojoChannelManager*);
+void VISIBILITY_PUBLIC
+setMojoManagerToken(cros::CameraMojoChannelManagerToken*);
 
 }  // namespace Utils
 }  // namespace NSCam
diff --git a/camera/hal/mediatek/mtkcam/ipc/client/Mediatek3AClient.cpp b/camera/hal/mediatek/mtkcam/ipc/client/Mediatek3AClient.cpp
index edd075e..a804fcf 100644
--- a/camera/hal/mediatek/mtkcam/ipc/client/Mediatek3AClient.cpp
+++ b/camera/hal/mediatek/mtkcam/ipc/client/Mediatek3AClient.cpp
@@ -53,7 +53,7 @@
 
   mBridge = cros::CameraAlgorithmBridge::CreateInstance(
       cros::CameraAlgorithmBackend::kVendorCpu,
-      NSCam::Utils::getMojoManagerInstance());
+      NSCam::Utils::getMojoManagerToken());
 
   CheckError(!mBridge, VOID_VALUE, "@%s, mBridge is nullptr", __FUNCTION__);
   CheckError((mBridge->Initialize(this) != 0), VOID_VALUE,
@@ -90,7 +90,7 @@
 
   mBridge = cros::CameraAlgorithmBridge::CreateInstance(
       cros::CameraAlgorithmBackend::kVendorCpu,
-      NSCam::Utils::getMojoManagerInstance());
+      NSCam::Utils::getMojoManagerToken());
   CheckError(!mBridge, VOID_VALUE, "@%s, mBridge is nullptr", __FUNCTION__);
   CheckError((mBridge->Initialize(this) != 0), VOID_VALUE,
              "@%s, call mBridge->Initialize fail", __FUNCTION__);
diff --git a/camera/hal/mediatek/mtkcam/main/hal/module/module/entry.cpp b/camera/hal/mediatek/mtkcam/main/hal/module/module/entry.cpp
index e9fcd4c..9434d81 100644
--- a/camera/hal/mediatek/mtkcam/main/hal/module/module/entry.cpp
+++ b/camera/hal/mediatek/mtkcam/main/hal/module/module/entry.cpp
@@ -81,12 +81,12 @@
     return 0;
 }
 
-static void set_up(cros::CameraMojoChannelManager* mojo_manager) {
-  NSCam::Utils::setMojoManagerInstance(mojo_manager);
+static void set_up(cros::CameraMojoChannelManagerToken* token) {
+  NSCam::Utils::setMojoManagerToken(token);
 }
 
 static void tear_down() {
-  NSCam::Utils::setMojoManagerInstance(nullptr);
+  NSCam::Utils::setMojoManagerToken(nullptr);
 }
 
 static camera_module get_camera_module() {
diff --git a/camera/hal/mediatek/mtkcam/pipeline/hwnode/JpegNode.cpp b/camera/hal/mediatek/mtkcam/pipeline/hwnode/JpegNode.cpp
index 6b21463..6ff6c45 100644
--- a/camera/hal/mediatek/mtkcam/pipeline/hwnode/JpegNode.cpp
+++ b/camera/hal/mediatek/mtkcam/pipeline/hwnode/JpegNode.cpp
@@ -551,7 +551,7 @@
 #endif
       ,
       mJpegCompressor(cros::JpegCompressor::GetInstance(
-          NSCam::Utils::getMojoManagerInstance())) {
+          NSCam::Utils::getMojoManagerToken())) {
   pthread_rwlock_init(&mConfigRWLock, NULL);
   mNodeName = "JpegNode";  // default name
   MINT32 enable = ::property_get_int32("vendor.jpeg.rotation.enable", 1);
diff --git a/camera/hal/mediatek/mtkcam/utils/std/Mojo.cpp b/camera/hal/mediatek/mtkcam/utils/std/Mojo.cpp
index 38d02be..393f94d 100644
--- a/camera/hal/mediatek/mtkcam/utils/std/Mojo.cpp
+++ b/camera/hal/mediatek/mtkcam/utils/std/Mojo.cpp
@@ -17,7 +17,7 @@
 /******************************************************************************
  *
  *****************************************************************************/
-#include <cros-camera/camera_mojo_channel_manager.h>
+#include <cros-camera/camera_mojo_channel_manager_token.h>
 #include <mtkcam/utils/std/Mojo.h>
 /******************************************************************************
  *
@@ -25,20 +25,20 @@
 namespace NSCam {
 namespace Utils {
 
-static cros::CameraMojoChannelManager* gMojoManager = nullptr;
+static cros::CameraMojoChannelManagerToken* gMojoManagerToken = nullptr;
 
 /******************************************************************************
  *
  ******************************************************************************/
-cros::CameraMojoChannelManager* getMojoManagerInstance() {
-    return gMojoManager;
+cros::CameraMojoChannelManagerToken* getMojoManagerToken() {
+  return gMojoManagerToken;
 }
 
 /******************************************************************************
  *
  ******************************************************************************/
-void setMojoManagerInstance(cros::CameraMojoChannelManager* mojo_manager) {
-    gMojoManager = mojo_manager;
+void setMojoManagerToken(cros::CameraMojoChannelManagerToken* token) {
+  gMojoManagerToken = token;
 }
 
 };  // namespace Utils