diff options
| author | 2021-12-15 02:08:17 +0000 | |
|---|---|---|
| committer | 2021-12-15 02:08:17 +0000 | |
| commit | ba87e1a1de232815e72b59b90a3a406725e15fc5 (patch) | |
| tree | 2dadec8ac16b20bbfdc946a61c35a5c6d5fb5182 | |
| parent | 6e7f072d8a660d3cebde24b46d32041ee16b866c (diff) | |
| parent | 4e243f3abb3d92c3bc31723db5fb3dc0f86ddb0f (diff) | |
Merge "Add copy ctor for ParcelableHolder"
| -rw-r--r-- | libs/binder/ndk/include_cpp/android/binder_parcelable_utils.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libs/binder/ndk/include_cpp/android/binder_parcelable_utils.h b/libs/binder/ndk/include_cpp/android/binder_parcelable_utils.h index aa3b97806b..972eca79ff 100644 --- a/libs/binder/ndk/include_cpp/android/binder_parcelable_utils.h +++ b/libs/binder/ndk/include_cpp/android/binder_parcelable_utils.h @@ -46,6 +46,18 @@ class AParcelableHolder { AParcelableHolder() = delete; explicit AParcelableHolder(parcelable_stability_t stability) : mParcel(AParcel_create()), mStability(stability) {} + +#if __ANDROID_API__ >= 31 + AParcelableHolder(const AParcelableHolder& other) + : mParcel(AParcel_create()), mStability(other.mStability) { + // AParcelableHolder has been introduced in 31. + if (__builtin_available(android 31, *)) { + AParcel_appendFrom(other.mParcel.get(), this->mParcel.get(), 0, + AParcel_getDataSize(other.mParcel.get())); + } + } +#endif + AParcelableHolder(AParcelableHolder&& other) = default; virtual ~AParcelableHolder() = default; |