Merge "ParcelableHolder shouldn't write anything for empty case"

This commit is contained in:
Treehugger Robot
2020-11-26 02:39:54 +00:00
committed by Gerrit Code Review

View File

@@ -170,16 +170,21 @@ public final class ParcelableHolder implements Parcelable {
mParcelable = null;
int dataSize = parcel.readInt();
if (dataSize < 0) {
throw new IllegalArgumentException("dataSize from parcel is negative");
} else if (dataSize == 0) {
if (mParcel != null) {
mParcel.recycle();
mParcel = null;
}
return;
}
if (mParcel == null) {
mParcel = Parcel.obtain();
}
mParcel.setDataPosition(0);
mParcel.setDataSize(0);
int dataSize = parcel.readInt();
if (dataSize < 0) {
throw new IllegalArgumentException("dataSize from parcel is negative");
}
int dataStartPos = parcel.dataPosition();
mParcel.appendFrom(parcel, dataStartPos, dataSize);
@@ -196,6 +201,11 @@ public final class ParcelableHolder implements Parcelable {
return;
}
if (mParcelable == null) {
parcel.writeInt(0);
return;
}
int sizePos = parcel.dataPosition();
parcel.writeInt(0);
int dataStartPos = parcel.dataPosition();