Rewrite battery history storage.
We now write battery history directly into a buffer, instead of creating objects. This allows for more efficient storage; later it can be even better because we can only write deltas. The old code is still there temporarily for validation. Change-Id: I9707d4d8ff30855be8ebdc93bc078911040d8e0b
This commit is contained in:
parent
4849bc5b3d
commit
97e2bcd760
@ -338,7 +338,7 @@ void Parcel::setDataPosition(size_t pos) const
|
||||
|
||||
status_t Parcel::setDataCapacity(size_t size)
|
||||
{
|
||||
if (size > mDataSize) return continueWrite(size);
|
||||
if (size > mDataCapacity) return continueWrite(size);
|
||||
return NO_ERROR;
|
||||
}
|
||||
|
||||
@ -386,11 +386,13 @@ status_t Parcel::appendFrom(Parcel *parcel, size_t offset, size_t len)
|
||||
}
|
||||
int numObjects = lastIndex - firstIndex + 1;
|
||||
|
||||
if ((mDataSize+len) > mDataCapacity) {
|
||||
// grow data
|
||||
err = growData(len);
|
||||
if (err != NO_ERROR) {
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
||||
// append data
|
||||
memcpy(mData + mDataPos, data + offset, len);
|
||||
@ -1384,8 +1386,10 @@ status_t Parcel::continueWrite(size_t desired)
|
||||
return NO_MEMORY;
|
||||
}
|
||||
} else {
|
||||
if (mDataSize > desired) {
|
||||
mDataSize = desired;
|
||||
LOGV("continueWrite Setting data size of %p to %d\n", this, mDataSize);
|
||||
}
|
||||
if (mDataPos > desired) {
|
||||
mDataPos = desired;
|
||||
LOGV("continueWrite Setting data pos of %p to %d\n", this, mDataPos);
|
||||
|
Loading…
Reference in New Issue
Block a user