fcr-ui-scene 3.4.5 → 3.5.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 (421) hide show
  1. package/lib/base.js +4 -1
  2. package/lib/creator.d.ts +4 -1
  3. package/lib/creator.js +66 -3
  4. package/lib/electron/app.js +0 -3
  5. package/lib/electron/bootstrap-dev.js +2 -0
  6. package/lib/electron/bootstrap-sdk.js +2 -0
  7. package/lib/electron/main.js +14 -3
  8. package/lib/electron/plugins/devtool-shortcut.js +5 -0
  9. package/lib/electron/plugins/screenshot.js +4 -1
  10. package/lib/modules/action-bar/components/apps/app-item/index.css +3 -3
  11. package/lib/modules/action-bar/components/apps/app-item/index.js +35 -24
  12. package/lib/modules/action-bar/components/apps/app-list.d.ts +3 -0
  13. package/lib/modules/action-bar/components/apps/app-list.js +45 -0
  14. package/lib/modules/action-bar/components/apps/index.css +1 -0
  15. package/lib/modules/action-bar/components/apps/index.js +7 -4
  16. package/lib/modules/action-bar/components/apps/useAppItemOptions.d.ts +10 -2
  17. package/lib/modules/action-bar/components/apps/useAppItemOptions.js +10 -6
  18. package/lib/modules/action-bar/components/apps/useBeautyBackground.d.ts +1 -1
  19. package/lib/modules/action-bar/components/apps/useBeautyBackground.js +2 -2
  20. package/lib/modules/action-bar/components/apps/useInterpreter.d.ts +1 -1
  21. package/lib/modules/action-bar/components/apps/useInterpreter.js +6 -6
  22. package/lib/modules/action-bar/components/apps/useLiveStreaming.d.ts +1 -1
  23. package/lib/modules/action-bar/components/apps/useLiveStreaming.js +2 -2
  24. package/lib/modules/action-bar/components/apps/useWidgetList.d.ts +10 -0
  25. package/lib/modules/action-bar/components/apps/useWidgetList.js +38 -0
  26. package/lib/modules/action-bar/components/chat/index.css +8 -0
  27. package/lib/modules/action-bar/components/chat/index.js +2 -1
  28. package/lib/modules/action-bar/components/collapse/index.d.ts +8 -6
  29. package/lib/modules/action-bar/components/collapse/index.js +60 -74
  30. package/lib/modules/action-bar/components/interpreter/index.js +3 -3
  31. package/lib/modules/action-bar/components/item/index.js +1 -1
  32. package/lib/modules/action-bar/components/more/index.js +13 -7
  33. package/lib/modules/action-bar/components/notification-bar/index.d.ts +1 -1
  34. package/lib/modules/action-bar/components/notification-bar/index.js +13 -6
  35. package/lib/modules/action-bar/components/participants/index.js +1 -1
  36. package/lib/modules/action-bar/components/screen-share/index.js +1 -1
  37. package/lib/modules/action-bar/components/screen-share/submenu.js +55 -18
  38. package/lib/modules/action-bar/components/security/index.js +8 -2
  39. package/lib/modules/action-bar/components/trigger-output-language/index.js +68 -55
  40. package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +35 -18
  41. package/lib/modules/action-bar/index.css +8 -0
  42. package/lib/modules/action-bar/index.d.ts +8 -0
  43. package/lib/modules/action-bar/index.js +6 -3
  44. package/lib/modules/action-bar/store.d.ts +37 -22
  45. package/lib/modules/action-bar/store.js +275 -375
  46. package/lib/modules/action-bar/types.d.ts +8 -13
  47. package/lib/modules/action-bar/view.js +3 -8
  48. package/lib/modules/audio-stream/index.d.ts +6 -1
  49. package/lib/modules/audio-stream/index.js +77 -11
  50. package/lib/modules/chat/chat-room-store.d.ts +4 -7
  51. package/lib/modules/chat/chat-room-store.js +39 -62
  52. package/lib/modules/chat/components/chat-action/index.js +2 -2
  53. package/lib/modules/chat/components/chat-bar/index.css +4 -0
  54. package/lib/modules/chat/components/chat-bar/index.d.ts +1 -1
  55. package/lib/modules/chat/components/chat-bar/index.js +18 -16
  56. package/lib/modules/chat/components/chat-select/index.js +16 -147
  57. package/lib/modules/chat/components/chat-select/select-input/index.d.ts +7 -0
  58. package/lib/modules/chat/components/chat-select/select-input/index.js +35 -0
  59. package/lib/modules/chat/components/chat-select/select-item/index.d.ts +12 -0
  60. package/lib/modules/chat/components/chat-select/select-item/index.js +153 -0
  61. package/lib/modules/chat/components/chat-tabs/index.d.ts +2 -0
  62. package/lib/modules/chat/components/chat-tabs/index.js +61 -0
  63. package/lib/modules/chat/components/message-list/chat-empty/index.d.ts +2 -0
  64. package/lib/modules/chat/components/message-list/chat-empty/index.js +26 -0
  65. package/lib/modules/chat/components/message-list/history-unread-message-button/index.d.ts +7 -0
  66. package/lib/modules/chat/components/message-list/history-unread-message-button/index.js +55 -0
  67. package/lib/modules/chat/components/message-list/index.d.ts +1 -1
  68. package/lib/modules/chat/components/message-list/index.js +55 -359
  69. package/lib/modules/chat/components/message-list/message-item/index.d.ts +15 -0
  70. package/lib/modules/chat/components/message-list/message-item/index.js +309 -0
  71. package/lib/modules/chat/components/message-list/scroll-bottom-button/index.d.ts +9 -0
  72. package/lib/modules/chat/components/message-list/scroll-bottom-button/index.js +67 -0
  73. package/lib/modules/chat/index.css +9 -0
  74. package/lib/modules/chat/index.d.ts +6 -0
  75. package/lib/modules/chat/index.js +4 -1
  76. package/lib/modules/chat/store.d.ts +17 -7
  77. package/lib/modules/chat/store.js +75 -72
  78. package/lib/modules/chat/types.d.ts +7 -7
  79. package/lib/modules/chat/types.js +2 -1
  80. package/lib/modules/chat/view.js +22 -102
  81. package/lib/modules/components/device-control/store.d.ts +4 -3
  82. package/lib/modules/components/device-control/store.js +13 -24
  83. package/lib/modules/components/leave-meeting/components/assign-host.js +17 -2
  84. package/lib/modules/components/leave-meeting/index.js +8 -7
  85. package/lib/modules/components/leave-meeting/store.d.ts +15 -7
  86. package/lib/modules/components/leave-meeting/store.js +116 -95
  87. package/lib/modules/components/member-window/components/member-actions/components/audio-control.d.ts +6 -0
  88. package/lib/modules/components/member-window/components/member-actions/components/audio-control.js +36 -0
  89. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.d.ts +40 -0
  90. package/lib/modules/components/member-window/components/member-actions/components/icon-buttons/index.js +170 -0
  91. package/lib/modules/components/member-window/components/member-actions/components/icon-status.d.ts +11 -0
  92. package/lib/modules/components/member-window/components/member-actions/components/icon-status.js +105 -0
  93. package/lib/modules/components/member-window/components/member-actions/components/layout/index.d.ts +9 -0
  94. package/lib/modules/components/member-window/components/member-actions/components/layout/index.js +42 -0
  95. package/lib/modules/components/member-window/components/member-actions/components/more-actions.d.ts +11 -0
  96. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +157 -0
  97. package/lib/modules/components/member-window/components/member-actions/components/share-status.d.ts +2 -0
  98. package/lib/modules/components/member-window/components/member-actions/components/share-status.js +34 -0
  99. package/lib/modules/components/member-window/components/member-actions/components/user-info.d.ts +16 -0
  100. package/lib/modules/components/member-window/components/member-actions/components/user-info.js +130 -0
  101. package/lib/modules/components/member-window/components/member-actions/components/user-tag.d.ts +12 -0
  102. package/lib/modules/components/member-window/components/member-actions/components/user-tag.js +57 -0
  103. package/lib/modules/components/member-window/components/member-actions/index.d.ts +3 -0
  104. package/lib/modules/components/member-window/components/member-actions/index.js +122 -0
  105. package/lib/modules/components/member-window/components/member-actions/libs/index.d.ts +2 -0
  106. package/lib/modules/components/member-window/components/member-actions/libs/index.js +24 -0
  107. package/lib/modules/components/member-window/components/member-actions/provider.d.ts +21 -0
  108. package/lib/modules/components/member-window/components/member-actions/provider.js +77 -0
  109. package/lib/modules/components/member-window/components/member-actions/store.d.ts +48 -0
  110. package/lib/modules/components/member-window/components/member-actions/store.js +307 -0
  111. package/lib/modules/components/member-window/components/member-board.d.ts +2 -0
  112. package/lib/modules/components/member-window/components/member-board.js +63 -0
  113. package/lib/modules/components/member-window/components/mic-volume.d.ts +2 -0
  114. package/lib/modules/components/member-window/components/mic-volume.js +23 -0
  115. package/lib/modules/components/member-window/components/video-player/components/local-video-player.d.ts +4 -0
  116. package/lib/modules/components/member-window/components/video-player/components/local-video-player.js +40 -0
  117. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.d.ts +8 -0
  118. package/lib/modules/components/member-window/components/video-player/components/remote-video-player.js +62 -0
  119. package/lib/modules/components/member-window/components/video-player/index.d.ts +9 -0
  120. package/lib/modules/components/member-window/components/video-player/index.js +38 -0
  121. package/lib/modules/components/member-window/index.css +22 -2
  122. package/lib/modules/components/member-window/index.d.ts +10 -75
  123. package/lib/modules/components/member-window/index.js +20 -738
  124. package/lib/modules/components/member-window/types.d.ts +79 -0
  125. package/lib/modules/components/member-window/types.js +6 -0
  126. package/lib/modules/components/security-menu/index.css +0 -2
  127. package/lib/modules/components/security-menu/index.d.ts +5 -1
  128. package/lib/modules/components/security-menu/index.js +37 -59
  129. package/lib/modules/connection-gateway/index.d.ts +6 -0
  130. package/lib/modules/connection-gateway/index.js +4 -1
  131. package/lib/modules/connection-gateway/store.d.ts +12 -3
  132. package/lib/modules/connection-gateway/store.js +29 -27
  133. package/lib/modules/control-bar/components/meeting-details/index.js +11 -17
  134. package/lib/modules/control-bar/components/more-actions/index.js +5 -4
  135. package/lib/modules/control-bar/components/share-state-nav/index.js +22 -10
  136. package/lib/modules/control-bar/index.css +1 -2
  137. package/lib/modules/control-bar/index.d.ts +14 -0
  138. package/lib/modules/control-bar/index.js +10 -4
  139. package/lib/modules/control-bar/store.d.ts +40 -20
  140. package/lib/modules/control-bar/store.js +156 -191
  141. package/lib/modules/control-bar/view.js +65 -25
  142. package/lib/modules/device-pretest/audio-preview/microphone-detection.js +1 -1
  143. package/lib/modules/dialog/components/control-bar/index.d.ts +1 -1
  144. package/lib/modules/dialog/components/control-bar/index.js +43 -43
  145. package/lib/modules/dialog/components/device-setting/index.js +2 -1
  146. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +1 -0
  147. package/lib/modules/dialog/components/dialog-container/component/body.js +3 -2
  148. package/lib/modules/dialog/components/dialog-container/index.d.ts +2 -0
  149. package/lib/modules/dialog/components/dialog-container/index.js +19 -13
  150. package/lib/modules/dialog/components/live-streaming/index.js +4 -2
  151. package/lib/modules/dialog/components/participant/index.js +2 -2
  152. package/lib/modules/dialog/components/share-screen-selection/index.js +3 -1
  153. package/lib/modules/dialog/components/system-preference/assets/bg1.png +0 -0
  154. package/lib/modules/dialog/components/system-preference/assets/bg2.png +0 -0
  155. package/lib/modules/dialog/components/system-preference/assets/fcr_png_host.png +0 -0
  156. package/lib/modules/dialog/components/system-preference/electron.js +6 -6
  157. package/lib/modules/dialog/components/system-preference/index.css +3 -0
  158. package/lib/modules/dialog/components/system-preference/index.d.ts +17 -2
  159. package/lib/modules/dialog/components/system-preference/index.js +47 -55
  160. package/lib/modules/dialog/components/video-window/index.d.ts +1 -1
  161. package/lib/modules/dialog/components/video-window/index.js +216 -101
  162. package/lib/modules/dialog/components/widget/electron.d.ts +5 -0
  163. package/lib/modules/dialog/components/widget/electron.js +37 -0
  164. package/lib/modules/dialog/components/widget/index.d.ts +6 -0
  165. package/lib/modules/dialog/components/widget/index.js +43 -0
  166. package/lib/modules/dialog/hooks/useElectron.d.ts +7 -0
  167. package/lib/modules/dialog/hooks/useElectron.js +226 -28
  168. package/lib/modules/dialog/index.css +1 -11
  169. package/lib/modules/dialog/index.d.ts +9 -6
  170. package/lib/modules/dialog/index.js +12 -12
  171. package/lib/modules/dialog/store.d.ts +26 -10
  172. package/lib/modules/dialog/store.js +151 -82
  173. package/lib/modules/dialog/type.d.ts +84 -0
  174. package/lib/modules/dialog/type.js +6 -0
  175. package/lib/modules/dialog/view.d.ts +1 -4
  176. package/lib/modules/dialog/view.js +12 -9
  177. package/lib/modules/event-confirm/index.css +11 -0
  178. package/lib/modules/event-confirm/index.d.ts +6 -0
  179. package/lib/modules/event-confirm/index.js +3 -2
  180. package/lib/modules/event-confirm/store.d.ts +10 -4
  181. package/lib/modules/event-confirm/store.js +91 -32
  182. package/lib/modules/event-confirm/view.js +63 -24
  183. package/lib/modules/event-toast/store.js +4 -2
  184. package/lib/modules/interpreter/action/edit-btn/index.js +5 -5
  185. package/lib/modules/interpreter/action/switch-btn/index.js +7 -7
  186. package/lib/modules/interpreter/index.d.ts +5 -1
  187. package/lib/modules/interpreter/index.js +4 -2
  188. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +3 -3
  189. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +6 -5
  190. package/lib/modules/interpreter/interpreter-list/interpreter-item/components/pick-user/option-Item.js +2 -2
  191. package/lib/modules/interpreter/interpreter-list/interpreter-item/index.js +2 -2
  192. package/lib/modules/interpreter/store.d.ts +8 -5
  193. package/lib/modules/interpreter/store.js +90 -39
  194. package/lib/modules/interpreter/type.d.ts +5 -1
  195. package/lib/modules/interpreter/utils.d.ts +0 -1
  196. package/lib/modules/interpreter/utils.js +2 -23
  197. package/lib/modules/interpreter/view.js +2 -6
  198. package/lib/modules/invite/index.d.ts +4 -0
  199. package/lib/modules/invite/index.js +3 -1
  200. package/lib/modules/invite/store.d.ts +11 -2
  201. package/lib/modules/invite/store.js +27 -4
  202. package/lib/modules/layout/components/Aside.js +1 -1
  203. package/lib/modules/layout/components/Carousel.js +36 -14
  204. package/lib/modules/layout/components/Gallery.js +33 -11
  205. package/lib/modules/layout/index.css +2 -2
  206. package/lib/modules/layout/index.d.ts +6 -0
  207. package/lib/modules/layout/index.js +4 -1
  208. package/lib/modules/layout/store.d.ts +23 -10
  209. package/lib/modules/layout/store.js +185 -163
  210. package/lib/modules/layout/type.d.ts +2 -0
  211. package/lib/modules/live-streaming/index.d.ts +2 -0
  212. package/lib/modules/live-streaming/index.js +2 -2
  213. package/lib/modules/live-streaming/store.d.ts +4 -8
  214. package/lib/modules/live-streaming/store.js +9 -19
  215. package/lib/modules/notification/index.css +17 -0
  216. package/lib/modules/notification/store.js +4 -2
  217. package/lib/modules/notification/view.js +7 -2
  218. package/lib/modules/offscreen-pulling/index.d.ts +1 -0
  219. package/lib/modules/offscreen-pulling/index.js +4 -0
  220. package/lib/modules/participant/components/confirm-input/index.d.ts +6 -0
  221. package/lib/modules/participant/components/confirm-input/index.js +50 -0
  222. package/lib/modules/participant/components/mute-all/index.d.ts +3 -7
  223. package/lib/modules/participant/components/mute-all/index.js +21 -33
  224. package/lib/modules/participant/components/participants/components/footer/components/buttons.d.ts +6 -0
  225. package/lib/modules/participant/components/participants/components/footer/components/buttons.js +52 -0
  226. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.css +60 -0
  227. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.d.ts +2 -0
  228. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.js +166 -0
  229. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/util.d.ts +5 -0
  230. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/util.js +28 -0
  231. package/lib/modules/participant/components/participants/components/footer/components/footer/index.css +13 -0
  232. package/lib/modules/participant/components/participants/components/footer/components/footer/index.d.ts +5 -0
  233. package/lib/modules/participant/components/participants/components/footer/components/footer/index.js +242 -0
  234. package/lib/modules/participant/components/participants/components/footer/index.d.ts +5 -0
  235. package/lib/modules/participant/components/participants/components/footer/index.js +48 -0
  236. package/lib/modules/participant/components/participants/components/merge/index.d.ts +11 -0
  237. package/lib/modules/participant/components/participants/components/merge/index.js +49 -0
  238. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.css +191 -0
  239. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.d.ts +4 -0
  240. package/lib/modules/participant/components/participants/components/participants/components/attendee/index.js +204 -0
  241. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.css +49 -0
  242. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.d.ts +5 -0
  243. package/lib/modules/participant/components/participants/components/participants/components/participants-more/index.js +219 -0
  244. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.d.ts +5 -0
  245. package/lib/modules/participant/components/participants/components/participants/components/user-row/index.js +70 -0
  246. package/lib/modules/participant/components/participants/components/participants/index.css +104 -0
  247. package/lib/modules/participant/components/participants/components/participants/index.d.ts +3 -0
  248. package/lib/modules/participant/components/participants/components/participants/index.js +110 -0
  249. package/lib/modules/participant/components/participants/components/render-tab/index.d.ts +2 -0
  250. package/lib/modules/participant/components/participants/components/render-tab/index.js +49 -0
  251. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.d.ts +3 -0
  252. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/interpreter-tag/index.js +48 -0
  253. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/microphone-indicator/index.d.ts +6 -0
  254. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/microphone-indicator/index.js +28 -0
  255. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/user-avatar/index.d.ts +7 -0
  256. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/user-avatar/index.js +39 -0
  257. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.css +69 -0
  258. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.d.ts +5 -0
  259. package/lib/modules/participant/components/participants/components/render-user/components/attendee/index.js +135 -0
  260. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/audio-button/index.d.ts +7 -0
  261. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/audio-button/index.js +31 -0
  262. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.d.ts +12 -0
  263. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-actions-popover/index.js +82 -0
  264. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-to-mainroom-button/index.d.ts +4 -0
  265. package/lib/modules/participant/components/participants/components/render-user/components/user-action/components/move-to-mainroom-button/index.js +26 -0
  266. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.d.ts +2 -0
  267. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.js +75 -0
  268. package/lib/modules/participant/components/participants/components/render-user/index.d.ts +5 -0
  269. package/lib/modules/participant/components/participants/components/render-user/index.js +21 -0
  270. package/lib/modules/participant/components/participants/index.js +18 -112
  271. package/lib/modules/participant/components/participants/types.d.ts +96 -0
  272. package/lib/modules/participant/components/participants/types.js +37 -0
  273. package/lib/modules/participant/index.css +3 -0
  274. package/lib/modules/participant/index.d.ts +12 -0
  275. package/lib/modules/participant/index.js +7 -1
  276. package/lib/modules/participant/member-list-data-source.d.ts +2 -2
  277. package/lib/modules/participant/member-list-data-source.js +11 -17
  278. package/lib/modules/participant/store.d.ts +44 -37
  279. package/lib/modules/participant/store.js +527 -536
  280. package/lib/modules/participant/type.d.ts +2 -9
  281. package/lib/modules/pc-audio-connect/store.d.ts +1 -1
  282. package/lib/modules/pc-audio-connect/store.js +9 -6
  283. package/lib/modules/setting/audio-settings/audio-settings.js +5 -4
  284. package/lib/modules/setting/audio-settings/index.css +11 -2
  285. package/lib/modules/setting/config.js +1 -1
  286. package/lib/modules/setting/store.d.ts +1 -0
  287. package/lib/modules/setting/store.js +20 -2
  288. package/lib/modules/setting/video-settings/index.css +12 -17
  289. package/lib/modules/setting/video-settings/video-settings-basic.js +40 -44
  290. package/lib/modules/share-screen/components/selection/index.js +70 -80
  291. package/lib/modules/share-screen/index.d.ts +6 -1
  292. package/lib/modules/share-screen/index.js +4 -1
  293. package/lib/modules/share-screen/store.d.ts +37 -33
  294. package/lib/modules/share-screen/store.js +330 -438
  295. package/lib/modules/sound-effect/sound-effect-player.d.ts +0 -4
  296. package/lib/modules/sound-effect/sound-effect-player.js +4 -4
  297. package/lib/modules/state-bar/index.css +2 -15
  298. package/lib/modules/state-bar/index.d.ts +10 -0
  299. package/lib/modules/state-bar/index.js +6 -1
  300. package/lib/modules/state-bar/live-streaming-state.js +0 -17
  301. package/lib/modules/state-bar/meeting-details.js +12 -24
  302. package/lib/modules/state-bar/meeting-time.js +5 -10
  303. package/lib/modules/state-bar/store.d.ts +31 -8
  304. package/lib/modules/state-bar/store.js +146 -100
  305. package/lib/modules/state-bar/view.js +63 -32
  306. package/lib/modules/video-window/components/deviceState/index.d.ts +7 -0
  307. package/lib/modules/video-window/components/deviceState/index.js +75 -0
  308. package/lib/modules/video-window/components/members/index.css +51 -0
  309. package/lib/modules/video-window/components/members/index.d.ts +2 -0
  310. package/lib/modules/video-window/components/members/index.js +131 -0
  311. package/lib/modules/video-window/components/speaking/index.css +86 -0
  312. package/lib/modules/video-window/components/speaking/index.d.ts +3 -0
  313. package/lib/modules/video-window/components/speaking/index.js +48 -0
  314. package/lib/modules/video-window/components/topControl/index.css +35 -0
  315. package/lib/modules/video-window/components/topControl/index.d.ts +3 -0
  316. package/lib/modules/video-window/components/topControl/index.js +79 -0
  317. package/lib/modules/video-window/index.d.ts +7 -0
  318. package/lib/modules/video-window/index.js +14 -20
  319. package/lib/modules/video-window/store.d.ts +19 -88
  320. package/lib/modules/video-window/store.js +98 -365
  321. package/lib/modules/video-window/type.d.ts +40 -4
  322. package/lib/modules/video-window/type.js +4 -4
  323. package/lib/modules/video-window/view.js +11 -23
  324. package/lib/modules/whiteboard/index.d.ts +1 -0
  325. package/lib/modules/whiteboard/index.js +7 -4
  326. package/lib/modules/widget/index.css +17 -0
  327. package/lib/modules/widget/index.d.ts +10 -0
  328. package/lib/modules/widget/index.js +114 -0
  329. package/lib/modules/widget/sdk.d.ts +30 -0
  330. package/lib/modules/widget/sdk.js +224 -0
  331. package/lib/modules/widget/store.d.ts +14 -0
  332. package/lib/modules/widget/store.js +28 -0
  333. package/lib/modules/widget/type.d.ts +156 -0
  334. package/lib/modules/widget/type.js +6 -0
  335. package/lib/modules/widget/view.d.ts +2 -0
  336. package/lib/modules/widget/view.js +47 -0
  337. package/lib/modules/widget/web-widget.d.ts +29 -0
  338. package/lib/modules/widget/web-widget.js +234 -0
  339. package/lib/providers/ability-provider.d.ts +24 -0
  340. package/lib/providers/ability-provider.js +38 -0
  341. package/lib/providers/chat-provider.d.ts +16 -9
  342. package/lib/providers/chat-provider.js +76 -8
  343. package/lib/providers/device-privilege-provider.d.ts +5 -1
  344. package/lib/providers/device-privilege-provider.js +21 -1
  345. package/lib/providers/device-provider.js +5 -2
  346. package/lib/providers/device-stream-provider.d.ts +15 -3
  347. package/lib/providers/device-stream-provider.js +118 -34
  348. package/lib/providers/dialog-provider.d.ts +9 -8
  349. package/lib/providers/dialog-provider.js +8 -4
  350. package/lib/providers/event-provider.js +4 -2
  351. package/lib/providers/interpreter-provider.d.ts +7 -26
  352. package/lib/providers/interpreter-provider.js +473 -706
  353. package/lib/providers/local-storage-provider.d.ts +6 -1
  354. package/lib/providers/local-storage-provider.js +15 -2
  355. package/lib/providers/message-provider.js +4 -2
  356. package/lib/providers/phone-audio-provider.js +24 -18
  357. package/lib/providers/privilege-provider.d.ts +13 -12
  358. package/lib/providers/privilege-provider.js +19 -11
  359. package/lib/providers/renderer-provider.d.ts +5 -0
  360. package/lib/providers/renderer-provider.js +8 -1
  361. package/lib/providers/room-provider.d.ts +7 -17
  362. package/lib/providers/room-provider.js +113 -161
  363. package/lib/providers/screen-share-provider.d.ts +19 -0
  364. package/lib/providers/screen-share-provider.js +102 -10
  365. package/lib/providers/widget-provider.d.ts +52 -0
  366. package/lib/providers/widget-provider.js +171 -0
  367. package/lib/scenes/main-scene.d.ts +11 -0
  368. package/lib/scenes/main-scene.js +60 -33
  369. package/lib/scenes/waiting-scene.d.ts +9 -0
  370. package/lib/scenes/waiting-scene.js +27 -26
  371. package/lib/schema.d.ts +114 -0
  372. package/lib/schema.js +77 -0
  373. package/lib/shared-data-source/chat-data.d.ts +11 -0
  374. package/lib/shared-data-source/chat-data.js +17 -6
  375. package/lib/shared-data-source/interpreter.d.ts +34 -21
  376. package/lib/shared-data-source/interpreter.js +104 -103
  377. package/lib/shared-data-source/meeting-time.d.ts +68 -0
  378. package/lib/shared-data-source/meeting-time.js +299 -0
  379. package/lib/shared-data-source/member-data.d.ts +126 -0
  380. package/lib/shared-data-source/member-data.js +451 -0
  381. package/lib/shared-data-source/pin-data.d.ts +8 -4
  382. package/lib/shared-data-source/pin-data.js +92 -4
  383. package/lib/shared-data-source/security-data.d.ts +35 -0
  384. package/lib/shared-data-source/security-data.js +156 -0
  385. package/lib/shared-data-source/setting.d.ts +3 -1
  386. package/lib/shared-data-source/setting.js +12 -1
  387. package/lib/shared-data-source/video-window.d.ts +7 -8
  388. package/lib/shared-data-source/video-window.js +97 -94
  389. package/lib/shared-data-source/waiting-room.d.ts +29 -2
  390. package/lib/shared-data-source/waiting-room.js +103 -39
  391. package/lib/translations/enUS.d.ts +25 -12
  392. package/lib/translations/enUS.js +47 -68
  393. package/lib/translations/zhCN.d.ts +26 -12
  394. package/lib/translations/zhCN.js +63 -83
  395. package/lib/type.d.ts +64 -48
  396. package/lib/type.js +14 -1
  397. package/lib/ui-manager.d.ts +3 -2
  398. package/lib/ui-manager.js +8 -7
  399. package/lib/ui-scene.d.ts +7 -1
  400. package/lib/ui-scene.js +187 -97
  401. package/lib/utilities/constant.d.ts +7 -3
  402. package/lib/utilities/constant.js +4 -0
  403. package/lib/utilities/default-config.d.ts +5 -1
  404. package/lib/utilities/default-config.js +28 -2
  405. package/lib/utilities/logger.d.ts +8 -0
  406. package/lib/utilities/logger.js +42 -0
  407. package/lib/utilities/meeting-detail.js +11 -10
  408. package/lib/utilities/parameters.d.ts +4 -0
  409. package/lib/utilities/parameters.js +13 -1
  410. package/lib/utilities/renderer.d.ts +1 -0
  411. package/lib/utilities/renderer.js +4 -1
  412. package/lib/utilities/tools.d.ts +7 -6
  413. package/lib/utilities/tools.js +2 -6
  414. package/lib/utilities/validate-params.d.ts +2 -0
  415. package/lib/utilities/validate-params.js +16 -0
  416. package/lib/waiting-room-control-manager.d.ts +28 -0
  417. package/lib/waiting-room-control-manager.js +212 -0
  418. package/lib/widget-sdk.d.ts +2 -0
  419. package/lib/widget-sdk.js +13 -0
  420. package/package.json +7 -6
  421. package/public/index.html +12 -6
