am b14d72bc: am d070009e: am df6774c9: am 7c1cdbdd: am e23f8b8f: am 1f70863d: am 37b44969: Add support for writing byte arrays to parcels * commit 'b14d72bce04e990639305890b2aca3ccad5b3ebb': Add support for writing byte arrays to parcels
diff --git a/include/binder/Parcel.h b/include/binder/Parcel.h index 3ff95d2..40ba529 100644 --- a/include/binder/Parcel.h +++ b/include/binder/Parcel.h
@@ -103,6 +103,7 @@ status_t writeStrongBinder(const sp<IBinder>& val); status_t writeWeakBinder(const wp<IBinder>& val); status_t write(const Flattenable& val); + status_t writeByteArray(size_t len, const uint8_t *val); template<typename T> status_t write(const LightFlattenable<T>& val);
diff --git a/libs/binder/Parcel.cpp b/libs/binder/Parcel.cpp index 8f7f7e7..53b29a4 100644 --- a/libs/binder/Parcel.cpp +++ b/libs/binder/Parcel.cpp
@@ -617,6 +617,17 @@ return writeAligned(val); } +status_t Parcel::writeByteArray(size_t len, const uint8_t *val) { + if (!val) { + return writeAligned(-1); + } + status_t ret = writeAligned(len); + if (ret == NO_ERROR) { + ret = write(val, len * sizeof(*val)); + } + return ret; +} + status_t Parcel::writeInt64(int64_t val) { return writeAligned(val);