fcr-ui-scene 3.6.1 → 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 (257) hide show
  1. package/lib/creator.d.ts +6 -0
  2. package/lib/creator.js +125 -24
  3. package/lib/electron/app.js +5 -4
  4. package/lib/electron/bootstrap-dev.js +3 -0
  5. package/lib/electron/bootstrap-sdk.js +4 -0
  6. package/lib/electron/injections.d.ts +5 -0
  7. package/lib/electron/injections.js +36 -8
  8. package/lib/electron/ipc/ipc.d.ts +1 -0
  9. package/lib/electron/ipc/ipc.js +4 -0
  10. package/lib/electron/main.js +16 -8
  11. package/lib/electron/plugins/screenshot.js +4 -2
  12. package/lib/electron/preload.js +7 -2
  13. package/lib/electron/window.js +4 -6
  14. package/lib/fragments/annotation/index.d.ts +11 -0
  15. package/lib/fragments/annotation/index.js +121 -0
  16. package/lib/fragments/annotation/libs.d.ts +55 -0
  17. package/lib/fragments/annotation/libs.js +93 -0
  18. package/lib/fragments/annotation/store.d.ts +30 -0
  19. package/lib/fragments/annotation/store.js +565 -0
  20. package/lib/fragments/annotation/view.d.ts +3 -0
  21. package/lib/fragments/annotation/view.js +31 -0
  22. package/lib/fragments/base.d.ts +10 -0
  23. package/lib/fragments/base.js +44 -0
  24. package/lib/modules/action-bar/components/screen-share/submenu.js +7 -6
  25. package/lib/modules/action-bar/index.css +11 -0
  26. package/lib/modules/action-bar/index.d.ts +2 -0
  27. package/lib/modules/action-bar/index.js +1 -0
  28. package/lib/modules/action-bar/store.d.ts +7 -9
  29. package/lib/modules/action-bar/store.js +49 -90
  30. package/lib/modules/annotation/board-cursor.css +76 -0
  31. package/lib/modules/annotation/components/control-bar/index.css +48 -0
  32. package/lib/modules/annotation/components/control-bar/index.d.ts +3 -0
  33. package/lib/modules/annotation/components/control-bar/index.js +141 -0
  34. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.d.ts +3 -0
  35. package/lib/modules/annotation/components/toolbar/components/color-tool/color-panel/index.js +46 -0
  36. package/lib/modules/annotation/components/toolbar/components/color-tool/index.d.ts +1 -0
  37. package/lib/modules/annotation/components/toolbar/components/color-tool/index.js +52 -0
  38. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.d.ts +3 -0
  39. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/index.js +61 -0
  40. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.d.ts +12 -0
  41. package/lib/modules/annotation/components/toolbar/components/graphic-tool/graphic-panel/libs.js +65 -0
  42. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.d.ts +1 -0
  43. package/lib/modules/annotation/components/toolbar/components/graphic-tool/index.js +68 -0
  44. package/lib/modules/annotation/components/toolbar/components/item/item.d.ts +18 -0
  45. package/lib/modules/annotation/components/toolbar/components/item/item.js +116 -0
  46. package/lib/modules/annotation/components/toolbar/components/item/style.css +43 -0
  47. package/lib/modules/annotation/components/toolbar/components/panel/index.d.ts +5 -0
  48. package/lib/modules/annotation/components/toolbar/components/panel/index.js +22 -0
  49. package/lib/modules/annotation/components/toolbar/components/panel/style.css +24 -0
  50. package/lib/modules/annotation/components/toolbar/components/pen-tool/index.d.ts +1 -0
  51. package/lib/modules/annotation/components/toolbar/components/pen-tool/index.js +58 -0
  52. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.d.ts +3 -0
  53. package/lib/modules/annotation/components/toolbar/components/pen-tool/pen-panel/index.js +34 -0
  54. package/lib/modules/annotation/components/toolbar/components/tips/index.d.ts +2 -0
  55. package/lib/modules/annotation/components/toolbar/components/tips/index.js +25 -0
  56. package/lib/modules/annotation/components/toolbar/components/tips/style.css +19 -0
  57. package/lib/modules/annotation/components/toolbar/index.d.ts +0 -0
  58. package/lib/modules/annotation/components/toolbar/index.js +1 -0
  59. package/lib/modules/annotation/components/toolbar/store.d.ts +40 -0
  60. package/lib/modules/annotation/components/toolbar/store.js +279 -0
  61. package/lib/modules/annotation/components/toolbar/style.css +55 -0
  62. package/lib/modules/annotation/components/toolbar/view.d.ts +2 -0
  63. package/lib/modules/annotation/components/toolbar/view.js +120 -0
  64. package/lib/modules/annotation/index.d.ts +38 -0
  65. package/lib/modules/annotation/index.js +169 -0
  66. package/lib/modules/annotation/store.d.ts +93 -0
  67. package/lib/modules/annotation/store.js +673 -0
  68. package/lib/modules/annotation/style.css +26 -0
  69. package/lib/modules/annotation/view.d.ts +3 -0
  70. package/lib/modules/annotation/view.js +49 -0
  71. package/lib/modules/chat/view.js +112 -100
  72. package/lib/modules/components/annotation-menu/index.d.ts +7 -0
  73. package/lib/modules/components/annotation-menu/index.js +119 -0
  74. package/lib/modules/components/leave-meeting/components/assign-host.js +26 -23
  75. package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +0 -1
  76. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +10 -4
  77. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +4 -2
  78. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +10 -6
  79. package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +0 -2
  80. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +3 -4
  81. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +0 -3
  82. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +6 -32
  83. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +11 -3
  84. package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +0 -1
  85. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +7 -10
  86. package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +0 -1
  87. package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +0 -2
  88. package/lib/modules/components/member-window/components/member-actions/index.js +1 -32
  89. package/lib/modules/components/member-window/components/member-actions/store.d.ts +38 -1
  90. package/lib/modules/components/member-window/components/member-actions/store.js +130 -23
  91. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +2 -1
  92. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +6 -1
  93. package/lib/modules/components/member-window/components/video-player/index.d.ts +1 -0
  94. package/lib/modules/components/member-window/index.css +37 -0
  95. package/lib/modules/components/member-window/index.d.ts +1 -1
  96. package/lib/modules/components/member-window/index.js +8 -5
  97. package/lib/modules/components/member-window/types.d.ts +2 -0
  98. package/lib/modules/components/security-menu/index.js +7 -6
  99. package/lib/modules/control-bar/components/annotation-button/index.d.ts +1 -0
  100. package/lib/modules/control-bar/components/annotation-button/index.js +59 -0
  101. package/lib/modules/control-bar/index.d.ts +6 -6
  102. package/lib/modules/control-bar/index.js +5 -34
  103. package/lib/modules/control-bar/store.d.ts +27 -13
  104. package/lib/modules/control-bar/store.js +121 -126
  105. package/lib/modules/control-bar/view.js +50 -4
  106. package/lib/modules/dialog/components/annotation-tool/index.d.ts +4 -0
  107. package/lib/modules/dialog/components/annotation-tool/index.js +53 -0
  108. package/lib/modules/dialog/components/chat/index.js +1 -1
  109. package/lib/modules/dialog/components/control-bar/index.d.ts +0 -2
  110. package/lib/modules/dialog/components/control-bar/index.js +1 -3
  111. package/lib/modules/dialog/components/host-area-container/index.d.ts +12 -0
  112. package/lib/modules/dialog/components/host-area-container/index.js +214 -0
  113. package/lib/modules/dialog/components/participant/index.js +1 -1
  114. package/lib/modules/dialog/components/system-preference/index.js +1 -1
  115. package/lib/modules/dialog/components/video-window/index.js +1 -0
  116. package/lib/modules/dialog/hooks/use-popover-watcher.d.ts +14 -0
  117. package/lib/modules/dialog/hooks/use-popover-watcher.js +112 -0
  118. package/lib/modules/dialog/hooks/useElectron.d.ts +1 -0
  119. package/lib/modules/dialog/hooks/useElectron.js +13 -3
  120. package/lib/modules/dialog/index.d.ts +2 -3
  121. package/lib/modules/dialog/index.js +3 -26
  122. package/lib/modules/dialog/store.d.ts +14 -9
  123. package/lib/modules/dialog/store.js +56 -50
  124. package/lib/modules/event-confirm/components/window/index.d.ts +7 -0
  125. package/lib/modules/event-confirm/components/window/index.js +188 -0
  126. package/lib/modules/event-confirm/index.d.ts +4 -4
  127. package/lib/modules/event-confirm/index.js +6 -4
  128. package/lib/modules/event-confirm/store.d.ts +4 -5
  129. package/lib/modules/event-confirm/store.js +35 -26
  130. package/lib/modules/event-confirm/view.js +23 -171
  131. package/lib/modules/event-sound/index.js +1 -1
  132. package/lib/modules/layout/components/CommonVideoRenderer.js +33 -16
  133. package/lib/modules/layout/index.d.ts +4 -0
  134. package/lib/modules/layout/index.js +2 -0
  135. package/lib/modules/layout/store.d.ts +14 -2
  136. package/lib/modules/layout/store.js +77 -45
  137. package/lib/modules/layout/type.d.ts +7 -0
  138. package/lib/modules/participant/index.d.ts +2 -0
  139. package/lib/modules/participant/index.js +2 -1
  140. package/lib/modules/participant/store.d.ts +5 -2
  141. package/lib/modules/participant/store.js +73 -25
  142. package/lib/modules/setting/audio-settings/audio-settings.js +3 -14
  143. package/lib/modules/setting/index.d.ts +2 -0
  144. package/lib/modules/setting/index.js +3 -3
  145. package/lib/modules/setting/store.d.ts +8 -10
  146. package/lib/modules/setting/store.js +22 -20
  147. package/lib/modules/share-screen/components/selection/index.js +18 -42
  148. package/lib/modules/share-screen/index.d.ts +6 -2
  149. package/lib/modules/share-screen/index.js +4 -2
  150. package/lib/modules/share-screen/store.d.ts +41 -46
  151. package/lib/modules/share-screen/store.js +297 -718
  152. package/lib/modules/share-screen/view.js +2 -2
  153. package/lib/modules/state-bar/assets/fcr_grid_big.svg +1 -1
  154. package/lib/modules/state-bar/assets/fcr_listontop_big.svg +1 -1
  155. package/lib/modules/state-bar/index.css +8 -6
  156. package/lib/modules/state-bar/index.d.ts +4 -0
  157. package/lib/modules/state-bar/index.js +3 -1
  158. package/lib/modules/state-bar/layout-config.d.ts +1 -0
  159. package/lib/modules/state-bar/layout-config.js +15 -5
  160. package/lib/modules/state-bar/store.d.ts +9 -1
  161. package/lib/modules/state-bar/store.js +17 -2
  162. package/lib/modules/state-bar/view.js +9 -4
  163. package/lib/modules/video-window/components/members/index.js +2 -1
  164. package/lib/modules/waiting-room-layout/store.js +1 -1
  165. package/lib/modules/whiteboard/components/control-bar/store.d.ts +5 -1
  166. package/lib/modules/whiteboard/components/control-bar/store.js +10 -1
  167. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/picker.js +16 -5
  168. package/lib/modules/whiteboard/components/toolbar/components/eraser-picker.js +67 -12
  169. package/lib/modules/whiteboard/components/toolbar/components/expansion/index.js +22 -2
  170. package/lib/modules/whiteboard/components/toolbar/components/history.js +46 -14
  171. package/lib/modules/whiteboard/components/toolbar/components/item/index.js +3 -2
  172. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +1 -1
  173. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +58 -16
  174. package/lib/modules/whiteboard/components/toolbar/components/screen-capture-picker.js +15 -4
  175. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +45 -2
  176. package/lib/modules/whiteboard/components/toolbar/hooks/index.d.ts +14 -0
  177. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +235 -7
  178. package/lib/modules/whiteboard/components/toolbar/index.d.ts +1 -1
  179. package/lib/modules/whiteboard/components/toolbar/index.js +1 -1
  180. package/lib/modules/whiteboard/components/toolbar/store.d.ts +13 -2
  181. package/lib/modules/whiteboard/components/toolbar/store.js +74 -24
  182. package/lib/modules/whiteboard/components/toolbar/{ style.css → style.css} +1 -0
  183. package/lib/modules/whiteboard/index.d.ts +2 -0
  184. package/lib/modules/whiteboard/index.js +22 -21
  185. package/lib/modules/whiteboard/style.css +0 -4
  186. package/lib/modules/whiteboard/view.js +8 -2
  187. package/lib/plugins/browser-runtime-plugin.js +10 -1
  188. package/lib/providers/annotation-provider.d.ts +128 -0
  189. package/lib/providers/annotation-provider.js +421 -0
  190. package/lib/providers/device-provider.d.ts +3 -3
  191. package/lib/providers/device-provider.js +8 -6
  192. package/lib/providers/event-provider.d.ts +3 -3
  193. package/lib/providers/interpreter-provider.d.ts +1 -0
  194. package/lib/providers/interpreter-provider.js +182 -154
  195. package/lib/providers/privilege-provider.d.ts +35 -6
  196. package/lib/providers/privilege-provider.js +105 -49
  197. package/lib/providers/renderer-provider.js +3 -7
  198. package/lib/providers/room-provider.d.ts +13 -1
  199. package/lib/providers/room-provider.js +21 -7
  200. package/lib/providers/screen-share-provider.d.ts +131 -34
  201. package/lib/providers/screen-share-provider.js +554 -173
  202. package/lib/providers/sharing-provider.d.ts +37 -0
  203. package/lib/{shared-data-source/screen-share-data-source.js → providers/sharing-provider.js} +102 -39
  204. package/lib/providers/user-setting-storage-provider.d.ts +20 -0
  205. package/lib/providers/user-setting-storage-provider.js +74 -0
  206. package/lib/runtime.d.ts +6 -1
  207. package/lib/scenes/main-scene.d.ts +7 -2
  208. package/lib/scenes/main-scene.js +55 -27
  209. package/lib/scenes/waiting-scene.d.ts +6 -0
  210. package/lib/scenes/waiting-scene.js +15 -5
  211. package/lib/shared-data-source/config.d.ts +1 -5
  212. package/lib/shared-data-source/config.js +11 -81
  213. package/lib/shared-data-source/member-data.d.ts +21 -5
  214. package/lib/shared-data-source/member-data.js +69 -17
  215. package/lib/shared-data-source/screen-share-data.d.ts +274 -0
  216. package/lib/shared-data-source/screen-share-data.js +390 -0
  217. package/lib/shared-data-source/security-data.d.ts +4 -1
  218. package/lib/shared-data-source/security-data.js +5 -2
  219. package/lib/shared-data-source/setting.d.ts +13 -13
  220. package/lib/shared-data-source/setting.js +16 -10
  221. package/lib/shared-data-source/video-window.d.ts +2 -1
  222. package/lib/shared-data-source/video-window.js +56 -36
  223. package/lib/translations/enUS.d.ts +8 -0
  224. package/lib/translations/enUS.js +9 -1
  225. package/lib/translations/zhCN.d.ts +8 -0
  226. package/lib/translations/zhCN.js +11 -3
  227. package/lib/type.d.ts +55 -1
  228. package/lib/ui-manager.d.ts +3 -2
  229. package/lib/ui-manager.js +6 -4
  230. package/lib/ui-scene.js +70 -50
  231. package/lib/utilities/constant.d.ts +10 -2
  232. package/lib/utilities/constant.js +8 -0
  233. package/lib/utilities/logger.d.ts +4 -0
  234. package/lib/utilities/logger.js +8 -1
  235. package/lib/utilities/renderer-event.d.ts +3 -0
  236. package/lib/utilities/renderer-event.js +14 -1
  237. package/lib/utilities/screen.js +2 -1
  238. package/lib/utilities/setting-config-storage.d.ts +5 -6
  239. package/lib/utilities/setting-config-storage.js +33 -39
  240. package/lib/utilities/tools.d.ts +19 -1
  241. package/lib/utilities/tools.js +51 -4
  242. package/package.json +9 -7
  243. package/public/assets/cursors/fcr_whiteboard_input.ico +0 -0
  244. package/public/assets/cursors/fcr_whiteboard_pen.ico +0 -0
  245. package/public/assets/cursors/fcr_whiteboard_shape_-straightline.ico +0 -0
  246. package/public/assets/cursors/fcr_whiteboard_shape_arrow.ico +0 -0
  247. package/public/assets/cursors/fcr_whiteboard_shape_circle.ico +0 -0
  248. package/public/assets/cursors/fcr_whiteboard_shape_rectangle.ico +0 -0
  249. package/public/assets/cursors/fcr_whiteboard_shape_triangle.ico +0 -0
  250. package/public/assets/fcr_chat_reddot.svg +3 -3
  251. package/public/assets/fcr_grid_big.svg +1 -1
  252. package/public/assets/fcr_leave2.svg +14 -14
  253. package/public/assets/fcr_listontop_big.svg +1 -1
  254. package/public/assets/step-gradient.svg +1 -1
  255. package/public/fragment.html +10 -0
  256. package/public/index.html +3 -1
  257. package/lib/shared-data-source/screen-share-data-source.d.ts +0 -37
