lineage-sdk: Add LineageStatusBarItem interfaces

*) Introduce LineageStatusBarItem class that contains interfaces
   and utility methods that can be used by status bar items that
   that are hosted here in the lineage-sdk in order to communicate
   with systemui.

*) Nested interface: Manager
   Implemented by layout view LineageStatusBarItemHolder in systemui.
   Contains methods that are used to request receipt of certain
   systemui events.

*) Nested interface: DarkReceiver
   Can be used to listen for systemui DarkReceiver events.

*) Nested interface: VisibilityReceiver
   Can be used to listen for changes in visibility of a statusbar item.
   Works even if the statusbar item sets it's own visibility to GONE.

*) Util method: findManager(View v) walks up through parent views to
   look for something that implements Manager.

*) Systemui side that provides a layout that implements Manager:
   https://review.lineageos.org/#/c/202265/

Change-Id: Ie237db5bfac9994b87de39372505cd61c39d89ee
1 file changed
tree: 087002e1a1ce7eec9ac9f3bab4ce56e589ab0420
  1. api/
  2. host/
  3. lineage/
  4. packages/
  5. samples/
  6. sdk/
  7. tests/
  8. .gitignore
  9. Android.mk
  10. CleanSpec.mk
  11. org.lineageos.platform.xml
  12. README.md
README.md

LineageOS Platform SDK

The Platform SDK provides a set of APIs that give you easy access to a variety of different features within LineageOS. 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.lineageos:platform.sdk:5.+'
}

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 6.0-SNAPSHOT

dependencies {
    compile 'org.lineageos:platform.sdk:6.0-SNAPSHOT'
}

WIKI

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