From da7358d5648175c546878e6ec3889d68e93ed8b9 Mon Sep 17 00:00:00 2001 From: Andrei Gavrilescu <51706180+andrei-gavrilescu@users.noreply.github.com> Date: Wed, 7 Jul 2021 11:07:30 +0300 Subject: [PATCH] feat(audio-screen-share): improved ux flow (#9411) * add button state / helper dialog * new audio screen share flow * change error message * address a couple of merge conflicts * fix lint * address code review * address code review * restrict audio screen share on mobile browsers --- conference.js | 5 +- css/main.scss | 2 + css/modals/screen-share/_share-audio.scss | 22 +++ .../screen-share/_share-screen-warning.scss | 23 ++++ images/share-audio.gif | Bin 0 -> 206675 bytes lang/main.json | 15 +- modules/API/API.js | 16 ++- modules/API/external/external_api.js | 1 + react/features/base/icons/svg/index.js | 1 + .../base/icons/svg/stop-audio-share.svg | 3 + react/features/base/settings/functions.any.js | 10 ++ react/features/base/settings/reducer.js | 1 + react/features/base/tracks/middleware.js | 5 +- react/features/screen-share/actions.js | 66 +++++++++ .../components/ShareAudioButton.js | 80 +++++++++++ .../components/ShareAudioDialog.js | 128 ++++++++++++++++++ .../components/ShareScreenWarningDialog.js | 105 ++++++++++++++ .../features/screen-share/components/index.js | 2 + react/features/screen-share/functions.js | 37 ++++- react/features/screen-share/index.js | 2 + .../toolbox/components/web/Toolbox.js | 50 +++---- 21 files changed, 531 insertions(+), 43 deletions(-) create mode 100644 css/modals/screen-share/_share-audio.scss create mode 100644 css/modals/screen-share/_share-screen-warning.scss create mode 100644 images/share-audio.gif create mode 100644 react/features/base/icons/svg/stop-audio-share.svg create mode 100644 react/features/screen-share/components/ShareAudioButton.js create mode 100644 react/features/screen-share/components/ShareAudioDialog.js create mode 100644 react/features/screen-share/components/ShareScreenWarningDialog.js create mode 100644 react/features/screen-share/components/index.js diff --git a/conference.js b/conference.js index 7d0fe81d8c..60f8a05d3f 100644 --- a/conference.js +++ b/conference.js @@ -1867,7 +1867,6 @@ export default { await this.useVideoStream(desktopVideoStream); } - if (this._desktopAudioStream) { // If there is a localAudio stream, mix in the desktop audio stream captured by the screen sharing // api. @@ -2463,8 +2462,8 @@ export default { }); APP.UI.addListener( - UIEvents.TOGGLE_SCREENSHARING, audioOnly => { - this.toggleScreenSharing(undefined, { audioOnly }); + UIEvents.TOGGLE_SCREENSHARING, ({ enabled, audioOnly }) => { + this.toggleScreenSharing(enabled, { audioOnly }); } ); }, diff --git a/css/main.scss b/css/main.scss index b9ab729cf4..dac44f5859 100644 --- a/css/main.scss +++ b/css/main.scss @@ -41,6 +41,8 @@ $flagsImagePath: "../images/"; @import 'modals/feedback/feedback'; @import 'modals/invite/info'; @import 'modals/settings/settings'; +@import 'modals/screen-share/share-audio'; +@import 'modals/screen-share/share-screen-warning'; @import 'modals/speaker_stats/speaker_stats'; @import 'modals/video-quality/video-quality'; @import 'modals/virtual-background/virtual-background'; diff --git a/css/modals/screen-share/_share-audio.scss b/css/modals/screen-share/_share-audio.scss new file mode 100644 index 0000000000..1af3a368c6 --- /dev/null +++ b/css/modals/screen-share/_share-audio.scss @@ -0,0 +1,22 @@ +.share-audio-dialog { + .share-audio-animation { + width: 100%; + height: 90%; + object-fit: contain; + } + input[type="checkbox"] + svg + span { + color: #9FB0CC; + } + + .separator-line { + margin: 24px 0 24px -20px; + padding: 0 20px; + width: 100%; + height: 1px; + background: #5E6D7A; + + &:last-child { + display: none; + } + } +} \ No newline at end of file diff --git a/css/modals/screen-share/_share-screen-warning.scss b/css/modals/screen-share/_share-screen-warning.scss new file mode 100644 index 0000000000..a6bea32a80 --- /dev/null +++ b/css/modals/screen-share/_share-screen-warning.scss @@ -0,0 +1,23 @@ +.share-screen-warn-dialog { + font-size: 14px; + + .separator-line { + margin: 24px 0 24px -20px; + padding: 0 20px; + width: 100%; + height: 1px; + background: #5E6D7A; + + &:last-child { + display: none; + } + } + + .header { + font-weight: 600; + } + + .description { + margin-top: 16px; + } +} \ No newline at end of file diff --git a/images/share-audio.gif b/images/share-audio.gif new file mode 100644 index 0000000000000000000000000000000000000000..756493d39a0447e729d409739c53865a3548e2bc GIT binary patch literal 206675 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%0DVsS|AA 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 JpgySe{{Wkl79Icq literal 0 HcmV?d00001 diff --git a/lang/main.json b/lang/main.json index 4db1fc9b49..de77b7378c 100644 --- a/lang/main.json +++ b/lang/main.json @@ -215,6 +215,7 @@ "gracefulShutdown": "Our service is currently down for maintenance. Please try again later.", "grantModeratorDialog": "Are you sure you want to make this participant a moderator?", "grantModeratorTitle": "Grant moderator", + "hideShareAudioHelper": "Don't show this dialog again", "IamHost": "I am the host", "incorrectRoomLockPassword": "Incorrect password", "incorrectPassword": "Incorrect username or password", @@ -303,6 +304,13 @@ "sessTerminated": "Call terminated", "sessionRestarted": "Call restarted by the bridge", "Share": "Share", + "shareAudio": "Continue", + "shareAudioTitle" : "How to share audio", + "shareAudioWarningTitle": "You need to stop screen sharing before sharing audio", + "shareAudioWarningH1": "If you want to share just audio:", + "shareAudioWarningD1": "you need to stop screen sharing before sharing your audio.", + "shareAudioWarningD2": "you need to restart your screen sharing and check the \"share audio\" option.", + "shareMediaWarningGenericH2": "If you want to share your screen and audio", "shareVideoLinkError": "Please provide a correct youtube link.", "shareVideoTitle": "Share video", "shareYourScreen": "Share your screen", @@ -310,6 +318,10 @@ "startLiveStreaming": "Start live stream", "startRecording": "Start recording", "startRemoteControlErrorMessage": "An error occurred while trying to start the remote control session!", + "shareScreenWarningTitle": "You need to stop audio sharing before sharing your screen", + "shareScreenWarningH1": "If you want to share just your screen:", + "shareScreenWarningD1": "you need to stop audio sharing before sharing your screen.", + "shareScreenWarningD2": "you need to stop audio sharing, start screen sharing and check the \"share audio\" option.", "stopLiveStreaming": "Stop live stream", "stopRecording": "Stop recording", "stopRecordingWarning": "Are you sure you would like to stop the recording?", @@ -544,7 +556,7 @@ "passwordSetRemotely": "$t(lockRoomPasswordUppercase) set by another participant", "raisedHand": "{{name}} would like to speak.", "screenShareNoAudio": " Share audio box was not checked in the window selection screen.", - "screenShareNoAudioTitle": "Share audio was not checked", + "screenShareNoAudioTitle": "Couldn't share system audio!", "somebody": "Somebody", "startSilentTitle": "You joined with no audio output!", "startSilentDescription": "Rejoin the meeting to enable audio", @@ -899,6 +911,7 @@ "speakerStats": "Speaker stats", "startScreenSharing": "Start screen sharing", "startSubtitles": "Start subtitles", + "stopAudioSharing": "Stop audio sharing", "stopScreenSharing": "Stop screen sharing", "stopSubtitles": "Stop subtitles", "stopSharedVideo": "Stop video", diff --git a/modules/API/API.js b/modules/API/API.js index 19c2ad7f10..e29d3d69fb 100644 --- a/modules/API/API.js +++ b/modules/API/API.js @@ -49,6 +49,8 @@ import { import { toggleLobbyMode } from '../../react/features/lobby/actions'; import { RECORDING_TYPES } from '../../react/features/recording/constants'; import { getActiveSession } from '../../react/features/recording/functions'; +import { isScreenAudioSupported } from '../../react/features/screen-share'; +import { startScreenShareFlow, startAudioScreenShareFlow } from '../../react/features/screen-share/actions'; import { playSharedVideo, stopSharedVideo } from '../../react/features/shared-video/actions.any'; import { toggleTileView, setTileView } from '../../react/features/video-layout'; import { muteAllParticipants } from '../../react/features/video-menu/actions'; @@ -220,6 +222,16 @@ function initCommands() { sendAnalytics(createApiEvent('raise-hand.toggled')); APP.store.dispatch(raiseHand(!raisedHand)); }, + 'toggle-share-audio': () => { + sendAnalytics(createApiEvent('audio.screen.sharing.toggled')); + if (isScreenAudioSupported()) { + APP.store.dispatch(startAudioScreenShareFlow()); + + return; + } + + logger.error('Audio screen sharing is not supported by the current platform!'); + }, /** * Callback to invoke when the "toggle-share-screen" command is received. @@ -596,9 +608,7 @@ function shouldBeEnabled() { */ function toggleScreenSharing(enable) { if (JitsiMeetJS.isDesktopSharingEnabled()) { - APP.conference.toggleScreenSharing(enable).catch(() => { - logger.warn('Failed to toggle screen-sharing'); - }); + APP.store.dispatch(startScreenShareFlow(enable)); } } diff --git a/modules/API/external/external_api.js b/modules/API/external/external_api.js index cbcd52bfe4..1cd3884ae5 100644 --- a/modules/API/external/external_api.js +++ b/modules/API/external/external_api.js @@ -60,6 +60,7 @@ const commands = { toggleChat: 'toggle-chat', toggleFilmStrip: 'toggle-film-strip', toggleRaiseHand: 'toggle-raise-hand', + toggleShareAudio: 'toggle-share-audio', toggleShareScreen: 'toggle-share-screen', toggleTileView: 'toggle-tile-view', toggleVirtualBackgroundDialog: 'toggle-virtual-background', diff --git a/react/features/base/icons/svg/index.js b/react/features/base/icons/svg/index.js index 22cb816cdc..fc270d53a6 100644 --- a/react/features/base/icons/svg/index.js +++ b/react/features/base/icons/svg/index.js @@ -111,6 +111,7 @@ export { default as IconShareDesktop } from './share-desktop.svg'; export { default as IconShareDoc } from './share-doc.svg'; export { default as IconShareVideo } from './shared-video.svg'; export { default as IconSmile } from './smile.svg'; +export { default as IconStopAudioShare } from './stop-audio-share.svg'; export { default as IconSwitchCamera } from './switch-camera.svg'; export { default as IconTileView } from './tiles-many.svg'; export { default as IconToggleRecording } from './camera-take-picture.svg'; diff --git a/react/features/base/icons/svg/stop-audio-share.svg b/react/features/base/icons/svg/stop-audio-share.svg new file mode 100644 index 0000000000..a66b2d2b4a --- /dev/null +++ b/react/features/base/icons/svg/stop-audio-share.svg @@ -0,0 +1,3 @@ + + + diff --git a/react/features/base/settings/functions.any.js b/react/features/base/settings/functions.any.js index 9332da7941..9eda3ff640 100644 --- a/react/features/base/settings/functions.any.js +++ b/react/features/base/settings/functions.any.js @@ -248,3 +248,13 @@ function _getUserSelectedDeviceId(options) { ? foundMatchBasedOnLabel.deviceId : userSelectedDeviceId; } +/** + * Should we hide the helper dialog when a user tries to do audio only screen sharing. + * + * @param {Object} state - The state of the application. + * @returns {boolean} + */ +export function shouldHideShareAudioHelper(state: Object): boolean { + + return state['features/base/settings'].hideShareAudioHelper; +} diff --git a/react/features/base/settings/reducer.js b/react/features/base/settings/reducer.js index fb809b7c92..4536c47314 100644 --- a/react/features/base/settings/reducer.js +++ b/react/features/base/settings/reducer.js @@ -26,6 +26,7 @@ const DEFAULT_STATE = { localFlipX: true, micDeviceId: undefined, serverURL: undefined, + hideShareAudioHelper: false, startAudioOnly: false, startWithAudioMuted: false, startWithVideoMuted: false, diff --git a/react/features/base/tracks/middleware.js b/react/features/base/tracks/middleware.js index 27882f699f..a412925446 100644 --- a/react/features/base/tracks/middleware.js +++ b/react/features/base/tracks/middleware.js @@ -145,7 +145,10 @@ MiddlewareRegistry.register(store => next => action => { return; } - APP.UI.emitEvent(UIEvents.TOGGLE_SCREENSHARING, action.audioOnly); + const { enabled, audioOnly } = action; + + APP.UI.emitEvent(UIEvents.TOGGLE_SCREENSHARING, { enabled, + audioOnly }); } break; diff --git a/react/features/screen-share/actions.js b/react/features/screen-share/actions.js index 8f5b9b3b5c..2ef9c056ee 100644 --- a/react/features/screen-share/actions.js +++ b/react/features/screen-share/actions.js @@ -1,6 +1,14 @@ // @flow +import { openDialog } from '../base/dialog/actions'; +import { browser } from '../base/lib-jitsi-meet'; +import { shouldHideShareAudioHelper } from '../base/settings'; +import { toggleScreensharing } from '../base/tracks'; + import { SET_SCREEN_AUDIO_SHARE_STATE, SET_SCREENSHARE_CAPTURE_FRAME_RATE } from './actionTypes'; +import { ShareAudioDialog } from './components'; +import ShareMediaWarningDialog from './components/ShareScreenWarningDialog'; +import { isAudioOnlySharing, isScreenVideoShared } from './functions'; /** * Updates the current known status of the shared video. @@ -33,3 +41,61 @@ export function setScreenshareFramerate(captureFrameRate: number) { captureFrameRate }; } + +/** + * Start the audio only screen sharing flow. Function will switch between off and on states depending on the context. + * + * @param {Object} state - The state of the application. + * @returns {void} + */ +export function startAudioScreenShareFlow() { + return (dispatch: Object => Object, getState: () => any) => { + const state = getState(); + const audioOnlySharing = isAudioOnlySharing(state); + + // If we're already in a normal screen sharing session, warn the user. + if (isScreenVideoShared(state)) { + dispatch(openDialog(ShareMediaWarningDialog, { _isAudioScreenShareWarning: true })); + + return; + } + + // If users opted out of the helper dialog toggle directly. + // If we're in an electron environment the helper dialog is not needed as there's only one option + // available for audio screen sharing, namely full window audio. + // If we're already sharing audio, toggle off. + if (shouldHideShareAudioHelper(state) || browser.isElectron() || audioOnlySharing) { + // We don't want to explicity set the screens share state, by passing undefined we let the + // underlying logic decide if it's on or off. + dispatch(toggleScreensharing(undefined, true)); + + return; + } + + dispatch(openDialog(ShareAudioDialog)); + }; +} + +/** + * Start normal screen sharing flow.Function will switch between off and on states depending on the context, and if + * not explicity told otherwise. + * + * @param {boolean} enabled - Explicitly set the screen sharing state. This has been kept for backward compatibility + * with the external API exposed by the iframe, even though it might not be used. + * @returns {void} + */ +export function startScreenShareFlow(enabled: boolean) { + return (dispatch: Object => Object, getState: () => any) => { + const state = getState(); + const audioOnlySharing = isAudioOnlySharing(state); + + // If we're in an audio screen sharing session, warn the user. + if (audioOnlySharing) { + dispatch(openDialog(ShareMediaWarningDialog, { _isAudioScreenShareWarning: false })); + + return; + } + + dispatch(toggleScreensharing(enabled)); + }; +} diff --git a/react/features/screen-share/components/ShareAudioButton.js b/react/features/screen-share/components/ShareAudioButton.js new file mode 100644 index 0000000000..d8ab1dd717 --- /dev/null +++ b/react/features/screen-share/components/ShareAudioButton.js @@ -0,0 +1,80 @@ +// @flow + +import type { Dispatch } from 'redux'; + +import { translate } from '../../base/i18n'; +import { + IconShareAudio, + IconStopAudioShare +} from '../../base/icons'; +import { connect } from '../../base/redux'; +import { + AbstractButton, + type AbstractButtonProps +} from '../../base/toolbox/components'; +import { setOverflowMenuVisible } from '../../toolbox/actions'; +import { startAudioScreenShareFlow } from '../actions'; +import { isAudioOnlySharing } from '../functions'; + +type Props = AbstractButtonProps & { + + /** + * The redux {@code dispatch} function. + */ + dispatch: Dispatch, + + /** + * Whether or not the local participant is audio only screen sharing. + */ + _isAudioOnlySharing: boolean +} + +/** + * Component that renders a toolbar button for toggling audio only screen share. + */ +class ShareAudioButton extends AbstractButton { + accessibilityLabel = 'toolbar.accessibilityLabel.shareaudio'; + icon = IconShareAudio; + label = 'toolbar.shareaudio'; + tooltip = 'toolbar.shareaudio'; + toggledIcon = IconStopAudioShare; + toggledLabel = 'toolbar.stopAudioSharing'; + + /** + * Handles clicking / pressing the button, and opens a new dialog. + * + * @private + * @returns {void} + */ + _handleClick() { + this.props.dispatch(startAudioScreenShareFlow()); + this.props.dispatch(setOverflowMenuVisible(false)); + } + + /** + * Indicates whether this button is in toggled state or not. + * + * @override + * @protected + * @returns {boolean} + */ + _isToggled() { + return this.props._isAudioOnlySharing; + } +} + +/** + * Maps part of the Redux state to the props of this component. + * + * @param {Object} state - The Redux state. + * @private + * @returns {Props} + */ +function _mapStateToProps(state: Object): $Shape { + + return { + _isAudioOnlySharing: isAudioOnlySharing(state) + }; +} + +export default translate(connect(_mapStateToProps)(ShareAudioButton)); diff --git a/react/features/screen-share/components/ShareAudioDialog.js b/react/features/screen-share/components/ShareAudioDialog.js new file mode 100644 index 0000000000..6fb1fdb37d --- /dev/null +++ b/react/features/screen-share/components/ShareAudioDialog.js @@ -0,0 +1,128 @@ +// @flow + +import { Checkbox } from '@atlaskit/checkbox'; +import React, { Component } from 'react'; +import type { Dispatch } from 'redux'; + +import { Dialog } from '../../base/dialog'; +import { translate } from '../../base/i18n'; +import { connect } from '../../base/redux'; +import { + updateSettings, + shouldHideShareAudioHelper +} from '../../base/settings'; +import { toggleScreensharing } from '../../base/tracks'; + +/** + * The type of the React {@code Component} props of {@link ShareAudioDialog}. + */ +export type Props = { + + /** + * The redux {@code dispatch} function. + */ + dispatch: Dispatch, + + /** + * Boolean stored in local storage that determines whether or not the dialog will be displayed again. + */ + _shouldHideShareAudioHelper: boolean, + + /** + * Invoked to obtain translated strings. + */ + t: Function +}; + +/** + * Component that displays the audio screen share helper dialog. + */ +class ShareAudioDialog extends Component { + + /** + * Instantiates a new component. + * + * @inheritdoc + */ + constructor(props) { + super(props); + + this._onContinue = this._onContinue.bind(this); + this._onSelectHideShareAudioHelper = this._onSelectHideShareAudioHelper.bind(this); + } + + _onContinue: () => boolean; + + /** + * Continue the normal screen sharing flow when the user clicks continue. + * + * @returns {boolean} + */ + _onContinue() { + // Pass undefined as the first parameter so the underlying logic decides weather or not to stop screen sharing. + this.props.dispatch(toggleScreensharing(undefined, true)); + + return true; + } + + _onSelectHideShareAudioHelper: (Object) => void; + + /** + * Callback invoked when the hide audio helper checkbox has been selected. This setting will be persisted in + * the local storage, thus the dialog won't be displayed again. + * + * @param {Object} e - The key event to handle. + * @returns {void} + */ + _onSelectHideShareAudioHelper({ target: { checked } }) { + this.props.dispatch(updateSettings({ hideShareAudioHelper: checked })); + } + + /** + * Implements {@Component#render}. + * + * @inheritdoc + */ + render() { + + const { t } = this.props; + + return ( + +
+ + +
+
+ ); + } +} + +/** + * Maps part of the Redux state to the props of this component. + * + * @param {Object} state - The Redux state. + * @private + * @returns {Props} + */ +function _mapStateToProps(state: Object): $Shape { + + return { + _shouldHideShareAudioHelper: shouldHideShareAudioHelper(state) + }; +} + + +export default translate(connect(_mapStateToProps)(ShareAudioDialog)); diff --git a/react/features/screen-share/components/ShareScreenWarningDialog.js b/react/features/screen-share/components/ShareScreenWarningDialog.js new file mode 100644 index 0000000000..12ff5e7002 --- /dev/null +++ b/react/features/screen-share/components/ShareScreenWarningDialog.js @@ -0,0 +1,105 @@ +// @flow + +import React, { Component } from 'react'; +import type { Dispatch } from 'redux'; + +import { Dialog } from '../../base/dialog'; +import { translate } from '../../base/i18n'; +import { connect } from '../../base/redux'; +import { toggleScreensharing } from '../../base/tracks'; + +export type Props = { + + /** + * The redux {@code dispatch} function. + */ + dispatch: Dispatch, + + /** + * Whether or not the dialog was opened for the audio screen sharing flow or the normal one. + */ + _isAudioScreenShareWarning: Boolean, + + /** + * Invoked to obtain translated strings. + */ + t: Function +} + +/** + * Component that displays the share audio helper dialog. + */ +class ShareScreenWarningDialog extends Component { + + /** + * Instantiates a new component. + * + * @inheritdoc + */ + constructor(props) { + super(props); + + this._onStopSharing = this._onStopSharing.bind(this); + } + + _onStopSharing: () => boolean; + + /** + * Stop current screen sharing session. + * + * @returns {boolean} + */ + _onStopSharing() { + // Depending on the context from which this dialog is opened we'll either be toggling off an audio only + // share session or a normal screen sharing one, this is indicated by the _isAudioScreenShareWarning prop. + this.props.dispatch(toggleScreensharing(undefined, + !this.props._isAudioScreenShareWarning)); + + return true; + } + + /** + * Implements {@Component#render}. + *ยง + * @inheritdoc + */ + render() { + const { t } = this.props; + + let description1, description2, header1, header2, stopSharing, title; + + if (this.props._isAudioScreenShareWarning) { + header1 = 'dialog.shareAudioWarningH1'; + header2 = 'dialog.shareMediaWarningGenericH2'; + description1 = 'dialog.shareAudioWarningD1'; + description2 = 'dialog.shareAudioWarningD2'; + title = 'dialog.shareAudioWarningTitle'; + stopSharing = 'toolbar.stopScreenSharing'; + } else { + header1 = 'dialog.shareScreenWarningTitle'; + header2 = 'dialog.shareMediaWarningGenericH2'; + description1 = 'dialog.shareScreenWarningD1'; + description2 = 'dialog.shareScreenWarningD2'; + title = 'dialog.shareScreenWarningTitle'; + stopSharing = 'toolbar.stopAudioSharing'; + } + + return ( +
+

