lineage-sdk internal: add LineageButtons

This class will be the new home for all the buttons logic currently
in fw/b. Currently, it only implements the "long press volume keys to
skip" feature.

Based on the following commits from cm-14.1:

commit 1296fb316946ca1361b2d32557b6c9e028f509c8
Author: Dark Eyes <dark_eyes_@hotmail.com>
Date:   Sat Nov 5 12:09:31 2016 -0400

    Fix long press volume buttons skip tracks

    Without that patch, the volume changes up or down prior
    to skipping tracks because the sendvolumekeyevent doesn't
    have the mayChangeVolume condition. Also, that part is
    useless cause the mUseTvRouting condition is taken care
    of correctly later.

    Change-Id: I88757315f135f013e7692861d46b3a07fbfc07d5

commit 61cebe2fea95f799b7b4edc540f6c38d3c13fbde
Author: Michael Bestas <mikeioannina@gmail.com>
Date:   Thu Dec 18 14:43:22 2014 +0200

    Fix volume key music controls and wake up

    - Forward port code from cm-11.0 and adjust for 5.0
    - Fix not being able to adjust volume when music control is on
    - Disable screen off volume/music control when wake key is enabled

    Change-Id: Ie0ad83965c41fd33120490c25a4ff3d9b2cbeb37

commit f41ba8af1796b4903dba3d134e56e8148f3b4808
Author: Austin T. Conn <atc3030dev@gmail.com>
Date:   Wed Dec 17 13:28:00 2014 -0500

    Settings: Forward Port Volume Long Press Skip Tracks (1/2)

    Bring Forward Volume Rocker Track Change

    Requires Settings Change
    http://review.cyanogenmod.org/#/c/82222/

    Change-Id: I70b00e08fe48707110725dd1daa56b1e48d15a03

Change-Id: I5c7f733913242bba822cf3f9f7e1e3320c2bedf7
1 file changed
tree: ba86a6ffcd164ec6f1f1b67aad9ab57b5237ba89
  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.