summaryrefslogtreecommitdiffstats
path: root/core/jni/android_hardware_camera2_CameraMetadata.cpp
diff options
context:
space:
mode:
authorIgor Murashkin <iam@google.com>2014-04-22 15:05:50 -0700
committerIgor Murashkin <iam@google.com>2014-05-13 15:28:24 -0700
commit3c40a046cf0ea7b6af01ec93e5276eccb3234bfe (patch)
treeb78afeb203d25c370995da98601eca721fbcd7e6 /core/jni/android_hardware_camera2_CameraMetadata.cpp
parentbee74c2b479153bb6a4b9e03f068658042a5fdfc (diff)
downloadframeworks_base-3c40a046cf0ea7b6af01ec93e5276eccb3234bfe.zip
frameworks_base-3c40a046cf0ea7b6af01ec93e5276eccb3234bfe.tar.gz
frameworks_base-3c40a046cf0ea7b6af01ec93e5276eccb3234bfe.tar.bz2
camera2: Update native<->managed camera metadata marshalers
* Improve existing marshalers: - each managed/native type combination can be queried marshal support - marshalers can recursively call other marshalers for nested types - support marshaling/unmarshaling generic classes by using super type tokens * Add new marshalers for: - ColorSpaceTransform - MeteringRectangle - Parcelable - Range<T> - ReprocessFormatsMap - RggbChannelVector - SizeF - StreamConfiguration - StreamConfigurationDuration Batteries included; so are unit tests. Bug: 14628001 Change-Id: I38d3e646ccfb3953898cd6f750c33e4097328482
Diffstat (limited to 'core/jni/android_hardware_camera2_CameraMetadata.cpp')
-rw-r--r--core/jni/android_hardware_camera2_CameraMetadata.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/core/jni/android_hardware_camera2_CameraMetadata.cpp b/core/jni/android_hardware_camera2_CameraMetadata.cpp
index 05a99a3..fa2cfe3 100644
--- a/core/jni/android_hardware_camera2_CameraMetadata.cpp
+++ b/core/jni/android_hardware_camera2_CameraMetadata.cpp
@@ -489,8 +489,13 @@ static jint CameraMetadata_getTagFromKey(JNIEnv *env, jobject thiz, jstring keyN
sp<VendorTagDescriptor> vTags = VendorTagDescriptor::getGlobalVendorTagDescriptor();
- SortedVector<String8> vendorSections = vTags->getAllSectionNames();
- size_t vendorSectionCount = vendorSections.size();
+ SortedVector<String8> vendorSections;
+ size_t vendorSectionCount = 0;
+
+ if (vTags != 0) {
+ vendorSections = vTags->getAllSectionNames();
+ vendorSectionCount = vendorSections.size();
+ }
// First, find the section by the longest string match
const char *section = NULL;
@@ -561,7 +566,7 @@ static jint CameraMetadata_getTagFromKey(JNIEnv *env, jobject thiz, jstring keyN
"Could not find tag name for key '%s')", key);
return 0;
}
- } else {
+ } else if (vTags != 0) {
// Match vendor tags (typically com.*)
const String8 sectionName(section);
const String8 tagName(keyTagName);