fcr-ui-scene 3.6.2 → 3.6.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/lib/creator.d.ts +1 -0
  2. package/lib/creator.js +38 -26
  3. package/lib/electron/app.js +5 -4
  4. package/lib/electron/bootstrap-dev.js +3 -0
  5. package/lib/electron/injections.d.ts +3 -2
  6. package/lib/electron/injections.js +5 -6
  7. package/lib/electron/main.js +15 -11
  8. package/lib/electron/window.js +0 -3
  9. package/lib/fragments/annotation/index.d.ts +1 -0
  10. package/lib/fragments/annotation/index.js +55 -40
  11. package/lib/fragments/annotation/store.d.ts +7 -2
  12. package/lib/fragments/annotation/store.js +170 -90
  13. package/lib/fragments/annotation/view.d.ts +1 -0
  14. package/lib/fragments/annotation/view.js +10 -2
  15. package/lib/modules/action-bar/index.css +4 -0
  16. package/lib/modules/action-bar/store.d.ts +1 -7
  17. package/lib/modules/action-bar/store.js +35 -82
  18. package/lib/modules/annotation/board-cursor.css +76 -0
  19. package/lib/modules/annotation/components/control-bar/index.js +42 -2
  20. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +3 -1
  21. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +1 -0
  22. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.js +11 -5
  23. package/lib/modules/annotation/components/toolbar/components/item/item.d.ts +1 -0
  24. package/lib/modules/annotation/components/toolbar/components/item/item.js +3 -2
  25. package/lib/modules/annotation/index.d.ts +2 -0
  26. package/lib/modules/annotation/index.js +2 -1
  27. package/lib/modules/annotation/store.d.ts +11 -3
  28. package/lib/modules/annotation/store.js +209 -184
  29. package/lib/modules/annotation/style.css +3 -3
  30. package/lib/modules/annotation/view.d.ts +1 -0
  31. package/lib/modules/annotation/view.js +26 -9
  32. package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +0 -1
  33. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +10 -4
  34. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +2 -2
  35. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +4 -4
  36. package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +0 -2
  37. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +3 -4
  38. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +0 -3
  39. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +6 -32
  40. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +11 -3
  41. package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +0 -1
  42. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +7 -10
  43. package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +0 -1
  44. package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +0 -2
  45. package/lib/modules/components/member-window/components/member-actions/index.js +1 -32
  46. package/lib/modules/components/member-window/components/member-actions/store.d.ts +38 -1
  47. package/lib/modules/components/member-window/components/member-actions/store.js +130 -23
  48. package/lib/modules/components/member-window/index.css +37 -0
  49. package/lib/modules/control-bar/index.d.ts +0 -4
  50. package/lib/modules/control-bar/index.js +0 -32
  51. package/lib/modules/control-bar/store.d.ts +4 -6
  52. package/lib/modules/control-bar/store.js +63 -103
  53. package/lib/modules/control-bar/view.js +45 -3
  54. package/lib/modules/dialog/components/control-bar/index.d.ts +0 -2
  55. package/lib/modules/dialog/components/control-bar/index.js +1 -3
  56. package/lib/modules/dialog/hooks/useElectron.js +3 -2
  57. package/lib/modules/dialog/index.d.ts +0 -3
  58. package/lib/modules/dialog/index.js +1 -25
  59. package/lib/modules/dialog/store.d.ts +6 -8
  60. package/lib/modules/dialog/store.js +21 -55
  61. package/lib/modules/layout/components/CommonVideoRenderer.js +5 -2
  62. package/lib/modules/layout/type.d.ts +7 -0
  63. package/lib/modules/participant/store.js +59 -28
  64. package/lib/modules/setting/index.d.ts +2 -0
  65. package/lib/modules/setting/index.js +3 -3
  66. package/lib/modules/setting/store.d.ts +8 -10
  67. package/lib/modules/setting/store.js +22 -20
  68. package/lib/modules/share-screen/store.d.ts +3 -0
  69. package/lib/modules/share-screen/store.js +63 -54
  70. package/lib/modules/state-bar/index.css +8 -6
  71. package/lib/modules/state-bar/index.d.ts +2 -0
  72. package/lib/modules/state-bar/index.js +2 -1
  73. package/lib/modules/state-bar/layout-config.d.ts +1 -0
  74. package/lib/modules/state-bar/layout-config.js +15 -5
  75. package/lib/modules/state-bar/store.d.ts +5 -1
  76. package/lib/modules/state-bar/store.js +8 -1
  77. package/lib/modules/state-bar/view.js +9 -5
  78. package/lib/modules/whiteboard/components/control-bar/store.js +2 -0
  79. package/lib/modules/whiteboard/components/toolbar/store.d.ts +7 -3
  80. package/lib/modules/whiteboard/components/toolbar/store.js +61 -35
  81. package/lib/modules/whiteboard/index.js +3 -2
  82. package/lib/modules/whiteboard/style.css +0 -4
  83. package/lib/modules/whiteboard/view.js +8 -2
  84. package/lib/providers/annotation-provider.d.ts +63 -12
  85. package/lib/providers/annotation-provider.js +51 -41
  86. package/lib/providers/device-provider.d.ts +3 -3
  87. package/lib/providers/device-provider.js +8 -6
  88. package/lib/providers/event-provider.d.ts +3 -3
  89. package/lib/providers/screen-share-provider.js +53 -60
  90. package/lib/providers/sharing-provider.d.ts +5 -1
  91. package/lib/providers/sharing-provider.js +16 -1
  92. package/lib/providers/user-setting-storage-provider.d.ts +20 -0
  93. package/lib/providers/user-setting-storage-provider.js +74 -0
  94. package/lib/scenes/main-scene.js +2 -3
  95. package/lib/scenes/waiting-scene.js +1 -1
  96. package/lib/shared-data-source/config.d.ts +1 -5
  97. package/lib/shared-data-source/config.js +11 -81
  98. package/lib/shared-data-source/screen-share-data.d.ts +4 -0
  99. package/lib/shared-data-source/screen-share-data.js +1 -0
  100. package/lib/shared-data-source/setting.d.ts +13 -13
  101. package/lib/shared-data-source/setting.js +10 -6
  102. package/lib/shared-data-source/video-window.d.ts +2 -1
  103. package/lib/shared-data-source/video-window.js +56 -36
  104. package/lib/translations/enUS.d.ts +8 -0
  105. package/lib/translations/enUS.js +9 -1
  106. package/lib/translations/zhCN.d.ts +8 -0
  107. package/lib/translations/zhCN.js +11 -3
  108. package/lib/type.d.ts +2 -1
  109. package/lib/ui-scene.js +11 -6
  110. package/lib/utilities/constant.d.ts +2 -1
  111. package/lib/utilities/constant.js +1 -0
  112. package/lib/utilities/setting-config-storage.d.ts +5 -6
  113. package/lib/utilities/setting-config-storage.js +33 -39
  114. package/lib/utilities/tools.d.ts +1 -0
  115. package/lib/utilities/tools.js +3 -2
  116. package/package.json +8 -6
  117. package/dist/132.js +0 -2
  118. package/dist/132.js.LICENSE.txt +0 -311
  119. package/dist/317.js +0 -2
  120. package/dist/317.js.LICENSE.txt +0 -20
  121. package/dist/651.js +0 -2
  122. package/dist/651.js.LICENSE.txt +0 -1
  123. package/dist/689343b64b60bfb7ffff.png +0 -0
  124. package/dist/73.js +0 -1
  125. package/dist/885f9369ea05a8ac0e56.png +0 -0
  126. package/dist/90f383876a6e93e7c7ca.png +0 -0
  127. package/dist/9b37584780995fc5df8c.gif +0 -0
  128. package/dist/annotation.e5cbd3a70b6d42361872.css +0 -1274
  129. package/dist/annotation.html +0 -1
  130. package/dist/annotation.js +0 -2
  131. package/dist/annotation.js.LICENSE.txt +0 -252
  132. package/dist/assets/browser/images/default1.jpg +0 -0
  133. package/dist/assets/browser/images/default2.jpg +0 -0
  134. package/dist/assets/browser/images/default3.jpg +0 -0
  135. package/dist/assets/browser/images/default4.jpg +0 -0
  136. package/dist/assets/browser/images/default5.jpg +0 -0
  137. package/dist/assets/browser/images/default6.jpg +0 -0
  138. package/dist/assets/browser/images/default7.jpg +0 -0
  139. package/dist/assets/browser/sound_effects/pretest.mp3 +0 -0
  140. package/dist/assets/browser/sound_effects/recording_started.mp3 +0 -0
  141. package/dist/assets/browser/sound_effects/remote_user_joined.mp3 +0 -0
  142. package/dist/assets/browser/sound_effects/speaker_test.mp3 +0 -0
  143. package/dist/assets/browser/videos/default8.mp4 +0 -0
  144. package/dist/assets/browser/videos/default9.mp4 +0 -0
  145. package/dist/assets/cursors/fcr_whiteboard_input.ico +0 -0
  146. package/dist/assets/cursors/fcr_whiteboard_pen.ico +0 -0
  147. package/dist/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
  148. package/dist/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
  149. package/dist/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
  150. package/dist/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
  151. package/dist/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
  152. package/dist/assets/electron/images/default1.jpg +0 -0
  153. package/dist/assets/electron/images/default2.jpg +0 -0
  154. package/dist/assets/electron/sound_effects/pretest.mp3 +0 -0
  155. package/dist/assets/electron/videos/default8.mp4 +0 -0
  156. package/dist/assets/fcr_chat_reddot.svg +0 -5
  157. package/dist/assets/fcr_defaultpage.png +0 -0
  158. package/dist/assets/fcr_grid_big.svg +0 -3
  159. package/dist/assets/fcr_leave2.svg +0 -58
  160. package/dist/assets/fcr_listontop_big.svg +0 -3
  161. package/dist/assets/full-screen-error-boundary-img.png +0 -0
  162. package/dist/assets/leave-meeting.png +0 -0
  163. package/dist/assets/loading.gif +0 -0
  164. package/dist/assets/login_confirm.png +0 -0
  165. package/dist/assets/pretest.mp3 +0 -0
  166. package/dist/assets/state-bar-logo.png +0 -0
  167. package/dist/assets/step-gradient.svg +0 -10
  168. package/dist/b74b002687a3a3346bec.png +0 -0
  169. package/dist/b94869094481702f949b.png +0 -0
  170. package/dist/ebeace75fd46b90d890e.png +0 -0
  171. package/dist/electron/app.js +0 -194
  172. package/dist/electron/bootstrap-dev.js +0 -46
  173. package/dist/electron/bootstrap-sdk.js +0 -211
  174. package/dist/electron/default-options.js +0 -25
  175. package/dist/electron/env.js +0 -13
  176. package/dist/electron/index.js +0 -20
  177. package/dist/electron/injections.js +0 -903
  178. package/dist/electron/ipc/ipc.js +0 -141
  179. package/dist/electron/ipc/type.js +0 -19
  180. package/dist/electron/logger.js +0 -65
  181. package/dist/electron/main.js +0 -94
  182. package/dist/electron/plugins/devtool-shortcut.js +0 -33
  183. package/dist/electron/plugins/meeting-state.js +0 -39
  184. package/dist/electron/plugins/screenshot.js +0 -54
  185. package/dist/electron/preload.js +0 -108
  186. package/dist/electron/tools.js +0 -66
  187. package/dist/electron/window.js +0 -123
  188. package/dist/extensions/agora-extension-virtual-background/agora-wasm.wasm +0 -0
  189. package/dist/extensions/ai-denoiser/denoiser-wasm-simd.wasm +0 -0
  190. package/dist/extensions/ai-denoiser/denoiser-wasm.js +0 -1
  191. package/dist/extensions/ai-denoiser/denoiser-wasm.wasm +0 -0
  192. package/dist/fad688b9135b15d6c405.png +0 -0
  193. package/dist/index.html +0 -224
  194. package/dist/main.393a2a91ab7fc05ffce6.css +0 -15403
  195. package/dist/main.js +0 -2
  196. package/dist/main.js.LICENSE.txt +0 -272
  197. package/dist/worker-entry.worker.js.LICENSE.txt +0 -13
