Initialize GlobalActionsPanelPlugin before GlobalActions is launched
Previously, we were loading the GlobalActionsPanelPlugin in the
constructor for GlobalActionsDialog, which is instantiated on demand
the first time that Global Actions is launched. Because the plugin is
loaded in the background, a race condition exists where the
GlobalActions Dialog is displayed before the plugin has finished
loading, and so the Plugin will not appear, despite being enabled.
In this change, the GlobalActionsPanelPlugin is loaded in
GlobalActionsImpl, which is scoped to the SystemUI Applcation lifetime
(it will always be available). Therefore, the plugin will start
loading as soon as it is enabled by the user.
The race condition still exists, but is greatly mitigated and should
not pose a significant issue.
Test: manual
Change-Id: I624f7b0b9133e044fa486ad6a74944aba0511a70
2 files changed