diff options
author | Arthur Schiwon <blizzz@arthur-schiwon.de> | 2022-06-22 19:19:00 +0300 |
---|---|---|
committer | Vincent Petry (Rebase PR Action) <PVince81@users.noreply.github.com> | 2022-07-27 18:11:50 +0300 |
commit | 5c757f31e1ebe83df59d244ddfa0022bcebab1c6 (patch) | |
tree | 5185e59cee88de58cbbbcaf1acf904fca2973bb9 | |
parent | 8c87c0bb28be2630ff8592d91a7997163970f23a (diff) |
avoid early DI of IAppManagerbackport/32997/stable23
- might break install
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
-rw-r--r-- | lib/private/Dashboard/Manager.php | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/private/Dashboard/Manager.php b/lib/private/Dashboard/Manager.php index 8c596f470fb..6a8348ff88f 100644 --- a/lib/private/Dashboard/Manager.php +++ b/lib/private/Dashboard/Manager.php @@ -31,7 +31,8 @@ use OCP\App\IAppManager; use OCP\Dashboard\IManager; use OCP\Dashboard\IWidget; use OCP\ILogger; -use OCP\IServerContainer; +use Psr\Container\ContainerExceptionInterface; +use Psr\Container\ContainerInterface; use Throwable; class Manager implements IManager { @@ -43,11 +44,10 @@ class Manager implements IManager { private $widgets = []; private ContainerInterface $serverContainer; - private IAppManager $appManager; + private ?IAppManager $appManager = null; - public function __construct(ContainerInterface $serverContainer, IAppManager $appManager) { + public function __construct(ContainerInterface $serverContainer) { $this->serverContainer = $serverContainer; - $this->appManager = $appManager; } private function registerWidget(IWidget $widget): void { @@ -63,6 +63,9 @@ class Manager implements IManager { } public function loadLazyPanels(): void { + if ($this->appManager === null) { + $this->appManager = $this->serverContainer->get(IAppManager::class); + } $services = $this->lazyWidgets; foreach ($services as $service) { /** @psalm-suppress InvalidCatch */ |