summaryrefslogtreecommitdiff
path: root/packages/SystemUI/src/com/android/systemui/plugins
Commit message (Collapse)AuthorAgeFilesLines
* Whitelist -> AllowlistHawkwood Glazier2023-02-141-1/+1
| | | | | | Bug: 268662350 Test: Manually checked device allowlist Change-Id: I8f264c4bcda7be12c3f2e5242bf689df66199e84
* Add Customization LibHawkwood Glazier2022-11-182-2/+0
| | | | | | Bug: 258424862 Test: Manually rebuilt everything Change-Id: If683023d2f592bb09827a50fbc79559b5b57cb3a
* Ensure log buffers are dumped to file on uncaught exceptionsJustin Weir2022-05-021-6/+3
| | | | | | | | | | | Move the functionality for wrapping an uncaught exception pre-handler from PluginManager to a standalone manager. Make DumpHandler register another uncaught exception pre-handler that will tell the log buffer eulogizer to dump contents to a file. Fixes: 213884413 Test: manually verified, added tests, and ran atest Change-Id: If829fc33769819624530f766178689ecf0374926
* Turn PluginManager into a Singelton.Dave Mankoff2021-09-141-0/+1
| | | | | | | | | | Fixes a memory leak around UncaughtExceptionHandler where a new one would be created each time PluginManagerImpl was instantiated. Fixes: 199853969 Test: manual Change-Id: Ie4c3a0ca791ded4bb9737bd24a554943990c6680
* Revert^2 "5/N Remove PluginInitializer entirely."Dave Mankoff2021-09-102-35/+2
| | | | | | 12d8e155ab07d6e97aa0d09dcbe0633a8bd490e5 Change-Id: I9b98d1e218d590f1c753a6c257e61c6f99a8e6d8
* Revert^2 "4/N Remove #handleWtfs from PluginInitializer."Dave Mankoff2021-09-101-20/+0
| | | | | | f3a62151d096970945534097dbe50567091468d0 Change-Id: Id988d944dc028a2f24a42a26c7faa85cb6d078b9
* Revert "Revert "3/N Remove #getPrivilegedPlugins from PluginInit..."Dave Mankoff2021-09-102-10/+3
| | | | | | | | | | | | | Revert submission 15798157-revert-15560568-b194781951-flags-8-ZUNMWRYIZP Reason for revert: Restoring with a fix. Reverted Changes: I417dd4edd:Revert "5/N Remove PluginInitializer entirely." Ia5f864646:Revert "4/N Remove #handleWtfs from PluginInitiali... I70f22b6a5:Revert "3/N Remove #getPrivilegedPlugins from Plug... I07a26c9ff:Revert "2/N Rename PluginInstanceManager to Plugin... Change-Id: I9719833fe3888636fc56ba741918f87804f10fd7
* Revert "Revert "2/N Rename PluginInstanceManager to PluginAction..."Dave Mankoff2021-09-101-6/+22
| | | | | | | | | | | | | Revert submission 15798157-revert-15560568-b194781951-flags-8-ZUNMWRYIZP Reason for revert: Restoring with a fix. Reverted Changes: I417dd4edd:Revert "5/N Remove PluginInitializer entirely." Ia5f864646:Revert "4/N Remove #handleWtfs from PluginInitiali... I70f22b6a5:Revert "3/N Remove #getPrivilegedPlugins from Plug... I07a26c9ff:Revert "2/N Rename PluginInstanceManager to Plugin... Change-Id: I84f52b4222efc9bf406512e45a4ff523681ab77b
* Revert "2/N Rename PluginInstanceManager to PluginActionManager."Dave Mankoff2021-09-091-22/+6
| | | | | | | | | | | | | Revert submission 15560568-b194781951-flags-8 Reason for revert: Broken build. Reverted Changes: Ie522ae3cc:5/N Remove PluginInitializer entirely. Icaeaaee28:4/N Remove #handleWtfs from PluginInitializer. I1c86c246c:3/N Remove #getPrivilegedPlugins from PluginInitia... Id525f27e3:2/N Rename PluginInstanceManager to PluginActionMa... Change-Id: I07a26c9ff526d6c2af194d53282cc8133371efb1
* Revert "3/N Remove #getPrivilegedPlugins from PluginInitializer."Dave Mankoff2021-09-092-3/+10
| | | | | | | | | | | | | Revert submission 15560568-b194781951-flags-8 Reason for revert: Broken build. Reverted Changes: Ie522ae3cc:5/N Remove PluginInitializer entirely. Icaeaaee28:4/N Remove #handleWtfs from PluginInitializer. I1c86c246c:3/N Remove #getPrivilegedPlugins from PluginInitia... Id525f27e3:2/N Rename PluginInstanceManager to PluginActionMa... Change-Id: I70f22b6a51a13f967f627e0b47c0f20c18fb4eb1
* Revert "4/N Remove #handleWtfs from PluginInitializer."Dave Mankoff2021-09-091-0/+20
| | | | | | | | | | | | | Revert submission 15560568-b194781951-flags-8 Reason for revert: Broken build. Reverted Changes: Ie522ae3cc:5/N Remove PluginInitializer entirely. Icaeaaee28:4/N Remove #handleWtfs from PluginInitializer. I1c86c246c:3/N Remove #getPrivilegedPlugins from PluginInitia... Id525f27e3:2/N Rename PluginInstanceManager to PluginActionMa... Change-Id: Ia5f864646ee8806ec4080349dda3d71c827c1e40
* Revert "5/N Remove PluginInitializer entirely."Dave Mankoff2021-09-092-2/+35
| | | | | | | | | | | | | Revert submission 15560568-b194781951-flags-8 Reason for revert: Broken build. Reverted Changes: Ie522ae3cc:5/N Remove PluginInitializer entirely. Icaeaaee28:4/N Remove #handleWtfs from PluginInitializer. I1c86c246c:3/N Remove #getPrivilegedPlugins from PluginInitia... Id525f27e3:2/N Rename PluginInstanceManager to PluginActionMa... Change-Id: I417dd4eddb0216e351a4eb1870a35f3ebc84045a
* 5/N Remove PluginInitializer entirely.Dave Mankoff2021-09-092-35/+2
| | | | | | | | This class no longer serves any purpose. Bug: 194781951 Test: atest SystemUITests && manual Change-Id: Ie522ae3cc493817d83824c19b642664ce8b57c9f
* 4/N Remove #handleWtfs from PluginInitializer.Dave Mankoff2021-09-091-20/+0
| | | | | | | | | This method never did anything because of the way its member constants were set. Bug: 194781951 Test: manual Change-Id: Icaeaaee28ddcc046252f01e8a9c0442605a93219
* 3/N Remove #getPrivilegedPlugins from PluginInitializer.Dave Mankoff2021-09-092-10/+3
| | | | | | | | First step along the path of removing PluginInitializer entirely. Bug: 194781951 Test: manual Change-Id: I1c86c246c3dea4ce08263ff16bc575d25feb17bc
* 2/N Rename PluginInstanceManager to PluginActionManager.Dave Mankoff2021-09-091-6/+22
| | | | | | | | | | | | | | | | | | | | Introduce PluginInstance. PluginManager is in charge of coordinating the whole plugin system. PluginActionManager is in charge of querying for the PackageManager for plugins matching a specific action. PluginActionManager creates PluginInstances for each package it finds, and the PluginInstance is in charge of loading in the actual plugin into the system. This is another step down the path of being able to manually load in plugins into the code before the PluginManager is ready. Bug: 194781951 Test: atest SystemUITests && manual Change-Id: Id525f27e362c29625168b56dc55f2899cd3f8810
* 1/N Move plugin loading into PluginInstanceManager.Dave Mankoff2021-08-091-5/+11
| | | | | | | | | | | | | The PluginInstanceManager now manages plugin instances. It loads them, when instructed to do so by the PluginManager. This is an imperfect cl - the first of a few to come. Right now, the PluginInstanceManager is not focused on only loading its specific instance. This will change. Bug: 194781951 Test: manual && atest SystemUITests Change-Id: I2006d623c9d9d2d1020097c567fc7af56a06a83b
* Remove custom PluginHandler from PluginInstanceManagerDave Mankoff2021-08-091-5/+4
| | | | | | | | Use an executor instead. Bug: 194781951 Test: manual && atest SystemUITests Change-Id: Iab6bdae1802e9723c2206aabe31a08bd0a596dad
* Remove custom MainHandler from PluginInstanceManagerDave Mankoff2021-08-091-4/+7
| | | | | | | | | Also removes the "one shot" related methods which weren't used and complicated the MainHandler related code. Bug: 194781951 Test: manual && atest SystemUiTests Change-Id: Ie824442ce55fe09649373bd2fc4f6eb47988b244
* Daggerize Plugin code.Dave Mankoff2021-08-094-37/+134
| | | | | | | | | | | | | | | | | | Restructure the dependencies within all the plugin code and make it suitable for injection. There is still a lot of gnarly code in the plugin architecture, and this is the first step towards cleaning it up. This is also the first step towards being able to load plugins (like the FlagReaderPlugin) _before_ the dagger graph is setup. With this change, it is theoretically possible to directly construct the plugin infrastructure, rather than relying on calls to Dependency#get and other SystemUI idiosyncracies. Bug: 194781951 Test: manual && atest SystemUITests Change-Id: I04da3d12211d9f9d1a5c2c5cd27b6a2d81c3907e
* Enabling plugins on Launcher debug buildsSunny Goyal2021-01-271-0/+6
| | | | | Test: Verified on device Change-Id: I2cecf0a825c41ee8c528c669b0534b09aa16508d
* 6/N Move everything into SysUIComponent.Dave Mankoff2020-08-161-2/+2
| | | | | | | | | | | | | | | It is far easier to move _everything_ into SysUIComponent, and then selectively promote things back to GlobalScope and/or WMScope than it is to try to do it one at a time. With this change, though lots of files are touched, very little actually changes structurally. After this change goes in, folks should stop using @Singleton quite so freely. Most things should live in @SysuiSingleton. @Singleton is due to quickly be replaced by @GlobalScope. Bug: 162923491 Test: atest SystemUITests && manual Change-Id: Idc31d3d83b030581fb1fa869f7fafc4f2d3a8828
* Clean up DependencyProvider a bitJason Monk2018-12-211-0/+9
| | | | | | | | | Create DependencyBinder which is abstract and can tell dagger how to convert directly between interfaces and implementations without requiring code for it. Test: compile (which runs dagger) Change-Id: I7013ee12d37172441e2c70cf2fe36f707975c821
* Track when plugins are disabled due to crashes.Dave Mankoff2018-12-141-4/+28
| | | | | | Bug: 120901833 Change-Id: I41e5c54d059b631befac235b1d3929200764860c Test: atest SystemUITests
* Disabled that wtfs crash when plugins are runningSelim Cinek2018-10-151-1/+5
| | | | | | | | | | Since we have persistent plugins now, it doesn't make sense to crash on each wtf. Bug: 117607819 Change-Id: Ic00a75ed796cd71a36dc6f056cc92be5b190536b Fixes: 117564930 Test: observe no crash on wtf
* Add callback to handle wtf logsTony Wickham2018-10-091-11/+25
| | | | | | | | | | TerribleFailureHandler is hidden API, so we abstract it out so only sysui uses it. Test: compiles Bug: 115877296 Change-Id: Iec9ca5c22beffcd9a86edde8eb5bdba06ae6aea5
* Refactor code to PluginEnablerTony Wickham2018-10-052-0/+53
| | | | | | | | | | | | SystemUI uses PackageManager to enable/disable plugin components. Launcher cannot do this, so we abstract this logic into an interface; Launcher will have a different implementation. Test: "atest com.android.systemui.shared.plugins" build succeeds and all tests pass Bug: 115877296 Change-Id: Ie6f11572026dafa369c99722d63d4daa0ea44fb5
* Move plugin support to shared libTony Wickham2018-09-287-1075/+48
| | | | | | | | | | | | | In addition to changing imports, this required some changes to use java 7, since that's what the shared lib needs to be for launcher. See bug for more details on this project. Test: "atest com.android.systemui.shared.plugins" build succeeds and all tests pass Bug: 115877296 Change-Id: Ib79ede0a61664df0ba1a194632a345d2229777fc
* Allow whitelisted plugins on user buildsLucas Dupin2018-09-182-30/+30
| | | | | | | | | | | | Plugins should only run on user builds if explicitly whitelisted. It's also necessary to hold a signature permission: com.android.systemui.permission.PLUGIN Test: atest PluginInstanceManagerTest Test: atest PluginManagerTest Test: manually try to install plugin on user build (whitelisted or not) Bug: 111414690 Change-Id: If17b13f4caef677d641cba84b491b65c8135679b
* Clean up DozeService plugin listeners.Dan Sandler2018-02-152-0/+16
| | | | | | | | | | | | | Also adds some additional debugging: `adb shell dumpsys activity service SystemUI` will now dump the plugin map. This will help us discover leaks that happen to interact with plugins, or leaks in the plugins themselves. (Note that plugins only work on debuggable builds.) Bug: 72138063 Test: adb shell dumpsys activity service SystemUI Change-Id: I328aeb9a0940404760e9121ef26a0518371b8319
* Wrap all exceptions/crashes while plugins are activeJason Monk2017-08-312-4/+28
| | | | | | | | To help differentiate them from real crashes. Test: install crashing plugin Change-Id: I88d991ab8d86f71bcc7042012d4d84d8a9af19f3 Fixes: 64527191
* Revert "Add plugin to swap out recents"Dan Sandler2017-08-152-51/+2
| | | | | | | | This reverts commit 0ea67d82e39ef4a2a1dfecd4796ab3e901cbc9e1. Bug: 64345190 Change-Id: I353c064db7bfaf91e98b5fd0d3e7180381a1b2b8 Test: n/a
* Add plugin to swap out recentsJason Monk2017-06-272-2/+51
| | | | | | | | Adds new mechanism for activities in sysui to be replaced by plugins and allows that to happen for recents. Test: runtest systemui Change-Id: I8b570ce7c57484c58a52afe5e247d24ebfa0c57f
* Fix plugin reloadingJason Monk2017-06-011-5/+9
| | | | | | Change-Id: I2209e98628b50416b910cda7ace10a06dbdceaa9 Test: manual Fixes: 38424850
* Fix crash in plugin settingsJason Monk2017-04-241-4/+0
| | | | | | Test: Open plugin settings Change-Id: I4c21505b95661d278f3129527df14dbfa3fbc271 Fixes: 37625271
* Merge "Make sure to synchronize on references to plugin dependencies" into ↵TreeHugger Robot2017-04-071-4/+8
|\ | | | | | | oc-dev
| * Make sure to synchronize on references to plugin dependenciesJason Monk2017-04-061-4/+8
| | | | | | | | | | | | Test: make Change-Id: I361cb3e4ac4ff5d19e2b0322531c8c614f5b7635 Fixes: 36867744
* | Tuner plugin settings updatesJason Monk2017-04-061-1/+1
|/ | | | | | Test: manual Fixes: 33446852 Change-Id: I05c046bb70dff66ea25531503216f121e6618a62
* Less cereal, more stableJason Monk2017-03-231-6/+5
| | | | | | | | | | | Sometimes when the PluginManagerImpl got around to executing the message it posts in the constructor, the next test would be initializing the Dependencies and it would cause a crash. Clean up this whole thing by making the looper injectable and the message runs at a deterministic time. Test: runtest systemui Change-Id: I485d72aea22aa8f6c759012d54701af8a503681b
* Move out test utilities to a Testables libraryJason Monk2017-03-143-341/+378
| | | | | | | Test: runtest --path frameworks/base/tests/testablets/tests && runtest systemui Change-Id: Ideef4aef5f26136b1741c556b9be5884f38842a0
* Updated QS UIJason Monk2017-03-041-1/+1
| | | | | | | | | | | | | - Adds footer to QS which contains the date/alarm info and all touch targets (settings, edit, etc.) - Swaps out emergency + carrier text on cell tile for a standard CarrierText from lock screen in the header to make the header only contain status info. - Add dividing line - Work on animations Test: runtest systemui Change-Id: I97dfea1b1ea7006b53eb61ac3a1f942c64dd282d
* Add plugin API for individual QS tilesJason Monk2017-03-041-0/+1
| | | | | | | | | | This will allow prototyping of individual QS tiles and/or their visual representation without having to write a plugin for the entire panel. This will allow quick iteration on QS UI + dual target tiles. Test: Install plugin using new API Change-Id: I05ca9d9f5a200a1dad2c3582251a36edb5cb9aba
* Add method for plugins to reference global dependenciesJason Monk2017-03-014-27/+88
| | | | | | | | | | | The new annotation versioning system allows plugins to share common global interfaces that can be versioned on their own. To facilitate this add a static method for plugins to get a hold of dependencies. To get any dependency a plugin must @Requires it so it can be version checked. Test: Plugin that uses the new call. Change-Id: I8e01260f8fbc14465502d506a7aa08212795ad9b
* New system for plugin + tuner integrations called extensionsJason Monk2017-02-241-8/+12
| | | | | | | | | An ExtensionController provides an easy way to say I need an object of interface X. Then a plugin or a tuner factory can actually provide X when needed or fallback to a default implementation. Test: runtest systemui Change-Id: I5e1b76def3c790d7f673867648ffeb13c4d0a829
* New system for versioning sysui pluginsJason Monk2017-02-094-0/+983
Use annotations to handle the multi-dimensionalness of interface versions, but still maintain compile time inclusion of current versions. Test: runtest systemui Change-Id: I0789a72112cf6630a6406f76020071c8a6d9e24c