@@ -117,7 +117,6 @@ var _mobx = require("mobx");
117
117
  var _virtualBackdoundResources = require("../modules/device-pretest/assets/virtual-backdound-resources");
118
118
  var _type2 = require("../type");
119
119
  var _tools = require("../utilities/tools");
120
- var _store = require("../modules/setting/store");
121
120
  var _logger = require("../utilities/logger");
122
121
  var _FcrUIDeviceProviderImpl;
123
122
  var _initProto, _init__microphoneDeviceId, _init__speakerDeviceId, _init_currentIsMirror, _init_showForceOpenEffectDialog, _init_cameraId, _init_microphoneId, _init_speakerId, _init_cameraEnabled, _init_showCameraPreview, _init_microphoneEnabled, _init_cameraList, _init_microphoneList, _init_microphoneVolumeLevel, _init_speakerList, _init_isLocalMirrorEnabled, _init_isLocalEditBeautyOptions, _init_speakerVolumeLevel, _init_speakerVolume, _init_microphoneVolume, _init_virtualBackgroundName, _init_enableBeauty, _init_beautyKey, _init_beautyOptions, _init_virtualBackgroundList, _init_soundEffectList, _init_microphoneDetecting, _init_speakerDetecting, _init_connectType, _init_isMainRoomAudioOff, _startPlayLocalVideoDecs, _stopPlayLocalVideoDecs, _startSpeakerTestDecs, _stopSpeakerTestDecs, _setCurrentIsMirrorDecs, _toggleLocalMirrorPreviewDecs, _setBeautyOptionsDecs, _handleCancelForceOpenVideoEffectDecs, _handleForceOpenVideoEffectDecs, _setCameraEnabledDecs, _setMicrophoneEnabledDecs, _toggleLocalMirrorDecs, _resetMirrorDecs, _startMicrophoneTestDecs, _stopMicrophoneTestDecs, _enableVirtualBackgroundDecs, _setEditBeautyKeyDecs, _enableBeautyEffectDecs, _setCameraIdDecs, _setSpeakerIdDecs, _setMicrophoneIdDecs, _setSpeakerVolumeDecs, _setMicrophoneVolumeDecs, _loadUiResourcesDecs, _setConnectTypeDecs, _updateVirtualBackgroundListDecs, _handleSpeakerTestVolumeIndicationUpdatedDecs, _handleSpeakerVolumeUpdatedDecs, _handleMicrophoneVolumeIndicationUpdatedDecs, _handleSpeakerAddedDecs, _handleSpeakerRemovedDecs, _handleSpeakerListUpdatedDecs, _setMainRoomAudioOffDecs, _ref;
