From 3d07d1ad0e60fd2b9a25563a0c24faf7f1fb1afc Mon Sep 17 00:00:00 2001 From: Igor Murashkin Date: Fri, 20 Jun 2014 11:27:03 -0700 Subject: camera: Let #connectLegacy calls through with unspecified HAL version This enables the camera2 shim to open a camera1 device without turning the error codes into a RuntimeException. Change-Id: I08d9d1e30e72025c41bd54b702d7ae95b32257be --- services/camera/libcameraservice/CameraService.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp index b8227a7..109b891 100644 --- a/services/camera/libcameraservice/CameraService.cpp +++ b/services/camera/libcameraservice/CameraService.cpp @@ -791,7 +791,14 @@ status_t CameraService::connectLegacy( /*out*/ sp& device) { - if (mModule->common.module_api_version < CAMERA_MODULE_API_VERSION_2_3) { + if (halVersion != CAMERA_HAL_API_VERSION_UNSPECIFIED && + mModule->common.module_api_version < CAMERA_MODULE_API_VERSION_2_3) { + /* + * Either the HAL version is unspecified in which case this just creates + * a camera client selected by the latest device version, or + * it's a particular version in which case the HAL must supported + * the open_legacy call + */ ALOGE("%s: camera HAL module version %x doesn't support connecting to legacy HAL devices!", __FUNCTION__, mModule->common.module_api_version); return INVALID_OPERATION; -- cgit v1.1