fcr-ui-scene 3.7.5 → 3.7.7-rc.1

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 (255) hide show
  1. package/lib/creator/index.js +15 -7
  2. package/lib/creator/provider-initializer.browser.js +13 -4
  3. package/lib/creator/provider-initializer.electron.js +22 -10
  4. package/lib/electron/bootstrap-sdk.js +90 -6
  5. package/lib/electron/injections.d.ts +1 -0
  6. package/lib/electron/injections.js +5 -1
  7. package/lib/electron/ipc/type.d.ts +1 -0
  8. package/lib/electron/ipc/type.js +1 -0
  9. package/lib/electron/preload.js +1 -0
  10. package/lib/electron/sdk-helper.d.ts +3 -0
  11. package/lib/electron/sdk-helper.js +53 -19
  12. package/lib/electron/struct.d.ts +7 -1
  13. package/lib/electron/struct.js +8 -1
  14. package/lib/electron/until.d.ts +7 -1
  15. package/lib/electron/until.js +11 -2
  16. package/lib/fragments/annotation/store.js +2 -0
  17. package/lib/modules/action-bar/components/item/index.js +1 -0
  18. package/lib/modules/action-bar/components/more/poppover-content.js +1 -1
  19. package/lib/modules/action-bar/components/screen-share/index.browser.js +4 -2
  20. package/lib/modules/action-bar/components/screen-share/index.electron.js +4 -2
  21. package/lib/modules/action-bar/components/screen-share/submenu.d.ts +5 -1
  22. package/lib/modules/action-bar/components/screen-share/submenu.js +12 -9
  23. package/lib/modules/audio-stream/index.js +4 -2
  24. package/lib/modules/chat/index.css +8 -0
  25. package/lib/modules/chat/view.js +7 -1
  26. package/lib/modules/components/control-bar/components/switch-theme/index.css +2 -0
  27. package/lib/modules/components/control-bar/components/switch-theme/index.js +5 -7
  28. package/lib/modules/components/control-bar/index.css +0 -2
  29. package/lib/modules/components/control-bar/index.d.ts +1 -0
  30. package/lib/modules/components/control-bar/index.js +51 -15
  31. package/lib/modules/components/leave-meeting/main-scene/store.d.ts +3 -0
  32. package/lib/modules/components/leave-meeting/main-scene/store.js +12 -0
  33. package/lib/modules/components/leave-meeting/store.base.d.ts +4 -3
  34. package/lib/modules/components/leave-meeting/store.base.js +0 -10
  35. package/lib/modules/components/leave-meeting/waiting-scene/store.d.ts +5 -1
  36. package/lib/modules/components/leave-meeting/waiting-scene/store.js +17 -3
  37. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +1 -2
  38. package/lib/modules/components/member-window/components/video-player/components/local-video-player-with-zoom.js +4 -3
  39. package/lib/modules/components/member-window/components/video-player/components/zoomable-container.js +18 -32
  40. package/lib/modules/components/toolbar/components/capture-tool/index.d.ts +0 -1
  41. package/lib/modules/components/toolbar/components/capture-tool/index.js +1 -2
  42. package/lib/modules/components/toolbar/components/vertical-frame/index.js +2 -2
  43. package/lib/modules/components/toolbar/hooks/use-resize-visible.js +45 -32
  44. package/lib/modules/components/toolbar/index.js +6 -24
  45. package/lib/modules/control-bar/components/boundary-detector.d.ts +7 -5
  46. package/lib/modules/control-bar/components/boundary-detector.js +22 -2
  47. package/lib/modules/control-bar/components/cloud-recording-buttons.d.ts +3 -0
  48. package/lib/modules/control-bar/components/cloud-recording-buttons.js +68 -3
  49. package/lib/modules/control-bar/hooks.js +2 -1
  50. package/lib/modules/control-bar/store.d.ts +1 -0
  51. package/lib/modules/control-bar/store.js +21 -7
  52. package/lib/modules/control-bar/view.js +96 -28
  53. package/lib/modules/dialog/components/confirm/index.js +6 -24
  54. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  55. package/lib/modules/dialog/components/dialog-container/component/body.js +3 -2
  56. package/lib/modules/dialog/components/dialog-container/index.css +8 -1
  57. package/lib/modules/dialog/components/dialog-container/index.d.ts +1 -0
  58. package/lib/modules/dialog/components/dialog-container/index.js +4 -1
  59. package/lib/modules/dialog/components/normal-window/index.d.ts +1 -0
  60. package/lib/modules/dialog/components/normal-window/index.js +3 -1
  61. package/lib/modules/dialog/dialogs/chat/index.js +2 -1
  62. package/lib/modules/dialog/dialogs/control-bar-leave-meeting/index.js +0 -1
  63. package/lib/modules/dialog/dialogs/device-setting/index.d.ts +1 -0
  64. package/lib/modules/dialog/dialogs/device-setting/index.js +4 -2
  65. package/lib/modules/dialog/dialogs/end-meeting/index.d.ts +1 -0
  66. package/lib/modules/dialog/dialogs/end-meeting/index.js +2 -1
  67. package/lib/modules/dialog/dialogs/invite/index.d.ts +1 -0
  68. package/lib/modules/dialog/dialogs/invite/index.js +2 -1
  69. package/lib/modules/dialog/dialogs/mute-all/index.d.ts +1 -0
  70. package/lib/modules/dialog/dialogs/mute-all/index.js +2 -1
  71. package/lib/modules/dialog/dialogs/participant/index.js +9 -2
  72. package/lib/modules/dialog/dialogs/share-screen-selection/index.js +1 -1
  73. package/lib/modules/dialog/dialogs/sub-window/index.js +1 -7
  74. package/lib/modules/dialog/dialogs/toast/index.d.ts +1 -1
  75. package/lib/modules/dialog/dialogs/toast/index.js +1 -1
  76. package/lib/modules/dialog/dialogs/video-window/index.d.ts +4 -1
  77. package/lib/modules/dialog/dialogs/video-window/index.js +5 -2
  78. package/lib/modules/dialog/dialogs/widget/index.d.ts +2 -0
  79. package/lib/modules/dialog/dialogs/widget/index.js +11 -3
  80. package/lib/modules/dialog/index.css +6 -2
  81. package/lib/modules/dialog/level-config.d.ts +1 -0
  82. package/lib/modules/dialog/level-config.js +2 -1
  83. package/lib/modules/dialog/store.base.d.ts +2 -0
  84. package/lib/modules/dialog/store.browser.d.ts +2 -0
  85. package/lib/modules/dialog/store.browser.js +6 -1
  86. package/lib/modules/dialog/store.electron.d.ts +9 -1
  87. package/lib/modules/dialog/store.electron.js +64 -4
  88. package/lib/modules/dialog/type.d.ts +3 -0
  89. package/lib/modules/event-toast/index.css +0 -1
  90. package/lib/modules/event-toast/index.js +1 -0
  91. package/lib/modules/event-toast/store.base.d.ts +2 -0
  92. package/lib/modules/event-toast/store.base.js +40 -21
  93. package/lib/modules/event-toast/store.electron.d.ts +2 -0
  94. package/lib/modules/event-toast/store.electron.js +19 -9
  95. package/lib/modules/layout/components/CommonVideoRenderer.js +1 -0
  96. package/lib/modules/layout/store.electron.js +1 -1
  97. package/lib/modules/participant/components/confirm-input/index.js +1 -1
  98. package/lib/modules/participant/store.base.d.ts +30 -3
  99. package/lib/modules/participant/store.base.js +249 -96
  100. package/lib/modules/participant/store.browser.js +4 -3
  101. package/lib/modules/participant/store.electron.js +5 -3
  102. package/lib/modules/pc-audio-connect/main-scene/store.js +1 -0
  103. package/lib/modules/secondary-window/store.d.ts +1 -1
  104. package/lib/modules/secondary-window/store.js +14 -22
  105. package/lib/modules/secondary-window/view.js +10 -10
  106. package/lib/modules/setting/audio-settings/audio-settings.js +0 -17
  107. package/lib/modules/setting/index.js +1 -1
  108. package/lib/modules/setting/state/index.js +1 -1
  109. package/lib/modules/setting/store.base.d.ts +5 -2
  110. package/lib/modules/setting/store.base.js +72 -26
  111. package/lib/modules/share-screen/components/selection/index.css +4 -0
  112. package/lib/modules/share-screen/store.base.js +17 -4
  113. package/lib/modules/share-screen/store.electron.js +5 -2
  114. package/lib/modules/state-bar/layout-config.js +6 -0
  115. package/lib/modules/state-bar/main-scene/store.base.d.ts +2 -0
  116. package/lib/modules/state-bar/main-scene/store.base.js +6 -0
  117. package/lib/modules/video-window/index.css +6 -0
  118. package/lib/modules/video-window/popover-watcher.d.ts +5 -10
  119. package/lib/modules/video-window/popover-watcher.js +34 -31
  120. package/lib/modules/video-window/store.d.ts +32 -5
  121. package/lib/modules/video-window/store.js +156 -63
  122. package/lib/modules/video-window/view.js +50 -1
  123. package/lib/modules/whiteboard/index.d.ts +1 -1
  124. package/lib/modules/whiteboard/index.js +1 -1
  125. package/lib/modules/whiteboard/store.d.ts +3 -0
  126. package/lib/modules/whiteboard/store.js +31 -2
  127. package/lib/modules/whiteboard/view.js +10 -1
  128. package/lib/modules/widget/sdk.js +1 -1
  129. package/lib/modules/widget/store.base.d.ts +1 -0
  130. package/lib/modules/widget/store.browser.d.ts +1 -0
  131. package/lib/modules/widget/store.browser.js +60 -4
  132. package/lib/modules/widget/store.electron.d.ts +1 -0
  133. package/lib/modules/widget/store.electron.js +59 -2
  134. package/lib/modules/widget/type.d.ts +3 -2
  135. package/lib/modules/widget/view.js +9 -4
  136. package/lib/modules/widget/web-widget.d.ts +2 -1
  137. package/lib/modules/widget/web-widget.js +7 -5
  138. package/lib/object-manager.d.ts +2 -2
  139. package/lib/object-manager.js +1 -1
  140. package/lib/providers/board-share/bar-control/base.d.ts +1 -1
  141. package/lib/providers/board-share/bar-control/base.js +37 -28
  142. package/lib/providers/board-share/bar-control/electron.d.ts +1 -1
  143. package/lib/providers/board-share/bar-control/electron.js +19 -16
  144. package/lib/providers/board-share/provider.base.d.ts +8 -1
  145. package/lib/providers/board-share/provider.base.js +12 -2
  146. package/lib/providers/board-share/provider.browser.d.ts +3 -0
  147. package/lib/providers/board-share/provider.browser.js +21 -3
  148. package/lib/providers/device-provider.d.ts +16 -2
  149. package/lib/providers/device-provider.js +53 -60
  150. package/lib/providers/dialog/provider.base.d.ts +1 -0
  151. package/lib/providers/dialog/provider.browser.d.ts +1 -0
  152. package/lib/providers/dialog/provider.browser.js +7 -2
  153. package/lib/providers/dialog/provider.electron.d.ts +4 -1
  154. package/lib/providers/dialog/provider.electron.js +94 -2
  155. package/lib/providers/dialog/type.d.ts +7 -0
  156. package/lib/providers/mouse-detect/provider.d.ts +9 -1
  157. package/lib/providers/mouse-detect/provider.js +119 -5
  158. package/lib/providers/mouse-detect/struct.d.ts +2 -1
  159. package/lib/providers/mouse-detect/struct.js +1 -0
  160. package/lib/providers/mouse-detect/type.d.ts +2 -0
  161. package/lib/providers/multi-display-provider.d.ts +3 -5
  162. package/lib/providers/multi-display-provider.js +0 -9
  163. package/lib/providers/renderer-provider.d.ts +5 -0
  164. package/lib/providers/renderer-provider.js +5 -0
  165. package/lib/providers/room-provider/room-provider.d.ts +4 -14
  166. package/lib/providers/room-provider/room-provider.js +28 -39
  167. package/lib/providers/screen-share/provider.base.js +3 -11
  168. package/lib/providers/screen-share/provider.browser.js +23 -14
  169. package/lib/providers/screen-share/provider.electron.d.ts +1 -0
  170. package/lib/providers/screen-share/provider.electron.js +44 -17
  171. package/lib/providers/screen-share/strategy/browser.js +16 -13
  172. package/lib/providers/screen-share/strategy/electron.d.ts +2 -2
  173. package/lib/providers/screen-share/strategy/electron.js +15 -10
  174. package/lib/providers/screen-share/strategy/type.d.ts +6 -0
  175. package/lib/providers/screen-share/stream-state-sync.d.ts +3 -2
  176. package/lib/providers/screen-share/stream-state-sync.js +26 -16
  177. package/lib/providers/screen-share/struct.d.ts +9 -7
  178. package/lib/providers/screen-share/struct.js +11 -8
  179. package/lib/providers/screen-share/type.d.ts +7 -1
  180. package/lib/providers/widget-provider.d.ts +5 -3
  181. package/lib/providers/widget-provider.js +12 -18
  182. package/lib/providers/window/main-window.d.ts +0 -5
  183. package/lib/providers/window/main-window.js +3 -44
  184. package/lib/providers/window/renderer-window.d.ts +1 -0
  185. package/lib/providers/window/renderer-window.js +13 -2
  186. package/lib/runtime.d.ts +1 -0
  187. package/lib/runtime.js +2 -1
  188. package/lib/scenes/main-scene.js +5 -0
  189. package/lib/shared-context/board-context.d.ts +2 -0
  190. package/lib/shared-context/board-context.js +2 -0
  191. package/lib/shared-data/member-data.d.ts +0 -8
  192. package/lib/shared-data/member-data.js +26 -78
  193. package/lib/shared-data/widget-data.d.ts +13 -0
  194. package/lib/shared-data/widget-data.js +50 -0
  195. package/lib/translations/enUS.d.ts +0 -2
  196. package/lib/translations/enUS.js +4 -6
  197. package/lib/translations/zhCN.d.ts +0 -2
  198. package/lib/translations/zhCN.js +4 -6
  199. package/lib/type.d.ts +5 -0
  200. package/lib/ui-scene.d.ts +2 -4
  201. package/lib/ui-scene.js +31 -42
  202. package/lib/utilities/constant.d.ts +3 -1
  203. package/lib/utilities/constant.js +5 -2
  204. package/lib/utilities/default-config.d.ts +18 -0
  205. package/lib/utilities/default-config.js +19 -1
  206. package/lib/utilities/focus-helper.js +10 -3
  207. package/lib/utilities/logger.js +3 -1
  208. package/lib/utilities/renderer.d.ts +1 -0
  209. package/lib/utilities/renderer.js +7 -1
  210. package/package.json +5 -5
  211. package/public/index.html +35 -4
  212. package/lib/modules/action-bar/index.d.ts +0 -17
  213. package/lib/modules/action-bar/index.js +0 -63
  214. package/lib/modules/action-bar/store.base.d.ts +0 -15
  215. package/lib/modules/action-bar/store.base.js +0 -117
  216. package/lib/modules/action-bar/view.d.ts +0 -5
  217. package/lib/modules/action-bar/view.js +0 -112
  218. package/lib/modules/action-bar/waiting-scene/store.d.ts +0 -6
  219. package/lib/modules/action-bar/waiting-scene/store.js +0 -91
  220. package/lib/modules/control-bar/types.d.ts +0 -31
  221. package/lib/modules/control-bar/types.js +0 -6
  222. package/lib/modules/dialog/dialogs/pre-setting/index.css +0 -26
  223. package/lib/modules/dialog/dialogs/pre-setting/index.d.ts +0 -6
  224. package/lib/modules/dialog/dialogs/pre-setting/index.js +0 -57
  225. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +0 -14
  226. package/lib/modules/dialog/hooks/use-popover-watcher.js +0 -112
  227. package/lib/modules/event-toast/store.d.ts +0 -23
  228. package/lib/modules/event-toast/store.js +0 -187
  229. package/lib/modules/setting/common/advance-link.d.ts +0 -3
  230. package/lib/modules/setting/common/advance-link.js +0 -27
  231. package/lib/modules/setting/common/index.css +0 -26
  232. package/lib/modules/setting/common/useNamespace.d.ts +0 -15
  233. package/lib/modules/setting/common/useNamespace.js +0 -66
  234. package/lib/modules/widget/store.d.ts +0 -17
  235. package/lib/modules/widget/store.js +0 -71
  236. package/lib/providers/board-share/bar-control.d.ts +0 -51
  237. package/lib/providers/board-share/bar-control.js +0 -390
  238. package/lib/providers/board-share/provider.d.ts +0 -66
  239. package/lib/providers/board-share/provider.js +0 -456
  240. package/lib/providers/screen-share/provider.d.ts +0 -69
  241. package/lib/providers/screen-share/provider.js +0 -615
  242. package/lib/providers/whiteboard-provider.d.ts +0 -26
  243. package/lib/providers/whiteboard-provider.js +0 -131
  244. package/lib/providers/window/browser-window-proxy.d.ts +0 -0
  245. package/lib/providers/window/browser-window-proxy.js +0 -1
  246. package/lib/providers/window/ipc-protocol.d.ts +0 -0
  247. package/lib/providers/window/ipc-protocol.js +0 -1
  248. package/lib/providers/window/main-process-handler.d.ts +0 -0
  249. package/lib/providers/window/main-process-handler.js +0 -1
  250. package/lib/providers/window/main-process-integration.d.ts +0 -0
  251. package/lib/providers/window/main-process-integration.js +0 -1
  252. package/lib/shared-data/whiteboard-data.d.ts +0 -70
  253. package/lib/shared-data/whiteboard-data.js +0 -342
  254. package/lib/utilities/ipc-protocol.d.ts +0 -91
  255. package/lib/utilities/ipc-protocol.js +0 -61
