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
CM Platform SDK Tests
The tests package contains both functional manual tests as well as unit tests which can be ran utilizing the InstrumentationTestRunner from android.
To run the tests (on a live device):
adb shell am instrument -w org.cyanogenmod.tests/android.support.test.runner.AndroidJUnitRunner