fcr-ui-scene 3.4.1 → 3.4.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 (657) hide show
  1. package/lib/base.d.ts +40 -5
  2. package/lib/base.js +234 -22
  3. package/lib/common/device-store.d.ts +3 -2
  4. package/lib/common/device-store.js +174 -194
  5. package/lib/common/device-stream-store.d.ts +27 -7
  6. package/lib/common/device-stream-store.js +190 -176
  7. package/lib/common/event-store.d.ts +4 -13
  8. package/lib/common/event-store.js +7 -18
  9. package/lib/common/room-store.js +6 -6
  10. package/lib/common/security-store.d.ts +19 -9
  11. package/lib/common/security-store.js +27 -39
  12. package/lib/creator.d.ts +1 -1
  13. package/lib/creator.js +4 -9
  14. package/lib/electron/app.js +5 -4
  15. package/lib/electron/bootstrap-dev.js +0 -9
  16. package/lib/electron/bootstrap-sdk.js +10 -2
  17. package/lib/electron/injections.d.ts +2 -0
  18. package/lib/electron/injections.js +17 -7
  19. package/lib/electron/logger.d.ts +0 -4
  20. package/lib/electron/logger.js +2 -5
  21. package/lib/electron/main.js +1 -1
  22. package/lib/electron/plugins/devtool-shortcut.js +10 -1
  23. package/lib/electron/plugins/meeting-state.js +1 -1
  24. package/lib/electron/preload.js +3 -1
  25. package/lib/electron/tools.js +0 -4
  26. package/lib/electron/window.js +0 -2
  27. package/lib/fragments/control-bar/control-bar-store.d.ts +1 -0
  28. package/lib/fragments/control-bar/control-bar-store.js +9 -4
  29. package/lib/fragments/control-bar/meeting-details/meeting-detail.css +31 -12
  30. package/lib/fragments/control-bar/meeting-details/meeting-details.js +117 -16
  31. package/lib/global.css +5 -0
  32. package/lib/index.d.ts +1 -0
  33. package/lib/index.js +7 -4
  34. package/lib/login-confirm-dialog.d.ts +1 -0
  35. package/lib/login-confirm-dialog.js +7 -2
  36. package/lib/modules/action-bar/action-bar-collapes-items.d.ts +1 -1
  37. package/lib/modules/action-bar/action-bar-collapes-items.js +11 -11
  38. package/lib/modules/action-bar/apps/useInterpreter.js +2 -4
  39. package/lib/modules/action-bar/components/apps/app-item/index.css +1 -2
  40. package/lib/modules/action-bar/components/apps/app-item/index.d.ts +1 -10
  41. package/lib/modules/action-bar/components/apps/app-item/index.js +0 -2
  42. package/lib/modules/action-bar/components/apps/appitems.d.ts +1 -3
  43. package/lib/modules/action-bar/components/apps/appitems.js +2 -5
  44. package/lib/modules/action-bar/components/apps/index.css +2 -2
  45. package/lib/modules/action-bar/components/apps/index.js +2 -3
  46. package/lib/modules/action-bar/components/apps/useAppItemOptions.js +0 -1
  47. package/lib/modules/action-bar/components/collapse/index.d.ts +8 -0
  48. package/lib/modules/action-bar/components/collapse/index.js +218 -0
  49. package/lib/modules/action-bar/components/interpreter/index.d.ts +1 -5
  50. package/lib/modules/action-bar/components/item/index.d.ts +9 -0
  51. package/lib/modules/action-bar/components/{item.js → item/index.js} +2 -4
  52. package/lib/modules/action-bar/components/leave/assign-host.d.ts +1 -8
  53. package/lib/modules/action-bar/components/leave/assign-host.js +1 -1
  54. package/lib/modules/action-bar/components/leave/index.js +9 -26
  55. package/lib/modules/action-bar/components/leave/leave-meeting.d.ts +1 -16
  56. package/lib/modules/action-bar/components/more/index.js +13 -9
  57. package/lib/modules/action-bar/components/more/poppover-content.d.ts +1 -4
  58. package/lib/modules/action-bar/components/more/poppover-content.js +28 -9
  59. package/lib/modules/action-bar/{notification-bar → components/notification-bar}/components/interpreter/index.js +2 -1
  60. package/lib/modules/action-bar/{notification-bar → components/notification-bar}/components/virtual-image/index.js +1 -1
  61. package/lib/modules/action-bar/{notification-bar → components/notification-bar}/index.js +1 -3
  62. package/lib/modules/action-bar/components/participants/index.js +2 -2
  63. package/lib/modules/action-bar/components/placement/index.d.ts +4 -0
  64. package/lib/modules/action-bar/components/placement/index.js +18 -0
  65. package/lib/modules/action-bar/components/record/stop-record-dialog.d.ts +1 -3
  66. package/lib/modules/action-bar/components/screen-share/submenu.js +25 -2
  67. package/lib/modules/action-bar/components/security/index.js +3 -1
  68. package/lib/modules/action-bar/components/smaller/index.d.ts +1 -0
  69. package/lib/modules/action-bar/components/smaller/index.js +52 -0
  70. package/lib/modules/action-bar/components/trigger-output-language/index.d.ts +2 -0
  71. package/lib/modules/action-bar/components/trigger-output-language/index.js +231 -0
  72. package/lib/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.d.ts +3 -0
  73. package/lib/modules/action-bar/{trigger-output-language-room → components/trigger-subscribe-language}/guide-tooltip/index.js +14 -19
  74. package/lib/modules/action-bar/components/trigger-subscribe-language/index.d.ts +5 -0
  75. package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +206 -0
  76. package/lib/modules/action-bar/device/index.js +3 -1
  77. package/lib/modules/action-bar/enums.d.ts +23 -0
  78. package/lib/modules/action-bar/enums.js +35 -0
  79. package/lib/modules/action-bar/index.d.ts +36 -6
  80. package/lib/modules/action-bar/index.dev.d.ts +0 -1
  81. package/lib/modules/action-bar/index.dev.js +94 -121
  82. package/lib/modules/action-bar/index.js +46 -18
  83. package/lib/modules/action-bar/more/index.js +3 -6
  84. package/lib/modules/action-bar/screen-share/index.js +0 -5
  85. package/lib/modules/action-bar/security/index.js +1 -1
  86. package/lib/modules/action-bar/smaller.js +2 -2
  87. package/lib/modules/action-bar/store.d.ts +84 -98
  88. package/lib/modules/action-bar/store.js +567 -713
  89. package/lib/modules/action-bar/switch-output-language-room/index.js +8 -2
  90. package/lib/modules/action-bar/types.d.ts +94 -0
  91. package/lib/modules/action-bar/view.d.ts +1 -2
  92. package/lib/modules/action-bar/view.js +11 -11
  93. package/lib/modules/audio-stream/index.d.ts +22 -10
  94. package/lib/modules/audio-stream/index.js +78 -85
  95. package/lib/modules/chat/chat-bar/index.css +0 -5
  96. package/lib/modules/chat/chat-bar/index.js +14 -16
  97. package/lib/modules/chat/chat-room-store.d.ts +135 -0
  98. package/lib/modules/chat/chat-room-store.js +950 -0
  99. package/lib/modules/chat/chat-select/index.css +3 -6
  100. package/lib/modules/chat/chat-select/index.js +1 -15
  101. package/lib/modules/chat/chat.js +6 -7
  102. package/lib/modules/chat/components/chat-action/index.d.ts +1 -0
  103. package/lib/modules/chat/components/chat-action/index.js +28 -0
  104. package/lib/modules/chat/components/chat-bar/index.css +85 -0
  105. package/lib/modules/chat/components/chat-bar/index.d.ts +3 -0
  106. package/lib/modules/chat/components/chat-bar/index.js +143 -0
  107. package/lib/modules/chat/components/chat-select/index.css +185 -0
  108. package/lib/modules/chat/components/chat-select/index.d.ts +3 -0
  109. package/lib/modules/chat/components/chat-select/index.js +234 -0
  110. package/lib/modules/chat/components/message-list/index.d.ts +4 -0
  111. package/lib/modules/chat/components/message-list/index.js +648 -0
  112. package/lib/modules/chat/index.d.ts +13 -5
  113. package/lib/modules/chat/index.dev.d.ts +0 -1
  114. package/lib/modules/chat/index.dev.js +71 -72
  115. package/lib/modules/chat/index.js +45 -22
  116. package/lib/modules/chat/message-list.js +1 -4
  117. package/lib/modules/chat/mock.d.ts +1 -1
  118. package/lib/modules/chat/store.d.ts +17 -162
  119. package/lib/modules/chat/store.js +95 -964
  120. package/lib/modules/chat/types.d.ts +70 -0
  121. package/lib/modules/chat/types.js +17 -0
  122. package/lib/modules/chat/view.d.ts +10 -0
  123. package/lib/modules/chat/view.js +368 -0
  124. package/lib/modules/components/device-control/components/audio-menu/index.js +4 -3
  125. package/lib/modules/components/device-control/components/microphone/index.js +7 -7
  126. package/lib/modules/components/device-control/components/video-menu/index.js +2 -1
  127. package/lib/modules/components/device-control/store.d.ts +11 -12
  128. package/lib/modules/components/device-control/store.js +46 -50
  129. package/lib/modules/components/leave-meeting/components/assign-host.d.ts +3 -0
  130. package/lib/modules/components/leave-meeting/components/assign-host.js +70 -0
  131. package/lib/modules/components/leave-meeting/components/index.css +125 -0
  132. package/lib/modules/components/leave-meeting/index.d.ts +4 -0
  133. package/lib/modules/components/leave-meeting/index.js +147 -0
  134. package/lib/modules/components/leave-meeting/store.d.ts +31 -0
  135. package/lib/modules/components/leave-meeting/store.js +290 -0
  136. package/lib/modules/components/member-window/index.d.ts +1 -1
  137. package/lib/modules/components/member-window/index.js +12 -10
  138. package/lib/modules/components/security-menu/index.d.ts +2 -0
  139. package/lib/modules/components/security-menu/index.js +35 -39
  140. package/lib/modules/components/tab-frame/index.d.ts +2 -2
  141. package/lib/modules/components/tab-frame/index.js +24 -7
  142. package/lib/modules/connection-gateway/components/computer/index.js +4 -4
  143. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.d.ts +1 -1
  144. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.js +2 -1
  145. package/lib/modules/connection-gateway/components/phone/index.js +4 -3
  146. package/lib/modules/connection-gateway/enums.d.ts +4 -0
  147. package/lib/modules/connection-gateway/enums.js +12 -0
  148. package/lib/modules/connection-gateway/index.d.ts +13 -4
  149. package/lib/modules/connection-gateway/index.js +25 -15
  150. package/lib/modules/connection-gateway/store.d.ts +22 -18
  151. package/lib/modules/connection-gateway/store.js +60 -40
  152. package/lib/modules/connection-gateway/types.d.ts +4 -0
  153. package/lib/modules/connection-gateway/types.js +6 -0
  154. package/lib/modules/connection-gateway/view.js +2 -2
  155. package/lib/modules/control-bar/components/meeting-details/index.js +25 -28
  156. package/lib/modules/control-bar/components/more-actions/index.css +18 -0
  157. package/lib/modules/control-bar/components/more-actions/index.d.ts +1 -5
  158. package/lib/modules/control-bar/components/more-actions/index.js +48 -11
  159. package/lib/modules/control-bar/components/share-state-nav/index.d.ts +1 -7
  160. package/lib/modules/control-bar/components/share-state-nav/index.js +2 -1
  161. package/lib/modules/control-bar/components/stop-live-streaming/stop-button.d.ts +1 -1
  162. package/lib/modules/control-bar/components/stop-live-streaming/stop-button.js +2 -2
  163. package/lib/modules/control-bar/components/transfer-position-icon/index.d.ts +1 -10
  164. package/lib/modules/control-bar/components/transfer-position-icon/index.js +7 -12
  165. package/lib/modules/control-bar/enums.d.ts +21 -0
  166. package/lib/modules/control-bar/enums.js +31 -0
  167. package/lib/modules/control-bar/index.d.ts +30 -7
  168. package/lib/modules/control-bar/index.js +46 -29
  169. package/lib/modules/control-bar/store.d.ts +38 -26
  170. package/lib/modules/control-bar/store.js +172 -286
  171. package/lib/modules/control-bar/types.d.ts +20 -0
  172. package/lib/modules/control-bar/types.js +6 -0
  173. package/lib/modules/control-bar/view.js +68 -36
  174. package/lib/modules/device-pretest/index.js +4 -4
  175. package/lib/modules/device-pretest/settings/beauty.js +2 -1
  176. package/lib/modules/device-pretest/settings/video-settings-basic.js +1 -1
  177. package/lib/modules/device-pretest/settings/virtual-background-setting.js +2 -1
  178. package/lib/modules/device-pretest/store.d.ts +8 -9
  179. package/lib/modules/device-pretest/store.js +51 -37
  180. package/lib/modules/dialog/components/chat/electron.d.ts +1 -1
  181. package/lib/modules/dialog/components/chat/electron.js +19 -10
  182. package/lib/modules/dialog/components/chat/index.js +2 -2
  183. package/lib/modules/dialog/components/confirm/index.js +1 -1
  184. package/lib/modules/dialog/components/connection-gateway/electron.d.ts +1 -1
  185. package/lib/modules/dialog/components/connection-gateway/electron.js +8 -10
  186. package/lib/modules/dialog/components/connection-gateway/index.d.ts +3 -1
  187. package/lib/modules/dialog/components/connection-gateway/index.js +20 -7
  188. package/lib/modules/dialog/components/connection-gateway/tabs.d.ts +6 -0
  189. package/lib/modules/dialog/components/connection-gateway/tabs.js +44 -0
  190. package/lib/modules/dialog/components/control-bar/index.d.ts +5 -1
  191. package/lib/modules/dialog/components/control-bar/index.js +122 -9
  192. package/lib/modules/dialog/components/device-setting/electron.js +6 -2
  193. package/lib/modules/dialog/components/device-setting/index.js +2 -2
  194. package/lib/modules/dialog/components/dialog-container/component/body.js +75 -0
  195. package/lib/modules/{components → dialog/components}/dialog-container/index.css +6 -3
  196. package/lib/modules/{components → dialog/components}/dialog-container/index.d.ts +7 -2
  197. package/lib/modules/{components → dialog/components}/dialog-container/index.js +27 -25
  198. package/lib/modules/dialog/components/interpreter/electron.js +37 -0
  199. package/lib/modules/dialog/components/{Interpreter → interpreter}/index.js +2 -2
  200. package/lib/modules/dialog/components/invite/index.js +32 -7
  201. package/lib/modules/dialog/components/live-streaming/index.js +9 -5
  202. package/lib/modules/dialog/components/participant/electron.js +11 -5
  203. package/lib/modules/dialog/components/participant/index.js +4 -3
  204. package/lib/modules/dialog/components/remove-admit-waiting-room/electron.js +6 -3
  205. package/lib/modules/dialog/components/remove-admit-waiting-room/index.d.ts +1 -1
  206. package/lib/modules/dialog/components/remove-admit-waiting-room/index.js +14 -4
  207. package/lib/modules/dialog/components/share-screen-selection/index.js +9 -5
  208. package/lib/modules/dialog/components/system-preference/electron.js +1 -1
  209. package/lib/modules/dialog/components/system-preference/index.js +0 -2
  210. package/lib/modules/dialog/components/toast/index.js +1 -1
  211. package/lib/modules/dialog/components/video-window/index.d.ts +2 -0
  212. package/lib/modules/dialog/components/video-window/index.js +148 -0
  213. package/lib/modules/dialog/components/whiteboard/index.js +2 -2
  214. package/lib/modules/dialog/dialogs.d.ts +2 -5
  215. package/lib/modules/dialog/dialogs.js +2 -157
  216. package/lib/modules/dialog/hooks/useElectron.d.ts +3 -25
  217. package/lib/modules/dialog/hooks/useElectron.js +90 -36
  218. package/lib/modules/dialog/index.d.ts +30 -4
  219. package/lib/modules/dialog/index.js +61 -7
  220. package/lib/modules/dialog/store.d.ts +46 -12
  221. package/lib/modules/dialog/store.js +121 -68
  222. package/lib/modules/dialog/types/index.d.ts +14 -3
  223. package/lib/modules/dialog/view.js +2 -1
  224. package/lib/modules/event-confirm/index.css +1 -1
  225. package/lib/modules/event-confirm/index.d.ts +13 -6
  226. package/lib/modules/event-confirm/index.js +28 -11
  227. package/lib/modules/event-confirm/store.d.ts +9 -3
  228. package/lib/modules/event-confirm/store.js +16 -10
  229. package/lib/modules/event-confirm/view.js +7 -6
  230. package/lib/modules/event-toast/index.d.ts +7 -6
  231. package/lib/modules/event-toast/index.js +19 -8
  232. package/lib/modules/event-toast/store.d.ts +8 -3
  233. package/lib/modules/event-toast/store.js +15 -8
  234. package/lib/modules/event-toast/view.js +2 -1
  235. package/lib/modules/{Interpreter → interpreter}/action/delete-btn/index.d.ts +2 -2
  236. package/lib/modules/{Interpreter → interpreter}/action/edit-btn/index.js +2 -2
  237. package/lib/modules/{Interpreter → interpreter}/action/switch-btn/index.js +5 -5
  238. package/lib/modules/{Interpreter → interpreter}/constant.d.ts +0 -4
  239. package/lib/modules/{Interpreter → interpreter}/constant.js +3 -45
  240. package/lib/modules/{Interpreter → interpreter}/dialog-content/index.d.ts +2 -2
  241. package/lib/modules/{Interpreter → interpreter}/dialog-content/index.js +4 -4
  242. package/lib/modules/interpreter/index.d.ts +15 -0
  243. package/lib/modules/{Interpreter → interpreter}/index.js +23 -8
  244. package/lib/modules/{Interpreter → interpreter}/interpreter-list/index.js +2 -2
  245. package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/index.d.ts +2 -2
  246. package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/index.js +5 -8
  247. package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/index.js +0 -2
  248. package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-user/index.d.ts +2 -2
  249. package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-user/index.js +14 -18
  250. package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/index.d.ts +2 -2
  251. package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/index.js +2 -2
  252. package/lib/modules/interpreter/store.d.ts +50 -0
  253. package/lib/modules/interpreter/store.js +584 -0
  254. package/lib/modules/interpreter/type.d.ts +24 -0
  255. package/lib/modules/interpreter/type.js +12 -0
  256. package/lib/modules/{Interpreter → interpreter}/utils.d.ts +1 -5
  257. package/lib/modules/interpreter/utils.js +80 -0
  258. package/lib/modules/{Interpreter → interpreter}/view.js +19 -3
  259. package/lib/modules/invite/components/error-tips.d.ts +4 -0
  260. package/lib/modules/invite/components/error-tips.js +18 -0
  261. package/lib/modules/invite/components/pstn-invite.d.ts +2 -0
  262. package/lib/modules/invite/components/pstn-invite.js +288 -0
  263. package/lib/modules/invite/components/voip-invite.d.ts +1 -0
  264. package/lib/modules/invite/components/voip-invite.js +276 -0
  265. package/lib/modules/invite/enums.d.ts +22 -0
  266. package/lib/modules/invite/enums.js +34 -0
  267. package/lib/modules/invite/index.d.ts +7 -8
  268. package/lib/modules/invite/index.js +17 -15
  269. package/lib/modules/invite/store.d.ts +13 -26
  270. package/lib/modules/invite/store.js +62 -26
  271. package/lib/modules/invite/types.d.ts +14 -0
  272. package/lib/modules/invite/types.js +6 -0
  273. package/lib/modules/invite/view.d.ts +0 -4
  274. package/lib/modules/invite/view.js +7 -11
  275. package/lib/modules/invite/voip-invite.js +3 -3
  276. package/lib/modules/layout/components/Aside.js +34 -17
  277. package/lib/modules/layout/components/Carousel.js +3 -2
  278. package/lib/modules/layout/components/Gallery.js +3 -3
  279. package/lib/modules/layout/components/Layout.js +4 -7
  280. package/lib/modules/layout/components/index.d.ts +1 -1
  281. package/lib/modules/layout/components/index.js +4 -5
  282. package/lib/modules/layout/components/who-is-speaking.d.ts +2 -0
  283. package/lib/modules/layout/components/who-is-speaking.js +60 -0
  284. package/lib/modules/layout/index.d.ts +26 -4
  285. package/lib/modules/layout/index.dev.d.ts +0 -1
  286. package/lib/modules/layout/index.dev.js +312 -386
  287. package/lib/modules/layout/index.js +25 -10
  288. package/lib/modules/layout/member-window/index.css +9 -22
  289. package/lib/modules/layout/member-window/index.d.ts +1 -1
  290. package/lib/modules/layout/member-window/index.js +26 -27
  291. package/lib/modules/layout/store.d.ts +61 -71
  292. package/lib/modules/layout/store.js +311 -576
  293. package/lib/modules/layout/type.js +2 -0
  294. package/lib/modules/layout/video-window-datasource.js +0 -4
  295. package/lib/modules/layout/view.d.ts +2 -0
  296. package/lib/modules/layout/view.js +127 -2
  297. package/lib/modules/live-streaming/index.d.ts +15 -7
  298. package/lib/modules/live-streaming/index.dev.js +13 -13
  299. package/lib/modules/live-streaming/index.js +20 -15
  300. package/lib/modules/live-streaming/store.d.ts +21 -14
  301. package/lib/modules/live-streaming/store.js +83 -144
  302. package/lib/modules/live-streaming/view.js +2 -2
  303. package/lib/modules/notification/index.d.ts +9 -11
  304. package/lib/modules/notification/index.js +21 -14
  305. package/lib/modules/notification/interpreter-status/index.js +3 -3
  306. package/lib/modules/notification/store.d.ts +5 -11
  307. package/lib/modules/notification/store.js +12 -62
  308. package/lib/modules/notification/view.d.ts +5 -3
  309. package/lib/modules/notification/view.js +8 -5
  310. package/lib/modules/offscreen-pulling/index.js +1 -2
  311. package/lib/modules/participant/attendee/index.css +51 -0
  312. package/lib/modules/participant/attendee/index.d.ts +5 -8
  313. package/lib/modules/participant/attendee/index.js +15 -64
  314. package/lib/modules/participant/components/attendee/components/microphone-indicator/index.d.ts +6 -0
  315. package/lib/modules/participant/components/attendee/components/microphone-indicator/index.js +28 -0
  316. package/lib/modules/participant/components/attendee/components/user-avatar/index.d.ts +7 -0
  317. package/lib/modules/participant/components/attendee/components/user-avatar/index.js +39 -0
  318. package/lib/modules/participant/components/attendee/index.css +69 -0
  319. package/lib/modules/participant/components/attendee/index.d.ts +4 -0
  320. package/lib/modules/participant/components/attendee/index.js +334 -0
  321. package/lib/modules/participant/components/can-moveable/index.d.ts +1 -0
  322. package/lib/modules/participant/components/can-moveable/index.js +68 -0
  323. package/lib/modules/participant/components/drop-menu/index.js +8 -11
  324. package/lib/modules/participant/components/footer/buttons.d.ts +2 -3
  325. package/lib/modules/participant/components/footer/buttons.js +2 -3
  326. package/lib/modules/participant/components/footer/index.js +2 -2
  327. package/lib/modules/participant/components/mute-all/index.d.ts +3 -4
  328. package/lib/modules/participant/components/mute-all/index.js +31 -44
  329. package/lib/modules/participant/components/operate-waitingroom-member/index.d.ts +2 -0
  330. package/lib/modules/participant/components/operate-waitingroom-member/index.js +48 -0
  331. package/lib/modules/participant/components/participants/index.js +27 -51
  332. package/lib/modules/participant/components/user-action/index.d.ts +17 -0
  333. package/lib/modules/participant/components/user-action/index.js +167 -0
  334. package/lib/modules/participant/index.d.ts +34 -7
  335. package/lib/modules/participant/index.dev.d.ts +0 -1
  336. package/lib/modules/participant/index.dev.js +87 -116
  337. package/lib/modules/participant/index.js +39 -15
  338. package/lib/modules/participant/member-list-data-source.d.ts +4 -1
  339. package/lib/modules/participant/member-list-data-source.js +57 -33
  340. package/lib/modules/participant/store.d.ts +58 -25
  341. package/lib/modules/participant/store.js +321 -303
  342. package/lib/modules/participant/type.d.ts +45 -1
  343. package/lib/modules/participant/type.js +15 -1
  344. package/lib/modules/pc-audio-connect/index.css +12 -0
  345. package/lib/modules/pc-audio-connect/index.d.ts +22 -0
  346. package/lib/modules/pc-audio-connect/index.js +68 -0
  347. package/lib/modules/pc-audio-connect/store.d.ts +46 -0
  348. package/lib/modules/pc-audio-connect/store.js +300 -0
  349. package/lib/modules/pc-audio-connect/types.d.ts +0 -0
  350. package/lib/modules/pc-audio-connect/types.js +1 -0
  351. package/lib/modules/pc-audio-connect/view.d.ts +3 -0
  352. package/lib/modules/pc-audio-connect/view.js +66 -0
  353. package/lib/modules/phone-audio-connect/components/callinfo/index.css +36 -0
  354. package/lib/modules/phone-audio-connect/components/callinfo/index.d.ts +10 -0
  355. package/lib/modules/phone-audio-connect/components/callinfo/index.js +78 -0
  356. package/lib/modules/phone-audio-connect/components/calling/index.css +72 -0
  357. package/lib/modules/phone-audio-connect/components/calling/index.d.ts +7 -0
  358. package/lib/modules/phone-audio-connect/components/calling/index.js +58 -0
  359. package/lib/modules/phone-audio-connect/components/remeber/index.css +10 -0
  360. package/lib/modules/phone-audio-connect/components/remeber/index.d.ts +5 -0
  361. package/lib/modules/phone-audio-connect/components/remeber/index.js +24 -0
  362. package/lib/modules/phone-audio-connect/components/useing/index.css +46 -0
  363. package/lib/modules/phone-audio-connect/components/useing/index.d.ts +3 -0
  364. package/lib/modules/phone-audio-connect/components/useing/index.js +36 -0
  365. package/lib/modules/phone-audio-connect/enums.d.ts +4 -0
  366. package/lib/modules/phone-audio-connect/enums.js +12 -0
  367. package/lib/modules/phone-audio-connect/index.css +56 -0
  368. package/lib/modules/phone-audio-connect/index.d.ts +16 -0
  369. package/lib/modules/phone-audio-connect/index.js +63 -0
  370. package/lib/modules/phone-audio-connect/store.d.ts +46 -0
  371. package/lib/modules/phone-audio-connect/store.js +317 -0
  372. package/lib/modules/phone-audio-connect/types.d.ts +4 -0
  373. package/lib/modules/phone-audio-connect/types.js +6 -0
  374. package/lib/modules/phone-audio-connect/view.d.ts +3 -0
  375. package/lib/modules/phone-audio-connect/view.js +185 -0
  376. package/lib/modules/setting/audio-settings/audio-settings.js +6 -6
  377. package/lib/modules/setting/index.d.ts +25 -5
  378. package/lib/modules/setting/index.dev.d.ts +0 -1
  379. package/lib/modules/setting/index.dev.js +120 -81
  380. package/lib/modules/setting/index.js +35 -9
  381. package/lib/modules/setting/minutes-settings/minutes-settings.js +3 -2
  382. package/lib/modules/setting/state/index.js +3 -7
  383. package/lib/modules/setting/store.d.ts +48 -14
  384. package/lib/modules/setting/store.js +105 -118
  385. package/lib/modules/setting/translate-settings/translate-settings.js +4 -4
  386. package/lib/modules/setting/video-settings/video-settings-basic.js +19 -22
  387. package/lib/modules/setting/view.js +6 -35
  388. package/lib/modules/share-screen/components/selection/index.css +70 -0
  389. package/lib/modules/share-screen/components/selection/index.d.ts +2 -0
  390. package/lib/modules/share-screen/components/selection/index.js +267 -0
  391. package/lib/modules/share-screen/components/share-state-bar/index.css +76 -0
  392. package/lib/modules/share-screen/components/share-state-bar/index.d.ts +4 -0
  393. package/lib/modules/share-screen/components/share-state-bar/index.js +98 -0
  394. package/lib/modules/share-screen/index.d.ts +15 -18
  395. package/lib/modules/share-screen/index.dev.d.ts +0 -1
  396. package/lib/modules/share-screen/index.dev.js +90 -91
  397. package/lib/modules/share-screen/index.js +22 -22
  398. package/lib/modules/share-screen/selection/index.css +0 -2
  399. package/lib/modules/share-screen/selection/index.js +97 -83
  400. package/lib/modules/share-screen/store.d.ts +36 -32
  401. package/lib/modules/share-screen/store.js +249 -222
  402. package/lib/modules/share-screen/types.d.ts +27 -0
  403. package/lib/modules/share-screen/types.js +6 -0
  404. package/lib/modules/share-screen/view.js +1 -1
  405. package/lib/modules/sound-effect/index.d.ts +9 -4
  406. package/lib/modules/sound-effect/index.js +72 -41
  407. package/lib/modules/sound-effect/sound-effect-player.js +1 -1
  408. package/lib/modules/state-bar/index.d.ts +16 -13
  409. package/lib/modules/state-bar/index.dev.d.ts +0 -1
  410. package/lib/modules/state-bar/index.dev.js +78 -83
  411. package/lib/modules/state-bar/index.js +23 -7
  412. package/lib/modules/state-bar/layout-config.js +2 -1
  413. package/lib/modules/state-bar/live-streaming-state.js +0 -1
  414. package/lib/modules/state-bar/meeting-details.js +31 -24
  415. package/lib/modules/state-bar/meeting-network-state.js +1 -1
  416. package/lib/modules/state-bar/store.d.ts +20 -10
  417. package/lib/modules/state-bar/store.js +84 -88
  418. package/lib/modules/state-bar/view.js +2 -2
  419. package/lib/modules/video-window/deviceState/index.d.ts +2 -2
  420. package/lib/modules/video-window/deviceState/index.js +4 -6
  421. package/lib/modules/video-window/index.css +1 -4
  422. package/lib/modules/video-window/index.d.ts +33 -6
  423. package/lib/modules/video-window/index.js +63 -15
  424. package/lib/modules/video-window/members/index.css +1 -0
  425. package/lib/modules/video-window/members/index.js +27 -12
  426. package/lib/modules/video-window/store.d.ts +58 -27
  427. package/lib/modules/video-window/store.js +166 -165
  428. package/lib/modules/video-window/topControl/index.js +0 -2
  429. package/lib/modules/waiting-room-layout/index.d.ts +11 -4
  430. package/lib/modules/waiting-room-layout/index.js +26 -13
  431. package/lib/modules/waiting-room-layout/store.d.ts +6 -3
  432. package/lib/modules/waiting-room-layout/store.js +17 -15
  433. package/lib/modules/whiteboard/components/control-bar/store.d.ts +4 -4
  434. package/lib/modules/whiteboard/components/control-bar/store.js +8 -8
  435. package/lib/modules/whiteboard/components/switch-theme/index.js +0 -2
  436. package/lib/modules/whiteboard/components/switch-theme/item.js +2 -1
  437. package/lib/modules/whiteboard/components/toolbar/components/color-picker/components/panel.js +2 -1
  438. package/lib/modules/whiteboard/components/toolbar/components/color-picker/index.js +2 -1
  439. package/lib/modules/whiteboard/components/toolbar/components/extra-tool-picker.js +1 -1
  440. package/lib/modules/whiteboard/components/toolbar/components/move-handle.js +0 -2
  441. package/lib/modules/whiteboard/components/toolbar/components/pen-picker.js +2 -1
  442. package/lib/modules/whiteboard/components/toolbar/components/shape-picker.js +2 -1
  443. package/lib/modules/whiteboard/components/toolbar/hooks/index.js +0 -2
  444. package/lib/modules/whiteboard/components/toolbar/index.js +1 -4
  445. package/lib/modules/whiteboard/index.d.ts +20 -14
  446. package/lib/modules/whiteboard/index.js +250 -227
  447. package/lib/modules/whiteboard/view.d.ts +2 -0
  448. package/lib/modules/whiteboard/view.js +49 -0
  449. package/lib/plugins/browser-runtime-plugin.js +5 -1
  450. package/lib/providers/chat-provider.d.ts +71 -0
  451. package/lib/providers/chat-provider.js +91 -0
  452. package/lib/providers/device-privilege-provider.d.ts +52 -6
  453. package/lib/providers/device-privilege-provider.js +212 -185
  454. package/lib/providers/device-provider.d.ts +203 -45
  455. package/lib/providers/device-provider.js +486 -403
  456. package/lib/providers/device-stream-provider.d.ts +12 -13
  457. package/lib/providers/device-stream-provider.js +86 -194
  458. package/lib/providers/dialog-provider.d.ts +135 -0
  459. package/lib/providers/dialog-provider.js +202 -0
  460. package/lib/providers/event-provider.d.ts +1 -21
  461. package/lib/providers/event-provider.js +19 -59
  462. package/lib/providers/interpreter-provider.d.ts +218 -7
  463. package/lib/providers/interpreter-provider.js +1069 -81
  464. package/lib/providers/local-storage-provider.d.ts +9 -0
  465. package/lib/providers/message-provider.d.ts +69 -0
  466. package/lib/providers/message-provider.js +96 -0
  467. package/lib/providers/monitor-provider.d.ts +5 -0
  468. package/lib/providers/phone-audio-provider.d.ts +131 -0
  469. package/lib/providers/phone-audio-provider.js +512 -0
  470. package/lib/providers/privilege-provider.d.ts +325 -12
  471. package/lib/providers/privilege-provider.js +111 -299
  472. package/lib/providers/renderer-provider.d.ts +46 -4
  473. package/lib/providers/renderer-provider.js +57 -61
  474. package/lib/providers/room-provider.d.ts +113 -6
  475. package/lib/providers/room-provider.js +665 -88
  476. package/lib/providers/screen-share-provider.d.ts +65 -0
  477. package/lib/providers/screen-share-provider.js +237 -0
  478. package/lib/providers/session-provider.d.ts +30 -0
  479. package/lib/runtime.d.ts +2 -0
  480. package/lib/scenes/main-scene.d.ts +41 -3
  481. package/lib/scenes/main-scene.js +407 -248
  482. package/lib/scenes/waiting-scene.d.ts +34 -4
  483. package/lib/scenes/waiting-scene.js +163 -56
  484. package/lib/shared-data-source/chat-data.d.ts +14 -0
  485. package/lib/{common/remote-renderer.js → shared-data-source/chat-data.js} +67 -77
  486. package/lib/shared-data-source/device-privilege-data.d.ts +8 -0
  487. package/lib/shared-data-source/device-privilege-data.js +25 -0
  488. package/lib/shared-data-source/interpreter.d.ts +63 -0
  489. package/lib/shared-data-source/interpreter.js +246 -0
  490. package/lib/shared-data-source/layout-data.d.ts +29 -0
  491. package/lib/shared-data-source/layout-data.js +178 -0
  492. package/lib/shared-data-source/pin-data.d.ts +9 -0
  493. package/lib/shared-data-source/pin-data.js +24 -0
  494. package/lib/shared-data-source/setting.d.ts +32 -0
  495. package/lib/shared-data-source/setting.js +151 -0
  496. package/lib/shared-data-source/speaker-spotlight.d.ts +5 -0
  497. package/lib/shared-data-source/speaker-spotlight.js +15 -0
  498. package/lib/shared-data-source/video-window.d.ts +161 -0
  499. package/lib/shared-data-source/video-window.js +1198 -0
  500. package/lib/shared-data-source/waiting-room.d.ts +19 -0
  501. package/lib/shared-data-source/waiting-room.js +157 -0
  502. package/lib/translations/enUS.d.ts +48 -17
  503. package/lib/translations/enUS.js +67 -35
  504. package/lib/translations/zhCN.d.ts +48 -17
  505. package/lib/translations/zhCN.js +68 -36
  506. package/lib/type.d.ts +270 -25
  507. package/lib/type.js +81 -2
  508. package/lib/ui-manager.d.ts +20 -16
  509. package/lib/ui-manager.js +59 -795
  510. package/lib/ui-scene.d.ts +6 -1
  511. package/lib/ui-scene.js +371 -43
  512. package/lib/utilities/constant.d.ts +63 -86
  513. package/lib/utilities/constant.js +158 -175
  514. package/lib/utilities/copyText.js +8 -7
  515. package/lib/utilities/meeting-detail.d.ts +2 -0
  516. package/lib/utilities/meeting-detail.js +39 -0
  517. package/lib/utilities/privilege.d.ts +4 -0
  518. package/lib/utilities/privilege.js +29 -0
  519. package/lib/utilities/renderer-event.js +0 -2
  520. package/lib/utilities/renderer.js +0 -1
  521. package/lib/utilities/setting-config-storage.d.ts +12 -0
  522. package/lib/utilities/setting-config-storage.js +100 -0
  523. package/lib/utilities/tools.d.ts +35 -3
  524. package/lib/utilities/tools.js +103 -4
  525. package/lib/utilities/video-track-render-context.d.ts +3 -4
  526. package/lib/utilities/video-track-render-context.js +1 -1
  527. package/package.json +10 -5
  528. package/public/assets/full-screen-error-boundary-img.png +0 -0
  529. package/public/assets/leave-meeting.png +0 -0
  530. package/public/index.html +24 -14
  531. package/lib/ scenes/base.d.ts +0 -10
  532. package/lib/ scenes/base.js +0 -75
  533. package/lib/ scenes/main-scene.d.ts +0 -43
  534. package/lib/ scenes/main-scene.js +0 -368
  535. package/lib/ scenes/waiting-scene.d.ts +0 -31
  536. package/lib/ scenes/waiting-scene.js +0 -119
  537. package/lib/common/remote-renderer.d.ts +0 -15
  538. package/lib/common/type.d.ts +0 -8
  539. package/lib/electron/bootstrap.d.ts +0 -1
  540. package/lib/electron/bootstrap.js +0 -56
  541. package/lib/electron/dev.d.ts +0 -1
  542. package/lib/electron/dev.js +0 -51
  543. package/lib/error-fallback.css +0 -62
  544. package/lib/error-fallback.d.ts +0 -2
  545. package/lib/error-fallback.js +0 -19
  546. package/lib/modules/Interpreter/context.d.ts +0 -2
  547. package/lib/modules/Interpreter/context.js +0 -9
  548. package/lib/modules/Interpreter/index.d.ts +0 -8
  549. package/lib/modules/Interpreter/store.d.ts +0 -111
  550. package/lib/modules/Interpreter/store.js +0 -1601
  551. package/lib/modules/Interpreter/type.d.ts +0 -41
  552. package/lib/modules/Interpreter/type.js +0 -20
  553. package/lib/modules/Interpreter/utils.js +0 -139
  554. package/lib/modules/action-bar/components/device/index.css +0 -162
  555. package/lib/modules/action-bar/components/device/index.d.ts +0 -8
  556. package/lib/modules/action-bar/components/device/index.js +0 -611
  557. package/lib/modules/action-bar/components/item.d.ts +0 -27
  558. package/lib/modules/action-bar/trigger-input-language-room/index.d.ts +0 -15
  559. package/lib/modules/action-bar/trigger-input-language-room/index.js +0 -220
  560. package/lib/modules/action-bar/trigger-output-language-room/constant.d.ts +0 -10
  561. package/lib/modules/action-bar/trigger-output-language-room/constant.js +0 -8
  562. package/lib/modules/action-bar/trigger-output-language-room/guide-tooltip/index.d.ts +0 -14
  563. package/lib/modules/action-bar/trigger-output-language-room/index.d.ts +0 -4
  564. package/lib/modules/action-bar/trigger-output-language-room/index.js +0 -98
  565. package/lib/modules/action-bar/trigger-output-language-room/trigger-language-room.d.ts +0 -5
  566. package/lib/modules/action-bar/trigger-output-language-room/trigger-language-room.js +0 -66
  567. package/lib/modules/action-bar/trigger-output-language-room/trigger-main-room.d.ts +0 -5
  568. package/lib/modules/action-bar/trigger-output-language-room/trigger-main-room.js +0 -36
  569. package/lib/modules/action-bar/trigger-output-language-room/useChangeOutputRoomTool.d.ts +0 -12
  570. package/lib/modules/action-bar/trigger-output-language-room/useChangeOutputRoomTool.js +0 -138
  571. package/lib/modules/components/dialog-container/component/body.js +0 -46
  572. package/lib/modules/dialog/components/Interpreter/electron.js +0 -31
  573. package/lib/modules/dialog/components/Interpreter/user-queue/index.css +0 -36
  574. package/lib/modules/dialog/components/Interpreter/user-queue/index.d.ts +0 -3
  575. package/lib/modules/dialog/components/Interpreter/user-queue/index.js +0 -47
  576. package/lib/modules/notification/context.d.ts +0 -2
  577. package/lib/modules/notification/context.js +0 -9
  578. package/lib/modules/participant/attendee/participants-more-action.d.ts +0 -18
  579. package/lib/modules/participant/attendee/participants-more-action.js +0 -278
  580. package/lib/scenes/base.d.ts +0 -10
  581. package/lib/scenes/base.js +0 -75
  582. package/lib/ui-node.d.ts +0 -25
  583. package/lib/ui-node.js +0 -156
  584. /package/lib/modules/action-bar/{notification-bar → components/notification-bar/assets}/dome.png +0 -0
  585. /package/lib/modules/action-bar/{notification-bar → components/notification-bar/assets}/fcr_translateswitch.png +0 -0
  586. /package/lib/modules/action-bar/{notification-bar → components/notification-bar}/components/interpreter/index.css +0 -0
  587. /package/lib/modules/action-bar/{notification-bar → components/notification-bar}/components/interpreter/index.d.ts +0 -0
  588. /package/lib/modules/action-bar/{notification-bar → components/notification-bar}/components/virtual-image/index.css +0 -0
  589. /package/lib/modules/action-bar/{notification-bar → components/notification-bar}/components/virtual-image/index.d.ts +0 -0
  590. /package/lib/modules/action-bar/{notification-bar → components/notification-bar}/index.css +0 -0
  591. /package/lib/modules/action-bar/{notification-bar → components/notification-bar}/index.d.ts +0 -0
  592. /package/lib/modules/action-bar/{trigger-input-language-room → components/trigger-output-language}/fcr_translateswitch.png +0 -0
  593. /package/lib/modules/action-bar/{trigger-input-language-room → components/trigger-output-language}/index.css +0 -0
  594. /package/lib/modules/action-bar/{trigger-output-language-room → components/trigger-subscribe-language}/guide-tooltip/index.css +0 -0
  595. /package/lib/modules/action-bar/{Interpreter → interpreter}/index.d.ts +0 -0
  596. /package/lib/modules/action-bar/{Interpreter → interpreter}/index.js +0 -0
  597. /package/lib/{common/type.js → modules/action-bar/types.js} +0 -0
  598. /package/lib/modules/{components → dialog/components}/dialog-container/component/body.d.ts +0 -0
  599. /package/lib/modules/dialog/components/{Interpreter → interpreter}/electron.d.ts +0 -0
  600. /package/lib/modules/dialog/components/{Interpreter → interpreter}/index.css +0 -0
  601. /package/lib/modules/dialog/components/{Interpreter → interpreter}/index.d.ts +0 -0
  602. /package/lib/modules/{Interpreter → interpreter}/action/add-btn/index.css +0 -0
  603. /package/lib/modules/{Interpreter → interpreter}/action/add-btn/index.d.ts +0 -0
  604. /package/lib/modules/{Interpreter → interpreter}/action/add-btn/index.js +0 -0
  605. /package/lib/modules/{Interpreter → interpreter}/action/delete-btn/index.css +0 -0
  606. /package/lib/modules/{Interpreter → interpreter}/action/delete-btn/index.js +0 -0
  607. /package/lib/modules/{Interpreter → interpreter}/action/edit-btn/index.css +0 -0
  608. /package/lib/modules/{Interpreter → interpreter}/action/edit-btn/index.d.ts +0 -0
  609. /package/lib/modules/{Interpreter → interpreter}/action/switch-btn/index.css +0 -0
  610. /package/lib/modules/{Interpreter → interpreter}/action/switch-btn/index.d.ts +0 -0
  611. /package/lib/modules/{Interpreter → interpreter}/add-button/index.css +0 -0
  612. /package/lib/modules/{Interpreter → interpreter}/add-button/index.d.ts +0 -0
  613. /package/lib/modules/{Interpreter → interpreter}/add-button/index.js +0 -0
  614. /package/lib/modules/{Interpreter → interpreter}/config.d.ts +0 -0
  615. /package/lib/modules/{Interpreter → interpreter}/config.js +0 -0
  616. /package/lib/modules/{Interpreter → interpreter}/dialog-content/index.css +0 -0
  617. /package/lib/modules/{Interpreter → interpreter}/footer/components/interpreter-btn/index.d.ts +0 -0
  618. /package/lib/modules/{Interpreter → interpreter}/footer/components/interpreter-btn/index.js +0 -0
  619. /package/lib/modules/{Interpreter → interpreter}/footer/components/set-btn/index.d.ts +0 -0
  620. /package/lib/modules/{Interpreter → interpreter}/footer/components/set-btn/index.js +0 -0
  621. /package/lib/modules/{Interpreter → interpreter}/footer/components/tooltip-wrapper/index.d.ts +0 -0
  622. /package/lib/modules/{Interpreter → interpreter}/footer/components/tooltip-wrapper/index.js +0 -0
  623. /package/lib/modules/{Interpreter → interpreter}/footer/index.css +0 -0
  624. /package/lib/modules/{Interpreter → interpreter}/footer/index.d.ts +0 -0
  625. /package/lib/modules/{Interpreter → interpreter}/footer/index.js +0 -0
  626. /package/lib/modules/{Interpreter → interpreter}/index.css +0 -0
  627. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/index.css +0 -0
  628. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/index.d.ts +0 -0
  629. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/index.css +0 -0
  630. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ar.png +0 -0
  631. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_cn.png +0 -0
  632. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_de.png +0 -0
  633. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_en.png +0 -0
  634. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_es.png +0 -0
  635. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_fr.png +0 -0
  636. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_hi.png +0 -0
  637. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_id.png +0 -0
  638. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_it.png +0 -0
  639. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_jp.png +0 -0
  640. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ko.png +0 -0
  641. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ms.png +0 -0
  642. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_pt.png +0 -0
  643. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_ru.png +0 -0
  644. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_th.png +0 -0
  645. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_tr.png +0 -0
  646. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/images/fcr_vi.png +0 -0
  647. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-language/useLanguageConfig/index.d.ts +0 -0
  648. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-user/index.css +0 -0
  649. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-user/option-Item.d.ts +0 -0
  650. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/components/pick-user/option-Item.js +0 -0
  651. /package/lib/modules/{Interpreter → interpreter}/interpreter-list/interpreter-item/index.css +0 -0
  652. /package/lib/modules/{Interpreter → interpreter}/loading-wrapper/index.css +0 -0
  653. /package/lib/modules/{Interpreter → interpreter}/loading-wrapper/index.d.ts +0 -0
  654. /package/lib/modules/{Interpreter → interpreter}/loading-wrapper/index.js +0 -0
  655. /package/lib/modules/{Interpreter → interpreter}/tooltip-wrapper/index.d.ts +0 -0
  656. /package/lib/modules/{Interpreter → interpreter}/tooltip-wrapper/index.js +0 -0
  657. /package/lib/modules/{Interpreter → interpreter}/view.d.ts +0 -0
