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

Commit 51c00139 authored by Shai Barack's avatar Shai Barack
Browse files

Parcel directly to mapped SharedMemory

This avoids an unnecessary interim copy.

Bug: 401362825 
Flag: EXEMPT bugfix
Change-Id: I45e4bc6650a6085d4300a796beda9e445911f2d6
parent f899c919
Loading
Loading
Loading
Loading
+5 −8
Original line number Diff line number Diff line
@@ -75,7 +75,6 @@ public class MarshalQueryableParcelable<T extends Parcelable>
            }

            Parcel parcel = Parcel.obtain();
            byte[] parcelContents;

            try {
                value.writeToParcel(parcel, /*flags*/0);
@@ -85,17 +84,15 @@ public class MarshalQueryableParcelable<T extends Parcelable>
                            "Parcelable " + value + " must not have file descriptors");
                }

                parcelContents = parcel.marshall();
                final int position = buffer.position();
                parcel.marshall(buffer);
                if (buffer.position() == position) {
                    throw new AssertionError("No data marshaled for " + value);
                }
            }
            finally {
                parcel.recycle();
            }

            if (parcelContents.length == 0) {
                throw new AssertionError("No data marshaled for " + value);
            }

            buffer.put(parcelContents);
        }

        @Override