summaryrefslogtreecommitdiffstats
path: root/services/camera/libcameraservice/common
diff options
context:
space:
mode:
authorYin-Chia Yeh <yinchiayeh@google.com>2015-05-07 14:43:19 -0700
committerYin-Chia Yeh <yinchiayeh@google.com>2015-05-07 14:43:19 -0700
commitb28c344904e9bab979ec58a1c7b42b0bf25234ba (patch)
tree40d3909682ff0c599e86ca2e75011d0721c853d1 /services/camera/libcameraservice/common
parentd7ab7afa57ed1fa6fb9c4ce18ea0df3ec939c067 (diff)
downloadframeworks_av-b28c344904e9bab979ec58a1c7b42b0bf25234ba.zip
frameworks_av-b28c344904e9bab979ec58a1c7b42b0bf25234ba.tar.gz
frameworks_av-b28c344904e9bab979ec58a1c7b42b0bf25234ba.tar.bz2
Camera: update CameraModule deriveKey
To add derived keys into availableCharacteristicsKey. Bug: 20883751 Change-Id: I49d6d1bb79e6f31825dbfdebb039acbd5d9abe68
Diffstat (limited to 'services/camera/libcameraservice/common')
-rw-r--r--services/camera/libcameraservice/common/CameraModule.cpp12
1 files changed, 12 insertions, 0 deletions
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<uint8_t> 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<int32_t> 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;
}