fcr-ui-scene 3.4.0 → 3.4.2

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