libbinder_ndk: do not rely on copyability of parcelables
AParcel_readNullableParcelable accidentally relies on T's copyability (introduced by 3b31ccac.) This prevents non-copyable parcelables from being used in a nullable arrays. For example, ScopedFileDescriptor. The following example should be valid. parcelable Foo { parcelable Bar { ParcelFileDescriptor pfd; } @nullable Bar[] bars; } This fixes it by using std::optional<T>::emplace(). Bug: 203483658 Test: m; build NDK with the example above. Change-Id: If95b28869feca2114922c117b7eb618af434a535
Loading
Please register or sign in to comment