From a26d1f0a8f1f8776c90340c40a6506fa05debc01 Mon Sep 17 00:00:00 2001
From: Richard Alam <ritzalam@gmail.com>
Date: Fri, 6 Dec 2019 11:50:50 -0800
Subject: [PATCH]  - enforce lock settings  - make sure listen only users are
 muted

---
 .../main/scala/org/bigbluebutton/LockSettingsUtil.scala  | 4 +++-
 .../apps/voice/UserTalkingInVoiceConfEvtMsgHdlr.scala    | 4 ++--
 .../org/bigbluebutton/core/apps/voice/VoiceApp.scala     | 9 +++++----
 3 files changed, 10 insertions(+), 7 deletions(-)

diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/LockSettingsUtil.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/LockSettingsUtil.scala
index 66740b27ad..db34f22513 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/LockSettingsUtil.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/LockSettingsUtil.scala
@@ -58,10 +58,12 @@ object LockSettingsUtil {
           }
         }
       }
+    } else {
+      enforceListenOnlyUserIsMuted(intUserId, liveMeeting, outGW)
     }
   }
 
-  def enforceListenOnlyUserIsMuted(intUserId: String, liveMeeting: LiveMeeting, outGW: OutMsgRouter): Unit = {
+  private def enforceListenOnlyUserIsMuted(intUserId: String, liveMeeting: LiveMeeting, outGW: OutMsgRouter): Unit = {
     val voiceUser = VoiceUsers.findWithIntId(liveMeeting.voiceUsers, intUserId)
     voiceUser.foreach { vu =>
       // Make sure that listen only user is muted. (ralam dec 6, 2019
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/voice/UserTalkingInVoiceConfEvtMsgHdlr.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/voice/UserTalkingInVoiceConfEvtMsgHdlr.scala
index 6dd86de1ac..5b7314d279 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/voice/UserTalkingInVoiceConfEvtMsgHdlr.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/voice/UserTalkingInVoiceConfEvtMsgHdlr.scala
@@ -35,8 +35,8 @@ trait UserTalkingInVoiceConfEvtMsgHdlr {
     for {
       talkingUser <- VoiceUsers.userTalking(liveMeeting.voiceUsers, msg.body.voiceUserId, msg.body.talking)
     } yield {
-      // Make sure listen only users cannot talk (ralam dec 6, 2019)
-      LockSettingsUtil.enforceListenOnlyUserIsMuted(
+      // Make sure lock settings are in effect (ralam dec 6, 2019)
+      LockSettingsUtil.enforceLockSettingsForVoiceUser(
         talkingUser.intId,
         liveMeeting,
         outGW
diff --git a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/voice/VoiceApp.scala b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/voice/VoiceApp.scala
index 5af40fb581..9306f35d39 100755
--- a/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/voice/VoiceApp.scala
+++ b/akka-bbb-apps/src/main/scala/org/bigbluebutton/core/apps/voice/VoiceApp.scala
@@ -94,9 +94,9 @@ object VoiceApp {
     for {
       mutedUser <- VoiceUsers.userMuted(liveMeeting.voiceUsers, voiceUserId, muted)
     } yield {
-      if (!muted && mutedUser.listenOnly) {
-        // Make sure listen only users cannot talk (ralam dec 6, 2019)
-        LockSettingsUtil.enforceListenOnlyUserIsMuted(
+      if (!muted) {
+        // Make sure lock settings are in effect (ralam dec 6, 2019)
+        LockSettingsUtil.enforceLockSettingsForVoiceUser(
           mutedUser.intId,
           liveMeeting,
           outGW
@@ -261,7 +261,8 @@ object VoiceApp {
       outGW.send(event)
     }
 
-    LockSettingsUtil.enforceListenOnlyUserIsMuted(
+    // Make sure lock settings are in effect. (ralam dec 6, 2019)
+    LockSettingsUtil.enforceLockSettingsForVoiceUser(
       intId,
       liveMeeting,
       outGW
-- 
GitLab