Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/spreed.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Activity/Listener.php')
-rw-r--r--lib/Activity/Listener.php11
1 files changed, 8 insertions, 3 deletions
diff --git a/lib/Activity/Listener.php b/lib/Activity/Listener.php
index 474496067..6b39bc3de 100644
--- a/lib/Activity/Listener.php
+++ b/lib/Activity/Listener.php
@@ -28,6 +28,7 @@ use OCA\Talk\Events\AddParticipantsEvent;
use OCA\Talk\Events\ModifyParticipantEvent;
use OCA\Talk\Events\RoomEvent;
use OCA\Talk\Model\Attendee;
+use OCA\Talk\Participant;
use OCA\Talk\Room;
use OCA\Talk\Service\ParticipantService;
use OCP\Activity\IManager;
@@ -75,7 +76,7 @@ class Listener {
$listener = static function (ModifyParticipantEvent $event) {
/** @var self $listener */
$listener = \OC::$server->query(self::class);
- $listener->setActive($event->getRoom());
+ $listener->setActive($event->getRoom(), $event->getParticipant());
};
$dispatcher->addListener(Room::EVENT_AFTER_SESSION_JOIN_CALL, $listener);
@@ -97,8 +98,12 @@ class Listener {
$dispatcher->addListener(Room::EVENT_AFTER_USERS_ADD, $listener);
}
- public function setActive(Room $room): void {
- $room->setActiveSince($this->timeFactory->getDateTime(), !$this->userSession->isLoggedIn());
+ public function setActive(Room $room, Participant $participant): void {
+ $room->setActiveSince(
+ $this->timeFactory->getDateTime(),
+ $participant->getSession() ? $participant->getSession()->getInCall() : Participant::FLAG_DISCONNECTED,
+ $participant->getAttendee()->getActorType() !== Attendee::ACTOR_USERS
+ );
}
/**