@@ -1,17 +1,63 @@
1
1
  "use strict";
2
2
 
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.object.define-properties.js");
3
5
  require("core-js/modules/es.object.define-property.js");
6
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
7
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
8
+ require("core-js/modules/es.object.keys.js");
4
9
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
10
  Object.defineProperty(exports, "__esModule", {
6
11
  value: true
7
12
  });
8
13
  exports.FcrUIInterpreterProviderImpl = void 0;
9
14
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
15
+ require("core-js/modules/es.array.concat.js");
16
+ require("core-js/modules/es.array.filter.js");
17
+ require("core-js/modules/es.array.find.js");
18
+ require("core-js/modules/es.array.for-each.js");
19
+ require("core-js/modules/es.array.from.js");
20
+ require("core-js/modules/es.array.includes.js");
21
+ require("core-js/modules/es.array.iterator.js");
10
22
  require("core-js/modules/es.array.join.js");
11
23
  require("core-js/modules/es.array.map.js");
12
- require("core-js/modules/es.object.keys.js");
13
- require("core-js/modules/esnext.async-iterator.map.js");
24
+ require("core-js/modules/es.array.push.js");
25
+ require("core-js/modules/es.object.to-string.js");
26
+ require("core-js/modules/es.set.js");
27
+ require("core-js/modules/es.string.includes.js");
28
+ require("core-js/modules/es.string.iterator.js");
29
+ require("core-js/modules/esnext.iterator.constructor.js");
30
+ require("core-js/modules/esnext.iterator.filter.js");
31
+ require("core-js/modules/esnext.iterator.find.js");
32
+ require("core-js/modules/esnext.iterator.for-each.js");
14
33
  require("core-js/modules/esnext.iterator.map.js");
