From 28d8d15a98df5adeec970b0cfc6fb50937aca8e2 Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Fri, 13 Jul 2018 10:11:41 +0200 Subject: Allow notifiers to know whether we are preparing push notifications Signed-off-by: Joas Schilling --- lib/private/Notification/Manager.php | 20 ++++++++++++++++++++ lib/public/Notification/IManager.php | 12 ++++++++++++ 2 files changed, 32 insertions(+) diff --git a/lib/private/Notification/Manager.php b/lib/private/Notification/Manager.php index bf0e8abadbb..69c24e4f9e4 100644 --- a/lib/private/Notification/Manager.php +++ b/lib/private/Notification/Manager.php @@ -53,6 +53,9 @@ class Manager implements IManager { /** @var \Closure[] */ protected $notifiersInfoClosures; + /** @var bool */ + protected $preparingPushNotification; + /** * Manager constructor. * @@ -66,6 +69,7 @@ class Manager implements IManager { $this->appsClosures = []; $this->notifiersClosures = []; $this->notifiersInfoClosures = []; + $this->preparingPushNotification = false; } /** @@ -171,6 +175,22 @@ class Manager implements IManager { return !empty($this->notifiersClosures); } + /** + * @param bool $preparingPushNotification + * @since 14.0.0 + */ + public function setPreparingPushNotification($preparingPushNotification) { + $this->preparingPushNotification = $preparingPushNotification; + } + + /** + * @return bool + * @since 14.0.0 + */ + public function isPreparingPushNotification(): bool { + return $this->preparingPushNotification; + } + /** * @param INotification $notification * @throws \InvalidArgumentException When the notification is not valid diff --git a/lib/public/Notification/IManager.php b/lib/public/Notification/IManager.php index cbc48142cbb..003e5f1bad1 100644 --- a/lib/public/Notification/IManager.php +++ b/lib/public/Notification/IManager.php @@ -62,4 +62,16 @@ interface IManager extends IApp, INotifier { * @since 9.0.0 */ public function hasNotifiers(); + + /** + * @param bool $preparingPushNotification + * @since 14.0.0 + */ + public function setPreparingPushNotification($preparingPushNotification); + + /** + * @return bool + * @since 14.0.0 + */ + public function isPreparingPushNotification(); } -- cgit v1.2.3