@@ -1,37 +1,92 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.symbol.description.js");
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
+ require("core-js/modules/es.array.is-array.js");
9
+ require("core-js/modules/es.array.push.js");
10
+ require("core-js/modules/es.date.to-primitive.js");
11
+ require("core-js/modules/es.function.name.js");
12
+ require("core-js/modules/es.map.js");
13
+ require("core-js/modules/es.number.constructor.js");
14
+ require("core-js/modules/es.object.create.js");
3
15
  require("core-js/modules/es.object.define-property.js");
16
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
17
+ require("core-js/modules/esnext.function.metadata.js");
18
+ require("core-js/modules/esnext.map.delete-all.js");
19
+ require("core-js/modules/esnext.map.emplace.js");
20
+ require("core-js/modules/esnext.map.every.js");
21
+ require("core-js/modules/esnext.map.filter.js");
22
+ require("core-js/modules/esnext.map.find.js");
23
+ require("core-js/modules/esnext.map.find-key.js");
24
+ require("core-js/modules/esnext.map.includes.js");
25
+ require("core-js/modules/esnext.map.key-of.js");
26
+ require("core-js/modules/esnext.map.map-keys.js");
27
+ require("core-js/modules/esnext.map.map-values.js");
28
+ require("core-js/modules/esnext.map.merge.js");
29
+ require("core-js/modules/esnext.map.reduce.js");
30
+ require("core-js/modules/esnext.map.some.js");
31
+ require("core-js/modules/esnext.map.update.js");
32
+ require("core-js/modules/esnext.symbol.metadata.js");
4
33
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
34
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
35
  Object.defineProperty(exports, "__esModule", {
6
36
  value: true
7
37
  });