@@ -164,7 +163,7 @@ var _b = /*#__PURE__*/new WeakMap();
164
163
  var _c = /*#__PURE__*/new WeakMap();
165
164
  _ref = (_startPlayLocalVideoDecs = [_mobx.action, _mobx.action.bound], _stopPlayLocalVideoDecs = [_mobx.action, _mobx.action.bound], _startSpeakerTestDecs = [_mobx.action, _mobx.action.bound], _stopSpeakerTestDecs = [_mobx.action, _mobx.action.bound], _setCurrentIsMirrorDecs = [_mobx.action, _mobx.action.bound], _toggleLocalMirrorPreviewDecs = [_mobx.action, _mobx.action.bound], _setBeautyOptionsDecs = [_mobx.action, _mobx.action.bound], _handleCancelForceOpenVideoEffectDecs = [_mobx.action, _mobx.action.bound], _handleForceOpenVideoEffectDecs = [_mobx.action, _mobx.action.bound], _setCameraEnabledDecs = [_mobx.action, _mobx.action.bound], _setMicrophoneEnabledDecs = [_mobx.action, _mobx.action.bound], _toggleLocalMirrorDecs = [_mobx.action, _mobx.action.bound], _resetMirrorDecs = [_mobx.action, _mobx.action.bound], _startMicrophoneTestDecs = [_mobx.action, _mobx.action.bound], _stopMicrophoneTestDecs = [_mobx.action, _mobx.action.bound], _enableVirtualBackgroundDecs = [_mobx.action, _mobx.action.bound], _setEditBeautyKeyDecs = [_mobx.action, _mobx.action.bound], _enableBeautyEffectDecs = [_mobx.action, _mobx.action.bound], _setCameraIdDecs = [_mobx.action, _mobx.action.bound], _setSpeakerIdDecs = [_mobx.action, _mobx.action.bound], _setMicrophoneIdDecs = [_mobx.action, _mobx.action.bound], _setSpeakerVolumeDecs = [_mobx.action, _mobx.action.bound], _setMicrophoneVolumeDecs = [_mobx.action, _mobx.action.bound], _loadUiResourcesDecs = [_mobx.action, _mobx.action.bound], _setConnectTypeDecs = [_mobx.action, _mobx.action.bound], _updateVirtualBackgroundListDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerTestVolumeIndicationUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerVolumeUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleMicrophoneVolumeIndicationUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerAddedDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerRemovedDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerListUpdatedDecs = [_mobx.action, _mobx.action.bound], _setMainRoomAudioOffDecs = [_mobx.action, _mobx.action.bound], "logger");
166
165
  var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