34
+ require("core-js/modules/esnext.set.add-all.js");
35
+ require("core-js/modules/esnext.set.delete-all.js");
36
+ require("core-js/modules/esnext.set.difference.v2.js");
37
+ require("core-js/modules/esnext.set.difference.js");
38
+ require("core-js/modules/esnext.set.every.js");
39
+ require("core-js/modules/esnext.set.filter.js");
40
+ require("core-js/modules/esnext.set.find.js");
41
+ require("core-js/modules/esnext.set.intersection.v2.js");
42
+ require("core-js/modules/esnext.set.intersection.js");
43
+ require("core-js/modules/esnext.set.is-disjoint-from.v2.js");
44
+ require("core-js/modules/esnext.set.is-disjoint-from.js");
45
+ require("core-js/modules/esnext.set.is-subset-of.v2.js");
46
+ require("core-js/modules/esnext.set.is-subset-of.js");
47
+ require("core-js/modules/esnext.set.is-superset-of.v2.js");
48
+ require("core-js/modules/esnext.set.is-superset-of.js");
49
+ require("core-js/modules/esnext.set.join.js");
50
+ require("core-js/modules/esnext.set.map.js");
51
+ require("core-js/modules/esnext.set.reduce.js");
52
+ require("core-js/modules/esnext.set.some.js");
53
+ require("core-js/modules/esnext.set.symmetric-difference.v2.js");
54
+ require("core-js/modules/esnext.set.symmetric-difference.js");
55
+ require("core-js/modules/esnext.set.union.v2.js");
56
+ require("core-js/modules/esnext.set.union.js");
57
+ require("core-js/modules/web.dom-collections.for-each.js");
58
+ require("core-js/modules/web.dom-collections.iterator.js");
59
+ require("core-js/modules/web.timers.js");
60
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
61
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
16
62
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
63
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
@@ -20,122 +66,1051 @@ var _logger = require("agora-foundation/lib/logger");
20
66
  var _observable = require("agora-foundation/lib/utilities/observable");
