am 1f70863d: am 37b44969: Add support for writing byte arrays to parcels

* commit '1f70863d13668dc97047df15cce547ebc8435ff2':
  Add support for writing byte arrays to parcels
This commit is contained in:
Marco Nelissen 2014-03-20 10:33:12 -07:00 committed by Android Git Automerger
commit e23f8b8f0b
2 changed files with 12 additions and 0 deletions

View File

@ -103,6 +103,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 write(const Flattenable& val); status_t write(const Flattenable& val);
status_t writeByteArray(size_t len, const uint8_t *val);
template<typename T> template<typename T>
status_t write(const LightFlattenable<T>& val); status_t write(const LightFlattenable<T>& val);

View File

@ -617,6 +617,17 @@ status_t Parcel::writeInt32(int32_t val)
return writeAligned(val); 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) status_t Parcel::writeInt64(int64_t val)
{ {
return writeAligned(val); return writeAligned(val);