167
- function FcrUIDeviceProviderImpl(_eventProvider, _mediaControl, _mediaConfig, _localStorageProvider) {
166
+ function FcrUIDeviceProviderImpl(_eventProvider, _mediaControl, _mediaConfig, _userSettingStorageProvider) {
168
167
  var _this = this;
169
168
  (0, _classCallCheck2["default"])(this, FcrUIDeviceProviderImpl);
170
169
  (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.createLogger)({
@@ -234,7 +233,7 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
234
233
  this._eventProvider = _eventProvider;
235
234
  this._mediaControl = _mediaControl;
236
235
  this._mediaConfig = _mediaConfig;
237
- this._localStorageProvider = _localStorageProvider;
236
+ this._userSettingStorageProvider = _userSettingStorageProvider;
238
237
  this._listeners.push((0, _mobx.reaction)(function () {
239
238
  return _this.cameraId;
240
239
  }, this._handleCameraChanged));
@@ -681,7 +680,8 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
681
680
  }, {
682
681
  key: "_initLocalSetting",
683
682
  value: function _initLocalSetting() {
684
- var value = this._localStorageProvider.read(_store.SETTING_KEY);
683
+ var _this$_userSettingSto;
684
+ var value = (_this$_userSettingSto = this._userSettingStorageProvider.read()) === null || _this$_userSettingSto === void 0 ? void 0 : _this$_userSettingSto.setting;
685
685
  if (value) {
686
686
  var _value$microphoneVolu, _value$isLocalMirrorE, _value$editBeautyKey;
687
687
  var _microphoneVolume = (_value$microphoneVolu = value.microphoneVolume) !== null && _value$microphoneVolu !== void 0 ? _value$microphoneVolu : this.microphoneVolume;
@@ -707,6 +707,7 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
707
707
  _this2.logger.info('[FcrDeviceStore] init camera list:', list);
708
708
  _this2.cameraList = list;
709
709
  if (_this2.cameraList.length > 0) {
710
+ var _this2$_userSettingSt;
710
711
  var _cameraId = _this2.cameraList[0].deviceId;
711
712
  var defaultCameraDeviceId = _this2._getDefaultDeviceId({
712
713
  initValue: _cameraId,
@@ -715,7 +716,7 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
715
716
  });
716
717
  _this2.logger.info('[FcrDeviceStore] select default camera id:', defaultCameraDeviceId);
717
718
  _this2.setCameraId(defaultCameraDeviceId);
718
- var localSetting = _this2._localStorageProvider.read(_store.SETTING_KEY);
719
+ var localSetting = (_this2$_userSettingSt = _this2._userSettingStorageProvider.read()) === null || _this2$_userSettingSt === void 0 ? void 0 : _this2$_userSettingSt.setting;
719
720
  if (localSetting) {
720
721
  var _localSetting$enableB, _localSetting$beautyO;
721
722
  if (localSetting.enable) {
@@ -1892,10 +1893,11 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1892
1893
  }, {
1893
1894
  key: "_getDefaultDeviceId",
1894
1895
  value: function _getDefaultDeviceId(_ref6) {
1896
+ var _this$_userSettingSto2;
1895
1897
  var initValue = _ref6.initValue,
1896
1898
  localKey = _ref6.localKey,
1897
1899
  list = _ref6.list;
1898
- var localSetting = this._localStorageProvider.read(_store.SETTING_KEY);
1900
+ var localSetting = (_this$_userSettingSto2 = this._userSettingStorageProvider.read()) === null || _this$_userSettingSto2 === void 0 ? void 0 : _this$_userSettingSto2.setting;
1899
1901
  var defaultValue = initValue;
1900
1902
  if (localSetting && localSetting[localKey]) {
1901
1903
  var _list$find$deviceId, _list$find;
@@ -1,6 +1,6 @@
1
1
  import { FcrUIDialogKey, FcrUIAction } from '../utilities/constant';
2
2
  import { FcrUserInfo } from 'fcr-core/lib/type';
3
- import { DeviceSettingDialogConfig, CustomSetting } from '../modules/setting/store';
3
+ import { DeviceSettingDialogConfig, FcrUICustomSetting } from '../modules/setting/store';
4
4
  import { FcrUINewChatMessagesParams, FcrUINotificationContentType, FcrUINotificationParams, FcrUISetMainSpeakerParams, FcrUIToastParams } from '../type';
5
5
  import { ConfirmContentProps } from 'agora-ui-foundation/lib/components/confirm-content';
6
6
  import { FcrRoomType } from 'fcr-core/lib/room-control/type';
@@ -39,7 +39,7 @@ export interface FcrUIEventProvider {
39
39
  closeInviteDialog(): void;
40
40
  closeWaitingRoomDialog(): void;
41
41
  closeRemoveAdmitWaitingRoomDialog(dialogKey: FcrUIDialogKey): void;
42
- notifyCustomSettingsChanged(settings: CustomSetting): void;
42
+ notifyCustomSettingsChanged(settings: FcrUICustomSetting): void;
43
43
  notifyChatUpdateTarget(user: FcrUserInfo, roomType: FcrRoomType): void;
44
44
  notifyChatResetTarget(): void;
45
45
  addObserver(observer: FcrUIEventObserver): void;
@@ -79,7 +79,7 @@ export declare class FcrUIEventProviderImpl implements FcrUIEventProvider {
79
79
  closeInviteDialog(): void;
80
80
  closeWaitingRoomDialog(): void;
81
81
  closeRemoveAdmitWaitingRoomDialog(dialogKey: FcrUIDialogKey): void;
82
- notifyCustomSettingsChanged(settings: CustomSetting): void;
82
+ notifyCustomSettingsChanged(settings: FcrUICustomSetting): void;
83
83
  addObserver(observer: FcrUIEventObserver): void;
84
84
  removeObserver(observer: FcrUIEventObserver): void;
85
85
  notifyChatUpdateTarget(user: FcrUserInfo, roomType: FcrRoomType): void;
@@ -40,6 +40,7 @@ Object.defineProperty(exports, "__esModule", {
40
40
  });
41
41
  exports.FcrUIScreenShareProviderImpl = void 0;
42
42
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
43
+ require("core-js/modules/es.array.concat.js");
43
44
  require("core-js/modules/es.array.find.js");
44
45
  require("core-js/modules/es.array.includes.js");
45
46
  require("core-js/modules/es.array.push.js");
@@ -48,7 +49,6 @@ require("core-js/modules/es.date.to-json.js");
48
49
  require("core-js/modules/es.json.stringify.js");
49
50
  require("core-js/modules/es.object.to-string.js");
50
51
  require("core-js/modules/es.promise.js");
51
- require("core-js/modules/es.promise.finally.js");
52
52
  require("core-js/modules/es.string.includes.js");
53
53
  require("core-js/modules/esnext.async-iterator.find.js");
54
54
  require("core-js/modules/esnext.async-iterator.some.js");
@@ -76,13 +76,13 @@ var _i18n = require("agora-ui-foundation/lib/i18n");
76
76
  var _constant = require("../utilities/constant");
77
77
  var _lodash = require("lodash");
78
78
  var _FcrUIScreenShareProviderImpl;
79
- var _initProto, _handleScreenCaptureStateUpdatedDecs, _handleShareStopWithAudioDecs, _handleStreamUpdateDecs, _handleStreamPublicDecs, _releaseDecs, _startShareScreenDecs, _handleShareStartWithAudioDecs, _ref;
79
+ var _initProto, _handleScreenCaptureStateUpdatedDecs, _handleShareStopWithAudioDecs, _replaceScreenShareDecs, _handleStreamUpdateDecs, _handleStreamPublicDecs, _releaseDecs, _startShareScreenDecs, _handleShareStartWithAudioDecs, _ref;
80
80
  function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function set(e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { return e[n]; }, (o < 2 || 4 === o) && (F = function F(e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function s(t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
81
81
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
82
82
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
83
83
  function _setFunctionName(e, t, n) { "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
84
84
  function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); return e; }
85
- _ref = (_handleScreenCaptureStateUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleShareStopWithAudioDecs = [_mobx.action, _mobx.action.bound], _handleStreamUpdateDecs = [_mobx.action, _mobx.action.bound], _handleStreamPublicDecs = [_mobx.action, _mobx.action.bound], _releaseDecs = [_mobx.action, _mobx.action.bound], _startShareScreenDecs = [_mobx.action, _mobx.action.bound], _handleShareStartWithAudioDecs = [_mobx.action, _mobx.action.bound], "logger");
85
+ _ref = (_handleScreenCaptureStateUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleShareStopWithAudioDecs = [_mobx.action, _mobx.action.bound], _replaceScreenShareDecs = [_mobx.action, _mobx.action.bound], _handleStreamUpdateDecs = [_mobx.action, _mobx.action.bound], _handleStreamPublicDecs = [_mobx.action, _mobx.action.bound], _releaseDecs = [_mobx.action, _mobx.action.bound], _startShareScreenDecs = [_mobx.action, _mobx.action.bound], _handleShareStartWithAudioDecs = [_mobx.action, _mobx.action.bound], "logger");
86
86
  var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__PURE__*/function () {
87
87
  function FcrUIScreenShareProviderImpl(_deviceProvider, _eventProvider, _roomProvider, _sharingProvider, _sharedScreenShareSharedDataSource, _sharedMemberDataSource) {
88
88
  var _this = this,
@@ -182,6 +182,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
182
182
  this.setShareLock(false);
183
183
  (_this$screenTrack = this.screenTrack) === null || _this$screenTrack === void 0 || _this$screenTrack.removeObserver(this._screenCaptureObserver);
184
184
  this.isReplaceScreen ? this._screenTrackStop() : this.stop();
185
+ this.logger.info("[Annotation][web]: _handleScreenCaptureStateUpdated: CLOSE, set replaceScreen to: ".concat(this.isReplaceScreen));
185
186
  }
186
187
  if (state === _fcrCore.FcrMediaSourceState.ERROR) {
187
188
  this.setShareLock(false);
@@ -201,13 +202,14 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
201
202
  }, {
202
203
  key: "_handleScreenCaptureStateUpdated",
203
204
  value: function _handleScreenCaptureStateUpdated(sourceId, state) {
204
- this.logger.info('screen-share-provider _handleScreenCaptureStateUpdated: ', sourceId, ' ==== ', state);
205
+ this.logger.info("[handleScreenCaptureStateUpdated]: ".concat(sourceId, " ==== ").concat(state));
205
206
  if (state === _fcrCore.FcrMediaSourceState.CLOSE) {
206
207
  var _this$screenTrack2;
207
208
  this.stopRenderSharePreview(this.screenTrack);
208
209
  (_this$screenTrack2 = this.screenTrack) === null || _this$screenTrack2 === void 0 || _this$screenTrack2.removeObserver(this._screenCaptureObserver);
209
210
  this.isReplaceScreen ? this._screenTrackStop() : this.stop();
210
- this._setIsReplaceScreen(false);
211
+ // this._setIsReplaceScreen(false); // 如果是替换的逻辑,暂时不把是否是替换屏幕的值设置为false,改为在结束屏幕共享时重置
212
+ this.logger.info("[Annotation][electron]: _handleScreenCaptureStateUpdated: CLOSE, set replaceScreen to: ".concat(this.isReplaceScreen));
211
213
  }
212
214
  if (state === _fcrCore.FcrMediaSourceState.ERROR) {
213
215
  this.stop();
@@ -231,6 +233,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
231
233
  key: "replaceScreenShare",
232
234
  value: function replaceScreenShare(id, type, withAudio, bounds) {
233
235
  var _this2 = this;
236
+ this.logger.info('screen-share-provider: replaceScreenShare start');
234
237
  var shareWithAudio = (0, _lodash.isBoolean)(withAudio) ? withAudio : this._sharedScreenShareSharedDataSource.shareWithAudio;
235
238
  this.toggleScreenshareWithAudio(shareWithAudio);
236
239
  this._sharedScreenShareSharedDataSource.setIsReplaceScreen(true);
@@ -331,32 +334,28 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
331
334
  key: "createScreenShareWithSelectionId",
332
335
  value: function () {
333
336
  var _createScreenShareWithSelectionId = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(videoSourceId, bounds) {
334
- var _this3 = this;
335
337
  var audioSourceId, _this$_sharingControl, streamId;
336
338
  return _regenerator["default"].wrap(function _callee3$(_context3) {
337
339
  while (1) switch (_context3.prev = _context3.next) {
338
340
  case 0:
339
341
  this.logger.info('screen-share-provider: createScreenShareWithSelectionId: ', videoSourceId);
340
- this.setShareLock(true);
341
342
  audioSourceId = this.loopbackAudioSourceId;
342
343
  if (!this._sharingControl) {
343
- _context3.next = 10;
344
+ _context3.next = 9;
344
345
  break;
345
346
  }
346
- _context3.next = 6;
347
+ _context3.next = 5;
347
348
  return (_this$_sharingControl = this._sharingControl) === null || _this$_sharingControl === void 0 ? void 0 : _this$_sharingControl.startScreenSharing({
348
349
  streamType: _imports.AgoraRteMediaStreamType.BOTH,
349
350
  videoSourceId: videoSourceId,
350
351
  audioSourceId: audioSourceId
351
- }, bounds)["finally"](function () {
352
- _this3.setShareLock(false);
353
- });
354
- case 6:
352
+ }, bounds);
353
+ case 5:
355
354
  streamId = _context3.sent;
356
355
  return _context3.abrupt("return", Promise.resolve(streamId));
357
- case 10:
356
+ case 9:
358
357
  return _context3.abrupt("return", Promise.reject());
359
- case 11:
358
+ case 10:
360
359
  case "end":
361
360
  return _context3.stop();
362
361
  }
@@ -370,10 +369,10 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
370
369
  }, {
371
370
  key: "_isStoppedFor",
372
371
  value: function _isStoppedFor(events, reason) {
373
- var _this4 = this;
372
+ var _this3 = this;
374
373
  return events && events.find(function (event) {
375
374
  var _event$cause;
376
- return ((_event$cause = event.cause) === null || _event$cause === void 0 || (_event$cause = _event$cause.data) === null || _event$cause === void 0 ? void 0 : _event$cause.reason) === reason && event.modifiedStream.owner.userId === _this4.localUserId;
375
+ return ((_event$cause = event.cause) === null || _event$cause === void 0 || (_event$cause = _event$cause.data) === null || _event$cause === void 0 ? void 0 : _event$cause.reason) === reason && event.modifiedStream.owner.userId === _this3.localUserId;
377
376
  });
378
377
  }
379
378
  }, {
@@ -390,9 +389,9 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
390
389
  key: "_syncShareStreamState",
391
390
  value: function _syncShareStreamState() {
392
391
  var _this$_streamControl3,
393
- _this5 = this;
392
+ _this4 = this;
394
393
  var currentShareStreamId = this.currentShareStreamId || ((_this$_streamControl3 = this._streamControl) === null || _this$_streamControl3 === void 0 || (_this$_streamControl3 = _this$_streamControl3.getStreamList().find(function (stream) {
395
- return stream.videoSourceType === _type.AgoraRteVideoSourceType.SCREEN && stream.owner.userId === _this5.localUserId;
394
+ return stream.videoSourceType === _type.AgoraRteVideoSourceType.SCREEN && stream.owner.userId === _this4.localUserId;
396
395
  })) === null || _this$_streamControl3 === void 0 ? void 0 : _this$_streamControl3.streamId);
397
396
  if (this._sharedScreenShareSharedDataSource.screenSharingState !== _fcrCore.FcrMediaSourceState.OPEN && currentShareStreamId) {
398
397
  this.stop();
@@ -401,7 +400,7 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
401
400
  }, {
402
401
  key: "_handleStreamUpdate",
403
402
  value: function _handleStreamUpdate(process, events) {
404
- var _this6 = this;
403
+ var _this5 = this;
405
404
  this._handleStreamPublic();
406
405
  var isClosedByOther = this._isStoppedFor(events, _types.FcrBoardInactiveReason.CLOSE);
407
406
  var isSeizedByOther = this._isStoppedFor(events, _types.FcrBoardInactiveReason.SEIZE);
@@ -418,11 +417,13 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
418
417
  });
419
418
  switch (process) {
420
419
  case 'add':
421
- var newsStreamsHaveScreenShare = events.some(function (event) {
422
- return event.modifiedStream.videoSourceType === _type.AgoraRteVideoSourceType.SCREEN;
423
- });
424
- var isSeizeStreamAdd = newsStreamsHaveScreenShare && this._sharedScreenShareSharedDataSource.isSharingScreen;
425
- this._sharedScreenShareSharedDataSource.setIsSeizeStream(isSeizeStreamAdd);
420
+ // 抢占流添加时,不设置抢占流状态,因为抢占发生时,会触发 remove 事件,此时判断 reason===seize 的结果设置抢占流状态
421
+ // const newsStreamsHaveScreenShare = events.some(
422
+ // (event) => event.modifiedStream.videoSourceType === AgoraRteVideoSourceType.SCREEN,
423
+ // );
424
+ // const isSeizeStreamAdd =
425
+ // newsStreamsHaveScreenShare && this._sharedScreenShareSharedDataSource.isSharingScreen;
426
+ // this._sharedScreenShareSharedDataSource.setIsSeizeStream(isSeizeStreamAdd);
426
427
  break;
427
428
  case 'remove':
428
429
  var isSeizeStreamRemove = events.some(function (event) {
@@ -430,14 +431,15 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
430
431
  return event.modifiedStream.videoSourceType === _type.AgoraRteVideoSourceType.SCREEN && ((_event$cause2 = event.cause) === null || _event$cause2 === void 0 || (_event$cause2 = _event$cause2.data) === null || _event$cause2 === void 0 ? void 0 : _event$cause2.reason) === _types.FcrBoardInactiveReason.SEIZE && ((_event$operatorUser = event.operatorUser) === null || _event$operatorUser === void 0 ? void 0 : _event$operatorUser.userId) !== event.modifiedStream.owner.userId;
431
432
  });
432
433
  this._sharedScreenShareSharedDataSource.setIsSeizeStream(isSeizeStreamRemove);
433
- this.logger.info('screen-share-provider: stream update remove', isSeizeStreamRemove);
434
+ this.logger.info('stream update remove', isSeizeStreamRemove);
434
435
  if (events.some(function (event) {
435
- return event.modifiedStream.videoSourceType === _type.AgoraRteVideoSourceType.SCREEN && event.modifiedStream.owner.userId === _this6.localUserId;
436
+ return event.modifiedStream.videoSourceType === _type.AgoraRteVideoSourceType.SCREEN && event.modifiedStream.owner.userId === _this5.localUserId;
436
437
  })) {
437
438
  if (!(0, _env.isElectron)() && this.isReplaceScreen) {
439
+ // web下的替换流不需要停止采集
438
440
  this._setIsReplaceScreen(false);
439
441
  return;
440
- } // web 下如果是替换的逻辑,不需要关闭分享
442
+ }
441
443
  this.logger.info('screen-share-provider: current user stream remove');
442
444
  this._screenTrackStop();
443
445
  }
@@ -521,20 +523,21 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
521
523
  return _regenerator["default"].wrap(function _callee4$(_context4) {
522
524
  while (1) switch (_context4.prev = _context4.next) {
523
525
  case 0:
524
- _context4.prev = 0;
526
+ this.setShareLock(true);
527
+ _context4.prev = 1;
525
528
  this.logger.info('screen-share-provider: enter startShareScreen');
526
529
  if (!((0, _env.isElectron)() && !isReplace)) {
527
- _context4.next = 7;
530
+ _context4.next = 8;
528
531
  break;
529
532
  }
530
- _context4.next = 5;
533
+ _context4.next = 6;
531
534
  return this.createScreenShareWithSelectionId(id, this.currentSelectionBounds);
532
- case 5:
535
+ case 6:
533
536
  streamId = _context4.sent;
534
537
  if (streamId) {
535
538
  this._sharedScreenShareSharedDataSource.setCurrentShareStreamId(streamId);
536
539
  }
537
- case 7:
540
+ case 8:
538
541
  this._sharedScreenShareSharedDataSource.setShareWithAudio(withAudio);
539
542
  this.toggleScreenshareWithAudio(withAudio);
540
543
  screenTrack = this._deviceProvider.getScreenTrack(id);
@@ -543,42 +546,42 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
543
546
  (_this$screenTrack4 = this.screenTrack) === null || _this$screenTrack4 === void 0 || _this$screenTrack4.addObserver(this._screenCaptureObserver);
544
547
  _context4.t0 = (_this$screenTrack5 = this.screenTrack) === null || _this$screenTrack5 === void 0;
545
548
  if (_context4.t0) {
546
- _context4.next = 28;
549
+ _context4.next = 29;
547
550
  break;
548
551
  }
549
552
  _context4.t1 = _this$screenTrack5;
550
553
  _context4.t2 = type;
551
554
  _context4.t3 = withAudio;
552
555
  if (!(0, _env.isElectron)()) {
553
- _context4.next = 24;
556
+ _context4.next = 25;
554
557
  break;
555
558
  }
556
- _context4.next = 21;
559
+ _context4.next = 22;
557
560
  return this._getExcludeWindows();
558
- case 21:
561
+ case 22:
559
562
  _context4.t4 = _context4.sent;
560
- _context4.next = 25;
563
+ _context4.next = 26;
561
564
  break;
562
- case 24:
563
- _context4.t4 = undefined;
564
565
  case 25:
566
+ _context4.t4 = undefined;
567
+ case 26:
565
568
  _context4.t5 = _context4.t4;
566
569
  _context4.t6 = {
567
570
  withAudio: _context4.t3,
568
571
  excludeWindows: _context4.t5
569
572
  };
570
573
  _context4.t1.start.call(_context4.t1, _context4.t2, _context4.t6);
571
- case 28:
574
+ case 29:
572
575
  return _context4.abrupt("return", Promise.resolve(this.screenTrack));
573
- case 31:
574
- _context4.prev = 31;
575
- _context4.t7 = _context4["catch"](0);
576
+ case 32:
577
+ _context4.prev = 32;
578
+ _context4.t7 = _context4["catch"](1);
576
579
  return _context4.abrupt("return", Promise.reject(_context4.t7));
577
- case 34:
580
+ case 35:
578
581
  case "end":
579
582
  return _context4.stop();
580
583
  }
581
- }, _callee4, this, [[0, 31]]);
584
+ }, _callee4, this, [[1, 32]]);
582
585
  }));
583
586
  function startShareScreen(_x7, _x8, _x9, _x10) {
584
587
  return _startShareScreen.apply(this, arguments);
@@ -590,16 +593,9 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
590
593
  value: function stopShareScreen(targetScreenTrack) {
591
594
  this.logger.info('screen-share-provider: stopShareScreen');
592
595
  var screenTrack = targetScreenTrack !== null && targetScreenTrack !== void 0 ? targetScreenTrack : this.screenTrack;
593
- this.setShareLock(false);
594
596
  this.stopRenderSharePreview(screenTrack);
595
- if ((0, _env.isElectron)()) {
596
- this._screenTrackStop();
597
- this.removeScreenStream();
598
- } else {
599
- this.removeScreenStream();
600
- this._screenTrackStop();
601
- }
602
- this._sharedScreenShareSharedDataSource.setCurrentShareId('');
597
+ this.removeScreenStream();
598
+ this._screenTrackStop();
603
599
  }
604
600
  }, {
605
601
  key: "_handleShareStartWithAudio",
@@ -685,10 +681,6 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
685
681
  }, {
686
682
  key: "removeScreenStream",
687
683
  value: function removeScreenStream() {
688
- var streamId = this.currentShareStreamId;
689
- if (!streamId) {
690
- return false;
691
- }
692
684
  try {
693
685
  var _this$_streamControl5;
694
686
  this.logger.info('screen-share-provider: remove screen streams');
@@ -706,10 +698,11 @@ var FcrUIScreenShareProviderImpl = exports.FcrUIScreenShareProviderImpl = /*#__P
706
698
  var _this$screenTrack6;
707
699
  this.logger.info('screen-share-provider: current screen track stop');
708
700
  (_this$screenTrack6 = this.screenTrack) === null || _this$screenTrack6 === void 0 || _this$screenTrack6.stop();
701
+ this.setShareLock(false);
709
702
  }
710
703
  }]);
711
704
  }();
712
705
  _FcrUIScreenShareProviderImpl = FcrUIScreenShareProviderImpl;
713
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIScreenShareProviderImpl, [[_decorator.bound, 2, "getCurrentScreenSharingOwner"], [_decorator.bound, 2, "stop"], [_decorator.bound, 2, "bootstrap"], [_decorator.bound, 2, "_handleWebScreenCaptureStateUpdated"], [_handleScreenCaptureStateUpdatedDecs, 18, "_handleScreenCaptureStateUpdated"], [_handleShareStopWithAudioDecs, 18, "_handleShareStopWithAudio"], [_decorator.bound, 2, "_syncShareStreamState"], [_handleStreamUpdateDecs, 18, "_handleStreamUpdate"], [_decorator.bound, 2, "startRenderSharePreview"], [_decorator.bound, 2, "stopRenderSharePreview"], [_handleStreamPublicDecs, 18, "_handleStreamPublic"], [_releaseDecs, 18, "release"], [_startShareScreenDecs, 18, "startShareScreen"], [_handleShareStartWithAudioDecs, 18, "_handleShareStartWithAudio"], [_decorator.bound, 2, "_getExcludeWindows"], [_decorator.bound, 2, "_screenTrackStop"]], []).e, 1);
706
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIScreenShareProviderImpl, [[_decorator.bound, 2, "getCurrentScreenSharingOwner"], [_decorator.bound, 2, "stop"], [_decorator.bound, 2, "bootstrap"], [_decorator.bound, 2, "_handleWebScreenCaptureStateUpdated"], [_handleScreenCaptureStateUpdatedDecs, 18, "_handleScreenCaptureStateUpdated"], [_handleShareStopWithAudioDecs, 18, "_handleShareStopWithAudio"], [_replaceScreenShareDecs, 18, "replaceScreenShare"], [_decorator.bound, 2, "_syncShareStreamState"], [_handleStreamUpdateDecs, 18, "_handleStreamUpdate"], [_decorator.bound, 2, "startRenderSharePreview"], [_decorator.bound, 2, "stopRenderSharePreview"], [_handleStreamPublicDecs, 18, "_handleStreamPublic"], [_releaseDecs, 18, "release"], [_startShareScreenDecs, 18, "startShareScreen"], [_handleShareStartWithAudioDecs, 18, "_handleShareStartWithAudio"], [_decorator.bound, 2, "_getExcludeWindows"], [_decorator.bound, 2, "_screenTrackStop"]], []).e, 1);
714
707
  _initProto = _applyDecs$e[0];
715
708
  (0, _base.registerDependency)('screenShareProvider');
@@ -1,5 +1,6 @@
1
1
  import { FcrScreenSharingState, FcrSharingControl, FcrWhiteboardState } from 'fcr-core/lib/room-control/sharing-control/type';
2
2
  import { FcrScreenStreamCreateConfig } from 'fcr-core/lib/room-control/stream-control/type';
3
+ import { FcrUIScreenShareSharedDataSource } from '../shared-data-source/screen-share-data';
3
4
  export interface FcrUISharingProvider {
4
5
  get screenSharingOwnerId(): string;
5
6
  get whiteboardOwnerId(): string;
@@ -15,13 +16,16 @@ export interface FcrUISharingProvider {
15
16
  }
16
17
  export declare class FcrUISharingProviderImpl implements FcrUISharingProvider {
17
18
  private _sharingControl;
19
+ private _sharedScreenShareSharedDataSource;
18
20
  protected logger: import("agora-foundation/lib/logger").Logger;
19
21
  private _observer;
20
22
  accessor screenSharingOwnerId: string;
21
23
  accessor whiteboardOwnerId: string;
22
24
  accessor screenSharingState: FcrScreenSharingState;
23
25
  accessor whiteboardState: FcrWhiteboardState;
24
- constructor(_sharingControl: FcrSharingControl);
26
+ get isReplaceScreen(): boolean;
27
+ get isSeizeStream(): boolean;
28
+ constructor(_sharingControl: FcrSharingControl, _sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource);
25
29
  startScreenSharing(config: FcrScreenStreamCreateConfig): void;
26
30
  startWhiteboard(): void;
27
31
  updateScreenSharing(enableAnnotation: boolean): void;
@@ -70,7 +70,7 @@ var _B = /*#__PURE__*/new WeakMap();
70
70
  var _C = /*#__PURE__*/new WeakMap();
71
71
  var _D = /*#__PURE__*/new WeakMap();
72
72
  var FcrUISharingProviderImpl = exports.FcrUISharingProviderImpl = /*#__PURE__*/function () {
73
- function FcrUISharingProviderImpl(_sharingControl) {
73
+ function FcrUISharingProviderImpl(_sharingControl, _sharedScreenShareSharedDataSource) {
74
74
  var _this = this;
75
75
  (0, _classCallCheck2["default"])(this, FcrUISharingProviderImpl);
76
76
  (0, _defineProperty2["default"])(this, "logger", (_initProto(this), (0, _logger.createLogger)({
@@ -80,6 +80,10 @@ var FcrUISharingProviderImpl = exports.FcrUISharingProviderImpl = /*#__PURE__*/f
80
80
  onScreenSharingUpdated: function onScreenSharingUpdated(ownerId, state) {
81
81
  _this.screenSharingOwnerId = ownerId;
82
82
  _this.screenSharingState = state;
83
+ if (state === _type.FcrScreenSharingState.END) {
84
+ _this.isReplaceScreen && _this._sharedScreenShareSharedDataSource.setIsReplaceScreen(false);
85
+ _this.isSeizeStream && _this._sharedScreenShareSharedDataSource.setIsSeizeStream(false);
86
+ }
83
87
  },
84
88
  onWhiteboardStarted: function onWhiteboardStarted(ownerId, operatorUser) {
85
89
  _this.whiteboardOwnerId = ownerId;
@@ -94,6 +98,7 @@ var FcrUISharingProviderImpl = exports.FcrUISharingProviderImpl = /*#__PURE__*/f
94
98
  _classPrivateFieldInitSpec(this, _C, _init_screenSharingState(this, _type.FcrScreenSharingState.END));
95
99
  _classPrivateFieldInitSpec(this, _D, _init_whiteboardState(this, _type.FcrWhiteboardState.END));
96
100
  this._sharingControl = _sharingControl;
101
+ this._sharedScreenShareSharedDataSource = _sharedScreenShareSharedDataSource;
97
102
  // @ts-ignore
98
103
  // this._sharingControl.getToken();
99
104
  this._sharingControl.addObserver(this._observer);
@@ -130,6 +135,16 @@ var FcrUISharingProviderImpl = exports.FcrUISharingProviderImpl = /*#__PURE__*/f
130
135
  set: function set(v) {
131
136
  _classPrivateFieldSet(_D, this, v);
132
137
  }
138
+ }, {
139
+ key: "isReplaceScreen",
140
+ get: function get() {
141
+ return this._sharedScreenShareSharedDataSource.isReplaceScreen;
142
+ }
143
+ }, {
144
+ key: "isSeizeStream",
145
+ get: function get() {
146
+ return this._sharedScreenShareSharedDataSource.isSeizeStream;
147
+ }
133
148
  }, {
134
149
  key: "startScreenSharing",
135
150
  value: function startScreenSharing(config) {
@@ -0,0 +1,20 @@
1
+ import { FcrUISettingConfig } from '../type';
2
+ export interface FcrUIUserSettingStorageProvider {
3
+ /**
4
+ * 写入本地存储
5
+ * @param key
6
+ * @param value
7
+ */
8
+ write(value: Partial<FcrUISettingConfig>): number;
9
+ /**
10
+ * 从本地存储读取
11
+ * @param key
12
+ */
13
+ read(): FcrUISettingConfig | null;
14
+ }
15
+ export declare class FcrUIUserSettingStorageProviderImpl implements FcrUIUserSettingStorageProvider {
16
+ private _isElectron;
17
+ constructor();
18
+ write(value: Partial<FcrUISettingConfig>): number;
19
+ read(): any;
20
+ }
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.array.filter.js");
5
+ require("core-js/modules/es.array.for-each.js");
6
+ require("core-js/modules/es.array.push.js");
7
+ require("core-js/modules/es.object.define-properties.js");
8
+ require("core-js/modules/es.object.define-property.js");
9
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
10
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
11
+ require("core-js/modules/es.object.to-string.js");
12
+ require("core-js/modules/esnext.async-iterator.filter.js");
13
+ require("core-js/modules/esnext.async-iterator.for-each.js");
14
+ require("core-js/modules/esnext.iterator.constructor.js");
15
+ require("core-js/modules/esnext.iterator.filter.js");
16
+ require("core-js/modules/esnext.iterator.for-each.js");
17
+ require("core-js/modules/web.dom-collections.for-each.js");
18
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
19
+ Object.defineProperty(exports, "__esModule", {
20
+ value: true
21
+ });
22
+ exports.FcrUIUserSettingStorageProviderImpl = void 0;
23
+ require("core-js/modules/es.date.to-json.js");
24
+ require("core-js/modules/es.json.stringify.js");
25
+ require("core-js/modules/es.object.keys.js");
26
+ require("core-js/modules/esnext.json.parse.js");
27
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
28
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
29
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
30
+ var _base = require("../base");
31
+ var _env = require("agora-foundation/lib/utilities/env");
32
+ var _settingConfigStorage = require("../utilities/setting-config-storage");
33
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
34
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
35
+ var FcrUIUserSettingStorageProviderImpl = exports.FcrUIUserSettingStorageProviderImpl = /*#__PURE__*/function () {
36
+ function FcrUIUserSettingStorageProviderImpl() {
37
+ (0, _classCallCheck2["default"])(this, FcrUIUserSettingStorageProviderImpl);
38
+ (0, _defineProperty2["default"])(this, "_isElectron", false);
39
+ this._isElectron = (0, _env.isElectron)();
40
+ }
41
+ return (0, _createClass2["default"])(FcrUIUserSettingStorageProviderImpl, [{
42
+ key: "write",
43
+ value: function write(value) {
44
+ var userSetting = this.read();
45
+ if (userSetting) {
46
+ value = _objectSpread(_objectSpread({}, userSetting), value);
47
+ }
48
+ if (this._isElectron) {
49
+ window.runtime.setUserSettingData(value);
50
+ } else {
51
+ localStorage.setItem(_settingConfigStorage.settingConfigStorageKey, JSON.stringify(value));
52
+ }
53
+ return 1;
54
+ }
55
+ }, {
56
+ key: "read",
57
+ value: function read() {
58
+ if (this._isElectron) {
59
+ return window.runtime.getUserSettingData();
60
+ } else {
61
+ var getItem = localStorage.getItem(_settingConfigStorage.settingConfigStorageKey);
62
+ return getItem ? JSON.parse(getItem) : null;
63
+ }
64
+ }
65
+
66
+ // remove(key: string) {
67
+ // localStorage.removeItem(key);
68
+ // }
69
+ }]);
70
+ }(); // export enum FcrLocalStorageSettingKey {
71
+ // SpotlightEnabled = 'spotlightEnabled',
72
+ // ShouldHideNonVideoParticipants = 'shouldHideNonVideoParticipants',
73
+ // }
74
+ (0, _base.registerDependency)('userSettingStorageProvider');
@@ -196,7 +196,7 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
196
196
  var waitingRoomControlProvider = new _roomProvider.FcrUIWaitingRoomControlProviderImpl(roomProvider, eventProvider);
197
197
  var monitorProvider = new _monitorProvider.FcrUIMonitorProviderImpl(engine.getMonitorControl());
198
198
  var chatProvider = new _chatProvider.FcrUIChatProviderImpl(currentRoomControlProvider.currentRoomControl, roomProvider);
199
- var sharingProvider = new _sharingProvider.FcrUISharingProviderImpl(sharingControl);
199
+ var sharingProvider = new _sharingProvider.FcrUISharingProviderImpl(sharingControl, sharedScreenShareSharedDataSource);
200
200
  var sharedWaitingRoomDataSource = new _waitingRoom.FcrUISharedWaitingRoomDataSourceImpl(roomProvider, eventProvider);
201
201
  var phoneAudioConnectorProvider = new _phoneAudioProvider.FcrUIPhoneAudioConnectorProviderImpl({
202
202
  roomControl: mainRoomControl,
@@ -461,8 +461,7 @@ var FcrMainUIScene = exports.FcrMainUIScene = /*#__PURE__*/function (_FcrBaseUIS
461
461
  key: _constant.FcrUIDialogKey.CONTROL_BAR,
462
462
  component: function component(props) {
463
463
  return (0, _env.isElectron)() ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_controlBar2.ControlBarDialog, {
464
- module: controlbarUIModule,
465
- params: props.params
464
+ module: controlbarUIModule
466
465
  }, "ControlBar") : shareScreenModule.getComponent();
467
466
  }
468
467
  }, {
@@ -92,7 +92,7 @@ var FcrWaitingUIScene = exports.FcrWaitingUIScene = /*#__PURE__*/function (_FcrB
92
92
  var deviceStreamProvider = new _deviceStreamProvider.FcrUIDeviceStreamProviderImpl(waitingRoomControl, deviceProvider, messageProvider, dialogProvider, devicePrivilegeProvider, sharedDevicePrivilegeDataSource);
93
93
  var sharedChatDataSource = new _chatData.FcrUISharedChatDataSourceImpl(chatProvider);
94
94
  var sharingControl = waitingRoomControl.getSharingControl();
95
- var sharingProvider = new _sharingProvider.FcrUISharingProviderImpl(sharingControl);
95
+ var sharingProvider = new _sharingProvider.FcrUISharingProviderImpl(sharingControl, sharedScreenShareSharedDataSource);
96
96
  var sharedInterpreterDataSource = new _interpreter.FcrUISharedInterpreterDataSourceImpl();
97
97
  var sharedMemberDataSource = new _memberData.FcrUIMemberSharedDataSourceImpl(userControl, streamControl, sharedScreenShareSharedDataSource);
98
98
  var screenShareProvider = new _screenShareProvider.FcrUIScreenShareProviderImpl(deviceProvider, eventProvider, roomProvider, sharingProvider, sharedScreenShareSharedDataSource, sharedMemberDataSource);
@@ -1,4 +1,3 @@
1
- import { FcrUILocalStorageProvider } from '../providers/local-storage-provider';
2
1
  import { FcrUISceneConfig, FcrUISceneCreatorConfig, FcrUISettingConfig } from '../type';
3
2
  export interface FcrUISharedConfigDataSource {
4
3
  get settingConfig(): FcrUISettingConfig;
@@ -6,15 +5,12 @@ export interface FcrUISharedConfigDataSource {
6
5
  get sceneConfig(): FcrUISceneConfig;
7
6
  }
8
7
  export declare class FcrUISharedConfigDataSourceImpl implements FcrUISharedConfigDataSource {
9
- private _localStorageProvider;
10
8
  settingConfig: FcrUISettingConfig;
11
9
  creatorConfig: FcrUISceneCreatorConfig;
12
10
  sceneConfig: FcrUISceneConfig;
13
- constructor({ settingConfig, creatorConfig, sceneConfig, localStorageProvider, }: {
11
+ constructor({ settingConfig, creatorConfig, sceneConfig, }: {
14
12
  settingConfig: FcrUISettingConfig;
15
13
  creatorConfig: FcrUISceneCreatorConfig;
16
14
  sceneConfig?: FcrUISceneConfig;
17
- localStorageProvider: FcrUILocalStorageProvider;
18
15
  });
19
- private _initConfig;
20
16
  }