21
67
  var _base = require("../base");
22
68
  var _fcrCore = require("fcr-core");
69
+ var _interpreter = require("../shared-data-source/interpreter");
70
+ var _type = require("../modules/interpreter/type");
71
+ var _imports = require("fcr-core/lib/imports");
72
+ var _type2 = require("agora-rte-sdk/lib/type");
73
+ var _type3 = require("fcr-core/lib/type");
74
+ var _utils = require("../modules/interpreter/utils");
75
+ var _constant = require("../utilities/constant");
76
+ var _enums = require("../modules/action-bar/enums");
77
+ var _i18n = require("agora-ui-foundation/lib/i18n");
78
+ var _lodash = require("lodash");
79
+ 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; }
80
+ 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; }
81
+ var getRoomJoinOptions = function getRoomJoinOptions(localUser) {
82
+ var roomJoinOptions = {
83
+ userName: localUser.userName,
84
+ userRole: _type3.FcrUserRole.PARTICIPANT,
85
+ roomToken: '',
86
+ streamLatency: _fcrCore.FcrStreamLatencyLevel.ULTRA_LOW,
87
+ createStreamConfigs: [{
88
+ videoSourceState: _imports.AgoraRtcMediaSourceState.CLOSE,
89
+ audioSourceState: _imports.AgoraRtcMediaSourceState.CLOSE,
90
+ videoSourceId: '',
91
+ audioSourceId: '',
92
+ streamName: 'default',
93
+ streamType: _imports.AgoraRteMediaStreamType.NONE,
94
+ videoSourceType: _type2.AgoraRteVideoSourceType.CAMERA,
95
+ audioSourceType: _type2.AgoraRteAudioSourceType.MICROPHONE
96
+ }]
97
+ };
98
+ return roomJoinOptions;
99
+ };
23
100
  var FcrUIInterpreterProviderImpl = exports.FcrUIInterpreterProviderImpl = /*#__PURE__*/function () {
24
- function FcrUIInterpreterProviderImpl() {
101
+ function FcrUIInterpreterProviderImpl(params) {
102
+ var _this = this;
25
103
  (0, _classCallCheck2["default"])(this, FcrUIInterpreterProviderImpl);
26
104
  // @internal
27
105
  (0, _defineProperty2["default"])(this, "logger", (0, _logger.getLogger)());
28
106
  (0, _defineProperty2["default"])(this, "_observable", new _observable.AgoraObservable());
107
+ (0, _defineProperty2["default"])(this, "_languageRoomListByStatus", []);
108
+ (0, _defineProperty2["default"])(this, "_indicateTimerId", null);
109
+ (0, _defineProperty2["default"])(this, "_volumeTimerId", null);
110
+ (0, _defineProperty2["default"])(this, "_hasSubscribedLanguageList", new Set([_interpreter.ORIGIN]));
111
+ (0, _defineProperty2["default"])(this, "_observerStream", {
112
+ onStreamVolumeIndicationUpdated: (0, _lodash.throttle)(function (roomId, streamId, volume) {
113
+ _this._onStreamVolumeIndicationUpdated(roomId, streamId, volume);
114
+ }, 500)
115
+ });
116
+ (0, _defineProperty2["default"])(this, "_observerMicrophoneChanged", {
117
+ onMicrophoneChanged: function onMicrophoneChanged(microphoneId) {
118
+ _this._languageRoomListByStatus.forEach(function (room) {
119
+ if (room.status === _type.UpdateType.JOIN) {
120
+ _this._bindLocalMicrophoneId(room, microphoneId);
121
+ }
122
+ });
123
+ }
124
+ });
125
+ (0, _defineProperty2["default"])(this, "_observerInterpreter", {
126
+ onInterpreterStateUpdated: function () {
127
+ var _onInterpreterStateUpdated = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(roomId, state, operatorUser) {
128
+ var interpreterList, languageList;
129
+ return _regenerator["default"].wrap(function _callee$(_context) {
130
+ while (1) switch (_context.prev = _context.next) {
131
+ case 0:
132
+ _context.next = 2;
133
+ return _this._update();
134
+ case 2:
135
+ _this._publishEvent();
136
+ if (state.enable) {
137
+ interpreterList = _this.getInterpreterList();
138
+ if (interpreterList) {
139
+ _this._observable.notifyObservers('onInterpretationEnabled', interpreterList, operatorUser);
140
+ }
141
+ languageList = _this.getSubscribeLanguageList();
142
+ _this._observable.notifyObservers('onSubscribeLanguageListUpdated', languageList);
143
+ } else {
144
+ _this._observable.notifyObservers('onInterpretationDisabled', operatorUser);
145
+ }
146
+ case 4:
147
+ case "end":
148
+ return _context.stop();
149
+ }
150
+ }, _callee);
151
+ }));
152
+ function onInterpreterStateUpdated(_x, _x2, _x3) {
153
+ return _onInterpreterStateUpdated.apply(this, arguments);
154
+ }
155
+ return onInterpreterStateUpdated;
156
+ }(),
157
+ onInterpreterUsersUpdated: function () {
158
+ var _onInterpreterUsersUpdated = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(roomId, users, operatorUser) {
159
+ var _this$_sharedInterpre, preInterpreterInfo, interpreterInfo, localInterpreterUpdate, outputLanguage, languageList;
160
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
161
+ while (1) switch (_context2.prev = _context2.next) {
162
+ case 0:
163
+ _this$_sharedInterpre = _this._sharedInterpreterDataSource, preInterpreterInfo = _this$_sharedInterpre.preInterpreterInfo, interpreterInfo = _this$_sharedInterpre.interpreterInfo;
164
+ localInterpreterUpdate = preInterpreterInfo && interpreterInfo && (interpreterInfo.sourceLanguage !== preInterpreterInfo.sourceLanguage || interpreterInfo.targetLanguage !== preInterpreterInfo.targetLanguage);
165
+ if (localInterpreterUpdate && _this._sharedInterpreterDataSource.outputLanguage && (operatorUser === null || operatorUser === void 0 ? void 0 : operatorUser.userId) !== _this._userControl.getLocalUser().userId) {
166
+ _this._observable.notifyObservers('onLocalInterpreterWillUpdate', _this._sharedInterpreterDataSource.outputLanguage);
167
+ }
168
+ _context2.next = 5;
169
+ return _this._update();
170
+ case 5:
171
+ outputLanguage = _this._sharedInterpreterDataSource.outputLanguage;
172
+ if (interpreterInfo && localInterpreterUpdate && outputLanguage) {
173
+ _this._observable.notifyObservers('onLocalInterpreterUpdated', [interpreterInfo.sourceLanguage, interpreterInfo.targetLanguage], outputLanguage);
174
+ }
175
+ _this._publishEvent();
176
+ if (users && operatorUser) {
177
+ _this._observable.notifyObservers('onInterpreterListUpdated', users, operatorUser);
178
+ }
179
+ languageList = _this.getSubscribeLanguageList();
180
+ _this._observable.notifyObservers('onSubscribeLanguageListUpdated', languageList);
181
+ if (preInterpreterInfo && !interpreterInfo) {
182
+ _this._observable.notifyObservers('onLocalNotInterpreter');
183
+ }
184
+ case 12:
185
+ case "end":
186
+ return _context2.stop();
187
+ }
188
+ }, _callee2);
189
+ }));
190
+ function onInterpreterUsersUpdated(_x4, _x5, _x6) {
191
+ return _onInterpreterUsersUpdated.apply(this, arguments);
192
+ }
193
+ return onInterpreterUsersUpdated;
194
+ }()
195
+ });
196
+ (0, _defineProperty2["default"])(this, "_retryTask", {
197
+ timerId: null,
198
+ isAllowRetry: true
199
+ });
200
+ var privilegeProvider = params.privilegeProvider,
201
+ interpreterControl = params.interpreterControl,
202
+ userControl = params.userControl,
203
+ sharedInterpreterDataSource = params.sharedInterpreterDataSource,
204
+ eventProvider = params.eventProvider,
205
+ streamControl = params.streamControl,
206
+ deviceProvider = params.deviceProvider,
207
+ devicePrivilegeProvider = params.devicePrivilegeProvider;
208
+ this._privilegeProvider = privilegeProvider;
209
+ this._interpreterControl = interpreterControl;
210
+ this._userControl = userControl;
211
+ this._sharedInterpreterDataSource = sharedInterpreterDataSource;
212
+ this._eventProvider = eventProvider;
213
+ this._mainStreamControl = streamControl;
214
+ this._deviceProvider = deviceProvider;
215
+ this._devicePrivilegeProvider = devicePrivilegeProvider;
216
+ this._deviceProvider.addObserver(this._observerMicrophoneChanged);
217
+ this._interpreterControl.addObserver(this._observerInterpreter);
218
+ this._mount();
29
219
  }
