Home | History | Annotate | Download | only in docs
      1 # Plugin hooks
      2 ### Action: com.android.systemui.action.PLUGIN_OVERLAY
      3 Expected interface: [OverlayPlugin](/packages/SystemUI/plugin/src/com/android/systemui/plugins/OverlayPlugin.java)
      4 
      5 Use: Allows plugin access to the status bar and nav bar window for whatever nefarious purposes you can imagine.
      6 
      7 ### Action: com.android.systemui.action.PLUGIN_QS
      8 Expected interface: [QS](/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QS.java)
      9 
     10 Use: Allows the entire QS panel to be replaced with something else that is optionally expandable.
     11 
     12 Notes: To not mess up the notification panel interaction, much of the QSContainer interface needs to actually be implemented.
     13 
     14 ### Action: com.android.systemui.action.PLUGIN_QS_FACTORY
     15 Expected interface: [QSFactory](/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSFactory.java)
     16 
     17 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.
     18 
     19 ### Action: com.android.systemui.action.PLUGIN_NAV_BUTTON
     20 Expected interface: [NavBarButtonProvider](/packages/SystemUI/plugin/src/com/android/systemui/plugins/statusbar/phone/NavBarButtonProvider.java)
     21 
     22 Use: Allows a plugin to create a new nav bar button, or override an existing one with a view of its own.
     23 
     24 ### Action: com.android.systemui.action.PLUGIN_NAV_GESTURE
     25 Expected interface: [NavGesture](/packages/SystemUI/plugin/src/com/android/systemui/plugins/statusbar/phone/NavGesture.java)
     26 
     27 Use: Allows touch events from the nav bar to be intercepted and used for other gestures.
     28 
     29 ### Action: com.android.systemui.action.PLUGIN_LOCKSCREEN_RIGHT_BUTTON
     30 Expected interface: [IntentButtonProvider](/packages/SystemUI/plugin/src/com/android/systemui/plugins/IntentButtonProvider.java)
     31 
     32 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.
     33 
     34 ### Action: com.android.systemui.action.PLUGIN_LOCKSCREEN_LEFT_BUTTON
     35 Expected interface: [IntentButtonProvider](/packages/SystemUI/plugin/src/com/android/systemui/plugins/IntentButtonProvider.java)
     36 
     37 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.
     38 
     39 ### Action: com.android.systemui.action.PLUGIN_GLOBAL_ACTIONS
     40 Expected interface: [GlobalActions](/packages/SystemUI/plugin/src/com/android/systemui/plugins/GlobalActions.java)
     41 
     42 Use: Allows the long-press power menu to be completely replaced.
     43 
     44 ### Action: com.android.systemui.action.PLUGIN_VOLUME
     45 Expected interface: [VolumeDialog](/packages/SystemUI/plugin/src/com/android/systemui/plugins/VolumeDialog.java)
     46 
     47 Use: Allows replacement of the volume dialog.
     48 
     49 ### Action: com.android.systemui.action.PLUGIN_NOTIFICATION_SWIPE_ACTION
     50 Expected interface: [NotificationSwipeActionHelper](/packages/SystemUI/plugin/src/com/android/systemui/plugins/statusbar/NotificationSwipeActionHelper.java)
     51 
     52 Use: Control over swipes/input for notification views, can be used to control what happens when you swipe/long-press
     53 
     54 ### Action: com.android.systemui.action.PLUGIN_CLOCK
     55 Expected interface: [ClockPlugin](/packages/SystemUI/plugin/src/com/android/systemui/plugins/ClockPlugin.java)
     56 
     57 Use: Allows replacement of the keyguard main clock.
     58 
     59 # Global plugin dependencies
     60 These classes can be accessed by any plugin using PluginDependency as long as they @Requires them.
     61 
     62 [VolumeDialogController](/packages/SystemUI/plugin/src/com/android/systemui/plugins/VolumeDialogController.java) - Mostly just API for the volume plugin
     63 
     64 [ActivityStarter](/packages/SystemUI/plugin/src/com/android/systemui/plugins/ActivityStarter.java) - Allows starting of intents while co-operating with keyguard unlocks.
     65