Add support for writing byte arrays to parcels

b/13418320

Change-Id: I2285df9e9d3dc8a6a54055b13b352b81660bf45d
This commit is contained in:
Marco Nelissen 2014-03-13 14:17:40 -07:00
parent 19d6481956
commit f0190bff38
2 changed files with 11 additions and 0 deletions

View File

@ -102,6 +102,7 @@ public:
status_t writeStrongBinder(const sp<IBinder>& val); status_t writeStrongBinder(const sp<IBinder>& val);
status_t writeWeakBinder(const wp<IBinder>& val); status_t writeWeakBinder(const wp<IBinder>& val);
status_t writeInt32Array(size_t len, const int32_t *val); status_t writeInt32Array(size_t len, const int32_t *val);
status_t writeByteArray(size_t len, const uint8_t *val);
template<typename T> template<typename T>
status_t write(const Flattenable<T>& val); status_t write(const Flattenable<T>& val);

View File

@ -628,6 +628,16 @@ status_t Parcel::writeInt32Array(size_t len, const int32_t *val) {
} }
return ret; return ret;
} }
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) status_t Parcel::writeInt64(int64_t val)
{ {