diff options
| author | Yin-Chia Yeh <yinchiayeh@google.com> | 2015-05-07 14:43:19 -0700 | 
|---|---|---|
| committer | Yin-Chia Yeh <yinchiayeh@google.com> | 2015-05-07 14:43:19 -0700 | 
| commit | b28c344904e9bab979ec58a1c7b42b0bf25234ba (patch) | |
| tree | 40d3909682ff0c599e86ca2e75011d0721c853d1 /services/camera | |
| parent | d7ab7afa57ed1fa6fb9c4ce18ea0df3ec939c067 (diff) | |
| download | frameworks_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')
| -rw-r--r-- | services/camera/libcameraservice/common/CameraModule.cpp | 12 | 
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;  }  | 