30
220
  return (0, _createClass2["default"])(FcrUIInterpreterProviderImpl, [{
31
- key: "joinInterpreterRoom",
32
- value: // 加入语言房间
33
- function () {
34
- var _joinInterpreterRoom = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(param) {
35
- var control, roomJoinOptions;
36
- return _regenerator["default"].wrap(function _callee$(_context) {
37
- while (1) switch (_context.prev = _context.next) {
221
+ key: "_publishEvent",
222
+ value: function _publishEvent() {
223
+ var _this$_sharedInterpre2 = this._sharedInterpreterDataSource,
224
+ preInterpreterInfo = _this$_sharedInterpre2.preInterpreterInfo,
225
+ interpreterInfo = _this$_sharedInterpre2.interpreterInfo,
226
+ outputLanguage = _this$_sharedInterpre2.outputLanguage;
227
+ if (interpreterInfo) {
228
+ if (!preInterpreterInfo) {
229
+ var _supportedLanguages = [interpreterInfo.sourceLanguage, interpreterInfo.targetLanguage];
230
+ this._observable.notifyObservers('onLocalBecomeInterpreter', _supportedLanguages, outputLanguage || interpreterInfo.targetLanguage);
231
+ }
232
+ }
233
+ }
234
+ }, {
235
+ key: "_triggerDvicePrivilege",
236
+ value: function _triggerDvicePrivilege() {
237
+ var interpreterInfo = this._sharedInterpreterDataSource.interpreterInfo;
238
+ if (interpreterInfo) {
239
+ this._devicePrivilegeProvider.setAlwaysHasMicrophonePrivilege(true);
240
+ this._devicePrivilegeProvider.setAutoUpdateAudioStreamPrivilege(false);
241
+ } else {
242
+ this._devicePrivilegeProvider.setAlwaysHasMicrophonePrivilege(false);
243
+ this._devicePrivilegeProvider.setAutoUpdateAudioStreamPrivilege(true);
244
+ }
245
+ }
246
+ }, {
247
+ key: "_mount",
248
+ value: function () {
249
+ var _mount2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
250
+ var _this2 = this;
251
+ var initLanguageRoomListByStatus, interpreterInfo, targetLanguage, sourceLanguage;
252
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
253
+ while (1) switch (_context3.prev = _context3.next) {
38
254
  case 0:
39
- control = param.control, roomJoinOptions = param.roomJoinOptions;
40
- _context.prev = 1;
41
- this._observable.notifyObservers('onJoinInterpretingRoom', param);
42
- _context.next = 5;
43
- return control.join(roomJoinOptions);
44
- case 5:
45
- this.logger.info("interpreterLog-joinInterpreterRoom succeed", param.language);
46
- this._observable.notifyObservers('onJoinInterpretingRoomSuccess', param);
47
- _context.next = 13;
48
- break;
255
+ initLanguageRoomListByStatus = function initLanguageRoomListByStatus() {
256
+ if (_this2._interpreterControl) {
257
+ var rooms = _this2._interpreterControl.getInterpreterRoomList(); //语言房间列表
258
+ if (rooms) {
259
+ var languageRoomLisByStatus = rooms.map(function (ele) {
260
+ return _objectSpread(_objectSpread({}, ele), {}, {
261
+ status: _type.UpdateType.LEFT,
262
+ control: _this2._interpreterControl.createRoomControl(ele.roomId)
263
+ });
264
+ });
265
+ _this2._updateLanguageRoomListByStatus(languageRoomLisByStatus);
266
+ }
267
+ }
268
+ };
269
+ this._triggerDvicePrivilege();
270
+ interpreterInfo = this._sharedInterpreterDataSource.interpreterInfo;
271
+ initLanguageRoomListByStatus();
272
+ _context3.next = 6;
273
+ return this._updateOutputLanguage((interpreterInfo === null || interpreterInfo === void 0 ? void 0 : interpreterInfo.targetLanguage) || null);
274
+ case 6:
275
+ _context3.next = 8;
276
+ return this._updateSubscribeLanguage([_interpreter.ORIGIN]);
277
+ case 8:
278
+ if (interpreterInfo) {
279
+ targetLanguage = interpreterInfo.targetLanguage, sourceLanguage = interpreterInfo.sourceLanguage;
280
+ this._observable.notifyObservers('onLocalBecameInterpreter', [targetLanguage, sourceLanguage], targetLanguage);
281
+ }
49
282
  case 9:
50
- _context.prev = 9;
51
- _context.t0 = _context["catch"](1);
52
- this.logger.info("interpreterLog-joinInterpreterRoom fail", param.language);
53
- this._observable.notifyObservers('onJoinInterpretingRoomFailed', param);
54
- case 13:
55
283
  case "end":
56
- return _context.stop();
284
+ return _context3.stop();
285
+ }
286
+ }, _callee3, this);
287
+ }));
288
+ function _mount() {
289
+ return _mount2.apply(this, arguments);
290
+ }
291
+ return _mount;
292
+ }()
293
+ }, {
294
+ key: "_update",
295
+ value: function () {
296
+ var _update2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
297
+ var _this3 = this;
298
+ var _this$_sharedInterpre3, interpreterInfo, subscribeLanguageList, outputLanguage, subscribeLanguageOptionList, rooms, copyLanguageRoomListByStatus, outputLanguageList, language, languageList;
299
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
300
+ while (1) switch (_context4.prev = _context4.next) {
301
+ case 0:
302
+ this._triggerDvicePrivilege();
303
+ _this$_sharedInterpre3 = this._sharedInterpreterDataSource, interpreterInfo = _this$_sharedInterpre3.interpreterInfo, subscribeLanguageList = _this$_sharedInterpre3.subscribeLanguageList, outputLanguage = _this$_sharedInterpre3.outputLanguage, subscribeLanguageOptionList = _this$_sharedInterpre3.subscribeLanguageOptionList;
304
+ rooms = this._interpreterControl.getInterpreterRoomList(); //语言房间列表
305
+ if (rooms) {
306
+ copyLanguageRoomListByStatus = (0, _toConsumableArray2["default"])(this._languageRoomListByStatus);
307
+ rooms.forEach(function (ele) {
308
+ var languageRomm = copyLanguageRoomListByStatus.find(function (item) {
309
+ return item.language === ele.language;
310
+ });
311
+ if (languageRomm) {
312
+ return;
313
+ } else {
314
+ copyLanguageRoomListByStatus.push(_objectSpread(_objectSpread({}, ele), {}, {
315
+ status: _type.UpdateType.LEFT,
316
+ control: _this3._interpreterControl.createRoomControl(ele.roomId)
317
+ }));
318
+ }
319
+ });
320
+ this._languageRoomListByStatus = copyLanguageRoomListByStatus;
321
+ }
322
+ outputLanguageList = [];
323
+ if (interpreterInfo) {
324
+ outputLanguageList.push(interpreterInfo.sourceLanguage, interpreterInfo.targetLanguage);
325
+ }
326
+ language = outputLanguageList.includes(outputLanguage) ? outputLanguage : (interpreterInfo === null || interpreterInfo === void 0 ? void 0 : interpreterInfo.targetLanguage) || null;
327
+ _context4.next = 9;
328
+ return this._updateOutputLanguage(language);
329
+ case 9:
330
+ languageList = subscribeLanguageList.filter(function (ele) {
331
+ return subscribeLanguageOptionList.includes(ele);
332
+ });
333
+ _context4.next = 12;
334
+ return this._updateSubscribeLanguage(languageList);
335
+ case 12:
336
+ case "end":
337
+ return _context4.stop();
338
+ }
339
+ }, _callee4, this);
340
+ }));
341
+ function _update() {
342
+ return _update2.apply(this, arguments);
343
+ }
344
+ return _update;
345
+ }()
346
+ }, {
347
+ key: "_unload",
348
+ value: function _unload() {}
349
+ }, {
350
+ key: "_clearTimer",
351
+ value: function _clearTimer() {
352
+ if (this._indicateTimerId) {
353
+ clearTimeout(this._indicateTimerId);
354
+ this._indicateTimerId = null;
355
+ }
356
+ if (this._volumeTimerId) {
357
+ clearInterval(this._volumeTimerId);
358
+ this._volumeTimerId = null;
359
+ }
360
+ }
361
+ }, {
362
+ key: "_onStreamVolumeIndicationUpdated",
363
+ value: function _onStreamVolumeIndicationUpdated(roomId, streamId, volume) {
364
+ var _this4 = this;
365
+ var setMainRoomVolume = function setMainRoomVolume(volume) {
366
+ _this4._mainStreamControl.getStreamList().forEach(function (stream) {
367
+ var needSetVolume = [_imports.AgoraRteMediaStreamType.AUDIO, _imports.AgoraRteMediaStreamType.BOTH].includes(stream.streamType);
368
+ if (needSetVolume) _this4._mainStreamControl.adjustRemoteAudioStreamVolume(stream.streamId, volume);
369
+ });
370
+ };
371
+ var restoreVolumeByMainRoom = function restoreVolumeByMainRoom() {
372
+ if (_this4._volumeTimerId) return;
373
+ var startValue = 25; // 主房间初始音量
374
+ var endValue = 100; // 最大音量
375
+ var duration = 2000; // 在 2 秒内逐渐放大
376
+ var interval = 50; // 更新间隔为 50ms
377
+
378
+ var volume = startValue;
379
+ var steps = (endValue - startValue) / (duration / interval);
380
+ _this4._volumeTimerId = setInterval(function () {
381
+ volume += steps;
382
+ if (volume >= endValue) {
383
+ volume = endValue;
384
+ _this4._clearTimer();
385
+ }
386
+ setMainRoomVolume(volume);
387
+ }, interval);
388
+ };
389
+
390
+ // HLD: 判断 volume > 10 ,避免波动, 则认为是在说话
391
+ var isSpeaking = Math.floor(volume / 255 * 100) > 10;
392
+ if (isSpeaking) {
393
+ // HLD: 主房输出音量设置为25,语言房间设置输出音频为100
394
+ this._observable.notifyObservers('onSubscribeLanguageVolumePrioritized', isSpeaking);
395
+ setMainRoomVolume(25);
396
+ this._clearTimer();
397
+ } else {
398
+ // PRD: 参会人听到的是译员的声音及轻微的原始音频声音。当语言频道内 6 秒内没有译员发言,原始音频的音量将在接下来的 2 秒内逐渐放大到正常音量。
399
+ this._indicateTimerId = setTimeout(function () {
400
+ _this4._observable.notifyObservers('onSubscribeLanguageVolumePrioritized', isSpeaking);
401
+ restoreVolumeByMainRoom();
402
+ }, 6000);
403
+ }
404
+ }
405
+ }, {
406
+ key: "_updateLanguageRoomListByStatus",
407
+ value: function _updateLanguageRoomListByStatus(executeRoomList) {
408
+ this._languageRoomListByStatus = (0, _utils.mergeArrays)(this._languageRoomListByStatus, executeRoomList, 'language');
409
+ }
410
+ }, {
411
+ key: "_clearRetryTaskTimer",
412
+ value: function _clearRetryTaskTimer() {
413
+ this._retryTask.isAllowRetry = false;
414
+ if (this._retryTask.timerId) {
415
+ clearTimeout(this._retryTask.timerId);
416
+ this._retryTask.timerId = null;
417
+ }
418
+ }
419
+ }, {
420
+ key: "_getRoomInfo",
421
+ value: function _getRoomInfo(language) {
422
+ var room = this._languageRoomListByStatus.find(function (languageRoom) {
423
+ return languageRoom.language === language;
424
+ });
425
+ return room;
426
+ }
427
+ }, {
428
+ key: "_bindLocalMicrophoneId",
429
+ value: function _bindLocalMicrophoneId(room, _microphoneId) {
430
+ var microphoneId = _microphoneId || this._deviceProvider.currentDeviceId.microphoneDeviceId;
431
+ if (microphoneId) {
432
+ var streamList = room.control.getStreamControl().getStreamsByUserId(room.control.getUserControl().getLocalUser().userId);
433
+ var micStream = streamList.find(function (stream) {
434
+ return stream.audioSourceType === _fcrCore.FcrAudioSourceType.MICROPHONE;
435
+ });
436
+ if (micStream && micStream.audioSourceId !== microphoneId) {
437
+ var _room$control$getRoom;
438
+ this.logger.info("bind local microphone id to stream: [".concat(micStream.streamId, "], room: ").concat((_room$control$getRoom = room.control.getRoomInfo()) === null || _room$control$getRoom === void 0 ? void 0 : _room$control$getRoom.roomId));
439
+ room.control.getStreamControl().bindLocalStreams([{
440
+ streamId: micStream.streamId,
441
+ audioSourceId: microphoneId
442
+ }]);
443
+ }
444
+ }
445
+ }
446
+ }, {
447
+ key: "_joinInterpreterRoom",
448
+ value: function () {
449
+ var _joinInterpreterRoom2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5(_ref) {
450
+ var language, _ref$isToggleInterper, isToggleInterperterRemoteAudio, room, roomJoinOptions, _params;
451
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
452
+ while (1) switch (_context5.prev = _context5.next) {
453
+ case 0:
454
+ language = _ref.language, _ref$isToggleInterper = _ref.isToggleInterperterRemoteAudio, isToggleInterperterRemoteAudio = _ref$isToggleInterper === void 0 ? true : _ref$isToggleInterper;
455
+ room = this._getRoomInfo(language);
456
+ if (!(room && room.status !== _type.UpdateType.JOIN)) {
457
+ _context5.next = 17;
458
+ break;
459
+ }
460
+ roomJoinOptions = getRoomJoinOptions(this._userControl.getLocalUser());
461
+ _params = _objectSpread(_objectSpread({}, room), {}, {
462
+ isToggleInterperterRemoteAudio: isToggleInterperterRemoteAudio,
463
+ roomJoinOptions: roomJoinOptions
464
+ });
465
+ _context5.prev = 5;
466
+ this._observable.notifyObservers('onJoinInterpretingRoom', _params);
467
+ _context5.next = 9;
468
+ return room.control.join(roomJoinOptions);
469
+ case 9:
470
+ this._observable.notifyObservers('onJoinInterpretingRoomSuccess', _params);
471
+
472
+ //TODO 更新房间状态
473
+ this._updateLanguageRoomListByStatus([_objectSpread(_objectSpread({}, room), {}, {
474
+ status: _type.UpdateType.JOIN
475
+ })]);
476
+ //TODO 绑定本地麦克风
477
+ this._bindLocalMicrophoneId(room);
478
+ _context5.next = 17;
479
+ break;
480
+ case 14:
481
+ _context5.prev = 14;
482
+ _context5.t0 = _context5["catch"](5);
483
+ this._observable.notifyObservers('onJoinInterpretingRoomFailed', _params);
484
+ case 17:
485
+ case "end":
486
+ return _context5.stop();
57
487
  }
58
- }, _callee, this, [[1, 9]]);
488
+ }, _callee5, this, [[5, 14]]);
59
489
  }));
