| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | 
							- // @flow
 - 
 - import { createScreenshotCaptureEffect } from '../stream-effects/screenshot-capture';
 - import { getLocalVideoTrack } from '../../features/base/tracks';
 - 
 - import { SET_SCREENSHOT_CAPTURE } from './actionTypes';
 - 
 - /**
 -  * Marks the on-off state of screenshot captures.
 -  *
 -  * @param {boolean} enabled - Whether to turn screen captures on or off.
 -  * @returns {{
 -     *      type: START_SCREENSHOT_CAPTURE,
 -     *      payload: enabled
 -     * }}
 - */
 - function setScreenshotCapture(enabled) {
 -     return {
 -         type: SET_SCREENSHOT_CAPTURE,
 -         payload: enabled
 -     };
 - }
 - 
 - /**
 - * Action that toggles the screenshot captures.
 - *
 - * @param {boolean} enabled - Bool that represents the intention to start/stop screenshot captures.
 - * @returns {Promise}
 - */
 - export function toggleScreenshotCaptureEffect(enabled: boolean) {
 -     return function(dispatch: (Object) => Object, getState: () => any) {
 -         const state = getState();
 - 
 -         if (state['features/screenshot-capture'].capturesEnabled !== enabled) {
 -             const { jitsiTrack } = getLocalVideoTrack(state['features/base/tracks']);
 - 
 -             return createScreenshotCaptureEffect(state)
 -                 .then(effect =>
 -                     jitsiTrack.setEffect(enabled ? effect : undefined)
 -                         .then(() => {
 -                             dispatch(setScreenshotCapture(enabled));
 -                         })
 -                         .catch(() => {
 -                             dispatch(setScreenshotCapture(!enabled));
 -                         })
 -                 )
 -                 .catch(() => dispatch(setScreenshotCapture(false)));
 -         }
 - 
 -         return Promise.resolve();
 -     };
 - }
 
 
  |