EmulatedCamera: Add getSessionCharacteristics API

For now, return the same static metadata in SessionCharacteristics as
in CameraCharacteristics.

Test: Build
Bug: 303645857
Change-Id: I75fddd651315b7074a5d32f13a827f8ba854e26b
diff --git a/common/hal/aidl_service/aidl_camera_device.cc b/common/hal/aidl_service/aidl_camera_device.cc
index b1c984b..a086897 100644
--- a/common/hal/aidl_service/aidl_camera_device.cc
+++ b/common/hal/aidl_service/aidl_camera_device.cc
@@ -182,6 +182,23 @@
       static_cast<int32_t>(Status::OPERATION_NOT_SUPPORTED));
 }
 
+ScopedAStatus AidlCameraDevice::getSessionCharacteristics(
+    const StreamConfiguration& session_config,
+    CameraMetadata* characteristics_ret) {
+  // Temporary check to make sure session configuration is valid.
+  // As a mock implementation, we are just returning the camera characteristics
+  // for now.
+  google_camera_hal::StreamConfiguration stream_config;
+  status_t res =
+      aidl_utils::ConvertToHalStreamConfig(session_config, &stream_config);
+  if (res != OK) {
+    ALOGE("%s: ConvertToHalStreamConfig fail", __FUNCTION__);
+    return ScopedAStatus::fromServiceSpecificError(
+        static_cast<int32_t>(Status::INTERNAL_ERROR));
+  }
+  return getCameraCharacteristics(characteristics_ret);
+}
+
 ScopedAStatus AidlCameraDevice::getPhysicalCameraCharacteristics(
     const std::string& physicalCameraId, CameraMetadata* characteristics_ret) {
   if (characteristics_ret == nullptr) {
@@ -275,7 +292,7 @@
   google_camera_hal::StreamConfiguration stream_config;
   status_t res = aidl_utils::ConvertToHalStreamConfig(streams, &stream_config);
   if (res != OK) {
-    ALOGE("%s: ConverToHalStreamConfig fail", __FUNCTION__);
+    ALOGE("%s: ConvertToHalStreamConfig fail", __FUNCTION__);
     return ScopedAStatus::fromServiceSpecificError(
         static_cast<int32_t>(Status::INTERNAL_ERROR));
   }
diff --git a/common/hal/aidl_service/aidl_camera_device.h b/common/hal/aidl_service/aidl_camera_device.h
index bd62834..ccfaea2 100644
--- a/common/hal/aidl_service/aidl_camera_device.h
+++ b/common/hal/aidl_service/aidl_camera_device.h
@@ -93,6 +93,10 @@
   ScopedAStatus isStreamCombinationWithSettingsSupported(
       const StreamConfiguration& streamConfiguration, bool* supported) override;
 
+  ScopedAStatus getSessionCharacteristics(
+      const StreamConfiguration& session_config,
+      CameraMetadata* characteristics) override;
+
   // End of override functions in ICameraDevice
   AidlCameraDevice() = default;