60
- function joinInterpreterRoom(_x) {
61
- return _joinInterpreterRoom.apply(this, arguments);
490
+ function _joinInterpreterRoom(_x7) {
491
+ return _joinInterpreterRoom2.apply(this, arguments);
62
492
  }
63
- return joinInterpreterRoom;
64
- }() // 离开语言房间
493
+ return _joinInterpreterRoom;
494
+ }()
65
495
  }, {
66
- key: "leaveInterpreterRoom",
496
+ key: "_leaveInterpreterRoom",
67
497
  value: function () {
68
- var _leaveInterpreterRoom = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(param) {
69
- var control;
70
- return _regenerator["default"].wrap(function _callee2$(_context2) {
71
- while (1) switch (_context2.prev = _context2.next) {
498
+ var _leaveInterpreterRoom2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6(_ref2) {
499
+ var language, room, control;
500
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
501
+ while (1) switch (_context6.prev = _context6.next) {
72
502
  case 0:
73
- control = param.control;
74
- _context2.prev = 1;
75
- this._observable.notifyObservers('onLeaveInterpretingRoom', param);
76
- _context2.next = 5;
503
+ language = _ref2.language;
504
+ room = this._getRoomInfo(language);
505
+ if (!(room && room.status === _type.UpdateType.JOIN)) {
506
+ _context6.next = 15;
507
+ break;
508
+ }
509
+ control = room.control;
510
+ _context6.prev = 4;
511
+ this._observable.notifyObservers('onLeaveInterpretingRoom', room);
512
+ _context6.next = 8;
77
513
  return control.leave();
78
- case 5:
79
- this.logger.info("interpreterLog-leaveInterpreterRoom succeed", param.language);
80
- this._observable.notifyObservers('onLeaveInterpretingRoomSuccess', param);
81
- _context2.next = 13;
514
+ case 8:
515
+ this._observable.notifyObservers('onLeaveInterpretingRoomSuccess', room);
516
+ _context6.next = 14;
82
517
  break;
83
- case 9:
84
- _context2.prev = 9;
85
- _context2.t0 = _context2["catch"](1);
86
- this.logger.info("interpreterLog-leaveInterpreterRoom fail", param.language);
87
- this._observable.notifyObservers('onLeaveInterpretingRoomFailed', param);
518
+ case 11:
519
+ _context6.prev = 11;
520
+ _context6.t0 = _context6["catch"](4);
521
+ this._observable.notifyObservers('onLeaveInterpretingRoomFailed', room);
522
+ case 14:
523
+ this._updateLanguageRoomListByStatus([_objectSpread(_objectSpread({}, room), {}, {
524
+ status: _type.UpdateType.LEFT
525
+ })]);
526
+ case 15:
527
+ case "end":
528
+ return _context6.stop();
529
+ }
530
+ }, _callee6, this, [[4, 11]]);
531
+ }));
532
+ function _leaveInterpreterRoom(_x8) {
533
+ return _leaveInterpreterRoom2.apply(this, arguments);
534
+ }
535
+ return _leaveInterpreterRoom;
536
+ }()
537
+ }, {
538
+ key: "_setMainRoomStream",
539
+ value: function () {
540
+ var _setMainRoomStream2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7(open) {
541
+ var _this5 = this;
542
+ var localStreamList, micStreams, streamId, streamInfo, hasAudioPublishPrivilege, streamsConfig;
543
+ return _regenerator["default"].wrap(function _callee7$(_context7) {
544
+ while (1) switch (_context7.prev = _context7.next) {
545
+ case 0:
546
+ localStreamList = this._mainStreamControl.getStreamsByUserId(this._userControl.getLocalUser().userId);
547
+ micStreams = localStreamList.filter(function (ele) {
548
+ return ele.audioSourceType === _type2.AgoraRteAudioSourceType.MICROPHONE;
549
+ });
550
+ streamId = !!micStreams.length ? micStreams[0].streamId : null;
551
+ if (!streamId) {
552
+ _context7.next = 10;
553
+ break;
554
+ }
555
+ streamInfo = this._mainStreamControl.getStreamByStreamId(streamId);
556
+ hasAudioPublishPrivilege = streamInfo && (streamInfo.streamType === _fcrCore.FcrStreamType.BOTH || streamInfo.streamType === _fcrCore.FcrStreamType.AUDIO);
557
+ if (!hasAudioPublishPrivilege) {
558
+ _context7.next = 10;
559
+ break;
560
+ }
561
+ streamsConfig = (0, _defineProperty2["default"])({}, streamId, {
562
+ audioPrivilege: open ? _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE : _fcrCore.FcrStreamPrivilegeOperation.NOPRIVILEGE,
563
+ videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
564
+ });
565
+ _context7.next = 10;
566
+ return (0, _utils.retryTask)(function () {
567
+ return _this5._mainStreamControl.updatePublishPrivilegeOfStreams(streamsConfig);
568
+ }, this._retryTask);
569
+ case 10:
570
+ case "end":
571
+ return _context7.stop();
572
+ }
573
+ }, _callee7, this);
574
+ }));
575
+ function _setMainRoomStream(_x9) {
576
+ return _setMainRoomStream2.apply(this, arguments);
577
+ }
578
+ return _setMainRoomStream;
579
+ }()
580
+ }, {
581
+ key: "_updateOutputLanguage",
582
+ value: function () {
583
+ var _updateOutputLanguage2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee10(language, isLocalOperation) {
584
+ var _this6 = this;
585
+ var setUiOutputLanguage, setInterpreterRoomStreams, _this$_sharedInterpre4, outputLanguage, preInterpreterInfo, interpreterInfo, subscribeLanguageList, isToggleInterperterRemoteAudio, outputLanguageList, preOutputLanguageList, closeOutputLanguageList, index, languageRoom;
586
+ return _regenerator["default"].wrap(function _callee10$(_context10) {
587
+ while (1) switch (_context10.prev = _context10.next) {
588
+ case 0:
589
+ setUiOutputLanguage = /*#__PURE__*/function () {
590
+ var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8(language) {
591
+ var interpreterLangCode;
592
+ return _regenerator["default"].wrap(function _callee8$(_context8) {
593
+ while (1) switch (_context8.prev = _context8.next) {
594
+ case 0:
595
+ _this6._sharedInterpreterDataSource.outputLanguage = language;
596
+ _context8.prev = 1;
597
+ interpreterLangCode = _this6._userControl.getUserPropertiesByKeyPath('interpreterLangCode', _this6._userControl.getLocalUser().userId);
598
+ if (!(!language && !interpreterLangCode)) {
599
+ _context8.next = 5;
600
+ break;
601
+ }
602
+ return _context8.abrupt("return");
603
+ case 5:
604
+ _context8.next = 7;
605
+ return _this6._userControl.updateUserProperties({
606
+ interpreterLangCode: language
607
+ }, {}, _this6._userControl.getLocalUser().userId);
608
+ case 7:
609
+ _this6.logger.info("interpreterLog- _updateUserProperties interpreterLangCode:".concat(language, " succeed"));
610
+ _context8.next = 13;
611
+ break;
612
+ case 10:
613
+ _context8.prev = 10;
614
+ _context8.t0 = _context8["catch"](1);
615
+ _this6.logger.info("interpreterLog- _updateUserProperties interpreterLangCode:".concat(language, " fail"));
616
+ case 13:
617
+ case "end":
618
+ return _context8.stop();
619
+ }
620
+ }, _callee8, null, [[1, 10]]);
621
+ }));
622
+ return function setUiOutputLanguage(_x12) {
623
+ return _ref3.apply(this, arguments);
624
+ };
625
+ }();
626
+ setInterpreterRoomStreams = /*#__PURE__*/function () {
627
+ var _ref4 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9(language, open) {
628
+ var room, control, streamControl, streamList, stream;
629
+ return _regenerator["default"].wrap(function _callee9$(_context9) {
630
+ while (1) switch (_context9.prev = _context9.next) {
631
+ case 0:
632
+ room = _this6._getRoomInfo(language);
633
+ if (!(room && room.status === _type.UpdateType.JOIN)) {
634
+ _context9.next = 9;
635
+ break;
636
+ }
637
+ control = room.control;
638
+ streamControl = control.getStreamControl();
639
+ streamList = streamControl.getStreamsByUserId(_this6._userControl.getLocalUser().userId);
640
+ if (!(streamList.length > 0)) {
641
+ _context9.next = 9;
642
+ break;
643
+ }
644
+ stream = streamList[0];
645
+ _context9.next = 9;
646
+ return streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, stream.streamId, {
647
+ videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION,
648
+ audioPrivilege: open ? _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE : _fcrCore.FcrStreamPrivilegeOperation.NOPRIVILEGE
649
+ }));
650
+ case 9:
651
+ case "end":
652
+ return _context9.stop();
653
+ }
654
+ }, _callee9);
655
+ }));
656
+ return function setInterpreterRoomStreams(_x13, _x14) {
657
+ return _ref4.apply(this, arguments);
658
+ };
659
+ }();
660
+ this._clearRetryTaskTimer(); // 清除当前重试任务
661
+ _this$_sharedInterpre4 = this._sharedInterpreterDataSource, outputLanguage = _this$_sharedInterpre4.outputLanguage, preInterpreterInfo = _this$_sharedInterpre4.preInterpreterInfo, interpreterInfo = _this$_sharedInterpre4.interpreterInfo, subscribeLanguageList = _this$_sharedInterpre4.subscribeLanguageList;
662
+ _context10.next = 6;
663
+ return this._setMainRoomStream(language ? false : true);
664
+ case 6:
665
+ isToggleInterperterRemoteAudio = false; // 开启
666
+ if (!language) {
667
+ _context10.next = 19;
668
+ break;
669
+ }
670
+ if (!outputLanguage) {
671
+ _context10.next = 15;
672
+ break;
673
+ }
674
+ _context10.next = 11;
675
+ return this._joinInterpreterRoom({
676
+ language: language,
677
+ isToggleInterperterRemoteAudio: isToggleInterperterRemoteAudio
678
+ });
679
+ case 11:
680
+ _context10.next = 13;
681
+ return setInterpreterRoomStreams(language, true);
88
682
  case 13:
683
+ _context10.next = 19;
684
+ break;
685
+ case 15:
686
+ _context10.next = 17;
687
+ return (0, _utils.retryTask)(function () {
688
+ return _this6._joinInterpreterRoom({
689
+ language: language,
690
+ isToggleInterperterRemoteAudio: isToggleInterperterRemoteAudio
691
+ });
692
+ }, this._retryTask);
693
+ case 17:
694
+ _context10.next = 19;
695
+ return (0, _utils.retryTask)(function () {
696
+ return setInterpreterRoomStreams(language, true);
697
+ }, this._retryTask);
698
+ case 19:
699
+ // 关闭
700
+ outputLanguageList = [];
701
+ preOutputLanguageList = [];
702
+ if (interpreterInfo) {
703
+ outputLanguageList.push(interpreterInfo.sourceLanguage, interpreterInfo.targetLanguage);
704
+ }
705
+ if (preInterpreterInfo) {
706
+ preOutputLanguageList.push(preInterpreterInfo.sourceLanguage, preInterpreterInfo.targetLanguage);
707
+ }
708
+ closeOutputLanguageList = [].concat((0, _toConsumableArray2["default"])(outputLanguageList.filter(function (ele) {
709
+ return ele !== language;
710
+ })), (0, _toConsumableArray2["default"])(preOutputLanguageList.filter(function (ele) {
711
+ return ele !== language;
712
+ })));
713
+ closeOutputLanguageList = Array.from(new Set(closeOutputLanguageList));
714
+ index = 0;
715
+ case 26:
716
+ if (!(index < closeOutputLanguageList.length)) {
717
+ _context10.next = 38;
718
+ break;
719
+ }
720
+ languageRoom = closeOutputLanguageList[index];
721
+ if (!(outputLanguageList.includes(languageRoom) || subscribeLanguageList.includes(languageRoom))) {
722
+ _context10.next = 33;
723
+ break;
724
+ }
725
+ _context10.next = 31;
726
+ return setInterpreterRoomStreams(languageRoom, false);
727
+ case 31:
728
+ _context10.next = 35;
729
+ break;
730
+ case 33:
731
+ _context10.next = 35;
732
+ return this._leaveInterpreterRoom({
733
+ language: languageRoom
734
+ });
735
+ case 35:
736
+ index++;
737
+ _context10.next = 26;
738
+ break;
739
+ case 38:
740
+ setUiOutputLanguage(language);
741
+
742
+ // if (localInterpreterUpdate) {
743
+ // this._observable.notifyObservers(
744
+ // 'onLocalInterpreterUpdated',
745
+ // [interpreterInfo.sourceLanguage, interpreterInfo.targetLanguage],
746
+ // language,
747
+ // );
748
+ // }
749
+ case 39:
89
750
  case "end":
90
- return _context2.stop();
751
+ return _context10.stop();
91
752
  }
92
- }, _callee2, this, [[1, 9]]);
753
+ }, _callee10, this);
93
754
  }));
