commit | d7efe0bb8453b36084c997ee87ba9f144bda408d | [log] [tgz] |
---|---|---|
author | Jeongik Cha <jeongik@google.com> | Wed Dec 15 03:23:02 2021 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Wed Dec 15 03:23:02 2021 +0000 |
tree | f83b136c2b6c2da4fdd44b392c146305a60b746a | |
parent | e0fccb6a3a74dca7cd227ac5b85cdddecde14e80 [diff] | |
parent | 30154ac94210281363717533fbcf872a145bc62d [diff] |
Merge "Add copy ctor for ParcelableHolder" am: ba87e1a1de am: 4438fc6959 am: 3028ac77eb am: 30154ac942 Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/1917358 Change-Id: I628a13778b77bf8a78627b2f2bd68785d5d5ffb4
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 aa3b978..972eca7 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 @@ 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;