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
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 @@
/*out*/
sp<ICamera>& 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;