Add metadata helper class.
Breaks metadata down into distinct pieces (to be added later).
BUG: 29330282
TEST: unit tests pass
Change-Id: I7156e420e7cdb14b5c3155006ecefd8ff2a49500
diff --git a/modules/camera/3_4/Android.mk b/modules/camera/3_4/Android.mk
index e785015..1ced4a5 100644
--- a/modules/camera/3_4/Android.mk
+++ b/modules/camera/3_4/Android.mk
@@ -20,43 +20,64 @@
# requesting to use it.
ifeq ($(USE_CAMERA_V4L2_HAL), true)
-include $(CLEAR_VARS)
+v4l2_shared_libs := \
+ libbase \
+ libcamera_client \
+ libcamera_metadata \
+ libcutils \
+ libhardware \
+ liblog \
+ libnativehelper \
+ libsync \
+ libutils \
-LOCAL_MODULE := camera.v4l2
-LOCAL_MODULE_RELATIVE_PATH := hw
+v4l2_static_libs :=
-LOCAL_CFLAGS += -fno-short-enums
+v4l2_cflags := -fno-short-enums -Wall -Wextra -fvisibility=hidden
-# Note: see V4L2 HALv1 implementation when adding YUV support,
-# some various unexpected variables had to be set.
+v4l2_c_includes := $(call include-path-for, camera)
-LOCAL_SHARED_LIBRARIES := \
- libbase \
- libcamera_client \
- libcamera_metadata \
- libcutils \
- libhardware \
- liblog \
- libnativehelper \
- libsync \
- libutils \
-
-LOCAL_STATIC_LIBRARIES :=
-
-LOCAL_C_INCLUDES += \
- $(call include-path-for, camera)
-
-LOCAL_SRC_FILES := \
+v4l2_src_files := \
camera.cpp \
stream.cpp \
stream_format.cpp \
v4l2_camera.cpp \
v4l2_camera_hal.cpp \
v4l2_gralloc.cpp \
+ v4l2_metadata.cpp \
v4l2_wrapper.cpp \
-LOCAL_CFLAGS += -Wall -Wextra -fvisibility=hidden
+v4l2_test_files := \
+ v4l2_metadata_test.cpp \
+# V4L2 Camera HAL.
+# ==============================================================================
+include $(CLEAR_VARS)
+LOCAL_MODULE := camera.v4l2
+LOCAL_MODULE_RELATIVE_PATH := hw
+LOCAL_CFLAGS += $(v4l2_cflags)
+LOCAL_SHARED_LIBRARIES := $(v4l2_shared_libs)
+LOCAL_STATIC_LIBRARIES := $(v4l2_static_libs)
+LOCAL_C_INCLUDES += $(v4l2_c_includes)
+LOCAL_SRC_FILES := $(v4l2_src_files)
include $(BUILD_SHARED_LIBRARY)
+# Unit tests for V4L2 Camera HAL.
+# ==============================================================================
+include $(CLEAR_VARS)
+LOCAL_MODULE := camera.v4l2_test
+LOCAL_CFLAGS += $(v4l2_cflags)
+LOCAL_SHARED_LIBRARIES := $(v4l2_shared_libs)
+LOCAL_STATIC_LIBRARIES := \
+ libBionicGtestMain \
+ libgmock \
+ $(v4l2_static_libs) \
+
+LOCAL_C_INCLUDES += $(v4l2_c_includes)
+LOCAL_SRC_FILES := \
+ $(v4l2_src_files) \
+ $(v4l2_test_files) \
+
+include $(BUILD_NATIVE_TEST)
+
endif # USE_CAMERA_V4L2_HAL