cmsdk: Create Concierge parcel handler concept.

  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
21 files changed
tree: ca277f2574d03bf53d471d711f626b1587b36357
  1. api/
  2. cm/
  3. host/
  4. packages/
  5. res/
  6. samples/
  7. src/
  8. system-api/
  9. tests/
  10. Android.mk
  11. CleanSpec.mk
  12. org.cyanogenmod.platform.xml
  13. README.md
README.md

CyanogenMod Platform SDK

The Platform SDK provides a set of APIs that give you easy access to a variety of different features within CyanogenMod. The SDK exposes APIs and system level framework access in the Android framework that aren't available in any other distribution.

Setup

You can either download from prebuilts hosted on github or pull directly via Gradle.

Building against release artifacts

Our stable releases are mirrored in Maven Central, and you can fetch the current release by setting your build.gradle dependencies to

dependencies {
    compile 'org.cyanogenmod:platform.sdk:4.+'
}

Building against development snapshots

Within build.gradle make sure your repositories list sonatype OSS repos for snapshots

repositories {
    maven {
        url "https://oss.sonatype.org/content/repositories/snapshots/"
    }
}

You can target the future or development branch by setting your dependencies for 5.0-SNAPSHOT

dependencies {
    compile 'org.cyanogenmod:platform.sdk:5.0-SNAPSHOT'
}

WIKI

For further inquiries regarding this project, please reference the wiki.