@@ -25,7 +25,6 @@ require("core-js/modules/es.array.concat.js");
25
25
  require("core-js/modules/es.array.filter.js");
26
26
  require("core-js/modules/es.array.find.js");
27
27
  require("core-js/modules/es.array.for-each.js");
28
- require("core-js/modules/es.array.includes.js");
29
28
  require("core-js/modules/es.array.iterator.js");
30
29
  require("core-js/modules/es.array.map.js");
31
30
  require("core-js/modules/es.array.push.js");
@@ -42,9 +41,7 @@ require("core-js/modules/es.promise.js");
42
41
  require("core-js/modules/es.promise.all-settled.js");
43
42
  require("core-js/modules/es.regexp.exec.js");
44
43
  require("core-js/modules/es.set.js");
45
- require("core-js/modules/es.string.includes.js");
46
44
  require("core-js/modules/es.string.iterator.js");
47
- require("core-js/modules/es.string.replace.js");
48
45
  require("core-js/modules/es.weak-map.js");
49
46
  require("core-js/modules/esnext.iterator.constructor.js");
50
47
  require("core-js/modules/esnext.iterator.filter.js");
@@ -210,13 +207,15 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
210
207
  _classPrivateFieldInitSpec(this, _A, _init__microphoneEnabled(this, false));
