Implement AidlCamera3Device implementation.

Bug: 196432585

Test: Camera CTS with AIDL provider

Change-Id: I67a6558a7d97b07b551c4614edca2e53770a955f
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
diff --git a/services/camera/libcameraservice/utils/SessionConfigurationUtils.cpp b/services/camera/libcameraservice/utils/SessionConfigurationUtils.cpp
index 557591f..84dbf6e 100644
--- a/services/camera/libcameraservice/utils/SessionConfigurationUtils.cpp
+++ b/services/camera/libcameraservice/utils/SessionConfigurationUtils.cpp
@@ -23,6 +23,7 @@
 #include "common/CameraDeviceBase.h"
 #include "common/HalConversionsTemplated.h"
 #include "../CameraService.h"
+#include "device3/aidl/AidlCamera3Device.h"
 #include "device3/hidl/HidlCamera3Device.h"
 #include "device3/Camera3OutputStream.h"
 #include "system/graphics-base-v1.1.h"
@@ -505,61 +506,6 @@
     return binder::Status::ok();
 }
 
-aidl::android::hardware::graphics::common::PixelFormat mapToAidlPixelFormat(
-        int frameworkFormat) {
-    return (aidl::android::hardware::graphics::common::PixelFormat) frameworkFormat;
-}
-
-aidl::android::hardware::graphics::common::Dataspace mapToAidlDataspace(
-        android_dataspace dataSpace) {
-    return (aidl::android::hardware::graphics::common::Dataspace)dataSpace;
-}
-
-aidl::android::hardware::graphics::common::BufferUsage mapToAidlConsumerUsage(
-        uint64_t usage) {
-    return (aidl::android::hardware::graphics::common::BufferUsage)usage;
-}
-
-aidl::android::hardware::camera::device::StreamRotation
-mapToAidlStreamRotation(camera_stream_rotation_t rotation) {
-    switch (rotation) {
-        case CAMERA_STREAM_ROTATION_0:
-            return aidl::android::hardware::camera::device::StreamRotation::ROTATION_0;
-        case CAMERA_STREAM_ROTATION_90:
-            return aidl::android::hardware::camera::device::StreamRotation::ROTATION_90;
-        case CAMERA_STREAM_ROTATION_180:
-            return aidl::android::hardware::camera::device::StreamRotation::ROTATION_180;
-        case CAMERA_STREAM_ROTATION_270:
-            return aidl::android::hardware::camera::device::StreamRotation::ROTATION_270;
-    }
-    ALOGE("%s: Unknown stream rotation %d", __FUNCTION__, rotation);
-    return aidl::android::hardware::camera::device::StreamRotation::ROTATION_0;
-}
-
-status_t mapToAidlStreamConfigurationMode(
-        camera_stream_configuration_mode_t operationMode,
-        aidl::android::hardware::camera::device::StreamConfigurationMode *mode) {
-    using StreamConfigurationMode =
-            aidl::android::hardware::camera::device::StreamConfigurationMode;
-    if (mode == nullptr) return BAD_VALUE;
-    if (operationMode < CAMERA_VENDOR_STREAM_CONFIGURATION_MODE_START) {
-        switch(operationMode) {
-            case CAMERA_STREAM_CONFIGURATION_NORMAL_MODE:
-                *mode = StreamConfigurationMode::NORMAL_MODE;
-                break;
-            case CAMERA_STREAM_CONFIGURATION_CONSTRAINED_HIGH_SPEED_MODE:
-                *mode = StreamConfigurationMode::CONSTRAINED_HIGH_SPEED_MODE;
-                break;
-            default:
-                ALOGE("%s: Unknown stream configuration mode %d", __FUNCTION__, operationMode);
-                return BAD_VALUE;
-        }
-    } else {
-        *mode = static_cast<StreamConfigurationMode>(operationMode);
-    }
-    return OK;
-}
-
 void mapStreamInfo(const OutputStreamInfo &streamInfo,
             camera3::camera_stream_rotation_t rotation, String8 physicalId,
             int32_t groupId, aidl::android::hardware::camera::device::Stream *stream /*out*/) {
@@ -570,12 +516,12 @@
     stream->streamType = aidl::android::hardware::camera::device::StreamType::OUTPUT;
     stream->width = streamInfo.width;
     stream->height = streamInfo.height;
-    stream->format = mapToAidlPixelFormat(streamInfo.format);
+    stream->format = AidlCamera3Device::mapToAidlPixelFormat(streamInfo.format);
     auto u = streamInfo.consumerUsage;
     camera3::Camera3OutputStream::applyZSLUsageQuirk(streamInfo.format, &u);
-    stream->usage = mapToAidlConsumerUsage(u);
-    stream->dataSpace = mapToAidlDataspace(streamInfo.dataSpace);
-    stream->rotation = mapToAidlStreamRotation(rotation);
+    stream->usage = AidlCamera3Device::mapToAidlConsumerUsage(u);
+    stream->dataSpace = AidlCamera3Device::mapToAidlDataspace(streamInfo.dataSpace);
+    stream->rotation = AidlCamera3Device::mapToAidlStreamRotation(rotation);
     stream->id = -1; // Invalid stream id
     stream->physicalCameraId = std::string(physicalId.string());
     stream->bufferSize = 0;
@@ -668,8 +614,7 @@
         metadataGetter getMetadata, const std::vector<std::string> &physicalCameraIds,
         aidl::android::hardware::camera::device::StreamConfiguration &streamConfiguration,
         bool overrideForPerfClass, bool *earlyExit) {
-    using SensorPixelMode =
-            aidl::android::hardware::camera::metadata::SensorPixelMode;
+    using SensorPixelMode = aidl::android::hardware::camera::metadata::SensorPixelMode;
     auto operatingMode = sessionConfiguration.getOperatingMode();
     binder::Status res = checkOperatingMode(operatingMode, deviceInfo, logicalCameraId);
     if (!res.isOk()) {
@@ -682,7 +627,7 @@
         return STATUS_ERROR(CameraService::ERROR_ILLEGAL_ARGUMENT, msg.string());
     }
     *earlyExit = false;
-    auto ret = mapToAidlStreamConfigurationMode(
+    auto ret = AidlCamera3Device::mapToAidlStreamConfigurationMode(
             static_cast<camera_stream_configuration_mode_t> (operatingMode),
             /*out*/ &streamConfiguration.operationMode);
     if (ret != OK) {
@@ -712,7 +657,9 @@
         stream.streamType =  aidl::android::hardware::camera::device::StreamType::INPUT;
         stream.width = static_cast<uint32_t> (sessionConfiguration.getInputWidth());
         stream.height =  static_cast<uint32_t> (sessionConfiguration.getInputHeight());
-        stream.format = mapToAidlPixelFormat(sessionConfiguration.getInputFormat());
+        stream.format =
+                AidlCamera3Device::AidlCamera3Device::mapToAidlPixelFormat(
+                        sessionConfiguration.getInputFormat());
         stream.usage = static_cast<aidl::android::hardware::graphics::common::BufferUsage>(0);
         stream.dataSpace =
               static_cast<aidl::android::hardware::graphics::common::Dataspace>(