From 9fcc4ef9bbf746b7551a51c8b62cd4f8c8b4551c Mon Sep 17 00:00:00 2001 From: Jooyung Han Date: Thu, 23 Jan 2020 12:45:10 +0900 Subject: Use std::optional for @nullable (AIDL) Previously, nullable types were mapped to std::unique_ptr for C++ backend. But std::unique_ptr typically involves unnecessary alloc/dealloc. For example, if nullable string is represented in unique_ptr, we should do "unique_ptr(new string(value))" to set a value. To avoid breaking all hand-written parcelables, only new read/write functions are added to Parcel class and they are used only by aidl-generated code and their implementations. Bug: 144773267 Test: build/flash/boot atest --test-mapping frameworks/native/libs/binder Merged-In: I2c801e3b69f2f8ccf44267f15cbf79e1d8fbf19e Change-Id: I2c801e3b69f2f8ccf44267f15cbf79e1d8fbf19e (cherry picked from commit 1e1c5fbbbe8a76150fe832c8f974cbd543aa0860) Exempt-From-Owner-Approval: CP from master --- libs/binder/IAppOpsService.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'libs/binder/IAppOpsService.cpp') diff --git a/libs/binder/IAppOpsService.cpp b/libs/binder/IAppOpsService.cpp index b2bd9e50b0..e5f0a11aa0 100644 --- a/libs/binder/IAppOpsService.cpp +++ b/libs/binder/IAppOpsService.cpp @@ -22,6 +22,8 @@ #include #include +#include + namespace android { // ---------------------------------------------------------------------- -- cgit v1.2.3-59-g8ed1b