From bbc046ed672cfc230c787b31d7a793292a16f476 Mon Sep 17 00:00:00 2001 From: Yin-Chia Yeh Date: Tue, 28 Aug 2018 10:52:43 -0700 Subject: [PATCH] Camera: support torch control on external camera Claim torch API support though there is no device actually has a flash unit. This is to workaround an issue in camera service where it falls back to legacy camera HAL1 control if the device does not report torch API support (and external camera HAL does not implement HAL1) Test: CtsVerifier FlashLight test Bug: 113336515 Change-Id: I945b35fecfed3b2698b1e9bb1d8faad8699258d2 --- camera/device/3.4/default/ExternalCameraDevice.cpp | 2 +- camera/provider/2.4/default/ExternalCameraProvider.cpp | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/camera/device/3.4/default/ExternalCameraDevice.cpp b/camera/device/3.4/default/ExternalCameraDevice.cpp index e093822ad1..e7361dd463 100644 --- a/camera/device/3.4/default/ExternalCameraDevice.cpp +++ b/camera/device/3.4/default/ExternalCameraDevice.cpp @@ -90,7 +90,7 @@ Return ExternalCameraDevice::getCameraCharacteristics( } Return ExternalCameraDevice::setTorchMode(TorchMode) { - return Status::METHOD_NOT_SUPPORTED; + return Status::OPERATION_NOT_SUPPORTED; } Return ExternalCameraDevice::open( diff --git a/camera/provider/2.4/default/ExternalCameraProvider.cpp b/camera/provider/2.4/default/ExternalCameraProvider.cpp index a4046d0907..1cec0e5d97 100644 --- a/camera/provider/2.4/default/ExternalCameraProvider.cpp +++ b/camera/provider/2.4/default/ExternalCameraProvider.cpp @@ -105,8 +105,9 @@ Return ExternalCameraProvider::getCameraIdList(getCameraIdList_cb _hidl_cb Return ExternalCameraProvider::isSetTorchModeSupported( isSetTorchModeSupported_cb _hidl_cb) { - // No torch mode support for USB camera - _hidl_cb (Status::OK, false); + // setTorchMode API is supported, though right now no external camera device + // has a flash unit. + _hidl_cb (Status::OK, true); return Void(); }