@@ -84,7 +84,7 @@ var SettingUIModule = exports.SettingUIModule = /*#__PURE__*/function (_UIModule
84
84
  var _this$currentRoomCont, _this$currentRoomCont2, _this$sharedConfigDat;
85
85
  this.streamControl = (_this$currentRoomCont = this.currentRoomControlProvider) === null || _this$currentRoomCont === void 0 ? void 0 : _this$currentRoomCont.currentRoomControl.getStreamControl();
86
86
  this.userControl = (_this$currentRoomCont2 = this.currentRoomControlProvider) === null || _this$currentRoomCont2 === void 0 ? void 0 : _this$currentRoomCont2.currentRoomControl.getUserControl();
87
- if (this.deviceProvider && this.currentRoomControlProvider && this.streamControl && this.eventProvider && this.monitorProvider && (_this$sharedConfigDat = this.sharedConfigDataSource) !== null && _this$sharedConfigDat !== void 0 && _this$sharedConfigDat.sceneConfig && this.sharedConfigDataSource.settingConfig && this.sharedLayoutDataSource && this.messageProvider && this.dialogProvider && this.sharedSettingDataSource && this.localStorageProvider) {
87
+ if (this.deviceProvider && this.currentRoomControlProvider && this.streamControl && this.eventProvider && this.monitorProvider && (_this$sharedConfigDat = this.sharedConfigDataSource) !== null && _this$sharedConfigDat !== void 0 && _this$sharedConfigDat.sceneConfig && this.sharedConfigDataSource.settingConfig && this.sharedLayoutDataSource && this.messageProvider && this.dialogProvider && this.sharedSettingDataSource && this.userSettingStorageProvider) {
88
88
  var _this$sharedConfigDat2, _this$sharedConfigDat3, _this$userControl;
89
89
  this._store = new _store["default"]({
90
90
  uiEventStore: this.eventProvider,
@@ -99,8 +99,8 @@ var SettingUIModule = exports.SettingUIModule = /*#__PURE__*/function (_UIModule
99
99
  sharedSettingDataSource: this.sharedSettingDataSource,
100
100
  dialogProvider: this.dialogProvider,
101
101
  settingConfig: this.sharedConfigDataSource.settingConfig,
102
- localStorageProvider: this.localStorageProvider,
103
- userId: (_this$userControl = this.userControl) === null || _this$userControl === void 0 ? void 0 : _this$userControl.getLocalUser().userId
102
+ userId: (_this$userControl = this.userControl) === null || _this$userControl === void 0 ? void 0 : _this$userControl.getLocalUser().userId,
103
+ userSettingStorageProvider: this.userSettingStorageProvider
104
104
  });
105
105
  }
106
106
  }
@@ -14,8 +14,7 @@ import { FcrUISharedLayoutDataSource } from '../../shared-data-source/layout-dat
14
14
  import { FcrUIMessageProvider } from '../../providers/message-provider';
15
15
  import { FcrUISharedSettingDataSource } from '../../shared-data-source/setting';
16
16
  import { FcrUIDialogProvider } from '../../providers/dialog-provider';
17
- import { FcrUILocalStorageProviderImpl } from '../../providers/local-storage-provider';
18
- export declare const SETTING_KEY = "setting";
17
+ import { FcrUIUserSettingStorageProviderImpl } from '../../providers/user-setting-storage-provider';
19
18
  export interface FcrDeviceObserver {
20
19
  onCameraChanged?(cameraId: string): void;
21
20
  onMicrophoneChanged?(microphoneId: string): void;
@@ -40,7 +39,7 @@ export interface DeviceSettingDialogConfig {
40
39
  highlightSelector: FcrUIHighlightElement | undefined;
41
40
  videoActiveTab: VideoActiveTab;
42
41
  }
43
- export interface CustomSetting {
42
+ export interface FcrUICustomSetting {
44
43
  shouldDisplayPreviewDialog: boolean;
45
44
  shouldHideNonVideoParticipants: boolean;
46
45
  displayedMaxAttendees: number;
@@ -174,10 +173,10 @@ export default class SettingStore {
174
173
  get currentIsMirror(): boolean;
175
174
  get microphoneDetecting(): boolean;
176
175
  get speakerDetecting(): boolean;
177
- get setting(): CustomSetting;
176
+ get setting(): FcrUICustomSetting;
178
177
  get settingConfig(): FcrUISettingConfig;
179
178
  private _userId;
180
- constructor({ monitorControl, uiEventStore, deviceStore, streamControl, roomControl, config, parameters, sharedLayoutDataSource, messageProvider, dialogProvider, sharedSettingDataSource, settingConfig, localStorageProvider, userId, }: {
179
+ constructor({ monitorControl, uiEventStore, deviceStore, streamControl, roomControl, config, parameters, sharedLayoutDataSource, messageProvider, dialogProvider, sharedSettingDataSource, settingConfig, userId, userSettingStorageProvider, }: {
181
180
  uiEventStore: FcrUIEventProvider;
182
181
  deviceStore: FcrUIDeviceProvider;
183
182
  streamControl?: FcrStreamControl;
@@ -190,7 +189,7 @@ export default class SettingStore {
190
189
  sharedLayoutDataSource?: FcrUISharedLayoutDataSource;
191
190
  messageProvider: FcrUIMessageProvider;
192
191
  dialogProvider: FcrUIDialogProvider;
193
- localStorageProvider: FcrUILocalStorageProviderImpl;
192
+ userSettingStorageProvider: FcrUIUserSettingStorageProviderImpl;
194
193
  userId: string;
195
194
  });
196
195
  get messageProvider(): FcrUIMessageProvider;
@@ -228,7 +227,7 @@ export default class SettingStore {
228
227
  stopMicrophoneTest(): void;
229
228
  release(): void;
230
229
  setDialogConfig(dialogConfig: Partial<DeviceSettingDialogConfig>): void;
231
- setSetting(setting: Partial<CustomSetting>): void;
230
+ setSetting(setting: Partial<FcrUICustomSetting>): void;
232
231
  private _onEvent;
233
232
  private _onNetworkStatsUpdated;
234
233
  clearGetSystemInfoInterval(): void;
@@ -245,9 +244,8 @@ export default class SettingStore {
245
244
  private _handleCameraListUpdated;
246
245
  private _onAudioVolumeUpdated;
247
246
  private _preHandleSetting;
248
- _setMeetingSettingsToLocalStorage(value: any): void;
249
- _getMeetingSettingsFromLocalStorage(): any;
250
- _initDialogConfig(): void;
247
+ private _setMeetingSettingsToLocalStorage;
248
+ private _getMeetingSettingsFromLocalStorage;
251
249
  changeMediaSetting(key: keyof typeof this.settingConfig.media, value: any): void;
252
250
  }
253
251
  export declare const StoreContext: import("react").Context<SettingStore>;
@@ -33,7 +33,7 @@ Object.defineProperty(exports, "DEFAULT_BEAUTY_VALUE", {
33
33
  return _localVideoPlayer.DEFAULT_BEAUTY_VALUE;
34
34
  }
35
35
  });
36
- exports["default"] = exports.StoreContext = exports.SETTING_KEY = exports.DeviceSettingTab = void 0;
36
+ exports["default"] = exports.StoreContext = exports.DeviceSettingTab = void 0;
37
37
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
38
38
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
39
39
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
@@ -106,7 +106,7 @@ var _i18n = require("agora-ui-foundation/lib/i18n");
106
106
  var _logger = require("../../utilities/logger");
107
107
  var _excluded = ["dialogId"];
108
108
  var _SettingStore;
109
- var _initProto, _init_loudestStreamVolumeLevel, _init_isPreMeetingSettingsStore, _init_microphoneVolumeLevel, _init_isWifiConnected, _init_dialogConfig, _init_networkState, _init_performanceState, _init_localAudioStreamMap, _init_remoteAudioStreamMap, _init_localVideoStreamMap, _init_remoteVideoStreamMap, _init_systemMemorySize, _init_systemCpuDesc, _init_config, _init_getSystemInfoTimer, _setDialogConfigDecs, _setSettingDecs, _onEventDecs, _onNetworkStatsUpdatedDecs, _clearGetSystemInfoIntervalDecs, _closeDialogDecs, _onLocalAudioStatsUpdatedDecs, _onRemoteAudioStatsUpdatedDecs, _onLocalVideoStatsUpdatedDecs, _onRemoteVideoStatsUpdatedDecs, _onStreamsAddedDecs, _onStreamsUpdatedDecs, _onStreamsRemovedDecs, _onPerformanceUpdatedDecs, _onAudioVolumeUpdatedDecs, _preHandleSettingDecs, _setMeetingSettingsToLocalStorageDecs, _getMeetingSettingsFromLocalStorageDecs, _initDialogConfigDecs, _changeMediaSettingDecs, _ref;
109
+ var _initProto, _init_loudestStreamVolumeLevel, _init_isPreMeetingSettingsStore, _init_microphoneVolumeLevel, _init_isWifiConnected, _init_dialogConfig, _init_networkState, _init_performanceState, _init_localAudioStreamMap, _init_remoteAudioStreamMap, _init_localVideoStreamMap, _init_remoteVideoStreamMap, _init_systemMemorySize, _init_systemCpuDesc, _init_config, _init_getSystemInfoTimer, _setDialogConfigDecs, _setSettingDecs, _onEventDecs, _onNetworkStatsUpdatedDecs, _clearGetSystemInfoIntervalDecs, _closeDialogDecs, _onLocalAudioStatsUpdatedDecs, _onRemoteAudioStatsUpdatedDecs, _onLocalVideoStatsUpdatedDecs, _onRemoteVideoStatsUpdatedDecs, _onStreamsAddedDecs, _onStreamsUpdatedDecs, _onStreamsRemovedDecs, _onPerformanceUpdatedDecs, _onAudioVolumeUpdatedDecs, _preHandleSettingDecs, _setMeetingSettingsToLocalStorageDecs, _getMeetingSettingsFromLocalStorageDecs, _changeMediaSettingDecs, _ref;
110
110
  function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
111
111
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
112
112
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
@@ -122,7 +122,6 @@ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol"
122
122
  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); }
123
123
  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; }
124
124
  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; }
125
- var SETTING_KEY = exports.SETTING_KEY = 'setting';
126
125
  var DeviceSettingTab = exports.DeviceSettingTab = /*#__PURE__*/function (DeviceSettingTab) {
127
126
  DeviceSettingTab["GENERAL"] = "general";
128
127
  DeviceSettingTab["AUDIO"] = "audio";
@@ -154,7 +153,7 @@ var _L = /*#__PURE__*/new WeakMap();
154
153
  var _M = /*#__PURE__*/new WeakMap();
155
154
  var _N = /*#__PURE__*/new WeakMap();
156
155
  var _O = /*#__PURE__*/new WeakMap();
157
- _ref = (_setDialogConfigDecs = [_mobx.action, _mobx.action.bound], _setSettingDecs = [_mobx.action, _mobx.action.bound], _onEventDecs = [_mobx.action, _mobx.action.bound], _onNetworkStatsUpdatedDecs = [_mobx.action, _mobx.action.bound], _clearGetSystemInfoIntervalDecs = [_mobx.action, _mobx.action.bound], _closeDialogDecs = [_mobx.action, _mobx.action.bound], _onLocalAudioStatsUpdatedDecs = [_mobx.action, _mobx.action.bound], _onRemoteAudioStatsUpdatedDecs = [_mobx.action, _mobx.action.bound], _onLocalVideoStatsUpdatedDecs = [_mobx.action, _mobx.action.bound], _onRemoteVideoStatsUpdatedDecs = [_mobx.action, _mobx.action.bound], _onStreamsAddedDecs = [_mobx.action, _mobx.action.bound], _onStreamsUpdatedDecs = [_mobx.action, _mobx.action.bound], _onStreamsRemovedDecs = [_mobx.action, _mobx.action.bound], _onPerformanceUpdatedDecs = [_mobx.action, _mobx.action.bound], _onAudioVolumeUpdatedDecs = [_mobx.action, _mobx.action.bound], _preHandleSettingDecs = [_mobx.action, _mobx.action.bound], _setMeetingSettingsToLocalStorageDecs = [_mobx.action, _mobx.action.bound], _getMeetingSettingsFromLocalStorageDecs = [_mobx.action, _mobx.action.bound], _initDialogConfigDecs = [_mobx.action, _mobx.action.bound], _changeMediaSettingDecs = [_mobx.action, _mobx.action.bound], "_localStorageProvider");
156
+ _ref = (_setDialogConfigDecs = [_mobx.action, _mobx.action.bound], _setSettingDecs = [_mobx.action, _mobx.action.bound], _onEventDecs = [_mobx.action, _mobx.action.bound], _onNetworkStatsUpdatedDecs = [_mobx.action, _mobx.action.bound], _clearGetSystemInfoIntervalDecs = [_mobx.action, _mobx.action.bound], _closeDialogDecs = [_mobx.action, _mobx.action.bound], _onLocalAudioStatsUpdatedDecs = [_mobx.action, _mobx.action.bound], _onRemoteAudioStatsUpdatedDecs = [_mobx.action, _mobx.action.bound], _onLocalVideoStatsUpdatedDecs = [_mobx.action, _mobx.action.bound], _onRemoteVideoStatsUpdatedDecs = [_mobx.action, _mobx.action.bound], _onStreamsAddedDecs = [_mobx.action, _mobx.action.bound], _onStreamsUpdatedDecs = [_mobx.action, _mobx.action.bound], _onStreamsRemovedDecs = [_mobx.action, _mobx.action.bound], _onPerformanceUpdatedDecs = [_mobx.action, _mobx.action.bound], _onAudioVolumeUpdatedDecs = [_mobx.action, _mobx.action.bound], _preHandleSettingDecs = [_mobx.action, _mobx.action.bound], _setMeetingSettingsToLocalStorageDecs = [_mobx.action, _mobx.action.bound], _getMeetingSettingsFromLocalStorageDecs = [_mobx.action, _mobx.action.bound], _changeMediaSettingDecs = [_mobx.action, _mobx.action.bound], "_userSettingStorageProvider");
158
157
  var SettingStore = exports["default"] = /*#__PURE__*/function () {
159
158
  function SettingStore(_ref2) {
160
159
  var _this$_roomControl, _this$_streamControl, _this$_streamControl2;
@@ -170,8 +169,8 @@ var SettingStore = exports["default"] = /*#__PURE__*/function () {
170
169
  dialogProvider = _ref2.dialogProvider,
171
170
  sharedSettingDataSource = _ref2.sharedSettingDataSource,
172
171
  settingConfig = _ref2.settingConfig,
173
- localStorageProvider = _ref2.localStorageProvider,
174
- userId = _ref2.userId;
172
+ userId = _ref2.userId,
173
+ userSettingStorageProvider = _ref2.userSettingStorageProvider;
175
174
  (0, _classCallCheck2["default"])(this, SettingStore);
176
175
  // @internal
177
176
  (0, _defineProperty2["default"])(this, _ref, void _initProto(this));
@@ -252,7 +251,7 @@ var SettingStore = exports["default"] = /*#__PURE__*/function () {
252
251
  _classPrivateFieldInitSpec(this, _M, _init_systemCpuDesc(this, ''));
253
252
  _classPrivateFieldInitSpec(this, _N, _init_config(this, undefined));
254
253
  _classPrivateFieldInitSpec(this, _O, _init_getSystemInfoTimer(this, null));
255
- this._localStorageProvider = localStorageProvider;
254
+ this._userSettingStorageProvider = userSettingStorageProvider;
256
255
  this._monitorControl = monitorControl;
257
256
  this._streamControl = streamControl;
258
257
  this._roomControl = roomControl;
@@ -270,7 +269,8 @@ var SettingStore = exports["default"] = /*#__PURE__*/function () {
270
269
  } else {
271
270
  this.isPreMeetingSettingsStore = true;
272
271
  }
273
- this._initDialogConfig();
272
+ // this._initDialogConfig();
273
+
274
274
  var defaultVideoGallerySize = (0, _parameters.getDefaultVideoGallerySize)(parameters);
275
275
  if (defaultVideoGallerySize) {
276
276
  defaultVideoGallerySize = Math.min(Math.max(defaultVideoGallerySize, 16), 25);
@@ -1231,22 +1231,24 @@ var SettingStore = exports["default"] = /*#__PURE__*/function () {
1231
1231
  key: "_setMeetingSettingsToLocalStorage",
1232
1232
  value: function _setMeetingSettingsToLocalStorage(value) {
1233
1233
  var oldValue = this._getMeetingSettingsFromLocalStorage() || {};
1234
- this._localStorageProvider.write(SETTING_KEY, _objectSpread(_objectSpread({}, oldValue), value));
1234
+ this._userSettingStorageProvider.write({
1235
+ setting: _objectSpread(_objectSpread({}, oldValue), value)
1236
+ });
1235
1237
  }
1236
1238
  }, {
1237
1239
  key: "_getMeetingSettingsFromLocalStorage",
1238
1240
  value: function _getMeetingSettingsFromLocalStorage() {
1239
- return this._localStorageProvider.read(SETTING_KEY);
1240
- }
1241
- }, {
1242
- key: "_initDialogConfig",
1243
- value: function _initDialogConfig() {
1244
- var value = this._getMeetingSettingsFromLocalStorage();
1245
- if (value && !this.isPreMeetingSettingsStore) {
1246
- var _value$dialogConfig;
1247
- this.dialogConfig = (_value$dialogConfig = value.dialogConfig) !== null && _value$dialogConfig !== void 0 ? _value$dialogConfig : this.dialogConfig;
1248
- }
1241
+ var _this$_userSettingSto;
1242
+ return (_this$_userSettingSto = this._userSettingStorageProvider.read()) === null || _this$_userSettingSto === void 0 ? void 0 : _this$_userSettingSto.setting;
1249
1243
  }
1244
+
1245
+ // @action.bound
1246
+ // private _initDialogConfig() {
1247
+ // const value = this._getMeetingSettingsFromLocalStorage();
1248
+ // if (value && !this.isPreMeetingSettingsStore) {
1249
+ // this.dialogConfig = value.dialogConfig ?? this.dialogConfig;
1250
+ // }
1251
+ // }
1250
1252
  }, {
1251
1253
  key: "changeMediaSetting",
1252
1254
  value: function changeMediaSetting(key, value) {
@@ -1256,7 +1258,7 @@ var SettingStore = exports["default"] = /*#__PURE__*/function () {
1256
1258
  }]);
1257
1259
  }();
1258
1260
  _SettingStore = SettingStore;
1259
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_SettingStore, [[_mobx.observable, 1, "loudestStreamVolumeLevel"], [_mobx.observable, 1, "isPreMeetingSettingsStore"], [_mobx.observable, 1, "microphoneVolumeLevel"], [_mobx.observable, 1, "isWifiConnected"], [_mobx.observable, 1, "dialogConfig"], [_mobx.observable, 1, "networkState"], [_mobx.observable, 1, "performanceState"], [_mobx.observable, 1, "localAudioStreamMap"], [_mobx.observable, 1, "remoteAudioStreamMap"], [_mobx.observable, 1, "localVideoStreamMap"], [_mobx.observable, 1, "remoteVideoStreamMap"], [_mobx.observable, 1, "systemMemorySize"], [_mobx.observable, 1, "systemCpuDesc"], [_mobx.observable, 1, "config"], [_mobx.observable, 1, "getSystemInfoTimer"], [_mobx.computed, 3, "maxVideoSendInfo"], [_mobx.computed, 3, "maxVideoReceiveInfo"], [_mobx.computed, 3, "sendScreenShareInfo"], [_mobx.computed, 3, "receiveScreenShareInfo"], [_mobx.computed, 3, "microphoneVolumeDb"], [_mobx.computed, 3, "speakerVolumeDb"], [_mobx.computed, 3, "speakerTestVolumeLevel"], [_mobx.computed, 3, "microphoneTestVolumeLevel"], [_mobx.computed, 3, "speakerVolume"], [_mobx.computed, 3, "microphoneVolume"], [_mobx.computed, 3, "isLocalMirrorEnabled"], [_mobx.computed, 3, "isLocalEditBeautyOptions"], [_mobx.computed, 3, "currentBeautyKey"], [_mobx.computed, 3, "beautyOptions"], [_mobx.computed, 3, "cameraDeviceId"], [_mobx.computed, 3, "cameraEnabled"], [_mobx.computed, 3, "showForceOpenEffectDialog"], [_mobx.computed, 3, "currentVirtualBackgroundName"], [_mobx.computed, 3, "cameraDeviceList"], [_mobx.computed, 3, "microphoneDeviceId"], [_mobx.computed, 3, "speakerDeviceId"], [_mobx.computed, 3, "speakerDeviceList"], [_mobx.computed, 3, "microphoneDeviceList"], [_mobx.computed, 3, "enableBeauty"], [_mobx.computed, 3, "virtualBackgroundList"], [_mobx.computed, 3, "currentIsMirror"], [_mobx.computed, 3, "microphoneDetecting"], [_mobx.computed, 3, "speakerDetecting"], [_mobx.computed, 3, "setting"], [_decorator.bound, 2, "enableVirtualBackground"], [_decorator.bound, 2, "setEditBeautyKey"], [_decorator.bound, 2, "enableBeautyEffect"], [_decorator.bound, 2, "_initReactions"], [_decorator.bound, 2, "setCameraDevice"], [_decorator.bound, 2, "setMicrophoneDevice"], [_decorator.bound, 2, "stopSpeakerTest"], [_decorator.bound, 2, "startSpeakerTest"], [_decorator.bound, 2, "setSpeakerDevice"], [_decorator.bound, 2, "setSpeakerVolume"], [_decorator.bound, 2, "setMicrophoneVolume"], [_decorator.bound, 2, "setVideoOrientation"], [_decorator.bound, 2, "setBeautyOptions"], [_decorator.bound, 2, "toggleLocalMirrorPreview"], [_decorator.bound, 2, "startVideo"], [_decorator.bound, 2, "stopVideo"], [_decorator.bound, 2, "handleForceOpenVideoEffect"], [_decorator.bound, 2, "handleCancelForceOpenVideoEffect"], [_decorator.bound, 2, "toggleLocalMirror"], [_decorator.bound, 2, "setSettingVideoOpened"], [_decorator.bound, 2, "_syncSystemInfo"], [_decorator.bound, 2, "startCameraTest"], [_decorator.bound, 2, "stopCameraTest"], [_setDialogConfigDecs, 18, "setDialogConfig"], [_setSettingDecs, 18, "setSetting"], [_onEventDecs, 18, "_onEvent"], [_onNetworkStatsUpdatedDecs, 18, "_onNetworkStatsUpdated"], [_clearGetSystemInfoIntervalDecs, 18, "clearGetSystemInfoInterval"], [_closeDialogDecs, 18, "closeDialog"], [_onLocalAudioStatsUpdatedDecs, 18, "_onLocalAudioStatsUpdated"], [_onRemoteAudioStatsUpdatedDecs, 18, "_onRemoteAudioStatsUpdated"], [_onLocalVideoStatsUpdatedDecs, 18, "_onLocalVideoStatsUpdated"], [_onRemoteVideoStatsUpdatedDecs, 18, "_onRemoteVideoStatsUpdated"], [_onStreamsAddedDecs, 18, "_onStreamsAdded"], [_onStreamsUpdatedDecs, 18, "_onStreamsUpdated"], [_onStreamsRemovedDecs, 18, "_onStreamsRemoved"], [_onPerformanceUpdatedDecs, 18, "_onPerformanceUpdated"], [_decorator.bound, 2, "_handleCameraChanged"], [_decorator.bound, 2, "_handleCameraListUpdated"], [_onAudioVolumeUpdatedDecs, 18, "_onAudioVolumeUpdated"], [_preHandleSettingDecs, 18, "_preHandleSetting"], [_setMeetingSettingsToLocalStorageDecs, 18, "_setMeetingSettingsToLocalStorage"], [_getMeetingSettingsFromLocalStorageDecs, 18, "_getMeetingSettingsFromLocalStorage"], [_initDialogConfigDecs, 18, "_initDialogConfig"], [_changeMediaSettingDecs, 18, "changeMediaSetting"]], []).e, 16);
1261
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_SettingStore, [[_mobx.observable, 1, "loudestStreamVolumeLevel"], [_mobx.observable, 1, "isPreMeetingSettingsStore"], [_mobx.observable, 1, "microphoneVolumeLevel"], [_mobx.observable, 1, "isWifiConnected"], [_mobx.observable, 1, "dialogConfig"], [_mobx.observable, 1, "networkState"], [_mobx.observable, 1, "performanceState"], [_mobx.observable, 1, "localAudioStreamMap"], [_mobx.observable, 1, "remoteAudioStreamMap"], [_mobx.observable, 1, "localVideoStreamMap"], [_mobx.observable, 1, "remoteVideoStreamMap"], [_mobx.observable, 1, "systemMemorySize"], [_mobx.observable, 1, "systemCpuDesc"], [_mobx.observable, 1, "config"], [_mobx.observable, 1, "getSystemInfoTimer"], [_mobx.computed, 3, "maxVideoSendInfo"], [_mobx.computed, 3, "maxVideoReceiveInfo"], [_mobx.computed, 3, "sendScreenShareInfo"], [_mobx.computed, 3, "receiveScreenShareInfo"], [_mobx.computed, 3, "microphoneVolumeDb"], [_mobx.computed, 3, "speakerVolumeDb"], [_mobx.computed, 3, "speakerTestVolumeLevel"], [_mobx.computed, 3, "microphoneTestVolumeLevel"], [_mobx.computed, 3, "speakerVolume"], [_mobx.computed, 3, "microphoneVolume"], [_mobx.computed, 3, "isLocalMirrorEnabled"], [_mobx.computed, 3, "isLocalEditBeautyOptions"], [_mobx.computed, 3, "currentBeautyKey"], [_mobx.computed, 3, "beautyOptions"], [_mobx.computed, 3, "cameraDeviceId"], [_mobx.computed, 3, "cameraEnabled"], [_mobx.computed, 3, "showForceOpenEffectDialog"], [_mobx.computed, 3, "currentVirtualBackgroundName"], [_mobx.computed, 3, "cameraDeviceList"], [_mobx.computed, 3, "microphoneDeviceId"], [_mobx.computed, 3, "speakerDeviceId"], [_mobx.computed, 3, "speakerDeviceList"], [_mobx.computed, 3, "microphoneDeviceList"], [_mobx.computed, 3, "enableBeauty"], [_mobx.computed, 3, "virtualBackgroundList"], [_mobx.computed, 3, "currentIsMirror"], [_mobx.computed, 3, "microphoneDetecting"], [_mobx.computed, 3, "speakerDetecting"], [_mobx.computed, 3, "setting"], [_decorator.bound, 2, "enableVirtualBackground"], [_decorator.bound, 2, "setEditBeautyKey"], [_decorator.bound, 2, "enableBeautyEffect"], [_decorator.bound, 2, "_initReactions"], [_decorator.bound, 2, "setCameraDevice"], [_decorator.bound, 2, "setMicrophoneDevice"], [_decorator.bound, 2, "stopSpeakerTest"], [_decorator.bound, 2, "startSpeakerTest"], [_decorator.bound, 2, "setSpeakerDevice"], [_decorator.bound, 2, "setSpeakerVolume"], [_decorator.bound, 2, "setMicrophoneVolume"], [_decorator.bound, 2, "setVideoOrientation"], [_decorator.bound, 2, "setBeautyOptions"], [_decorator.bound, 2, "toggleLocalMirrorPreview"], [_decorator.bound, 2, "startVideo"], [_decorator.bound, 2, "stopVideo"], [_decorator.bound, 2, "handleForceOpenVideoEffect"], [_decorator.bound, 2, "handleCancelForceOpenVideoEffect"], [_decorator.bound, 2, "toggleLocalMirror"], [_decorator.bound, 2, "setSettingVideoOpened"], [_decorator.bound, 2, "_syncSystemInfo"], [_decorator.bound, 2, "startCameraTest"], [_decorator.bound, 2, "stopCameraTest"], [_setDialogConfigDecs, 18, "setDialogConfig"], [_setSettingDecs, 18, "setSetting"], [_onEventDecs, 18, "_onEvent"], [_onNetworkStatsUpdatedDecs, 18, "_onNetworkStatsUpdated"], [_clearGetSystemInfoIntervalDecs, 18, "clearGetSystemInfoInterval"], [_closeDialogDecs, 18, "closeDialog"], [_onLocalAudioStatsUpdatedDecs, 18, "_onLocalAudioStatsUpdated"], [_onRemoteAudioStatsUpdatedDecs, 18, "_onRemoteAudioStatsUpdated"], [_onLocalVideoStatsUpdatedDecs, 18, "_onLocalVideoStatsUpdated"], [_onRemoteVideoStatsUpdatedDecs, 18, "_onRemoteVideoStatsUpdated"], [_onStreamsAddedDecs, 18, "_onStreamsAdded"], [_onStreamsUpdatedDecs, 18, "_onStreamsUpdated"], [_onStreamsRemovedDecs, 18, "_onStreamsRemoved"], [_onPerformanceUpdatedDecs, 18, "_onPerformanceUpdated"], [_decorator.bound, 2, "_handleCameraChanged"], [_decorator.bound, 2, "_handleCameraListUpdated"], [_onAudioVolumeUpdatedDecs, 18, "_onAudioVolumeUpdated"], [_preHandleSettingDecs, 18, "_preHandleSetting"], [_setMeetingSettingsToLocalStorageDecs, 18, "_setMeetingSettingsToLocalStorage"], [_getMeetingSettingsFromLocalStorageDecs, 18, "_getMeetingSettingsFromLocalStorage"], [_changeMediaSettingDecs, 18, "changeMediaSetting"]], []).e, 16);
1260
1262
  _init_loudestStreamVolumeLevel = _applyDecs$e[0];
1261
1263
  _init_isPreMeetingSettingsStore = _applyDecs$e[1];
1262
1264
  _init_microphoneVolumeLevel = _applyDecs$e[2];
@@ -55,8 +55,6 @@ require("core-js/modules/esnext.typed-array.filter-reject.js");
55
55
  require("core-js/modules/esnext.typed-array.group-by.js");
56
56
  require("core-js/modules/esnext.typed-array.to-spliced.js");
57
57
  require("core-js/modules/esnext.typed-array.unique-by.js");
58
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
59
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
60
58
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
61
59
  var _card = require("agora-ui-foundation/lib/components/card");
62
60
  var _type = require("agora-rte-sdk/lib/core/rtc/type");
@@ -80,7 +78,7 @@ var ShareSelectionWindowType = /*#__PURE__*/function (ShareSelectionWindowType)
80
78
  }(ShareSelectionWindowType || {});
81
79
  var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function () {
82
80
  var _useContext = (0, _react.useContext)(_store.StoreContext),
83
- currentSelection = _useContext.currentSelection,
81
+ currentSelectionId = _useContext.currentSelectionId,
84
82
  applicationCaptureSources = _useContext.applicationCaptureSources,
85
83
  screenCaptureSources = _useContext.screenCaptureSources,
86
84
  currentSelectionType = _useContext.currentSelectionType,
@@ -96,7 +94,8 @@ var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function
96
94
  openRelaunchTipsDialog = _useContext.openRelaunchTipsDialog,
97
95
  shareWithAudio = _useContext.shareWithAudio,
98
96
  setShareWithAudioState = _useContext.setShareWithAudioState,
99
- currentSelectionBounds = _useContext.currentSelectionBounds;
97
+ currentSelectionBounds = _useContext.currentSelectionBounds,
98
+ handleToggleScreenShareWithAudio = _useContext.handleToggleScreenShareWithAudio;
100
99
  var _useState = (0, _react.useState)(false),
101
100
  _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
102
101
  loading = _useState2[0],
@@ -109,37 +108,14 @@ var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function
109
108
  setLoading(false);
110
109
  };
111
110
  }, []);
112
- var toggleShareWithAudio = /*#__PURE__*/function () {
113
- var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(target) {
114
- return _regenerator["default"].wrap(function _callee$(_context) {
115
- while (1) switch (_context.prev = _context.next) {
116
- case 0:
117
- if (target) {
118
- _context.next = 3;
119
- break;
120
- }
121
- setShareWithAudioState(target);
122
- return _context.abrupt("return");
123
- case 3:
124
- setShareWithAudioState(target);
125
- case 4:
126
- case "end":
127
- return _context.stop();
128
- }
129
- }, _callee);
130
- }));
131
- return function toggleShareWithAudio(_x) {
132
- return _ref.apply(this, arguments);
133
- };
134
- }();
135
111
  var handleOkClick = (0, _react.useCallback)((0, _debounce["default"])(function () {
136
- if (currentSelection) {
112
+ if (currentSelectionId) {
137
113
  setLoading(true);
138
- handleStartShare(currentSelection, currentSelectionType, shareWithAudio, _shareAudio.AudioProcessingChannel.MONO, currentSelectionBounds)["finally"](function () {
114
+ handleStartShare(currentSelectionId, currentSelectionType, shareWithAudio, _shareAudio.AudioProcessingChannel.MONO, currentSelectionBounds)["finally"](function () {
139
115
  setLoading(false);
140
116
  });
141
117
  }
142
- }, 300), [currentSelection, currentSelectionType, shareWithAudio, handleStartShare]);
118
+ }, 300), [currentSelectionId, currentSelectionType, shareWithAudio, handleStartShare]);
143
119
  var transI18n = (0, _i18n.useI18n)();
144
120
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
145
121
  className: "share-selection-window",
@@ -154,7 +130,7 @@ var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function
154
130
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_card.FcrCard, {
155
131
  disabled: isWhiteboard && !!(boardOwnerUser !== null && boardOwnerUser !== void 0 && boardOwnerUser.userId),
156
132
  title: isWhiteboard ? t('fmt_share_options_whiteboard') : screen.title,
157
- active: currentSelectionType === type && screen.id === currentSelection || screen.id === currentSelection,
133
+ active: currentSelectionType === type && screen.id === currentSelectionId || screen.id === currentSelectionId,
158
134
  onCardClick: function onCardClick() {
159
135
  handleChooseScreen(screen.id, type, screenWithBounds.bounds);
160
136
  },
@@ -197,7 +173,7 @@ var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function
197
173
  className: "share-selection-window__share-application share-selection-window__share-card",
198
174
  children: applicationCaptureSources.map(function (application) {
199
175
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_card.FcrCard, {
200
- active: currentSelectionType === _type.AgoraRtcScreenCaptureType.WINDOW && application.id === currentSelection,
176
+ active: currentSelectionType === _type.AgoraRtcScreenCaptureType.WINDOW && application.id === currentSelectionId,
201
177
  onCardClick: function onCardClick() {
202
178
  handleChooseScreen(application.id, _type.AgoraRtcScreenCaptureType.WINDOW, application.bounds);
203
179
  },
@@ -219,14 +195,14 @@ var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function
219
195
  className: "share-selection-window__footer",
220
196
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
221
197
  className: "share-selection-window__footer-action",
222
- children: currentSelection.split('-')[0] !== 'whiteboard' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_shareAudio.ShareAudio, {
198
+ children: currentSelectionId.split('-')[0] !== 'whiteboard' && /*#__PURE__*/(0, _jsxRuntime.jsx)(_shareAudio.ShareAudio, {
223
199
  shareWithAudio: shareWithAudio,
224
- toggleShareWithAudio: toggleShareWithAudio,
200
+ toggleShareWithAudio: handleToggleScreenShareWithAudio,
225
201
  currentAudioChannel: currentShareAudioProcessingChannel,
226
202
  onSwitchAudioChannel: setShareAudioProcessingChannel
227
203
  })
228
204
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.FcrButton, {
229
- disabled: currentSelection.split('-')[0] === 'whiteboard' && !!(boardOwnerUser !== null && boardOwnerUser !== void 0 && boardOwnerUser.userId) || loading,
205
+ disabled: currentSelectionId.split('-')[0] === 'whiteboard' && !!(boardOwnerUser !== null && boardOwnerUser !== void 0 && boardOwnerUser.userId) || loading,
230
206
  type: "primary",
231
207
  shape: "rounded",
232
208
  size: "XS",
@@ -240,13 +216,13 @@ var ShareSelection = exports.ShareSelection = (0, _mobxReact.observer)(function
240
216
  })]
241
217
  });
242
218
  });
243
- var ThumbnailRender = function ThumbnailRender(_ref2) {
244
- var image = _ref2.image,
245
- _ref2$width = _ref2.width,
246
- width = _ref2$width === void 0 ? 100 : _ref2$width,
247
- _ref2$height = _ref2.height,
248
- height = _ref2$height === void 0 ? 100 : _ref2$height,
249
- title = _ref2.title;
219
+ var ThumbnailRender = function ThumbnailRender(_ref) {
220
+ var image = _ref.image,
221
+ _ref$width = _ref.width,
222
+ width = _ref$width === void 0 ? 100 : _ref$width,
223
+ _ref$height = _ref.height,
224
+ height = _ref$height === void 0 ? 100 : _ref$height,
225
+ title = _ref.title;
250
226
  var data = (0, _react.useMemo)(function () {
251
227
  return (0, _tools.uint8ArrayToImageData)({
252
228
  buffer: image,
@@ -8,7 +8,9 @@ import { FcrUIMessageProvider } from '../../providers/message-provider';
8
8
  import { FcrUIDialogProvider } from '../../providers/dialog-provider';
9
9
  import { FcrUIMemberSharedDataSource } from '../../shared-data-source/member-data';
10
10
  import { FcrUISharedConfigDataSource } from '../../shared-data-source/config';
11
- import { FcrUIScreenShareDataSource } from '../../shared-data-source/screen-share-data-source';
11
+ import { FcrUIScreenShareProvider } from '../../providers/screen-share-provider';
12
+ import { FcrUIAnnotationProvider } from '../../providers/annotation-provider';
13
+ import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
12
14
  export declare class ShareScreenUIModule extends UIModule {
13
15
  private _store?;
14
16
  mainRoomControlProvider?: FcrUIMainRoomControlProvider;
@@ -21,7 +23,9 @@ export declare class ShareScreenUIModule extends UIModule {
21
23
  roomProvider?: FcrUIRoomProvider;
22
24
  sharedConfigDataSource?: FcrUISharedConfigDataSource;
23
25
  connectionProvider?: FcrUIConnectionProvider;
24
- screenShareDataSource?: FcrUIScreenShareDataSource;
26
+ screenShareProvider?: FcrUIScreenShareProvider;
27
+ annotationProvider?: FcrUIAnnotationProvider;
28
+ sharedScreenShareSharedDataSource?: FcrUIScreenShareSharedDataSource;
25
29
  onNodeWillActive(): void;
26
30
  onNodeWillInactive(): void;
27
31
  getComponent(): import("react/jsx-runtime").JSX.Element;
@@ -51,8 +51,10 @@ var ShareScreenUIModule = exports.ShareScreenUIModule = /*#__PURE__*/function (_
51
51
  sharedMemberDataSource: this.sharedMemberDataSource,
52
52
  roomProvider: this.roomProvider,
53
53
  sharedConfigDataSource: this.sharedConfigDataSource,
54
- connectionProvider: this.connectionProvider,
55
- screenShareDataSource: this.screenShareDataSource
54
+ screenShareProvider: this.screenShareProvider,
55
+ annotationProvider: this.annotationProvider,
56
+ sharedScreenShareSharedDataSource: this.sharedScreenShareSharedDataSource,
57
+ connectionProvider: this.connectionProvider
56
58
  });
57
59
  }
58
60
  }, {
@@ -1,19 +1,21 @@
1
1
  import { FcrConnectionState, FcrMediaSourceState } from 'fcr-core';
2
+ import { FcrScreenTrack } from 'fcr-core/lib/media-control/type';
2
3
  import { FcrUserInfo } from 'fcr-core/lib/type';
3
- import { AgoraRtcScreenCaptureType, AgoraRtcWindowInfo } from 'agora-rte-sdk/lib/core/rtc/type';
4
+ import { AgoraRtcScreenCaptureType } from 'agora-rte-sdk/lib/core/rtc/type';
4
5
  import { AudioProcessingChannel } from 'agora-ui-foundation/lib/components/room-screen-share-state-bar/share-audio';
5
6
  import { FcrMainRoomControl } from 'fcr-core/lib/room-control/type';
6
7
  import { FcrUIPrivilegeProvider } from '../../providers/privilege-provider';
7
8
  import { FcrUIEventProvider } from '../../providers/event-provider';
8
9
  import { FcrUIDeviceProvider } from '../../providers/device-provider';
9
- import { FcrUIDisplayCaptureSource } from './types';
10
10
  import { FcrUIMessageProvider } from '../../providers/message-provider';
11
11
  import { FcrUIDialogProvider } from '../../providers/dialog-provider';
12
12
  import { CurrentShareBounds } from '../control-bar/types';
13
13
  import { FcrUIMemberSharedDataSource } from '../../shared-data-source/member-data';
14
14
  import { FcrUIConnectionProvider, FcrUIRoomProvider } from '../../providers/room-provider';
15
15
  import { FcrUISharedConfigDataSource } from '../../shared-data-source/config';
16
- import { FcrUIScreenShareDataSource } from '../../shared-data-source/screen-share-data-source';
16
+ import { FcrUIScreenShareProvider } from '../../providers/screen-share-provider';
17
+ import { FcrUIScreenShareSharedDataSource } from '../../shared-data-source/screen-share-data';
18
+ import { FcrUIAnnotationProvider } from '../../providers/annotation-provider';
17
19
  export default class ShareScreenStore {
18
20
  protected logger: import("agora-foundation/lib/logger").Logger;
19
21
  private _disposers;
@@ -22,51 +24,47 @@ export default class ShareScreenStore {
22
24
  private _messageProvider;
23
25
  private _dialogProvider;
24
26
  private _roomProvider;
25
- private _streamControl;
26
27
  private _securityStore;
27
28
  private _userControl;
28
29
  private _boardControl;
30
+ private _screenShareProvider;
29
31
  private _controlBarWindowId;
30
- private _currentShareStreamId;
31
32
  private _removeScreenStreamFailed;
32
- private _isReplaceScreen;
33
- private _previewDom;
34
33
  private _sharedMemberDataSource;
35
- private _connectionObserver;
34
+ private _sharedScreenShareSharedDataSource;
35
+ private _connectionProvider;
36
+ private _isOnline;
36
37
  private _roomObserver;
37
- private _observer;
38
38
  private _uiEventObserver;
39
- private _streamObserver;
39
+ private _screenCaptureStateObserver;
40
40
  private _boardObserver;
41
- private _loopbackAudioSourceId;
42
41
  private _shareSelectionDialogId;
43
42
  private _controlBarDialogId;
44
43
  private _videoWindowDialogId;
45
- private _shareLocked;
46
- private _screenTrack;
47
- private _shareAudioTrack;
48
- private _currentShareId;
49
- private _currentShareType;
50
- private _connectionProvider;
51
- private _screenShareDataSource;
52
- private _isOnline;
53
- accessor screenSharingState: FcrMediaSourceState;
54
- accessor applicationCaptureSources: AgoraRtcWindowInfo[];
55
- accessor screenCaptureSources: FcrUIDisplayCaptureSource[];
56
- accessor currentSelection: string;
57
- accessor currentSelectionType: AgoraRtcScreenCaptureType;
58
- accessor shareWithAudio: boolean;
44
+ private _annotationProvider;
59
45
  accessor boardOwnerUser: FcrUserInfo | undefined;
60
- accessor currentSelectionBounds: CurrentShareBounds;
61
- accessor connectionState: FcrConnectionState;
46
+ get currentShareStreamId(): string;
47
+ get screenTrack(): FcrScreenTrack | null;
48
+ get currentShareType(): AgoraRtcScreenCaptureType;
62
49
  get localUser(): FcrUserInfo;
63
50
  get localUserRole(): import("fcr-core").FcrUserRole;
64
51
  get isHost(): boolean;
65
52
  get supportEnumScreen(): boolean;
66
- get appWindowList(): Promise<AgoraRtcWindowInfo[]>;
53
+ get appWindowList(): Promise<import("agora-rte-sdk/lib/core/rtc/type").AgoraRtcWindowInfo[]>;
67
54
  get displayList(): Promise<import("agora-rte-sdk/lib/core/rtc/type").AgoraRtcDisplayInfo[]>;
55
+ get connectionState(): FcrConnectionState;
56
+ get screenSharingState(): FcrMediaSourceState;
57
+ get applicationCaptureSources(): import("agora-rte-sdk/lib/core/rtc/type").AgoraRtcWindowInfo[];
58
+ get screenCaptureSources(): import("./types").FcrUIDisplayCaptureSource[];
68
59
  get currentShareAudioProcessingChannel(): AudioProcessingChannel;
69
- constructor({ roomControl, deviceProvider, privilegeProvider, messageProvider, dialogProvider, eventProvider, sharedMemberDataSource, roomProvider, sharedConfigDataSource, connectionProvider, screenShareDataSource, }: {
60
+ get currentSelectionId(): string;
61
+ get currentSelectionType(): AgoraRtcScreenCaptureType;
62
+ get shareWithAudio(): boolean;
63
+ get currentSelectionBounds(): CurrentShareBounds;
64
+ get shareLock(): boolean;
65
+ get currentShareId(): string;
66
+ get _screenShareInfoForLog(): string;
67
+ constructor({ roomControl, deviceProvider, privilegeProvider, messageProvider, dialogProvider, eventProvider, sharedMemberDataSource, roomProvider, sharedConfigDataSource, screenShareProvider, annotationProvider, sharedScreenShareSharedDataSource, connectionProvider, }: {
70
68
  roomControl: FcrMainRoomControl;
71
69
  deviceProvider: FcrUIDeviceProvider;
72
70
  privilegeProvider: FcrUIPrivilegeProvider;
@@ -76,40 +74,36 @@ export default class ShareScreenStore {
76
74
  sharedMemberDataSource: FcrUIMemberSharedDataSource;
77
75
  roomProvider: FcrUIRoomProvider;
78
76
  sharedConfigDataSource: FcrUISharedConfigDataSource;
77
+ screenShareProvider: FcrUIScreenShareProvider;
78
+ annotationProvider: FcrUIAnnotationProvider;
79
+ sharedScreenShareSharedDataSource: FcrUIScreenShareSharedDataSource;
79
80
  connectionProvider: FcrUIConnectionProvider;
80
- screenShareDataSource: FcrUIScreenShareDataSource;
81
81
  });
82
+ private _handleOnScreenCaptureStopped;
83
+ private _handleOnScreenCaptureStarted;
84
+ private _hasScreenSharePermission;
82
85
  handleChooseScreen: (id: string, type: AgoraRtcScreenCaptureType | undefined, bounds: CurrentShareBounds) => void;
83
86
  setShareWithAudioState(withAudio: boolean): void;
84
87
  hasLoopbackDevice(): Promise<boolean>;
85
- setShareAudioProcessingChannel(channel: AudioProcessingChannel): void;
88
+ setShareAudioProcessingChannel(currentShareAudioProcessingChannel: AudioProcessingChannel): void;
86
89
  handlerBoardShareStop(): void;
87
90
  release(): void;
88
91
  openRelaunchTipsDialog(): void;
89
- startPreview(dom: HTMLElement): void;
92
+ startRenderSharePreview(dom: HTMLElement): void;
93
+ stopRenderSharePreview(screenTrack?: FcrScreenTrack | null | undefined): void;
90
94
  handleStopShare(): void;
91
95
  prepareShareScreen(): Promise<void>;
92
96
  handleStartShare(id: string, type: AgoraRtcScreenCaptureType, withAudio: boolean, audioProcessingChannel: AudioProcessingChannel | undefined, bounds: CurrentShareBounds): Promise<void>;
93
- private _startLoopback;
94
- private _handleShareStartWithAudio;
95
- private _handleShareStopWithAudio;
96
97
  private _openShareScreenSelection;
97
98
  private _closeShareScreenSelection;
98
99
  private _setControlBarWindowId;
99
100
  private _openVideoWindowDialog;
100
101
  private _closeControlBar;
101
102
  private _closeVideoWindowDialog;
102
- private _setWithAudioState;
103
+ private _handleOnScreenShareReplaceBegin;
103
104
  private _handleReplaceScreen;
104
- private _createScreenStream;
105
- private _handleWebScreenCaptureStateUpdated;
106
- private _handleScreenCaptureStateUpdated;
107
105
  private _setShareLock;
108
- private _closeCapture;
109
- private _removeScreenStream;
110
- private _syncShareStreamState;
111
- private _isStoppedFor;
112
- private _handleStreamUpdate;
106
+ private _closeShareScreenComps;
113
107
  private _addEventListeners;
114
108
  private _removeEventListeners;
115
109
  private _handleOnline;
@@ -119,8 +113,9 @@ export default class ShareScreenStore {
119
113
  private _validateWindow;
120
114
  private _validateDisplay;
121
115
  private _validateShareStart;
122
- private _hasScreenSharePermission;
123
- private _getExcludeWindows;
124
116
  private _initControlbar;
117
+ private _handleBrowserShow;
118
+ private _hendleBrowserHide;
119
+ handleToggleScreenShareWithAudio(withAudio: boolean): void;
125
120
  }
126
121
  export declare const StoreContext: import("react").Context<ShareScreenStore>;