211
208
  _classPrivateFieldInitSpec(this, _B, _init__isMicrophoneWorking(this, false));
212
209
  _classPrivateFieldInitSpec(this, _C, _init__microphoneDevice(this, {
213
- id: null
210
+ id: null,
211
+ name: null
214
212
  }));
215
213
  _classPrivateFieldInitSpec(this, _D, _init__microphone(this, {
216
214
  id: DEFAULT_DEVICE_ID
217
215
  }));
218
216
  _classPrivateFieldInitSpec(this, _E, _init__speakerDevice(this, {
219
- id: null
217
+ id: null,
218
+ name: null
220
219
  }));
221
220
  _classPrivateFieldInitSpec(this, _F, _init__speaker(this, {
222
221
  id: DEFAULT_DEVICE_ID
@@ -685,6 +684,14 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
685
684
  speakerDeviceId: this._speakerDevice.id || ''
686
685
  };
687
686
  }
687
+ }, {
688
+ key: "currentDeviceName",
689
+ get: function get() {
690
+ return {
691
+ microphoneDeviceName: this._microphoneDevice.name || '',
692
+ speakerDeviceName: this._speakerDevice.name || ''
693
+ };
694
+ }
688
695
  }, {
689
696
  key: "isAudioConnected",
690
697
  get: function get() {
@@ -725,6 +732,8 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
725
732
  this._isAudioConnected = false;
726
733
  this.setCameraEnabled(false);
727
734
  this.setMicrophoneEnabled(false);
735
+ this.setConnectType(_type2.FcrUIConnectType.NONE);
736
+ this._observable.notifyObservers('onAudioDisconnected');
728
737
  }
729
738
  }, {
730
739
  key: "release",
@@ -1419,7 +1428,11 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1419
1428
  var startSelectedSpeakerTest = function startSelectedSpeakerTest() {
1420
1429
  var _this7$soundEffectLis, _this7$soundEffectLis2;
1421
1430
  var soundUrl = (0, _env.isElectron)() ? (_this7$soundEffectLis = _this7.soundEffectList.get('speaker_test')) === null || _this7$soundEffectLis === void 0 ? void 0 : _this7$soundEffectLis.md5Url : (_this7$soundEffectLis2 = _this7.soundEffectList.get('speaker_test')) === null || _this7$soundEffectLis2 === void 0 ? void 0 : _this7$soundEffectLis2.url;
1422
- _this7._mediaControl.startSelectedSpeakerTest(soundUrl || '', _this7._volumeIndicationInterval);
1431
+ if (!soundUrl) {
1432
+ _this7.logger.error('speaker_test soundUrl is not set');
1433
+ return;
1434
+ }
1435
+ _this7._mediaControl.startSelectedSpeakerTest(soundUrl, _this7._volumeIndicationInterval);
1423
1436
  };
1424
1437
  startSelectedSpeakerTest();
1425
1438
  var sleep = 3000;
@@ -1459,12 +1472,18 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1459
1472
  key: "_handleMicrophoneIdChanged",
1460
1473
  value: function () {
1461
1474
  var _handleMicrophoneIdChanged2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8() {
1475
+ var _this8 = this;
1476
+ var _this$microphoneList$, name;
1462
1477
  return _regenerator["default"].wrap(function (_context8) {
1463
1478
  while (1) switch (_context8.prev = _context8.next) {
1464
1479
  case 0:
1465
1480
  if (!this.followSystemMicrophoneDevice) {
1481
+ name = ((_this$microphoneList$ = this.microphoneList.find(function (item) {
1482
+ return item.deviceId === _this8._microphone.id;
1483
+ })) === null || _this$microphoneList$ === void 0 ? void 0 : _this$microphoneList$.deviceName) || null;
1466
1484
  this._microphoneDevice = {
1467
- id: this._microphone.id
1485
+ id: this._microphone.id,
1486
+ name: name
1468
1487
  };
1469
1488
  } else {
1470
1489
  this._correctSystemSelectedMicrophoneDeviceId();
@@ -1514,12 +1533,18 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1514
1533
  key: "_handleSpeakerIdChanged",
1515
1534
  value: function () {
1516
1535
  var _handleSpeakerIdChanged2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9() {
1536
+ var _this9 = this;
1537
+ var _this$speakerList$fin, name;
1517
1538
  return _regenerator["default"].wrap(function (_context9) {
1518
1539
  while (1) switch (_context9.prev = _context9.next) {
1519
1540
  case 0:
1520
1541
  if (!this.followSystemSpeakerDevice) {
1542
+ name = ((_this$speakerList$fin = this.speakerList.find(function (item) {
1543
+ return item.deviceId === _this9._speaker.id;
1544
+ })) === null || _this$speakerList$fin === void 0 ? void 0 : _this$speakerList$fin.deviceName) || null;
1521
1545
  this._speakerDevice = {
1522
- id: this._speaker.id
1546
+ id: this._speaker.id,
1547
+ name: name
1523
1548
  };
1524
1549
  } else {
1525
1550
  this._correctSystemSpeakerDeviceId();
@@ -1596,9 +1621,10 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1596
1621
  return _context1.abrupt("return");
1597
1622
  case 2:
1598
1623
  this.logger.debug("system selected speaker changed : ".concat(defaultDevice.deviceName));
1599
- this._showSystemSelectedDeviceChangedToast(defaultDevice);
1624
+ this._observable.notifyObservers('onSystemSelectedDeviceChanged', defaultDevice);
1600
1625
  this._speakerDevice = {
1601
- id: defaultDevice.deviceId
1626
+ id: defaultDevice.deviceId,
1627
+ name: defaultDevice.deviceName
1602
1628
  };
1603
1629
  case 3:
1604
1630
  case "end":
@@ -1635,10 +1661,11 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1635
1661
  this.logger.error('get system selected speaker device failed');
1636
1662
  return _context10.abrupt("return");
1637
1663
  case 2:
1638
- this._showSystemSelectedDeviceChangedToast(defaultDevice);
1664
+ this._observable.notifyObservers('onSystemSelectedDeviceChanged', defaultDevice);
1639
1665
  this.logger.debug("system selected microphone changed : ".concat(defaultDevice.deviceName));
1640
1666
  this._microphoneDevice = {
1641
- id: defaultDevice.deviceId
1667
+ id: defaultDevice.deviceId,
1668
+ name: defaultDevice.deviceName
1642
1669
  };
1643
1670
  case 3:
1644
1671
  case "end":
@@ -1651,40 +1678,6 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1651
1678
  }
1652
1679
  return _correctSystemSelectedMicrophoneDeviceId;
1653
1680
  }()
1654
- }, {
1655
- key: "_showSystemSelectedDeviceChangedToast",
1656
- value: function _showSystemSelectedDeviceChangedToast(defaultDevice) {
1657
- var message = (0, _i18n.transI18n)('fmt_device_toast_switch_device');
1658
- message = message.replace('{reason1}', defaultDevice.deviceName);
1659
- this._messageProvider.showToast({
1660
- type: 'normal',
1661
- message: message
1662
- });
1663
- this._windows10UnsupportAirPods(defaultDevice);
1664
- }
1665
- }, {
1666
- key: "_windows10UnsupportAirPods",
1667
- value: function _windows10UnsupportAirPods(defaultDevice) {
1668
- if (!(0, _env.isWindows)()) {
1669
- return;
1670
- }
1671
- var version = (0, _env.windowsVersion)();
1672
- if (!version) {
1673
- return;
1674
- }
1675
- version = version.split('.')[0];
1676
- if (version !== '10') {
1677
- return;
1678
- }
1679
- if (!defaultDevice.deviceName.includes('AirPods')) {
1680
- return;
1681
- }
1682
- var message = "windows 10 maybe not support ".concat(defaultDevice.deviceName);
1683
- this._messageProvider.showToast({
1684
- type: 'warn',
1685
- message: message
1686
- });
1687
- }
1688
1681
  }, {
1689
1682
  key: "_handleSelectedSpeakerVolumeUpdated",
1690
1683
  value: function _handleSelectedSpeakerVolumeUpdated(volume) {
@@ -1703,7 +1696,7 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1703
1696
  }, {
1704
1697
  key: "_toggleLocalCameraPreview",
1705
1698
  value: function _toggleLocalCameraPreview(enabled) {
1706
- var _this8 = this;
1699
+ var _this0 = this;
1707
1700
  var localVideoViewSet = this._localVideoViewSet;
1708
1701
  var cameraTrack = this._cameraVideoTrack;
1709
1702
  if (!cameraTrack) {
@@ -1719,7 +1712,7 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1719
1712
  localVideoViewSet.forEach(function (view) {
1720
1713
  cameraTrack.startPreview({
1721
1714
  renderMode: _fcrCore.FcrVideoRenderMode.HIDDEN,
1722
- isMirror: _this8.currentIsMirror
1715
+ isMirror: _this0.currentIsMirror
1723
1716
  }, view);
1724
1717
  });
1725
1718
  }
@@ -1733,7 +1726,7 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1733
1726
  key: "_handleCameraRemoved",
1734
1727
  value: function () {
1735
1728
  var _handleCameraRemoved2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee11() {
1736
- var _this9 = this;
1729
+ var _this1 = this;
1737
1730
  var currentDeviceExist, defaultDeviceId;
1738
1731
  return _regenerator["default"].wrap(function (_context11) {
1739
1732
  while (1) switch (_context11.prev = _context11.next) {
@@ -1743,7 +1736,7 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1743
1736
  case 1:
1744
1737
  currentDeviceExist = this.cameraList.some(function (_ref5) {
1745
1738
  var deviceId = _ref5.deviceId;
1746
- return _this9._cameraDevice.id === deviceId;
1739
+ return _this1._cameraDevice.id === deviceId;
1747
1740
  });
1748
1741
  if (!currentDeviceExist) {
1749
1742
  this.logger.info('[FcrDeviceStore] current speaker does not exist in speaker list, switch to follow system');
@@ -1798,7 +1791,7 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1798
1791
  key: "_handleMicrophoneRemoved",
1799
1792
  value: function () {
1800
1793
  var _handleMicrophoneRemoved2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee13() {
1801
- var _this0 = this;
1794
+ var _this10 = this;
1802
1795
  var currentDeviceExist;
1803
1796
  return _regenerator["default"].wrap(function (_context13) {
1804
1797
  while (1) switch (_context13.prev = _context13.next) {
@@ -1807,7 +1800,7 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1807
1800
  return this._handleMicrophoneListUpdated();
1808
1801
  case 1:
1809
1802
  currentDeviceExist = this.microphoneList.find(function (item) {
1810
- return item.deviceId === _this0._microphoneDevice.id;
1803
+ return item.deviceId === _this10._microphoneDevice.id;
1811
1804
  });
1812
1805
  if (!currentDeviceExist) {
1813
1806
  this.logger.info('[FcrDeviceStore] current microphone does not exist in microphone list, switch to follow system');
@@ -1858,7 +1851,7 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1858
1851
  key: "_handleSpeakerRemoved",
1859
1852
  value: function () {
1860
1853
  var _handleSpeakerRemoved2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee15() {
1861
- var _this1 = this;
1854
+ var _this11 = this;
1862
1855
  var currentDeviceExist;
1863
1856
  return _regenerator["default"].wrap(function (_context15) {
1864
1857
  while (1) switch (_context15.prev = _context15.next) {
@@ -1868,7 +1861,7 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1868
1861
  case 1:
1869
1862
  // 如何设备移除了,应该切到跟随系统
1870
1863
  currentDeviceExist = this.speakerList.find(function (item) {
1871
- return item.deviceId === _this1._speakerDevice.id;
1864
+ return item.deviceId === _this11._speakerDevice.id;
1872
1865
  });
1873
1866
  if (!currentDeviceExist) {
1874
1867
  this.logger.info('[FcrDeviceStore] current speaker does not exist in speaker list, switch to follow system');
@@ -2011,7 +2004,7 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
2011
2004
  key: "_loadBuiltinResources",
2012
2005
  value: function () {
2013
2006
  var _loadBuiltinResources2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee19() {
2014
- var _this10 = this;
2007
+ var _this12 = this;
2015
2008
  var _yield$this$_renderer, virtualBackgroundImages, virtualBackgroundVideos, soundEffects, newVirtualBackgroundList, images, videos, sounds;
2016
2009
  return _regenerator["default"].wrap(function (_context19) {
2017
2010
  while (1) switch (_context19.prev = _context19.next) {
@@ -2029,7 +2022,7 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
2029
2022
  name: (0, _tools.getFileNameWithoutExtension)(item),
2030
2023
  path: item,
2031
2024
  type: _virtualBackdoundResources.VirtualOption.IMG,
2032
- url: URL.createObjectURL(_this10._renderer.fileToBlob(item, 'image'))
2025
+ url: URL.createObjectURL(_this12._renderer.fileToBlob(item, 'image'))
2033
2026
  };
2034
2027
  });
2035
2028
  videos = virtualBackgroundVideos.map(function (item) {
@@ -2037,12 +2030,12 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
2037
2030
  name: (0, _tools.getFileNameWithoutExtension)(item),
2038
2031
  path: item,
2039
2032
  type: _virtualBackdoundResources.VirtualOption.VIDEO,
2040
- url: URL.createObjectURL(_this10._renderer.fileToBlob(item, 'video'))
2033
+ url: URL.createObjectURL(_this12._renderer.fileToBlob(item, 'video'))
2041
2034
  };
2042
2035
  });
2043
2036
  sounds = soundEffects.map(function (item) {
2044
2037
  return {
2045
- url: URL.createObjectURL(_this10._renderer.fileToBlob(item, 'audio')),
2038
+ url: URL.createObjectURL(_this12._renderer.fileToBlob(item, 'audio')),
2046
2039
  md5Url: item
2047
2040
  };
2048
2041
  });
@@ -2052,9 +2045,9 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
2052
2045
  newVirtualBackgroundList = newVirtualBackgroundList.concat(images);
2053
2046
  newVirtualBackgroundList = newVirtualBackgroundList.concat(videos);
2054
2047
  (0, _mobx.runInAction)(function () {
2055
- _this10._updateVirtualBackgroundList(newVirtualBackgroundList);
2048
+ _this12._updateVirtualBackgroundList(newVirtualBackgroundList);
2056
2049
  sounds.forEach(function (item) {
2057
- _this10.soundEffectList.set((0, _tools.getFileNameWithoutExtension)(item.url), item);
2050
+ _this12.soundEffectList.set((0, _tools.getFileNameWithoutExtension)(item.url), item);
2058
2051
  });
2059
2052
  });
2060
2053
  case 2:
@@ -24,6 +24,7 @@ export declare abstract class FcrUIDialogProviderBase implements FcrUIDialogProv
24
24
  get openedConfirms(): FcrUIConfirmDescriptor[];
25
25
  get openedDialogs(): FcrUIDialogDescriptor[];
26
26
  constructor();
27
+ abstract setSharingDisplayBounds(bounds: FcrUI.FcrUIRectangle): void;
27
28
  closeAllConfirms(): void;
28
29
  abstract openDialog(dialogKey: FcrUIDialogKey, params?: Record<string, unknown>): void;
29
30
  abstract openDialogWithId(dialogKey: FcrUIDialogKey, dialogId: string, params?: Record<string, unknown>): void;
@@ -12,4 +12,5 @@ export declare class FcrUIBrowserDialogProviderImpl extends FcrUIDialogProviderB
12
12
  }): string;
13
13
  protected openWithKeyAndId(dialogKey: FcrUIDialogKey, dialogId: string, params?: Record<string, unknown>): void;
14
14
  protected closeByKeyAndId(dialogKey: FcrUIDialogKey, dialogId: string): void;
15
+ setSharingDisplayBounds(): void;
15
16
  }
@@ -3,8 +3,6 @@
3
3
  require("core-js/modules/es.symbol.js");
4
4
  require("core-js/modules/es.symbol.description.js");
5
5
  require("core-js/modules/es.symbol.to-primitive.js");
6
- require("core-js/modules/es.error.cause.js");
7
- require("core-js/modules/es.error.to-string.js");
8
6
  require("core-js/modules/es.array.is-array.js");
9
7
  require("core-js/modules/es.date.to-primitive.js");
10
8
  require("core-js/modules/es.function.bind.js");
@@ -38,6 +36,8 @@ Object.defineProperty(exports, "__esModule", {
38
36
  value: true
39
37
  });
40
38
  exports.FcrUIBrowserDialogProviderImpl = void 0;
39
+ require("core-js/modules/es.error.cause.js");
40
+ require("core-js/modules/es.error.to-string.js");
41
41
  require("core-js/modules/es.array.concat.js");
42
42
  require("core-js/modules/es.array.find.js");
43
43
  require("core-js/modules/es.array.includes.js");
@@ -153,6 +153,11 @@ var FcrUIBrowserDialogProviderImpl = exports.FcrUIBrowserDialogProviderImpl = /*
153
153
  this.logger.info("dialog ".concat(dialogKey, "(").concat(dialogId, ") is prevented from closing"));
154
154
  }
155
155
  }
156
+ }, {
157
+ key: "setSharingDisplayBounds",
158
+ value: function setSharingDisplayBounds() {
159
+ throw new Error('Method not implemented.');
160
+ }
156
161
  }]);
157
162
  }(_provider.FcrUIDialogProviderBase);
158
163
  _FcrUIBrowserDialogProviderImpl = FcrUIBrowserDialogProviderImpl;
@@ -3,11 +3,14 @@ import { FcrUIDialogProviderBase } from './provider.base';
3
3
  import { FcrUIDialogKey } from '../../utilities/constant';
4
4
  export declare class FcrUIElectronDialogProviderImpl extends FcrUIDialogProviderBase {
5
5
  private _windowProvider;
6
- constructor({ windowProvider }: FcrUIElectronProviderConstructor);
6
+ private _sharingDisplayBounds;
7
+ private _renderer;
8
+ constructor({ windowProvider, renderer }: FcrUIElectronProviderConstructor);
7
9
  openDialog(dialogKey: FcrUIDialogKey, params?: Record<string, unknown>): void;
8
10
  openDialogWithId(dialogKey: FcrUIDialogKey, dialogId: string, params?: Record<string, unknown>): void;
9
11
  closeDialog(dialogKey: FcrUIDialogKey): void;
10
12
  closeDialogById(dialogId: string): void;
11
13
  protected openWithKeyAndId(dialogKey: FcrUIDialogKey, dialogId: string, params?: Record<string, unknown>): void;
12
14
  protected closeByKeyAndId(dialogKey: FcrUIDialogKey, dialogId: string): void;
15
+ setSharingDisplayBounds(bounds: FcrUI.FcrUIRectangle): void;
13
16
  }
@@ -57,8 +57,10 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
57
57
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
58
58
  var _type = require("./type");
59
59
  var _provider = require("./provider.base");
60
+ var _constant = require("../../utilities/constant");
60
61
  var _decorator = require("agora-foundation/lib/decorator");
61
62
  var _isBoolean = _interopRequireDefault(require("lodash/isBoolean"));
63
+ var _imports = require("fcr-core/lib/imports");
62
64
  var _FcrUIElectronDialogProviderImpl;
63
65
  var _initProto;
64
66
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
@@ -71,11 +73,14 @@ function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side
71
73
  var FcrUIElectronDialogProviderImpl = exports.FcrUIElectronDialogProviderImpl = /*#__PURE__*/function (_FcrUIDialogProviderB) {
72
74
  function FcrUIElectronDialogProviderImpl(_ref) {
73
75
  var _this;
74
- var windowProvider = _ref.windowProvider;
76
+ var windowProvider = _ref.windowProvider,
77
+ renderer = _ref.renderer;
75
78
  (0, _classCallCheck2["default"])(this, FcrUIElectronDialogProviderImpl);
76
79
  _this = _callSuper(this, FcrUIElectronDialogProviderImpl);
77
80
  (0, _defineProperty2["default"])(_this, "_windowProvider", void _initProto(_this));
81
+ (0, _defineProperty2["default"])(_this, "_sharingDisplayBounds", null);
78
82
  _this._windowProvider = windowProvider;
83
+ _this._renderer = renderer;
79
84
  return _this;
80
85
  }
81
86
  (0, _inherits2["default"])(FcrUIElectronDialogProviderImpl, _FcrUIDialogProviderB);
@@ -121,6 +126,9 @@ var FcrUIElectronDialogProviderImpl = exports.FcrUIElectronDialogProviderImpl =
121
126
  this.logger.warn("dialog ".concat(dialogKey, "(").concat(dialogId, ") is already opened"));
122
127
  var _window = this._windowProvider.getWindowById(dialogKey, dialogId);
123
128
  _window.show(showOptions);
129
+ if (params !== null && params !== void 0 && params.alwaysOnTop) {
130
+ _window.setAlwaysOnTop(true, 'pop-up-menu');
131
+ }
124
132
  return;
125
133
  }
126
134
  var dialogIds = this.dialogKeyMap.get(dialogKey);
@@ -136,6 +144,82 @@ var FcrUIElectronDialogProviderImpl = exports.FcrUIElectronDialogProviderImpl =
136
144
  }
137
145
  var window = this._windowProvider.getWindowById(dialogKey, dialogId);
138
146
  var windowObserver = {
147
+ onReady: function onReady() {
148
+ _this2.logger.info("sharing display bounds: ".concat((0, _imports.jsonstring)(_this2._sharingDisplayBounds)));
149
+ if ([_constant.FcrUIDialogKey.SUB_WINDOW].includes(dialogKey)) {
150
+ return;
151
+ }
152
+ // 获取主屏幕的宽高
153
+ var bounds = _this2._windowProvider.getCurrentWindow().getBounds();
154
+ var _this2$_renderer$getD = _this2._renderer.getDisplayMatching(bounds).bounds,
155
+ mw = _this2$_renderer$getD.width,
156
+ mh = _this2$_renderer$getD.height,
157
+ mx = _this2$_renderer$getD.x,
158
+ my = _this2$_renderer$getD.y;
159
+ var shareScreenDialogs = [_constant.FcrUIDialogKey.SHARE_SCREEN_CONTROL_BAR, _constant.FcrUIDialogKey.VIDEO_WINDOW];
160
+ var fullScreenDialogs = [_constant.FcrUIDialogKey.TOAST, _constant.FcrUIDialogKey.CONFIRM];
161
+ var _window$getBounds = window.getBounds(),
162
+ ww = _window$getBounds.width,
163
+ wh = _window$getBounds.height;
164
+ if (shareScreenDialogs.includes(dialogKey)) {
165
+ return;
166
+ }
167
+
168
+ // 分享主应用所在显示器
169
+ var x = mx + mw / 2 - ww / 2;
170
+ var y = my + mh / 2 - wh / 2;
171
+ if (_this2._sharingDisplayBounds) {
172
+ var _this2$_sharingDispla = _this2._sharingDisplayBounds,
173
+ sx = _this2$_sharingDispla.x,
174
+ sy = _this2$_sharingDispla.y,
175
+ sw = _this2$_sharingDispla.width,
176
+ sh = _this2$_sharingDispla.height;
177
+ if (fullScreenDialogs.includes(dialogKey)) {
178
+ window.setBounds(_this2._sharingDisplayBounds);
179
+ } else {
180
+ // 分享的显示器在左侧
181
+ if (sx < 0 && Math.abs(sx) >= sw) {
182
+ x = sx / 2 - ww / 2;
183
+ y = sh / 2 - wh / 2 + sy;
184
+ _this2.logger.info("sharing display in the left");
185
+ }
186
+
187
+ // 分享的显示器在右侧
188
+ else if (sx > 0 && Math.abs(sx) >= mw) {
189
+ x = sw / 2 - ww / 2 + sx;
190
+ y = sh / 2 - wh / 2 + sy;
191
+ _this2.logger.info("sharing display in the right");
192
+ }
193
+
194
+ // 分享的显示器在上面
195
+ else if (sy < 0 && Math.abs(sy) >= sh) {
196
+ x = sw / 2 - ww / 2 + sx;
197
+ y = sy / 2 - wh / 2;
198
+ _this2.logger.info("sharing display in the top");
199
+ }
200
+
201
+ // 分享的显示器在下面
202
+ else if (sy > 0 && Math.abs(sy) >= mh) {
203
+ x = sw / 2 - ww / 2 + sx;
204
+ y = sy + sh / 2 - wh / 2;
205
+ _this2.logger.info("sharing display in the bottom");
206
+ }
207
+ x = Math.floor(x);
208
+ y = Math.floor(y);
209
+ window.setBounds({
210
+ x: x,
211
+ y: y
212
+ });
213
+ }
214
+ } else {
215
+ x = Math.floor(x);
216
+ y = Math.floor(y);
217
+ window.setBounds({
218
+ x: x,
219
+ y: y
220
+ });
221
+ }
222
+ },
139
223
  onClosed: function onClosed() {
140
224
  window.removeObserver(windowObserver);
141
225
  _this2.dialogKeyMap["delete"](dialogKey);
@@ -157,6 +241,9 @@ var FcrUIElectronDialogProviderImpl = exports.FcrUIElectronDialogProviderImpl =
157
241
  window.addObserver(windowObserver);
158
242
  window.setPreventClose(true);
159
243
  window.show(showOptions);
244
+ if (params !== null && params !== void 0 && params.alwaysOnTop) {
245
+ window.setAlwaysOnTop(true, 'pop-up-menu');
246
+ }
160
247
  this.observable.notifyObservers('onDialogOpen', dialogKey, dialogId, params);
161
248
  }
162
249
  }, {
@@ -168,10 +255,15 @@ var FcrUIElectronDialogProviderImpl = exports.FcrUIElectronDialogProviderImpl =
168
255
  window.close();
169
256
  }
170
257
  }
258
+ }, {
259
+ key: "setSharingDisplayBounds",
260
+ value: function setSharingDisplayBounds(bounds) {
261
+ this._sharingDisplayBounds = bounds;
262
+ }
171
263
  }]);
172
264
  }(_provider.FcrUIDialogProviderBase);
173
265
  _FcrUIElectronDialogProviderImpl = FcrUIElectronDialogProviderImpl;
174
- var _applyDecs$e = _applyDecs(_FcrUIElectronDialogProviderImpl, [[_decorator.trace, 2, "openDialog"], [_decorator.trace, 2, "openDialogWithId"], [_decorator.trace, 2, "closeDialog"], [_decorator.trace, 2, "closeDialogById"]], [], 0, void 0, _provider.FcrUIDialogProviderBase).e;
266
+ var _applyDecs$e = _applyDecs(_FcrUIElectronDialogProviderImpl, [[_decorator.trace, 2, "openDialog"], [_decorator.trace, 2, "openDialogWithId"], [_decorator.trace, 2, "closeDialog"], [_decorator.trace, 2, "closeDialogById"], [_decorator.trace, 2, "setSharingDisplayBounds"]], [], 0, void 0, _provider.FcrUIDialogProviderBase).e;
175
267
  var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 1);
176
268
  _initProto = _applyDecs$e2[0];
177
269
  _applyDecs$e;
@@ -2,6 +2,7 @@ import { ConfirmContentProps } from 'agora-ui-foundation/lib/components/confirm-
2
2
  import { FcrUIDialogKey } from '../../utilities/constant';
3
3
  import { FcrUIWindowProvider } from '../window/type';
4
4
  import { FcrUIDialogInfo } from '../../modules/dialog/type';
5
+ import { FcrUIRendererWrapper } from '../../utilities/renderer';
5
6
  export type FcrUIDialogDescriptor = {
6
7
  dialogKey: FcrUIDialogKey;
7
8
  dialogId: string;
@@ -139,6 +140,11 @@ export interface FcrUIDialogProvider {
139
140
  * @param observer - 要移除的观察者对象,类型为 FcrUIDialogObserver。
140
141
  */
141
142
  removeObserver(observer: FcrUIDialogObserver): void;
143
+ /**
144
+ * 设置屏幕共享的 bounds
145
+ * @param bounds - 屏幕共享的 bounds
146
+ */
147
+ setSharingDisplayBounds(bounds: FcrUI.FcrUIRectangle | null): void;
142
148
  /**
143
149
  * 新增弹窗拦截器
144
150
  * @param key - 弹窗拦截器的唯一标识符
@@ -158,4 +164,5 @@ export interface FcrUIDialogProvider {
158
164
  }
159
165
  export type FcrUIElectronProviderConstructor = {
160
166
  windowProvider: FcrUIWindowProvider;
167
+ renderer: FcrUIRendererWrapper;
161
168
  };
@@ -6,16 +6,24 @@ export declare class FcrUIMouseDetectProviderImpl implements FcrUIManagedObject,
6
6
  protected logger: import("agora-foundation/lib/logger").Logger;
7
7
  private _observable;
8
8
  private _renderer;
9
- private _detectAreas;
9
+ private _windowProvder;
10
+ private accessor _detectAreas;
10
11
  private _isInDetectArea;
11
12
  private _task;
12
13
  private _detectionOffset;
14
+ private _isDebug;
15
+ private _displayId;
16
+ private _debugWindowObserver;
13
17
  constructor(objectManager: FcrUIObjectManager);
18
+ setDisplayId(displayId: number): void;
14
19
  setDetectArea(areaId: FcrUIDetectAreaID, areaList: FcrUI.FcrUIRectangle[]): void;
20
+ getDetectAreas(areaId: FcrUIDetectAreaID): FcrUI.FcrUIRectangle[];
15
21
  deleteDetectArea(areaId: FcrUIDetectAreaID): void;
16
22
  setDetectionPositionOffset(offset: FcrUI.FcrUIPoint): void;
17
23
  addObserver(observer: FcrUIMouseDetectObserver): void;
18
24
  removeObserver(observer: FcrUIMouseDetectObserver): void;
19
25
  release(): void;
20
26
  private _detect;
27
+ private _debug;
28
+ private _setDebugWindowOffset;
21
29
  }