Expected interface: OverlayPlugin
Use: Allows plugin access to the status bar and nav bar window for whatever nefarious purposes you can imagine.
Expected interface: QS
Use: Allows the entire QS panel to be replaced with something else that is optionally expandable.
Notes: To not mess up the notification panel interaction, much of the QSContainer interface needs to actually be implemented.
Expected interface: QSFactory
Use: Controls the creation of QS Tiles and their views, can used to add or change system QS tiles, can also be used to change the layout/interaction of the tile views.
Expected interface: NavBarButtonProvider
Use: Allows a plugin to create a new nav bar button, or override an existing one with a view of its own.
Expected interface: NavGesture
Use: Allows touch events from the nav bar to be intercepted and used for other gestures.
Expected interface: IntentButtonProvider
Use: Allows a plugin to specify the icon for the bottom right lock screen button, and the intent that gets launched when it is activated.
Expected interface: IntentButtonProvider
Use: Allows a plugin to specify the icon for the bottom left lock screen button, and the intent that gets launched when it is activated.
Expected interface: GlobalActions
Use: Allows the long-press power menu to be completely replaced.
Expected interface: VolumeDialog
Use: Allows replacement of the volume dialog.
Expected interface: NotificationSwipeActionHelper
Use: Control over swipes/input for notification views, can be used to control what happens when you swipe/long-press
Expected interface: ClockPlugin
Use: Allows replacement of the keyguard main clock.
These classes can be accessed by any plugin using PluginDependency as long as they @Requires them.
VolumeDialogController - Mostly just API for the volume plugin
ActivityStarter - Allows starting of intents while co-operating with keyguard unlocks.