You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2019/10/22 18:04:09 UTC
[openmeetings] branch master updated: [OPENMEETINGS-2108] share
button is visible for sharing/recording user
This is an automated email from the ASF dual-hosted git repository.
solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git
The following commit(s) were added to refs/heads/master by this push:
new ebda144 [OPENMEETINGS-2108] share button is visible for sharing/recording user
ebda144 is described below
commit ebda144a439e46a4eac87ea79f3b1f1c1dc60cd5
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Wed Oct 23 01:03:50 2019 +0700
[OPENMEETINGS-2108] share button is visible for sharing/recording user
---
.../openmeetings/core/remote/StreamProcessor.java | 20 ++++++++-------
.../apache/openmeetings/web/room/RoomPanel.java | 3 ++-
.../openmeetings/web/room/menu/RoomMenuPanel.java | 6 +++--
.../web/room/menu/StartSharingButton.java | 30 ----------------------
.../openmeetings/web/room/raw-video-manager.js | 2 ++
5 files changed, 19 insertions(+), 42 deletions(-)
diff --git a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessor.java b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessor.java
index a9e10ec..4c33caf 100644
--- a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessor.java
+++ b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/StreamProcessor.java
@@ -308,6 +308,9 @@ public class StreamProcessor implements IStreamProcessor {
// Sharing
public boolean hasRightsToShare(Client c) {
+ if (!kHandler.isConnected()) {
+ return false;
+ }
Room r = c.getRoom();
return r != null && Room.Type.interview != r.getType()
&& !r.isHidden(RoomElement.ScreenSharing)
@@ -316,9 +319,6 @@ public class StreamProcessor implements IStreamProcessor {
}
public boolean screenShareAllowed(Client c) {
- if (!kHandler.isConnected()) {
- return false;
- }
Room r = c.getRoom();
return hasRightsToShare(c) && !isSharing(r.getId());
}
@@ -493,14 +493,16 @@ public class StreamProcessor implements IStreamProcessor {
Client c = cm.getBySid(stream.getSid());
if (c != null) {
StreamDesc sd = c.getStream(uid);
- c.removeStream(uid);
- if (StreamType.WEBCAM == sd.getType()) {
- for (Activity a : sd.getActivities()) {
- c.remove(a);
+ if (sd != null) {
+ c.removeStream(uid);
+ if (StreamType.WEBCAM == sd.getType()) {
+ for (Activity a : sd.getActivities()) {
+ c.remove(a);
+ }
}
+ cm.update(c);
+ WebSocketHelper.sendRoom(new TextRoomMessage(c.getRoomId(), c, RoomMessage.Type.rightUpdated, c.getUid()));
}
- cm.update(c);
- WebSocketHelper.sendRoom(new TextRoomMessage(c.getRoomId(), c, RoomMessage.Type.rightUpdated, c.getUid()));
}
streamByUid.remove(uid);
}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
index bd32425..17884d2 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
@@ -769,7 +769,8 @@ public class RoomPanel extends BasePanel {
}
public boolean screenShareAllowed() {
- return streamProcessor.screenShareAllowed(getClient());
+ Client c = getClient();
+ return c.getScreenStream().isPresent() || streamProcessor.screenShareAllowed(c);
}
public RoomSidebar getSidebar() {
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
index 37c4bc4..64be71f 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/RoomMenuPanel.java
@@ -61,12 +61,13 @@ import org.apache.wicket.spring.injection.annot.SpringBean;
import org.apache.wicket.util.string.Strings;
import com.github.openjson.JSONObject;
+import com.googlecode.wicket.jquery.ui.form.button.Button;
import com.googlecode.wicket.jquery.ui.widget.menu.IMenuItem;
public class RoomMenuPanel extends Panel {
private static final long serialVersionUID = 1L;
private MenuPanel menuPanel;
- private final StartSharingButton shareBtn;
+ private final Button shareBtn;
private final Label roomName;
private static final FastDateFormat df = FastDateFormat.getInstance("dd.MM.yyyy HH:mm");
private final OmButton askBtn = new OmButton("ask") {
@@ -116,7 +117,8 @@ public class RoomMenuPanel extends Panel {
add((roomName = new Label("roomName", r.getName())).setOutputMarkupPlaceholderTag(true).setOutputMarkupId(true));
String tag = getGroup().getTag();
add(logo, new Label("tag", tag).setVisible(!Strings.isEmpty(tag)));
- add(shareBtn = new StartSharingButton("share"));
+ add(shareBtn = new Button("share"));
+ shareBtn.setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true);
pollsSubMenu = new PollsSubMenu(room, this);
actionsSubMenu = new ActionsSubMenu(room, this);
}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/StartSharingButton.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/StartSharingButton.java
deleted file mode 100644
index 12d1d81..0000000
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/menu/StartSharingButton.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") + you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.web.room.menu;
-
-import com.googlecode.wicket.jquery.ui.form.button.Button;
-
-public class StartSharingButton extends Button {
- private static final long serialVersionUID = 1L;
-
- public StartSharingButton(String id) {
- super(id);
- setOutputMarkupId(true).setOutputMarkupPlaceholderTag(true);
- }
-}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video-manager.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video-manager.js
index bb9cab8..07317b6 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video-manager.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video-manager.js
@@ -198,6 +198,8 @@ var VideoManager = (function() {
if (Room.getOptions().autoOpenSharing === true) {
_playSharing(sd, iceServers);
}
+ } else if (VideoUtil.isRecording(sd)) {
+ return;
} else {
_onReceive(m);
}