summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorYin-Chia Yeh <yinchiayeh@google.com>2015-10-14 11:05:44 -0700
committerYin-Chia Yeh <yinchiayeh@google.com>2015-10-14 11:05:44 -0700
commitd4a653a15767d4de37dbfdee22c2170951c93299 (patch)
tree1915d59eab5269b2d3743cbee4f7adc9a019a0ef /services
parentd805214cec5219eef42346cc136effe89292ac69 (diff)
downloadframeworks_av-d4a653a15767d4de37dbfdee22c2170951c93299.zip
frameworks_av-d4a653a15767d4de37dbfdee22c2170951c93299.tar.gz
frameworks_av-d4a653a15767d4de37dbfdee22c2170951c93299.tar.bz2
Camera: setup vendor tags before get_camera_info
So HAL can use vendor tags on first get_camera_info call. Bug: 24913201 Change-Id: I73f17de87e3712a27f9cee366995df27a740f5cb
Diffstat (limited to 'services')
-rw-r--r--services/camera/libcameraservice/CameraService.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/services/camera/libcameraservice/CameraService.cpp b/services/camera/libcameraservice/CameraService.cpp
index 2aaefe9..fb43e8c 100644
--- a/services/camera/libcameraservice/CameraService.cpp
+++ b/services/camera/libcameraservice/CameraService.cpp
@@ -173,6 +173,13 @@ void CameraService::onFirstRef()
mNumberOfCameras = mModule->getNumberOfCameras();
mNumberOfNormalCameras = mNumberOfCameras;
+ // Setup vendor tags before we call get_camera_info the first time
+ // because HAL might need to setup static vendor keys in get_camera_info
+ VendorTagDescriptor::clearGlobalVendorTagDescriptor();
+ if (mModule->getModuleApiVersion() >= CAMERA_MODULE_API_VERSION_2_2) {
+ setUpVendorTags();
+ }
+
mFlashlight = new CameraFlashlight(*mModule, *this);
status_t res = mFlashlight->findFlashUnits();
if (res) {
@@ -239,12 +246,6 @@ void CameraService::onFirstRef()
mModule->setCallbacks(this);
}
- VendorTagDescriptor::clearGlobalVendorTagDescriptor();
-
- if (mModule->getModuleApiVersion() >= CAMERA_MODULE_API_VERSION_2_2) {
- setUpVendorTags();
- }
-
CameraDeviceFactory::registerService(this);
CameraService::pingCameraServiceProxy();