{ t(header1) }

+

{ t(description1) }

+
+

{ t(header2) }

+

{ t(description2) }

+
+
); + + } +} + +export default translate(connect()(ShareScreenWarningDialog)); diff --git a/react/features/screen-share/components/index.js b/react/features/screen-share/components/index.js new file mode 100644 index 0000000000..bc993d82d7 --- /dev/null +++ b/react/features/screen-share/components/index.js @@ -0,0 +1,2 @@ +export { default as ShareAudioButton } from './ShareAudioButton'; +export { default as ShareAudioDialog } from './ShareAudioDialog'; diff --git a/react/features/screen-share/functions.js b/react/features/screen-share/functions.js index 401a4aaf0c..9a9e536927 100644 --- a/react/features/screen-share/functions.js +++ b/react/features/screen-share/functions.js @@ -1,8 +1,20 @@ // @flow import { isWindows } from '../base/environment'; +import { isMobileBrowser } from '../base/environment/utils'; import { browser } from '../base/lib-jitsi-meet'; +import { VIDEO_TYPE } from '../base/media'; +import { getLocalVideoTrack } from '../base/tracks'; +/** + * Is the current screen sharing session audio only. + * + * @param {Object} state - The state of the application. + * @returns {boolean} + */ +export function isAudioOnlySharing(state: Object) { + return isScreenAudioShared(state) && !isScreenVideoShared(state); +} /** * State of audio sharing. @@ -21,5 +33,28 @@ export function isScreenAudioShared(state: Object) { * @returns {boolean} */ export function isScreenAudioSupported() { - return browser.isChrome() || (browser.isElectron() && isWindows()); + return (!isMobileBrowser() && browser.isChrome()) || (browser.isElectron() && isWindows()); +} + +/** + * Is any screen media currently being shared, audio or video. + * + * @param {Object} state - The state of the application. + * @returns {boolean} + */ +export function isScreenMediaShared(state: Object) { + return isScreenAudioShared(state) || isScreenVideoShared(state); +} + +/** + * Is screen sharing currently active. + * + * @param {Object} state - The state of the application. + * @returns {boolean} + */ +export function isScreenVideoShared(state: Object) { + const localVideo = getLocalVideoTrack(state['features/base/tracks']); + + // $FlowFixMe - No support for optional chain method calls in flow atm. + return localVideo?.jitsiTrack?.getVideoType() === VIDEO_TYPE.DESKTOP; } diff --git a/react/features/screen-share/index.js b/react/features/screen-share/index.js index 7461a8bcfd..e41fc768ee 100644 --- a/react/features/screen-share/index.js +++ b/react/features/screen-share/index.js @@ -1,4 +1,6 @@ + export * from './actions'; export * from './actionTypes'; +export * from './components'; export * from './functions'; diff --git a/react/features/toolbox/components/web/Toolbox.js b/react/features/toolbox/components/web/Toolbox.js index a952374f33..bb49328d10 100644 --- a/react/features/toolbox/components/web/Toolbox.js +++ b/react/features/toolbox/components/web/Toolbox.js @@ -25,7 +25,6 @@ import { IconPresentation, IconRaisedHand, IconRec, - IconShareAudio, IconShareDesktop } from '../../../base/icons'; import JitsiMeetJS from '../../../base/lib-jitsi-meet'; @@ -36,7 +35,7 @@ import { } from '../../../base/participants'; import { connect } from '../../../base/redux'; import { OverflowMenuItem } from '../../../base/toolbox/components'; -import { getLocalVideoTrack, toggleScreensharing } from '../../../base/tracks'; +import { getLocalVideoTrack } from '../../../base/tracks'; import { isVpaasMeeting } from '../../../billing-counter/functions'; import { ChatCounter, toggleChat } from '../../../chat'; import { EmbedMeetingDialog } from '../../../embed-meeting'; @@ -53,7 +52,12 @@ import { LiveStreamButton, RecordButton } from '../../../recording'; -import { isScreenAudioShared, isScreenAudioSupported } from '../../../screen-share/'; +import { + isScreenAudioSupported, + isScreenVideoShared, + ShareAudioButton, + startScreenShareFlow +} from '../../../screen-share/'; import SecurityDialogButton from '../../../security/components/security-dialog/SecurityDialogButton'; import { SETTINGS_TABS, @@ -287,7 +291,6 @@ class Toolbox extends Component { this._onToolbarToggleProfile = this._onToolbarToggleProfile.bind(this); this._onToolbarToggleRaiseHand = this._onToolbarToggleRaiseHand.bind(this); this._onToolbarToggleScreenshare = this._onToolbarToggleScreenshare.bind(this); - this._onToolbarToggleShareAudio = this._onToolbarToggleShareAudio.bind(this); this._onToolbarOpenLocalRecordingInfoDialog = this._onToolbarOpenLocalRecordingInfoDialog.bind(this); this._onShortcutToggleTileView = this._onShortcutToggleTileView.bind(this); this._onEscKey = this._onEscKey.bind(this); @@ -535,9 +538,9 @@ class Toolbox extends Component { * @param {boolean} audioOnly - Only share system audio. * @returns {void} */ - _doToggleScreenshare(enabled, audioOnly = false) { + _doToggleScreenshare() { if (this.props._desktopSharingEnabled) { - this.props.dispatch(toggleScreensharing(enabled, audioOnly)); + this.props.dispatch(startScreenShareFlow()); } } @@ -725,15 +728,13 @@ class Toolbox extends Component { * @returns {void} */ _onShortcutToggleScreenshare() { - const enable = !this.props._screensharing; - sendAnalytics(createToolbarEvent( 'screen.sharing', { - enable + enable: !this.props._screensharing })); - this._doToggleScreenshare(enable); + this._doToggleScreenshare(); } _onTabIn: () => void; @@ -940,29 +941,13 @@ class Toolbox extends Component { return; } - const enable = !this.props._screensharing; - sendAnalytics(createShortcutEvent( 'toggle.screen.sharing', ACTION_SHORTCUT_TRIGGERED, - { enable })); + { enable: !this.props._screensharing })); this._closeOverflowMenuIfOpen(); - this._doToggleScreenshare(enable); - } - - _onToolbarToggleShareAudio: () => void; - - /** - * Handles toggle share audio action. - * - * @returns {void} - */ - _onToolbarToggleShareAudio() { - const enable = !this.props._screensharing; - - this._closeOverflowMenuIfOpen(); - this._doToggleScreenshare(enable, true); + this._doToggleScreenshare(); } _onToolbarOpenLocalRecordingInfoDialog: () => void; @@ -1095,12 +1080,9 @@ class Toolbox extends Component { this.props._shouldShowButton('shareaudio') && _desktopSharingEnabled && isScreenAudioSupported() - && , + showLabel = { true } />, this.props._shouldShowButton('etherpad') && isToolbarButtonEnabled(buttonName)(state), _visible: isToolboxVisible(state), _visibleButtons: getToolbarButtons(state)