Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8d840085 authored by Treehugger Robot's avatar Treehugger Robot Committed by Automerger Merge Worker
Browse files

Merge "ParcelableHolder shouldn't write anything for empty case" am:...

Merge "ParcelableHolder shouldn't write anything for empty case" am: 97c2606b am: a539a7a3 am: 594ccb48

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/1509888

Change-Id: I1dde6fb17cb43885eaefe97fbd9ca1c8c965973b
parents 9c00cc6e 594ccb48
Loading
Loading
Loading
Loading
+15 −5
Original line number Diff line number Diff line
@@ -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();