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/include/camera/CaptureResult.h b/include/camera/CaptureResult.h
index 0be7d6f..ff0e3d3 100644
--- a/include/camera/CaptureResult.h
+++ b/include/camera/CaptureResult.h
@@ -18,15 +18,21 @@
#define ANDROID_HARDWARE_CAPTURERESULT_H
#include <utils/RefBase.h>
+#include <binder/Parcelable.h>
#include <camera/CameraMetadata.h>
+
namespace android {
+namespace hardware {
+namespace camera2 {
+namespace impl {
+
/**
* CaptureResultExtras is a structure to encapsulate various indices for a capture result.
* These indices are framework-internal and not sent to the HAL.
*/
-struct CaptureResultExtras {
+struct CaptureResultExtras : public android::Parcelable {
/**
* An integer to index the request sequence that this result belongs to.
*/
@@ -75,9 +81,14 @@
*/
bool isValid();
- status_t readFromParcel(Parcel* parcel);
- status_t writeToParcel(Parcel* parcel) const;
+ virtual status_t readFromParcel(const Parcel* parcel) override;
+ virtual status_t writeToParcel(Parcel* parcel) const override;
};
+} // namespace impl
+} // namespace camera2
+} // namespace hardware
+
+using hardware::camera2::impl::CaptureResultExtras;
struct CaptureResult : public virtual LightRefBase<CaptureResult> {
CameraMetadata mMetadata;