| Jason Monk | ba055f8 | 2018-02-23 09:38:23 -0500 | [diff] [blame] | 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 | |
| Kunhung Li | 1b35253 | 2018-07-30 18:15:12 +0800 | [diff] [blame] | 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. |
| Jason Monk | ba055f8 | 2018-02-23 09:38:23 -0500 | [diff] [blame] | 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. |