94
- function leaveInterpreterRoom(_x2) {
95
- return _leaveInterpreterRoom.apply(this, arguments);
755
+ function _updateOutputLanguage(_x10, _x11) {
756
+ return _updateOutputLanguage2.apply(this, arguments);
96
757
  }
97
- return leaveInterpreterRoom;
98
- }() // 控制翻译房间输出流权限
758
+ return _updateOutputLanguage;
759
+ }()
99
760
  }, {
100
- key: "updateInterpreterRoomStreams",
761
+ key: "_updateSubscribeLanguage",
101
762
  value: function () {
102
- var _updateInterpreterRoomStreams = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(roomControl, open) {
103
- var streamControl, streamMap, streamList, stream;
104
- return _regenerator["default"].wrap(function _callee3$(_context3) {
105
- while (1) switch (_context3.prev = _context3.next) {
763
+ var _updateSubscribeLanguage2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee12(languageList) {
764
+ var _this7 = this;
765
+ var handlesubscribeLanguage, updateLanguageList, index, languageRoom, subscribeLanguageList, closeSubscribeLanguageList, _index, _languageRoom;
766
+ return _regenerator["default"].wrap(function _callee12$(_context12) {
767
+ while (1) switch (_context12.prev = _context12.next) {
106
768
  case 0:
107
- if (!roomControl) {
108
- _context3.next = 9;
769
+ handlesubscribeLanguage = /*#__PURE__*/function () {
770
+ var _ref6 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee11(_ref5) {
771
+ var language, event, room, interpreterInfo;
772
+ return _regenerator["default"].wrap(function _callee11$(_context11) {
773
+ while (1) switch (_context11.prev = _context11.next) {
774
+ case 0:
775
+ language = _ref5.language, event = _ref5.event;
776
+ room = _this7._getRoomInfo(language);
777
+ interpreterInfo = _this7._sharedInterpreterDataSource.interpreterInfo;
778
+ if (!room) {
779
+ _context11.next = 21;
780
+ break;
781
+ }
782
+ if (!(room.status === _type.UpdateType.JOIN)) {
783
+ _context11.next = 8;
784
+ break;
785
+ }
786
+ _this7._eventProvider.sendEvent(_constant.FcrUIAction.TOGGLE_INTERPRETER_REMOTE_AUDIO, {
787
+ roomControl: room.control,
788
+ event: event
789
+ });
790
+ _context11.next = 21;
791
+ break;
792
+ case 8:
793
+ if (!(event === _enums.EventType.STOP)) {
794
+ _context11.next = 18;
795
+ break;
796
+ }
797
+ if (!((interpreterInfo === null || interpreterInfo === void 0 ? void 0 : interpreterInfo.sourceLanguage) === language || (interpreterInfo === null || interpreterInfo === void 0 ? void 0 : interpreterInfo.targetLanguage) === language)) {
798
+ _context11.next = 13;
799
+ break;
800
+ }
801
+ _this7._eventProvider.sendEvent(_constant.FcrUIAction.TOGGLE_INTERPRETER_REMOTE_AUDIO, {
802
+ roomControl: room.control,
803
+ event: event
804
+ });
805
+ _context11.next = 15;
806
+ break;
807
+ case 13:
808
+ _context11.next = 15;
809
+ return (0, _utils.retryTask)(function () {
810
+ return _this7._leaveInterpreterRoom({
811
+ language: language
812
+ });
813
+ }, _this7._retryTask);
814
+ case 15:
815
+ // TODO 移除监听音量变化
816
+ room.control.getStreamControl().removeObserver(_this7._observerStream);
817
+ _context11.next = 21;
818
+ break;
819
+ case 18:
820
+ _context11.next = 20;
821
+ return (0, _utils.retryTask)(function () {
822
+ return _this7._joinInterpreterRoom({
823
+ language: language
824
+ });
825
+ }, _this7._retryTask);
826
+ case 20:
827
+ // TODO 设置监听音量变化
828
+ room.control.getStreamControl().addObserver(_this7._observerStream);
829
+ case 21:
830
+ case "end":
831
+ return _context11.stop();
832
+ }
833
+ }, _callee11);
834
+ }));
835
+ return function handlesubscribeLanguage(_x16) {
836
+ return _ref6.apply(this, arguments);
837
+ };
838
+ }();
839
+ this._clearRetryTaskTimer();
840
+ updateLanguageList = languageList.length === 0 ? [_interpreter.ORIGIN] : languageList;
841
+ index = 0;
842
+ case 4:
843
+ if (!(index < languageList.length)) {
844
+ _context12.next = 15;
845
+ break;
846
+ }
847
+ languageRoom = languageList[index];
848
+ if (!(languageRoom === _interpreter.ORIGIN)) {
849
+ _context12.next = 10;
109
850
  break;
110
851
  }
111
- streamControl = roomControl.getStreamControl();
112
- streamMap = streamControl.getStreams();
113
- streamList = Object.keys(streamMap).map(function (key) {
114
- return streamMap[key];
852
+ this._eventProvider.sendEvent(_constant.FcrUIAction.TOGGLE_MAINROOM_REMOTE_AUDIO, {
853
+ event: _enums.EventType.START
115
854
  });
116
- if (!(streamList.length > 0)) {
117
- _context3.next = 9;
855
+ _context12.next = 12;
856
+ break;
857
+ case 10:
858
+ _context12.next = 12;
859
+ return handlesubscribeLanguage({
860
+ language: languageRoom,
861
+ event: _enums.EventType.START
862
+ });
863
+ case 12:
864
+ index++;
865
+ _context12.next = 4;
866
+ break;
867
+ case 15:
868
+ subscribeLanguageList = this._sharedInterpreterDataSource.subscribeLanguageList;
869
+ closeSubscribeLanguageList = subscribeLanguageList.filter(function (ele) {
870
+ return !languageList.includes(ele);
871
+ });
872
+ _index = 0;
873
+ case 18:
874
+ if (!(_index < closeSubscribeLanguageList.length)) {
875
+ _context12.next = 29;
118
876
  break;
119
877
  }
120
- stream = streamList[0][0];
121
- _context3.next = 8;
122
- return streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, stream.streamId, {
123
- videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION,
124
- audioPrivilege: open ? _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE : _fcrCore.FcrStreamPrivilegeOperation.NOPRIVILEGE
125
- }));
126
- case 8:
127
- this.logger.info("interpreterLog- ".concat(open ? 'ON' : 'OFF', " interpreterRoom input streams"), stream.streamId);
878
+ _languageRoom = closeSubscribeLanguageList[_index];
879
+ if (!(_languageRoom === _interpreter.ORIGIN)) {
880
+ _context12.next = 24;
881
+ break;
882
+ }
883
+ this._eventProvider.sendEvent(_constant.FcrUIAction.TOGGLE_MAINROOM_REMOTE_AUDIO, {
884
+ event: _enums.EventType.STOP
885
+ });
886
+ _context12.next = 26;
887
+ break;
888
+ case 24:
889
+ _context12.next = 26;
890
+ return handlesubscribeLanguage({
891
+ language: _languageRoom,
892
+ event: _enums.EventType.STOP
893
+ });
894
+ case 26:
895
+ _index++;
896
+ _context12.next = 18;
897
+ break;
898
+ case 29:
899
+ this._sharedInterpreterDataSource.preSubscribeLanguageList = subscribeLanguageList;
900
+ this._sharedInterpreterDataSource.subscribeLanguageList = updateLanguageList;
901
+ case 31:
902
+ case "end":
903
+ return _context12.stop();
904
+ }
905
+ }, _callee12, this);
906
+ }));
907
+ function _updateSubscribeLanguage(_x15) {
908
+ return _updateSubscribeLanguage2.apply(this, arguments);
909
+ }
910
+ return _updateSubscribeLanguage;
911
+ }()
912
+ }, {
913
+ key: "setOutputLanguage",
914
+ value: function () {
915
+ var _setOutputLanguage = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee13(language, successCallback, failureCallback) {
916
+ var _this$_sharedInterpre5, interpreterInfo, outputLanguage;
917
+ return _regenerator["default"].wrap(function _callee13$(_context13) {
918
+ while (1) switch (_context13.prev = _context13.next) {
919
+ case 0:
920
+ _this$_sharedInterpre5 = this._sharedInterpreterDataSource, interpreterInfo = _this$_sharedInterpre5.interpreterInfo, outputLanguage = _this$_sharedInterpre5.outputLanguage;
921
+ _context13.prev = 1;
922
+ if (!interpreterInfo) {
923
+ _context13.next = 7;
924
+ break;
925
+ }
926
+ _context13.next = 5;
927
+ return this._updateOutputLanguage(language, true);
928
+ case 5:
929
+ successCallback && successCallback();
930
+
931
+ // TODO 触发麦克风关闭提示
932
+ if (!this._deviceProvider.microphoneEnabled) {
933
+ this._eventProvider.showToast({
934
+ type: 'info',
935
+ message: (0, _i18n.transI18n)('fmt_interpretation_interpreter_toast_label_open_micro')
936
+ });
937
+ }
938
+ case 7:
939
+ _context13.next = 12;
940
+ break;
128
941
  case 9:
942
+ _context13.prev = 9;
943
+ _context13.t0 = _context13["catch"](1);
944
+ failureCallback && failureCallback(_context13.t0);
945
+ case 12:
946
+ return _context13.abrupt("return", !!interpreterInfo);
947
+ case 13:
129
948
  case "end":
130
- return _context3.stop();
949
+ return _context13.stop();
131
950
  }
132
- }, _callee3, this);
951
+ }, _callee13, this, [[1, 9]]);
952
+ }));
953
+ function setOutputLanguage(_x17, _x18, _x19) {
954
+ return _setOutputLanguage.apply(this, arguments);
955
+ }
956
+ return setOutputLanguage;
957
+ }()
958
+ }, {
959
+ key: "subscribeLanguage",
960
+ value: function () {
961
+ var _subscribeLanguage = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee14(language, successCallback, failureCallback) {
962
+ var subscribeLanguageList, languageList, removeLanguage;
963
+ return _regenerator["default"].wrap(function _callee14$(_context14) {
964
+ while (1) switch (_context14.prev = _context14.next) {
965
+ case 0:
966
+ _context14.prev = 0;
967
+ subscribeLanguageList = this._sharedInterpreterDataSource.subscribeLanguageList;
968
+ languageList = [];
969
+ if (subscribeLanguageList.length === 2 && language !== _interpreter.ORIGIN) {
970
+ languageList = [_interpreter.ORIGIN];
971
+ }
972
+ _context14.next = 6;
973
+ return this._updateSubscribeLanguage([].concat((0, _toConsumableArray2["default"])(languageList), [language]));
974
+ case 6:
975
+ successCallback && successCallback();
976
+
977
+ // TODO
978
+ // 该方法会使`该方法会使` 时只有一种语言, 之前有的语言移除
979
+ if (this._hasSubscribedLanguageList.size === 1) {
980
+ this._hasSubscribedLanguageList.clear();
981
+ this._hasSubscribedLanguageList.add(language);
982
+ }
983
+ removeLanguage = subscribeLanguageList.find(function (ele) {
984
+ return ele !== _interpreter.ORIGIN && ele !== language;
985
+ });
986
+ if (removeLanguage) {
987
+ this._observable.notifyObservers('onLanguageUnsubscribed', removeLanguage);
988
+ }
989
+ this._observable.notifyObservers('onLanguageSubscribed', language);
990
+ _context14.next = 16;
991
+ break;
992
+ case 13:
993
+ _context14.prev = 13;
994
+ _context14.t0 = _context14["catch"](0);
995
+ failureCallback && failureCallback(_context14.t0);
996
+ case 16:
997
+ case "end":
998
+ return _context14.stop();
999
+ }
1000
+ }, _callee14, this, [[0, 13]]);
133
1001
  }));
134
- function updateInterpreterRoomStreams(_x3, _x4) {
135
- return _updateInterpreterRoomStreams.apply(this, arguments);
1002
+ function subscribeLanguage(_x20, _x21, _x22) {
1003
+ return _subscribeLanguage.apply(this, arguments);
136
1004
  }
137
- return updateInterpreterRoomStreams;
1005
+ return subscribeLanguage;
138
1006
  }()
1007
+ }, {
1008
+ key: "subscribeExtraOriginLanguage",
1009
+ value: function subscribeExtraOriginLanguage(subscribe) {
1010
+ if (subscribe) {
1011
+ // TODO
1012
+ if (!this._hasSubscribedLanguageList.has(_interpreter.ORIGIN)) {
1013
+ this._hasSubscribedLanguageList.add(_interpreter.ORIGIN);
1014
+ this._observable.notifyObservers('onLanguageSubscribed', _interpreter.ORIGIN);
1015
+ }
1016
+ } else {
1017
+ if (this._hasSubscribedLanguageList.size === 2 && this._hasSubscribedLanguageList.has(_interpreter.ORIGIN)) {
1018
+ this._hasSubscribedLanguageList["delete"](_interpreter.ORIGIN);
1019
+ this._observable.notifyObservers('onLanguageUnsubscribed', _interpreter.ORIGIN);
1020
+ }
1021
+ }
1022
+ }
1023
+ }, {
1024
+ key: "getHasSubscribedLanguageList",
1025
+ value: function getHasSubscribedLanguageList() {
1026
+ this.subscribeExtraOriginLanguage(true);
1027
+ var hasSubscribedLanguageList = [];
1028
+ this._hasSubscribedLanguageList.forEach(function (ele) {
1029
+ hasSubscribedLanguageList.push(ele);
1030
+ });
1031
+ return hasSubscribedLanguageList;
1032
+ }
1033
+ }, {
1034
+ key: "userIsInterpreter",
1035
+ value: function userIsInterpreter(userId) {
1036
+ var interpreterUsers = this._sharedInterpreterDataSource.interpreterUsers;
1037
+ return !!(interpreterUsers !== null && interpreterUsers !== void 0 && interpreterUsers.find(function (ele) {
1038
+ return ele.userId === userId;
1039
+ }));
1040
+ }
1041
+ }, {
1042
+ key: "getUserOutputLanguage",
1043
+ value: function getUserOutputLanguage(userId) {
1044
+ var isUserIsInterpreter = this.userIsInterpreter(userId);
1045
+ if (!isUserIsInterpreter) {
1046
+ return _interpreter.ORIGIN;
1047
+ } else {
1048
+ if (this._userControl.getLocalUser().userId === userId) {
1049
+ return this._sharedInterpreterDataSource.outputLanguage;
1050
+ } else {
1051
+ return this._userControl.getUserPropertiesByKeyPath('interpreterLangCode', userId);
1052
+ }
1053
+ }
1054
+ }
1055
+ }, {
1056
+ key: "getSubscribeLanguageList",
1057
+ value: function getSubscribeLanguageList() {
1058
+ var interpreterUsers = this._interpreterControl.getInterpreterUserList();
1059
+ var subscribeLanguageList = [_interpreter.ORIGIN];
1060
+ interpreterUsers === null || interpreterUsers === void 0 || interpreterUsers.forEach(function (ele) {
1061
+ subscribeLanguageList.push(ele.sourceLanguage, ele.targetLanguage);
1062
+ });
1063
+ return subscribeLanguageList;
1064
+ }
1065
+ }, {
1066
+ key: "getOutputLanguageOptionList",
1067
+ value: function getOutputLanguageOptionList() {
1068
+ return this._interpreterControl.getInterpreterLanguageList();
1069
+ }
1070
+ }, {
1071
+ key: "setInterpreterUsers",
1072
+ value: function () {
1073
+ var _setInterpreterUsers = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee15(params, successCallback, failureCallback) {
1074
+ return _regenerator["default"].wrap(function _callee15$(_context15) {
1075
+ while (1) switch (_context15.prev = _context15.next) {
1076
+ case 0:
1077
+ _context15.prev = 0;
1078
+ _context15.next = 3;
1079
+ return this._interpreterControl.setInterpreterUsers(params);
1080
+ case 3:
1081
+ successCallback && successCallback();
1082
+ _context15.next = 9;
1083
+ break;
1084
+ case 6:
1085
+ _context15.prev = 6;
1086
+ _context15.t0 = _context15["catch"](0);
1087
+ failureCallback && failureCallback(_context15.t0);
1088
+ case 9:
1089
+ case "end":
1090
+ return _context15.stop();
1091
+ }
1092
+ }, _callee15, this, [[0, 6]]);
1093
+ }));
1094
+ function setInterpreterUsers(_x23, _x24, _x25) {
1095
+ return _setInterpreterUsers.apply(this, arguments);
1096
+ }
1097
+ return setInterpreterUsers;
1098
+ }()
1099
+ }, {
1100
+ key: "disableInterpretation",
1101
+ value: function disableInterpretation() {
1102
+ this._interpreterControl.close();
1103
+ }
1104
+ }, {
1105
+ key: "getInterpretationState",
1106
+ value: function getInterpretationState() {
1107
+ return this._interpreterControl.getState().enable;
1108
+ }
1109
+ }, {
1110
+ key: "getInterpreterList",
1111
+ value: function getInterpreterList() {
1112
+ return this._interpreterControl.getInterpreterUserList();
1113
+ }
139
1114
  }, {
140
1115
  key: "addObserver",
141
1116
  value: function addObserver(observer) {
@@ -146,6 +1121,19 @@ var FcrUIInterpreterProviderImpl = exports.FcrUIInterpreterProviderImpl = /*#__P
146
1121
  value: function removeObserver(observer) {
147
1122
  this._observable.removeObserver(observer);
148
1123
  }
1124
+ }, {
1125
+ key: "canEnableInterpretation",
1126
+ value: function canEnableInterpretation() {
1127
+ return this._privilegeProvider.hasEnableInterpreterPermission();
1128
+ }
1129
+ }, {
1130
+ key: "release",
1131
+ value: function release() {
1132
+ this._clearRetryTaskTimer();
1133
+ this._clearTimer();
1134
+ this._deviceProvider.removeObserver(this._observerMicrophoneChanged);
1135
+ this._interpreterControl.removeObserver(this._observerInterpreter);
1136
+ }
149
1137
  }]);
150
1138
  }();
151
1139
  (0, _base.registerDependency)('interpreterProvider');