8
38
  exports.FcrUIChatProviderImpl = void 0;
39
+ require("core-js/modules/es.array.iterator.js");
9
40
  require("core-js/modules/es.function.bind.js");
41
+ require("core-js/modules/es.object.to-string.js");
42
+ require("core-js/modules/es.string.iterator.js");
43
+ require("core-js/modules/es.weak-map.js");
44
+ require("core-js/modules/esnext.weak-map.delete-all.js");
45
+ require("core-js/modules/esnext.weak-map.emplace.js");
46
+ require("core-js/modules/web.dom-collections.iterator.js");
47
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
48
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
49
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
50
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
51
  var _imports = require("fcr-core/lib/imports");
14
- var _type = require("fcr-core/lib/room-control/type");
52
+ var _type = require("fcr-core/lib/room-control/chatroom-control/type");
53
+ var _type2 = require("fcr-core/lib/room-control/type");
15
54
  var _base = require("../base");
55
+ var _mobx = require("mobx");
56
+ var _type3 = require("../type");
57
+ var _FcrUIChatProviderImpl;
58
+ var _initProto, _init_chatConnectionState;
59
+ function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
60
+ function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
61
+ function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
62
+ function _classPrivateFieldGet(s, a) { return s.get(_assertClassBrand(s, a)); }
63
+ function _assertClassBrand(e, t, n) { if ("function" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n; throw new TypeError("Private element is not present on this object"); }
64
+ function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function set(e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { return e[n]; }, (o < 2 || 4 === o) && (F = function F(e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function s(t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
65
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
66
+ 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); }
67
+ 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; }
68
+ 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; }
69
+ var _A = /*#__PURE__*/new WeakMap();
16
70
  var FcrUIChatProviderImpl = exports.FcrUIChatProviderImpl = /*#__PURE__*/function () {
17
71
  function FcrUIChatProviderImpl(_currentRoomControl, _roomProvider) {
18
72
  var _currentRoomControl$g,
19
73
  _this = this;
20
74
  (0, _classCallCheck2["default"])(this, FcrUIChatProviderImpl);
21
- (0, _defineProperty2["default"])(this, "_observable", new _imports.AgoraObservable());
75
+ (0, _defineProperty2["default"])(this, "_observable", (_initProto(this), new _imports.AgoraObservable()));
22
76
  (0, _defineProperty2["default"])(this, "_latestsMessageInfo", {
23
77
  notifyMsgs: [],
24
- currentRoomType: _type.FcrRoomType.Mainroom
78
+ currentRoomType: _type3.FcrUIRoomType.MAIN_ROOM
25
79
  });
26
80
  (0, _defineProperty2["default"])(this, "_chatRoomObserver", {
27
81
  onTextMessageReceived: this._handleTextMessageReceived.bind(this),
28
82
  onConnectionStateUpdated: this._handleConnectionUpdated.bind(this)
29
83
  });
84
+ _classPrivateFieldInitSpec(this, _A, _init_chatConnectionState(this, _type.FcrChatRoomConnectionState.Disconnected));
30
85
  (0, _defineProperty2["default"])(this, "_waitingChatRoomObserver", {
31
86
  onTextMessageReceived: this._handleWaitingRoomTextMessageReceived.bind(this),
32
87
  onConnectionStateUpdated: this._handleWaitingRoomConnectionUpdated.bind(this)
33
88
  });
34
- if (((_currentRoomControl$g = _currentRoomControl.getRoomInfo()) === null || _currentRoomControl$g === void 0 ? void 0 : _currentRoomControl$g.roomType) === _type.FcrRoomType.Mainroom) {
89
+ if (((_currentRoomControl$g = _currentRoomControl.getRoomInfo()) === null || _currentRoomControl$g === void 0 ? void 0 : _currentRoomControl$g.roomType) === _type2.FcrRoomType.Mainroom) {
35
90
  _currentRoomControl.getChatRoomControl().addObserver(this._chatRoomObserver);
36
91
  _roomProvider.addObserver({
37
92
  onJoinWaitingRoom: function onJoinWaitingRoom(roomControl) {
@@ -43,6 +98,14 @@ var FcrUIChatProviderImpl = exports.FcrUIChatProviderImpl = /*#__PURE__*/functio
43
98
  }
44
99
  }
45
100
  return (0, _createClass2["default"])(FcrUIChatProviderImpl, [{
101
+ key: "chatConnectionState",
102
+ get: function get() {
103
+ return _classPrivateFieldGet(_A, this);
104
+ },
105
+ set: function set(v) {
106
+ _classPrivateFieldSet(_A, this, v);
107
+ }
108
+ }, {
46
109
  key: "latestsMessageInfo",
47
110
  get: function get() {
48
111
  return this._latestsMessageInfo;
@@ -59,22 +122,23 @@ var FcrUIChatProviderImpl = exports.FcrUIChatProviderImpl = /*#__PURE__*/functio
59
122
  }, {
60
123
  key: "_handleTextMessageReceived",
61
124
  value: function _handleTextMessageReceived(_roomId, msg) {
62
- this._observable.notifyObservers('onNewChatMessageReceived', _roomId, msg, _type.FcrRoomType.Mainroom);
125
+ this._observable.notifyObservers('onNewChatMessageReceived', _roomId, msg, _type3.FcrUIRoomType.MAIN_ROOM);
63
126
  }
64
127
  }, {
65
128
  key: "_handleConnectionUpdated",
66
129
  value: function _handleConnectionUpdated(_, state) {
67
- this._observable.notifyObservers('onChatRoomConnectionStateUpdated', _, state, _type.FcrRoomType.Mainroom);
130
+ this.chatConnectionState = state;
131
+ this._observable.notifyObservers('onChatRoomConnectionStateUpdated', _, state, _type3.FcrUIRoomType.MAIN_ROOM);
68
132
  }
69
133
  }, {
70
134
  key: "_handleWaitingRoomTextMessageReceived",
71
135
  value: function _handleWaitingRoomTextMessageReceived(_roomId, msg) {
72
- this._observable.notifyObservers('onNewChatMessageReceived', _roomId, msg, _type.FcrRoomType.Waitingroom);
136
+ this._observable.notifyObservers('onNewChatMessageReceived', _roomId, msg, _type3.FcrUIRoomType.WAITING_ROOM);
73
137
  }
74
138
  }, {
75
139
  key: "_handleWaitingRoomConnectionUpdated",
76
140
  value: function _handleWaitingRoomConnectionUpdated(_, state) {
77
- this._observable.notifyObservers('onChatRoomConnectionStateUpdated', _, state, _type.FcrRoomType.Waitingroom);
141
+ this._observable.notifyObservers('onChatRoomConnectionStateUpdated', _, state, _type3.FcrUIRoomType.WAITING_ROOM);
78
142
  }
79
143
  }, {
80
144
  key: "addObserver",
@@ -88,4 +152,8 @@ var FcrUIChatProviderImpl = exports.FcrUIChatProviderImpl = /*#__PURE__*/functio
88
152
  }
89
153
  }]);
90
154
  }();
155
+ _FcrUIChatProviderImpl = FcrUIChatProviderImpl;
156
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIChatProviderImpl, [[_mobx.observable, 1, "chatConnectionState"]], []).e, 2);
157
+ _init_chatConnectionState = _applyDecs$e[0];
158
+ _initProto = _applyDecs$e[1];
91
159
  (0, _base.registerDependency)('chatProvider');
@@ -1,4 +1,6 @@
1
1
  import { FcrPrivilegeControl, FcrStreamControl, FcrUserControl } from 'fcr-core';
2
+ import { FcrUIMessageProvider } from './message-provider';
3
+ import { FcrUIDeviceProvider } from './device-provider';
2
4
  export interface FcrUIDevicePrivilegeObserver {
3
5
  /**
4
6
  * 可开启摄像头权限变更
@@ -55,6 +57,8 @@ export declare class FcrUIDevicePrivilegeProviderImpl implements FcrUIDevicePriv
55
57
  private _privilegeControl;
56
58
  private _streamControl;
57
59
  private _userControl;
60
+ private _deviceProvider;
61
+ private _messageProvider;
58
62
  private _firstGetMicrophonePrivilege;
59
63
  private _observable;
60
64
  private _privilegeObserver;
@@ -63,7 +67,7 @@ export declare class FcrUIDevicePrivilegeProviderImpl implements FcrUIDevicePriv
63
67
  private _alwaysHasMicrophonePrivilege;
64
68
  private _autoUpdateVideoStreamPrivilege;
65
69
  private _autoUpdateAudioStreamPrivilege;
66
- constructor(_privilegeControl: FcrPrivilegeControl, _streamControl: FcrStreamControl, _userControl: FcrUserControl);
70
+ constructor(_privilegeControl: FcrPrivilegeControl, _streamControl: FcrStreamControl, _userControl: FcrUserControl, _deviceProvider: FcrUIDeviceProvider, _messageProvider: FcrUIMessageProvider);
67
71
  release(): void;
68
72
  setAlwaysHasCameraPrivilege(enable: boolean): void;
69
73
  setAlwaysHasMicrophonePrivilege(enable: boolean): void;
@@ -25,8 +25,9 @@ var _base = require("../base");
25
25
  var _fcrCore = require("fcr-core");
26
26
  var _type = require("fcr-core/lib/room-control/privilege-control/type");
27
27
  var _privilege = require("../utilities/privilege");
28
+ var _i18n = require("agora-ui-foundation/lib/i18n");
28
29
  var FcrUIDevicePrivilegeProviderImpl = exports.FcrUIDevicePrivilegeProviderImpl = /*#__PURE__*/function () {
29
- function FcrUIDevicePrivilegeProviderImpl(_privilegeControl, _streamControl, _userControl) {
30
+ function FcrUIDevicePrivilegeProviderImpl(_privilegeControl, _streamControl, _userControl, _deviceProvider, _messageProvider) {
30
31
  var _this = this;
31
32
  (0, _classCallCheck2["default"])(this, FcrUIDevicePrivilegeProviderImpl);
32
33
  (0, _defineProperty2["default"])(this, "_firstGetMicrophonePrivilege", true);
@@ -38,6 +39,8 @@ var FcrUIDevicePrivilegeProviderImpl = exports.FcrUIDevicePrivilegeProviderImpl
38
39
  this._privilegeControl = _privilegeControl;
39
40
  this._streamControl = _streamControl;
40
41
  this._userControl = _userControl;
42
+ this._deviceProvider = _deviceProvider;
43
+ this._messageProvider = _messageProvider;
41
44
  var localUserId = this._userControl.getLocalUser().userId;
42
45
  this._privilegeObserver = {
43
46
  onLocalUserPermissionInfoAdded: function () {
@@ -185,6 +188,23 @@ var FcrUIDevicePrivilegeProviderImpl = exports.FcrUIDevicePrivilegeProviderImpl
185
188
  if (!_this._alwaysHasMicrophonePrivilege) {
186
189
  _this._observable.notifyObservers('onOpenMicrophonePrivilegeUpdated', hasAudio);
187
190
  if (hasNoAudio) {
191
+ var _event$operatorUser;
192
+ var operatorUserRole = ((_event$operatorUser = event.operatorUser) === null || _event$operatorUser === void 0 ? void 0 : _event$operatorUser.userRole) || _fcrCore.FcrUserRole.HOST;
193
+ if (_this._deviceProvider.microphoneEnabled) {
194
+ if (operatorUserRole === _fcrCore.FcrUserRole.COHOST) {
195
+ _this._messageProvider.showToast({
196
+ type: 'error',
197
+ message: (0, _i18n.transI18n)('fmt_attendies_tips_receive_mute_you', {
198
+ reason1: (0, _i18n.transI18n)('fmt_role_cohost')
199
+ })
200
+ });
201
+ } else if (operatorUserRole === _fcrCore.FcrUserRole.HOST) {
202
+ _this._messageProvider.showToast({
203
+ type: 'error',
204
+ message: (0, _i18n.transI18n)('fmt_uimanager_tips_urmuted')
205
+ });
206
+ }
207
+ }
188
208
  _this._observable.notifyObservers('onMicrophoneNeedClosed');
189
209
  }
190
210
  }
@@ -111,6 +111,7 @@ var _mobx = require("mobx");
111
111
  var _virtualBackdoundResources = require("../modules/device-pretest/assets/virtual-backdound-resources");
112
112
  var _type2 = require("../type");
113
113
  var _tools = require("../utilities/tools");
114
+ var _logger = require("../utilities/logger");
114
115
  var _FcrUIDeviceProviderImpl;
115
116
  var _initProto, _init__microphoneDeviceId, _init__speakerDeviceId, _init_currentIsMirror, _init_showForceOpenEffectDialog, _init_cameraId, _init_microphoneId, _init_speakerId, _init_cameraEnabled, _init_showCameraPreview, _init_microphoneEnabled, _init_cameraList, _init_microphoneList, _init_microphoneVolumeLevel, _init_speakerList, _init_isLocalMirrorEnabled, _init_isLocalEditBeautyOptions, _init_speakerVolumeLevel, _init_speakerVolume, _init_microphoneVolume, _init_virtualBackgroundName, _init_enableBeauty, _init_beautyKey, _init_beautyOptions, _init_virtualBackgroundList, _init_soundEffectList, _init_microphoneDetecting, _init_speakerDetecting, _init_connectType, _init_isMainRoomAudioOff, _startPlayLocalVideoDecs, _stopPlayLocalVideoDecs, _startSpeakerTestDecs, _stopSpeakerTestDecs, _setCurrentIsMirrorDecs, _toggleLocalMirrorPreviewDecs, _setBeautyOptionsDecs, _handleCancelForceOpenVideoEffectDecs, _handleForceOpenVideoEffectDecs, _setCameraEnabledDecs, _setMicrophoneEnabledDecs, _toggleLocalMirrorDecs, _resetMirrorDecs, _startMicrophoneTestDecs, _stopMicrophoneTestDecs, _enableVirtualBackgroundDecs, _setEditBeautyKeyDecs, _enableBeautyEffectDecs, _setCameraIdDecs, _setSpeakerIdDecs, _setMicrophoneIdDecs, _setSpeakerVolumeDecs, _setMicrophoneVolumeDecs, _downloadUiResourcesDecs, _setConnectTypeDecs, _updateVirtualBackgroundListDecs, _handleSpeakerTestVolumeIndicationUpdatedDecs, _handleSpeakerVolumeUpdatedDecs, _handleMicrophoneVolumeIndicationUpdatedDecs, _handleSpeakerAddedDecs, _handleSpeakerRemovedDecs, _handleSpeakerListUpdatedDecs, _setMainRoomAudioOffDecs, _ref;
116
117
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
@@ -159,7 +160,9 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
159
160
  function FcrUIDeviceProviderImpl(_eventProvider, _mediaControl, _mediaConfig) {
160
161
  var _this = this;
161
162
  (0, _classCallCheck2["default"])(this, FcrUIDeviceProviderImpl);
162
- (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _imports.getLogger)()));
163
+ (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.createLogger)({
164
+ prefix: 'FcrUIDeviceProviderImpl'
165
+ })));
163
166
  (0, _defineProperty2["default"])(this, "_observable", new _imports.AgoraObservable());
164
167
  (0, _defineProperty2["default"])(this, "_listeners", []);
165
168
  (0, _defineProperty2["default"])(this, "_hasExecutedOpenCamera", false);
@@ -184,7 +187,7 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
184
187
  // real speaker device id
185
188
  _classPrivateFieldInitSpec(this, _B, _init__speakerDeviceId(this, ''));
186
189
  // 是否开启镜像
187
- _classPrivateFieldInitSpec(this, _C, _init_currentIsMirror(this, false));
190
+ _classPrivateFieldInitSpec(this, _C, _init_currentIsMirror(this, true));
188
191
  // 是否展示展示强制开启特效弹窗
189
192
  _classPrivateFieldInitSpec(this, _D, _init_showForceOpenEffectDialog(this, false));
190
193
  // selected camera id, it is the real device id
@@ -1,27 +1,38 @@
1
1
  import { FcrBaseRoomControl } from 'fcr-core/lib/room-control/type';
2
2
  import { FcrUIDeviceProvider } from '../providers/device-provider';
3
- import { FcrUIEventProvider } from '../providers/event-provider';
3
+ import { FcrUISharedInterpreterDataSource } from '../shared-data-source/interpreter';
4
4
  import { FcrUIDevicePrivilegeProvider } from './device-privilege-provider';
5
5
  import { FcrUISharedDevicePrivilegeDataSource } from '../shared-data-source/device-privilege-data';
6
+ import { FcrUIInterpreterProvider } from './interpreter-provider';
7
+ import { FcrUIMessageProvider } from './message-provider';
8
+ import { FcrUIDialogProvider } from './dialog-provider';
6
9
  export interface FcrUIDeviceStreamProvider {
7
10
  enableCameraWithPreCheck(enable: boolean): void;
8
11
  enableMicrophoneWithPreCheck(enable: boolean): void;
12
+ checkoutDevicePermission(mediaType: 'camera' | 'microphone'): void;
9
13
  }
10
14
  export declare class FcrUIDeviceStreamProviderImpl implements FcrUIDeviceStreamProvider {
11
15
  protected logger: import("agora-foundation/lib/logger").Logger;
12
16
  private _roomControl;
13
17
  private _deviceProvider;
14
- private _eventProvider;
18
+ private _messageProvider;
19
+ private _dialogProvider;
20
+ private _streamControl;
15
21
  private _cameraDeviceId;
16
22
  private _microphoneDeviceId;
17
23
  private _devicePrivilegeProvider;
18
24
  private _sharedDevicePrivilegeDataSource;
25
+ private _interpreterProvider;
26
+ private _sharedInterpreterDataSource;
19
27
  private get _localUser();
20
28
  private _devicePrivilegeObserver;
21
29
  private _handleOnCameraNeedClosed;
22
30
  private _handleOnMicrophoneNeedClosed;
23
31
  private get _localCameraStream();
24
- constructor(roomControl: FcrBaseRoomControl, deviceProvider: FcrUIDeviceProvider, eventProvider: FcrUIEventProvider, devicePrivilegeProvider: FcrUIDevicePrivilegeProvider, sharedDevicePrivilegeDataSource: FcrUISharedDevicePrivilegeDataSource);
32
+ private _streamControlObserver;
33
+ private _deviceProviderObserver;
34
+ private _interpreterProviderObserver;
35
+ constructor(roomControl: FcrBaseRoomControl, deviceProvider: FcrUIDeviceProvider, messageProvider: FcrUIMessageProvider, dialogProvider: FcrUIDialogProvider, devicePrivilegeProvider: FcrUIDevicePrivilegeProvider, sharedDevicePrivilegeDataSource: FcrUISharedDevicePrivilegeDataSource, interpreterProvider?: FcrUIInterpreterProvider | null, sharedInterpreterDataSource?: FcrUISharedInterpreterDataSource | null);
25
36
  checkoutDevicePermission(mediaType: 'camera' | 'microphone'): Promise<boolean>;
26
37
  enableCameraWithPreCheck(enable: boolean): Promise<void>;
27
38
  enableMicrophoneWithPreCheck(enable: boolean): Promise<void>;
@@ -32,4 +43,5 @@ export declare class FcrUIDeviceStreamProviderImpl implements FcrUIDeviceStreamP
32
43
  private _bindLocalAudioStream;
33
44
  private _bindLocalVideoStream;
34
45
  private _handleProcessEvent;
46
+ private _bindLocalInterpreterMicrophoneId;
35
47
  }
@@ -5,6 +5,7 @@ require("core-js/modules/es.symbol.description.js");
5
5
  require("core-js/modules/es.symbol.to-primitive.js");
6
6
  require("core-js/modules/es.error.cause.js");
7
7
  require("core-js/modules/es.error.to-string.js");
8
+ require("core-js/modules/es.array.filter.js");
8
9
  require("core-js/modules/es.array.is-array.js");
9
10
  require("core-js/modules/es.array.iterator.js");
10
11
  require("core-js/modules/es.array.push.js");
@@ -13,10 +14,15 @@ require("core-js/modules/es.function.name.js");
13
14
  require("core-js/modules/es.map.js");
14
15
  require("core-js/modules/es.number.constructor.js");
15
16
  require("core-js/modules/es.object.create.js");
17
+ require("core-js/modules/es.object.define-properties.js");
16
18
  require("core-js/modules/es.object.define-property.js");
17
19
  require("core-js/modules/es.object.get-own-property-descriptor.js");
20
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
21
+ require("core-js/modules/es.object.keys.js");
18
22
  require("core-js/modules/es.string.iterator.js");
23
+ require("core-js/modules/esnext.async-iterator.filter.js");
19
24
  require("core-js/modules/esnext.function.metadata.js");
25
+ require("core-js/modules/esnext.iterator.filter.js");
20
26
  require("core-js/modules/esnext.map.delete-all.js");
21
27
  require("core-js/modules/esnext.map.emplace.js");
22
28
  require("core-js/modules/esnext.map.every.js");
@@ -40,12 +46,17 @@ Object.defineProperty(exports, "__esModule", {
40
46
  });
41
47
  exports.FcrUIDeviceStreamProviderImpl = void 0;
42
48
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
49
+ require("core-js/modules/es.array.concat.js");
43
50
  require("core-js/modules/es.array.find.js");
51
+ require("core-js/modules/es.array.for-each.js");
44
52
  require("core-js/modules/es.function.bind.js");
45
53
  require("core-js/modules/es.object.to-string.js");
46
54
  require("core-js/modules/esnext.async-iterator.find.js");
55
+ require("core-js/modules/esnext.async-iterator.for-each.js");
47
56
  require("core-js/modules/esnext.iterator.constructor.js");
48
57
  require("core-js/modules/esnext.iterator.find.js");
58
+ require("core-js/modules/esnext.iterator.for-each.js");
59
+ require("core-js/modules/web.dom-collections.for-each.js");
49
60
  var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
50
61
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
51
62
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
@@ -54,15 +65,21 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
54
65
  var _decorator = require("agora-foundation/lib/decorator");
55
66
  var _mobx = require("mobx");
56
67
  var _type = require("agora-rte-sdk/lib/core/rtc/type");
57
- var _logger = require("agora-foundation/lib/logger");
58
68
  var _i18n = require("agora-ui-foundation/lib/i18n");
59
69
  var _rendererEvent = require("../utilities/renderer-event");
60
70
  var _type2 = require("fcr-core/lib/room-control/type");
61
71
  var _env = require("agora-foundation/lib/utilities/env");
62
72
  var _constant = require("../utilities/constant");
63
73
  var _base = require("../base");
74
+ var _bg = _interopRequireDefault(require("../modules/dialog/components/system-preference/assets/bg1.png"));
75
+ var _bg2 = _interopRequireDefault(require("../modules/dialog/components/system-preference/assets/bg2.png"));
76
+ var _fcrCore = require("fcr-core");
77
+ var _type3 = require("../modules/interpreter/type");
78
+ var _logger = require("../utilities/logger");
64
79
  var _FcrUIDeviceStreamProviderImpl;
65
80
  var _initProto, _checkoutDevicePermissionDecs, _enableCameraWithPreCheckDecs, _enableMicrophoneWithPreCheckDecs, _ref;
81
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
82
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
66
83
  function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function set(e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { return e[n]; }, (o < 2 || 4 === o) && (F = function F(e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function s(t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
67
84
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
68
85
  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); }
@@ -70,28 +87,22 @@ function _setFunctionName(e, t, n) { "symbol" == _typeof(t) && (t = (t = t.descr
70
87
  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; }
71
88
  _ref = (_checkoutDevicePermissionDecs = [_mobx.action, _mobx.action.bound], _enableCameraWithPreCheckDecs = [_mobx.action, _mobx.action.bound], _enableMicrophoneWithPreCheckDecs = [_mobx.action, _mobx.action.bound], "logger");
72
89
  var FcrUIDeviceStreamProviderImpl = exports.FcrUIDeviceStreamProviderImpl = /*#__PURE__*/function () {
73
- function FcrUIDeviceStreamProviderImpl(roomControl, deviceProvider, eventProvider, devicePrivilegeProvider, sharedDevicePrivilegeDataSource) {
74
- var _this = this;
90
+ function FcrUIDeviceStreamProviderImpl(roomControl, deviceProvider, messageProvider, dialogProvider, devicePrivilegeProvider, sharedDevicePrivilegeDataSource) {
91
+ var _this = this,
92
+ _this$_interpreterPro;
93
+ var interpreterProvider = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : null;
94
+ var sharedInterpreterDataSource = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : null;
75
95
  (0, _classCallCheck2["default"])(this, FcrUIDeviceStreamProviderImpl);
76
- (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.getLogger)()));
96
+ (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.createLogger)({
97
+ prefix: 'FcrUIDeviceStreamProviderImpl'
98
+ })));
77
99
  (0, _defineProperty2["default"])(this, "_cameraDeviceId", '');
78
100
  (0, _defineProperty2["default"])(this, "_microphoneDeviceId", '');
79
101
  (0, _defineProperty2["default"])(this, "_devicePrivilegeObserver", {
80
102
  onCameraNeedClosed: this._handleOnCameraNeedClosed.bind(this),
81
103
  onMicrophoneNeedClosed: this._handleOnMicrophoneNeedClosed.bind(this)
82
104
  });
83
- this._roomControl = roomControl;
84
- this._deviceProvider = deviceProvider;
85
- this._eventProvider = eventProvider;
86
- this._devicePrivilegeProvider = devicePrivilegeProvider;
87
- this._sharedDevicePrivilegeDataSource = sharedDevicePrivilegeDataSource;
88
- this._deviceProvider.addObserver({
89
- onCameraChanged: this._handleCameraChanged,
90
- onMicrophoneChanged: this._handleMicrophoneChanged
91
- });
92
- this._devicePrivilegeProvider.addObserver(this._devicePrivilegeObserver);
93
- var streamControl = this._roomControl.getStreamControl();
94
- streamControl.addObserver({
105
+ (0, _defineProperty2["default"])(this, "_streamControlObserver", {
95
106
  onStreamsAdded: function onStreamsAdded(_, events) {
96
107
  var _events$find;
97
108
  var localCameraStream = (_events$find = events.find(function (event) {
@@ -113,6 +124,30 @@ var FcrUIDeviceStreamProviderImpl = exports.FcrUIDeviceStreamProviderImpl = /*#_
113
124
  }
114
125
  }
115
126
  });
127
+ (0, _defineProperty2["default"])(this, "_deviceProviderObserver", {
128
+ onCameraChanged: this._handleCameraChanged,
129
+ onMicrophoneChanged: this._handleMicrophoneChanged
130
+ });
131
+ (0, _defineProperty2["default"])(this, "_interpreterProviderObserver", {
132
+ onJoinInterpretingRoomSuccess: function onJoinInterpretingRoomSuccess(param) {
133
+ _this._bindLocalInterpreterMicrophoneId(param.control);
134
+ },
135
+ onLeaveInterpretingRoomSuccess: function onLeaveInterpretingRoomSuccess(param) {
136
+ _this._bindLocalInterpreterMicrophoneId(param.control);
137
+ }
138
+ });
139
+ this._roomControl = roomControl;
140
+ this._deviceProvider = deviceProvider;
141
+ this._messageProvider = messageProvider;
142
+ this._dialogProvider = dialogProvider;
143
+ this._devicePrivilegeProvider = devicePrivilegeProvider;
144
+ this._sharedDevicePrivilegeDataSource = sharedDevicePrivilegeDataSource;
145
+ this._interpreterProvider = interpreterProvider;
146
+ this._sharedInterpreterDataSource = sharedInterpreterDataSource;
147
+ this._deviceProvider.addObserver(this._deviceProviderObserver);
148
+ this._devicePrivilegeProvider.addObserver(this._devicePrivilegeObserver);
149
+ this._streamControl = this._roomControl.getStreamControl();
150
+ this._streamControl.addObserver(this._streamControlObserver);
116
151
  var _this$_deviceProvider = this._deviceProvider.currentDeviceId,
117
152
  cameraDeviceId = _this$_deviceProvider.cameraDeviceId,
118
153
  microphoneDeviceId = _this$_deviceProvider.microphoneDeviceId;
@@ -120,6 +155,7 @@ var FcrUIDeviceStreamProviderImpl = exports.FcrUIDeviceStreamProviderImpl = /*#_
120
155
  this._microphoneDeviceId = microphoneDeviceId;
121
156
  this._initLocalStream();
122
157
  (0, _rendererEvent.addEventListener)(this._handleProcessEvent);
158
+ (_this$_interpreterPro = this._interpreterProvider) === null || _this$_interpreterPro === void 0 || _this$_interpreterPro.addObserver(this._interpreterProviderObserver);
123
159
  }
124
160
  return (0, _createClass2["default"])(FcrUIDeviceStreamProviderImpl, [{
125
161
  key: "_localUser",
@@ -131,7 +167,7 @@ var FcrUIDeviceStreamProviderImpl = exports.FcrUIDeviceStreamProviderImpl = /*#_
131
167
  value: function _handleOnCameraNeedClosed() {
132
168
  if (this._deviceProvider.cameraEnabled) {
133
169
  this._deviceProvider.setCameraEnabled(false);
134
- this._eventProvider.showToast({
170
+ this._messageProvider.showToast({
135
171
  type: 'error',
136
172
  message: (0, _i18n.transI18n)('fmt_uimanager_tips_urturnedoff')
137
173
  });
@@ -142,10 +178,6 @@ var FcrUIDeviceStreamProviderImpl = exports.FcrUIDeviceStreamProviderImpl = /*#_
142
178
  value: function _handleOnMicrophoneNeedClosed() {
143
179
  if (this._deviceProvider.microphoneEnabled) {
144
180
  this._deviceProvider.setMicrophoneEnabled(false);
145
- this._eventProvider.showToast({
146
- type: 'error',
147
- message: (0, _i18n.transI18n)('fmt_uimanager_tips_urmuted')
148
- });
149
181
  }
150
182
  this._sharedDevicePrivilegeDataSource.setShouldIncludeMicrophone(false);
151
183
  }
@@ -161,25 +193,49 @@ var FcrUIDeviceStreamProviderImpl = exports.FcrUIDeviceStreamProviderImpl = /*#_
161
193
  key: "checkoutDevicePermission",
162
194
  value: function () {
163
195
  var _checkoutDevicePermission = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(mediaType) {
164
- var hasSystemPermission;
196
+ var hasSystemPermission, dialogMap;
165
197
  return _regenerator["default"].wrap(function _callee$(_context) {
166
198
  while (1) switch (_context.prev = _context.next) {
167
199
  case 0:
168
200
  hasSystemPermission = true;
201
+ dialogMap = {
202
+ camera: {
203
+ title: (0, _i18n.transI18n)('fmt_camera_popup_label_restricted'),
204
+ desc: (0, _i18n.transI18n)('fmt_camera_popup_label_system_change'),
205
+ img: _bg["default"]
206
+ },
207
+ microphone: {
208
+ title: (0, _i18n.transI18n)('fmt_audio_popup_label_restricted'),
209
+ desc: (0, _i18n.transI18n)('fmt_audio_popup_label_system_change'),
210
+ img: _bg2["default"]
211
+ }
212
+ };
169
213
  if (!(0, _env.isElectron)()) {
170
- _context.next = 5;
214
+ _context.next = 6;
171
215
  break;
172
216
  }
173
- _context.next = 4;
217
+ _context.next = 5;
174
218
  return window.runtime.checkMediaPermission(mediaType);
175
- case 4:
176
- hasSystemPermission = _context.sent;
177
219
  case 5:
220
+ hasSystemPermission = _context.sent;
221
+ case 6:
178
222
  if (!hasSystemPermission) {
179
- this._eventProvider.openDialog(_constant.FcrUIDialogKey.SYSTEM_PREFERENCE, '', mediaType);
223
+ this._dialogProvider.openDialog(_constant.FcrUIDialogKey.SYSTEM_PREFERENCE, '', _objectSpread(_objectSpread({}, dialogMap[mediaType]), {}, {
224
+ buttons: [{
225
+ withClose: true,
226
+ text: (0, _i18n.transI18n)('fmt_audio_popup_button_system_change'),
227
+ onClick: function onClick() {
228
+ window.runtime.openSystemPreferences(mediaType);
229
+ }
230
+ }, {
231
+ withClose: true,
232
+ styleType: 'white',
233
+ text: (0, _i18n.transI18n)('fmt_audio_popup_button_cancel')
234
+ }]
235
+ }));
180
236
  }
181
237
  return _context.abrupt("return", hasSystemPermission);
182
- case 7:
238
+ case 8:
183
239
  case "end":
184
240
  return _context.stop();
185
241
  }
@@ -211,9 +267,9 @@ var FcrUIDeviceStreamProviderImpl = exports.FcrUIDeviceStreamProviderImpl = /*#_
211
267
  _context2.next = 7;
212
268
  break;
213
269
  }
214
- this._eventProvider.showToast({
215
- type: 'warn',
216
- message: (0, _i18n.transI18n)('fmt_uimanager_tips_norightsvideo')
270
+ this._messageProvider.showToast({
271
+ type: 'error',
272
+ message: (0, _i18n.transI18n)('fmt_toolbar_tips_host_forbid_open_camera')
217
273
  });
218
274
  return _context2.abrupt("return");
219
275
  case 7:
@@ -256,9 +312,9 @@ var FcrUIDeviceStreamProviderImpl = exports.FcrUIDeviceStreamProviderImpl = /*#_
256
312
  _context3.next = 7;
257
313
  break;
258
314
  }
259
- this._eventProvider.showToast({
260
- type: 'warn',
261
- message: (0, _i18n.transI18n)('fmt_uimanager_tips_norightsaudio')
315
+ this._messageProvider.showToast({
316
+ type: 'error',
317
+ message: (0, _i18n.transI18n)('fmt_toolbar_tips_host_forbid_open_mic')
262
318
  });
263
319
  return _context3.abrupt("return");
264
320
  case 7:
@@ -284,7 +340,12 @@ var FcrUIDeviceStreamProviderImpl = exports.FcrUIDeviceStreamProviderImpl = /*#_
284
340
  }, {
285
341
  key: "release",
286
342
  value: function release() {
343
+ var _this$_interpreterPro2;
287
344
  (0, _rendererEvent.removeEventListener)(this._handleProcessEvent);
345
+ this._deviceProvider.removeObserver(this._deviceProviderObserver);
346
+ this._streamControl.removeObserver(this._streamControlObserver);
347
+ this._devicePrivilegeProvider.removeObserver(this._devicePrivilegeObserver);
348
+ (_this$_interpreterPro2 = this._interpreterProvider) === null || _this$_interpreterPro2 === void 0 || _this$_interpreterPro2.removeObserver(this._interpreterProviderObserver);
288
349
  }
289
350
  }, {
290
351
  key: "_initLocalStream",
@@ -303,8 +364,15 @@ var FcrUIDeviceStreamProviderImpl = exports.FcrUIDeviceStreamProviderImpl = /*#_
303
364
  }, {
304
365
  key: "_handleMicrophoneChanged",
305
366
  value: function _handleMicrophoneChanged(microphoneDeviceId) {
367
+ var _this$_sharedInterpre,
368
+ _this2 = this;
306
369
  this._microphoneDeviceId = microphoneDeviceId;
307
370
  this._bindLocalAudioStream();
371
+ (_this$_sharedInterpre = this._sharedInterpreterDataSource) === null || _this$_sharedInterpre === void 0 || _this$_sharedInterpre.languageRoomListByStatus.forEach(function (room) {
372
+ if (room.status === _type3.UpdateType.JOIN) {
373
+ _this2._bindLocalInterpreterMicrophoneId(room.control);
374
+ }
375
+ });
308
376
  }
309
377
  }, {
310
378
  key: "_bindLocalAudioStream",
@@ -345,6 +413,22 @@ var FcrUIDeviceStreamProviderImpl = exports.FcrUIDeviceStreamProviderImpl = /*#_
345
413
  break;
346
414
  }
347
415
  }
416
+ }, {
417
+ key: "_bindLocalInterpreterMicrophoneId",
418
+ value: function _bindLocalInterpreterMicrophoneId(control) {
419
+ var streamList = control.getStreamControl().getStreamsByUserId(control.getUserControl().getLocalUser().userId);
420
+ var micStream = streamList.find(function (stream) {
421
+ return stream.audioSourceType === _fcrCore.FcrAudioSourceType.MICROPHONE;
422
+ });
423
+ if (micStream && this._microphoneDeviceId && micStream.audioSourceId !== this._microphoneDeviceId) {
424
+ var _control$getRoomInfo;
425
+ this.logger.info("bind local microphone id to stream: [".concat(micStream.streamId, "], room: ").concat((_control$getRoomInfo = control.getRoomInfo()) === null || _control$getRoomInfo === void 0 ? void 0 : _control$getRoomInfo.roomId));
426
+ control.getStreamControl().bindLocalStreams([{
427
+ streamId: micStream.streamId,
428
+ audioSourceId: this._microphoneDeviceId
429
+ }]);
430
+ }
431
+ }
348
432
  }]);
349
433
  }();
350
434
  _FcrUIDeviceStreamProviderImpl = FcrUIDeviceStreamProviderImpl;