From b28c344904e9bab979ec58a1c7b42b0bf25234ba Mon Sep 17 00:00:00 2001 From: Yin-Chia Yeh Date: Thu, 7 May 2015 14:43:19 -0700 Subject: Camera: update CameraModule deriveKey To add derived keys into availableCharacteristicsKey. Bug: 20883751 Change-Id: I49d6d1bb79e6f31825dbfdebb039acbd5d9abe68 --- services/camera/libcameraservice/common/CameraModule.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'services/camera') diff --git a/services/camera/libcameraservice/common/CameraModule.cpp b/services/camera/libcameraservice/common/CameraModule.cpp index 064ff71..c662853 100644 --- a/services/camera/libcameraservice/common/CameraModule.cpp +++ b/services/camera/libcameraservice/common/CameraModule.cpp @@ -31,6 +31,7 @@ void CameraModule::deriveCameraCharacteristicsKeys( // Keys added in HAL3.3 if (deviceVersion < CAMERA_DEVICE_API_VERSION_3_3) { + const size_t NUM_DERIVED_KEYS_HAL3_3 = 3; Vector controlModes; uint8_t data = ANDROID_CONTROL_AE_LOCK_AVAILABLE_TRUE; chars.update(ANDROID_CONTROL_AE_LOCK_AVAILABLE, &data, /*count*/1); @@ -78,6 +79,17 @@ void CameraModule::deriveCameraCharacteristicsKeys( } chars.update(ANDROID_CONTROL_AVAILABLE_MODES, controlModes); + + entry = chars.find(ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS); + Vector availableCharsKeys; + availableCharsKeys.setCapacity(entry.count + NUM_DERIVED_KEYS_HAL3_3); + for (size_t i = 0; i < entry.count; i++) { + availableCharsKeys.push(entry.data.i32[i]); + } + availableCharsKeys.push(ANDROID_CONTROL_AE_LOCK_AVAILABLE); + availableCharsKeys.push(ANDROID_CONTROL_AWB_LOCK_AVAILABLE_TRUE); + availableCharsKeys.push(ANDROID_CONTROL_AVAILABLE_MODES); + chars.update(ANDROID_REQUEST_AVAILABLE_CHARACTERISTICS_KEYS, availableCharsKeys); } return; } -- cgit v1.1