Camera: Switch camera2 to auto-gen C++ binder interfaces
- Move camera service AIDL files to frameworks/av
- Build C++ interface stubs with AIDL tools
- Add necessary native-side parcelables and update existing ones
- Remove manually-written stubs, rearrange remaining manual stubs
- Adjust implementations to work with auto-generated stubs
- Adjust method signatures for auto-gen differences
- Add rich error messages using binder::Status
Bug: 25091611
Change-Id: I6f69f34b9d1a3f8d1fb7db87357363f8fa8483ff
diff --git a/camera/Android.mk b/camera/Android.mk
index de23953..b0df7c4 100644
--- a/camera/Android.mk
+++ b/camera/Android.mk
@@ -18,7 +18,24 @@
LOCAL_PATH := $(CAMERA_CLIENT_LOCAL_PATH)
-LOCAL_SRC_FILES:= \
+LOCAL_AIDL_INCLUDES := \
+ frameworks/av/camera/aidl \
+ frameworks/base/core/java \
+ frameworks/native/aidl/gui
+
+# AIDL files for camera interfaces
+# The headers for these interfaces will be available to any modules that
+# include libcamera_client, at the path "aidl/package/path/BnFoo.h"
+
+LOCAL_SRC_FILES := \
+ aidl/android/hardware/ICameraService.aidl \
+ aidl/android/hardware/ICameraServiceListener.aidl \
+ aidl/android/hardware/camera2/ICameraDeviceCallbacks.aidl \
+ aidl/android/hardware/camera2/ICameraDeviceUser.aidl
+
+# Source for camera interface parcelables, and manually-written interfaces
+
+LOCAL_SRC_FILES += \
Camera.cpp \
CameraMetadata.cpp \
CameraParameters.cpp \
@@ -26,15 +43,12 @@
CameraParameters2.cpp \
ICamera.cpp \
ICameraClient.cpp \
- ICameraService.cpp \
- ICameraServiceListener.cpp \
ICameraServiceProxy.cpp \
ICameraRecordingProxy.cpp \
ICameraRecordingProxyListener.cpp \
- camera2/ICameraDeviceUser.cpp \
- camera2/ICameraDeviceCallbacks.cpp \
camera2/CaptureRequest.cpp \
camera2/OutputConfiguration.cpp \
+ camera2/SubmitInfo.cpp \
CameraBase.cpp \
CameraUtils.cpp \
VendorTagDescriptor.cpp
@@ -53,6 +67,11 @@
system/media/camera/include \
system/media/private/camera/include \
frameworks/native/include/media/openmax \
+ frameworks/av/include/camera
+
+LOCAL_EXPORT_C_INCLUDE_DIRS := \
+ system/media/camera/include \
+ frameworks/av/include/camera
LOCAL_MODULE:= libcamera_client