So, some weeks ago I watched a talk from The Big Android BBQ by some guys from CyangogenMod, https://youtu.be/RLpDLIIVpRs. They were talking about how to make Android OS hacking more approachable. Specifically about their Platform SDK. They had a demo of how making custom Quick Settings Tiles was pretty much as easy as publishing a notification.
This sounds easy enough, tough with an exam coming up I did put it on my backlog.
With a post from Android Police this Friday (30-10-2015) it was brought to my mind again. The article mentions Quick Settings Tiles in vanilla Android 6.0 M via the hidden System UI Tuner and an app which have implemented it. Though it fails to mention Kevin Coppock who actually did the work of figuring out how it works, as fas as I can tell it is not the same guy at least. Kevin Coppock has it all explained over here, https://medium.com/@kcoppock/android-m-what-s-that-broadcast-tile-for-d1cd3a477a5f. He did also create a library which simplified the task of creating the broadcast Intent need to activate a custom tile, https://github.com/kcoppock/BroadcastTileSupport.
Anyhow, using the CyangogenMod Platform SDK 2 and BroadcastTileSupport I did over the weekend hack together a app that supports both Android M and CM devices (which goes down to at least Lolipop 5.1.1). I call it Such Quick Tiles and it at the moment only lives on my github at https://github.com/victorhaggqvist/SuchQuickTiles, tough it may see its way to the Play Store too.
The main difference in the implementations is that the CM Platform SDK supports icons via Drawables but no longclick action. While AOSP have longclick but icons only via resource id’s.