Simply, Concierge handles your parcels and makes sure they
get marshalled and unmarshalled correctly when cross IPC
boundaries even when there is a version mismatch between the client
sdk level and the framework implementation.
On incoming parcel (to be unmarshalled):
ParcelInfo incomingParcelInfo = Concierge.receiveParcel(incomingParcel);
int parcelableVersion = incomingParcelInfo.getParcelVersion();
// Do unmarshalling steps here iterating over every plausible version
// Complete the process
incomingParcelInfo.complete();
On outgoing parcel (to be marshalled):
ParcelInfo outgoingParcelInfo = Concierge.prepareParcel(incomingParcel);
// Do marshalling steps here iterating over every plausible version
// Complete the process
outgoingParcelInfo.complete();
Change-Id: I0096851e08ce25908e19e39e6bc4af344e85725e