fcr-ui-scene 3.4.1 → 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 (567) hide show
  1. package/lib/base.d.ts +40 -5
  2. package/lib/base.js +237 -22
  3. package/lib/common/device-store.d.ts +14 -23
  4. package/lib/common/device-store.js +252 -361
  5. package/lib/common/device-stream-store.d.ts +14 -8
  6. package/lib/common/device-stream-store.js +116 -254
  7. package/lib/common/event-store.d.ts +10 -35
  8. package/lib/common/event-store.js +13 -64
  9. package/lib/common/security-store.d.ts +39 -47
  10. package/lib/common/security-store.js +379 -335
  11. package/lib/creator.d.ts +1 -1
  12. package/lib/creator.js +4 -9
  13. package/lib/electron/app.js +4 -2
  14. package/lib/electron/bootstrap-dev.js +0 -7
  15. package/lib/electron/bootstrap-sdk.js +10 -0
  16. package/lib/electron/injections.d.ts +2 -0
  17. package/lib/electron/injections.js +17 -2
  18. package/lib/electron/logger.d.ts +0 -4
  19. package/lib/electron/logger.js +2 -5
  20. package/lib/electron/main.js +1 -1
  21. package/lib/electron/plugins/devtool-shortcut.js +10 -1
  22. package/lib/electron/plugins/meeting-state.js +1 -1
  23. package/lib/electron/preload.js +3 -1
  24. package/lib/fragments/control-bar/cloud-recording-buttons.js +1 -1
  25. package/lib/fragments/control-bar/control-bar-store.d.ts +1 -44
  26. package/lib/fragments/control-bar/control-bar-store.js +80 -457
  27. package/lib/fragments/control-bar/device/index.js +3 -5
  28. package/lib/fragments/control-bar/index.css +10 -15
  29. package/lib/fragments/control-bar/index.js +0 -24
  30. package/lib/fragments/control-bar/more-actions/index.css +0 -53
  31. package/lib/fragments/control-bar/more-actions/index.js +38 -73
  32. package/lib/fragments/control-bar/security-content/index.css +0 -75
  33. package/lib/fragments/control-bar/security-content/index.js +19 -105
  34. package/lib/fragments/control-bar/share-state-nav/index.js +1 -1
  35. package/lib/fragments/control-bar/view.js +8 -23
  36. package/lib/fragments/live-streaming/store.d.ts +1 -1
  37. package/lib/fragments/live-streaming/store.js +1 -1
  38. package/lib/fragments/live-streaming/view.js +2 -4
  39. package/lib/fragments/share-screen-selection/selection-store.d.ts +1 -1
  40. package/lib/fragments/share-screen-selection/selection-store.js +1 -1
  41. package/lib/fragments/share-screen-selection/view.js +20 -20
  42. package/lib/fragments/toolbar/components/eraser-picker.js +1 -1
  43. package/lib/fragments/toolbar/components/pen-picker.js +1 -1
  44. package/lib/fragments/toolbar/components/shape-picker.js +1 -1
  45. package/lib/fragments/toolbar/components/wrapper.js +1 -1
  46. package/lib/fragments/toolbar/hooks.js +1 -1
  47. package/lib/fragments/toolbar/store.d.ts +1 -1
  48. package/lib/global.css +5 -0
  49. package/lib/index.d.ts +1 -0
  50. package/lib/index.js +7 -4
  51. package/lib/login-confirm-dialog.d.ts +1 -0
  52. package/lib/login-confirm-dialog.js +7 -2
  53. package/lib/modules/Interpreter/action/delete-btn/index.d.ts +2 -2
  54. package/lib/modules/Interpreter/action/edit-btn/index.js +2 -2
  55. package/lib/modules/Interpreter/action/switch-btn/index.js +5 -5
  56. package/lib/modules/Interpreter/dialog-content/index.d.ts +2 -2
  57. package/lib/modules/Interpreter/dialog-content/index.js +4 -4
  58. package/lib/modules/Interpreter/index.d.ts +11 -4
  59. package/lib/modules/Interpreter/index.js +23 -8
  60. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.d.ts +2 -2
  61. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.js +3 -3
  62. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.d.ts +2 -2
  63. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +14 -14
  64. package/lib/modules/Interpreter/interpreter-list/interpreter-item/index.d.ts +2 -2
  65. package/lib/modules/Interpreter/interpreter-list/interpreter-item/index.js +2 -2
  66. package/lib/modules/Interpreter/store.d.ts +23 -84
  67. package/lib/modules/Interpreter/store.js +204 -1216
  68. package/lib/modules/Interpreter/type.d.ts +12 -29
  69. package/lib/modules/Interpreter/type.js +2 -10
  70. package/lib/modules/Interpreter/utils.d.ts +1 -5
  71. package/lib/modules/Interpreter/utils.js +28 -86
  72. package/lib/modules/Interpreter/view.js +19 -3
  73. package/lib/modules/action-bar/action-bar-collapes-items.d.ts +1 -4
  74. package/lib/modules/action-bar/action-bar-collapes-items.js +21 -38
  75. package/lib/modules/action-bar/chat/index.js +8 -8
  76. package/lib/modules/action-bar/components/apps/app-item/index.css +1 -2
  77. package/lib/modules/action-bar/components/apps/app-item/index.d.ts +1 -10
  78. package/lib/modules/action-bar/components/apps/appitems.d.ts +1 -3
  79. package/lib/modules/action-bar/components/apps/index.css +2 -2
  80. package/lib/modules/action-bar/components/apps/index.js +2 -3
  81. package/lib/modules/action-bar/components/collapse/index.d.ts +8 -0
  82. package/lib/modules/action-bar/components/collapse/index.js +222 -0
  83. package/lib/modules/action-bar/components/interpreter/index.d.ts +1 -5
  84. package/lib/modules/action-bar/components/item/index.d.ts +9 -0
  85. package/lib/modules/action-bar/components/item/index.js +164 -0
  86. package/lib/modules/action-bar/components/leave/assign-host.d.ts +1 -8
  87. package/lib/modules/action-bar/components/leave/assign-host.js +1 -1
  88. package/lib/modules/action-bar/components/leave/index.js +9 -24
  89. package/lib/modules/action-bar/components/leave/leave-meeting.d.ts +1 -16
  90. package/lib/modules/action-bar/components/more/index.js +13 -9
  91. package/lib/modules/action-bar/components/more/poppover-content.d.ts +1 -4
  92. package/lib/modules/action-bar/components/more/poppover-content.js +28 -5
  93. package/lib/modules/action-bar/components/notification-bar/assets/dome.png +0 -0
  94. package/lib/modules/action-bar/components/notification-bar/assets/fcr_translateswitch.png +0 -0
  95. package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.css +58 -0
  96. package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.d.ts +8 -0
  97. package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.js +100 -0
  98. package/lib/modules/action-bar/components/notification-bar/components/virtual-image/index.css +56 -0
  99. package/lib/modules/action-bar/components/notification-bar/components/virtual-image/index.d.ts +5 -0
  100. package/lib/modules/action-bar/components/notification-bar/components/virtual-image/index.js +33 -0
  101. package/lib/modules/action-bar/components/notification-bar/index.css +74 -0
  102. package/lib/modules/action-bar/components/notification-bar/index.d.ts +2 -0
  103. package/lib/modules/action-bar/components/notification-bar/index.js +99 -0
  104. package/lib/modules/action-bar/components/participants/index.js +2 -2
  105. package/lib/modules/action-bar/components/placement/index.d.ts +4 -0
  106. package/lib/modules/action-bar/components/placement/index.js +18 -0
  107. package/lib/modules/action-bar/components/record/stop-record-dialog.d.ts +1 -3
  108. package/lib/modules/action-bar/components/screen-share/submenu.js +25 -2
  109. package/lib/modules/action-bar/components/security/index.js +3 -1
  110. package/lib/modules/action-bar/components/smaller/index.d.ts +1 -0
  111. package/lib/modules/action-bar/components/smaller/index.js +52 -0
  112. package/lib/modules/action-bar/components/trigger-input-language-room/fcr_translateswitch.png +0 -0
  113. package/lib/modules/action-bar/components/trigger-input-language-room/index.css +86 -0
  114. package/lib/modules/action-bar/components/trigger-input-language-room/index.d.ts +3 -0
  115. package/lib/modules/action-bar/components/trigger-input-language-room/index.js +215 -0
  116. package/lib/modules/action-bar/components/trigger-output-language/fcr_translateswitch.png +0 -0
  117. package/lib/modules/action-bar/components/trigger-output-language/index.css +86 -0
  118. package/lib/modules/action-bar/components/trigger-output-language/index.d.ts +2 -0
  119. package/lib/modules/action-bar/components/trigger-output-language/index.js +230 -0
  120. package/lib/modules/action-bar/components/trigger-output-language-room/constant.d.ts +10 -0
  121. package/lib/modules/action-bar/components/trigger-output-language-room/constant.js +8 -0
  122. package/lib/modules/action-bar/components/trigger-output-language-room/guide-tooltip/index.css +22 -0
  123. package/lib/modules/action-bar/components/trigger-output-language-room/guide-tooltip/index.d.ts +3 -0
  124. package/lib/modules/action-bar/components/trigger-output-language-room/guide-tooltip/index.js +75 -0
  125. package/lib/modules/action-bar/components/trigger-output-language-room/index.d.ts +8 -0
  126. package/lib/modules/action-bar/components/trigger-output-language-room/index.js +98 -0
  127. package/lib/modules/action-bar/components/trigger-output-language-room/trigger-language-room.d.ts +5 -0
  128. package/lib/modules/action-bar/components/trigger-output-language-room/trigger-language-room.js +66 -0
  129. package/lib/modules/action-bar/components/trigger-output-language-room/trigger-main-room.d.ts +5 -0
  130. package/lib/modules/action-bar/components/trigger-output-language-room/trigger-main-room.js +37 -0
  131. package/lib/modules/action-bar/components/trigger-output-language-room/useChangeOutputRoomTool.d.ts +12 -0
  132. package/lib/modules/action-bar/components/trigger-output-language-room/useChangeOutputRoomTool.js +138 -0
  133. package/lib/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.css +22 -0
  134. package/lib/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.d.ts +3 -0
  135. package/lib/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.js +70 -0
  136. package/lib/modules/action-bar/components/trigger-subscribe-language/index.d.ts +5 -0
  137. package/lib/modules/action-bar/components/trigger-subscribe-language/index.js +209 -0
  138. package/lib/modules/action-bar/device/index.css +2 -7
  139. package/lib/modules/action-bar/device/index.js +24 -22
  140. package/lib/modules/action-bar/enums.d.ts +23 -0
  141. package/lib/modules/action-bar/enums.js +35 -0
  142. package/lib/modules/action-bar/index.d.ts +36 -6
  143. package/lib/modules/action-bar/index.dev.d.ts +0 -1
  144. package/lib/modules/action-bar/index.dev.js +94 -121
  145. package/lib/modules/action-bar/index.js +46 -18
  146. package/lib/modules/action-bar/leave/assign-host.d.ts +0 -3
  147. package/lib/modules/action-bar/leave/assign-host.js +4 -2
  148. package/lib/modules/action-bar/leave/index.css +0 -10
  149. package/lib/modules/action-bar/leave/index.js +34 -84
  150. package/lib/modules/action-bar/leave/leave-meeting.d.ts +1 -13
  151. package/lib/modules/action-bar/leave/leave-meeting.js +19 -37
  152. package/lib/modules/action-bar/live-streaming/index.js +3 -3
  153. package/lib/modules/action-bar/more/index.js +6 -9
  154. package/lib/modules/action-bar/more/poppover-content.js +16 -37
  155. package/lib/modules/action-bar/participants/index.css +0 -12
  156. package/lib/modules/action-bar/participants/index.js +16 -23
  157. package/lib/modules/action-bar/record/index.js +4 -4
  158. package/lib/modules/action-bar/screen-share/index.js +5 -14
  159. package/lib/modules/action-bar/screen-share/submenu.js +26 -20
  160. package/lib/modules/action-bar/security/drop-menu.js +22 -137
  161. package/lib/modules/action-bar/security/index.js +6 -12
  162. package/lib/modules/action-bar/settings/index.js +4 -4
  163. package/lib/modules/action-bar/smaller.js +5 -5
  164. package/lib/modules/action-bar/store.d.ts +84 -98
  165. package/lib/modules/action-bar/store.js +567 -707
  166. package/lib/modules/action-bar/types.d.ts +94 -0
  167. package/lib/modules/action-bar/types.js +6 -0
  168. package/lib/modules/action-bar/view.d.ts +1 -2
  169. package/lib/modules/action-bar/view.js +11 -11
  170. package/lib/modules/audio-stream/index.d.ts +22 -10
  171. package/lib/modules/audio-stream/index.js +78 -82
  172. package/lib/modules/chat/chat-bar/index.css +0 -6
  173. package/lib/modules/chat/chat-bar/index.d.ts +3 -3
  174. package/lib/modules/chat/chat-bar/index.js +39 -51
  175. package/lib/modules/chat/chat-room-store.d.ts +135 -0
  176. package/lib/modules/chat/chat-room-store.js +954 -0
  177. package/lib/modules/chat/chat-select/index.css +7 -27
  178. package/lib/modules/chat/chat-select/index.d.ts +1 -1
  179. package/lib/modules/chat/chat-select/index.js +4 -18
  180. package/lib/modules/chat/chat.d.ts +2 -1
  181. package/lib/modules/chat/chat.js +128 -196
  182. package/lib/modules/chat/components/chat-action/index.d.ts +1 -0
  183. package/lib/modules/chat/components/chat-action/index.js +28 -0
  184. package/lib/modules/chat/components/chat-bar/index.css +85 -0
  185. package/lib/modules/chat/components/chat-bar/index.d.ts +3 -0
  186. package/lib/modules/chat/components/chat-bar/index.js +145 -0
  187. package/lib/modules/chat/components/chat-select/index.css +185 -0
  188. package/lib/modules/chat/components/chat-select/index.d.ts +3 -0
  189. package/lib/modules/chat/components/chat-select/index.js +237 -0
  190. package/lib/modules/chat/components/message-list/index.d.ts +4 -0
  191. package/lib/modules/chat/components/message-list/index.js +650 -0
  192. package/lib/modules/chat/index.d.ts +13 -5
  193. package/lib/modules/chat/index.dev.d.ts +0 -1
  194. package/lib/modules/chat/index.dev.js +71 -72
  195. package/lib/modules/chat/index.js +45 -22
  196. package/lib/modules/chat/message-list.js +51 -68
  197. package/lib/modules/chat/mock.d.ts +1 -1
  198. package/lib/modules/chat/store.d.ts +17 -162
  199. package/lib/modules/chat/store.js +95 -963
  200. package/lib/modules/chat/types.d.ts +70 -0
  201. package/lib/modules/chat/types.js +17 -0
  202. package/lib/modules/chat/view.d.ts +10 -0
  203. package/lib/modules/chat/view.js +372 -0
  204. package/lib/modules/components/device-control/components/audio-menu/index.js +2 -2
  205. package/lib/modules/components/device-control/components/microphone/index.js +7 -7
  206. package/lib/modules/components/device-control/store.d.ts +11 -12
  207. package/lib/modules/components/device-control/store.js +46 -49
  208. package/lib/modules/components/dialog-container/component/body.js +2 -1
  209. package/lib/modules/components/dialog-container/index.d.ts +2 -2
  210. package/lib/modules/components/leave-meeting/components/assign-host.d.ts +3 -0
  211. package/lib/modules/components/leave-meeting/components/assign-host.js +70 -0
  212. package/lib/modules/components/leave-meeting/components/index.css +125 -0
  213. package/lib/modules/components/leave-meeting/index.d.ts +4 -0
  214. package/lib/modules/components/leave-meeting/index.js +147 -0
  215. package/lib/modules/components/leave-meeting/store.d.ts +31 -0
  216. package/lib/modules/components/leave-meeting/store.js +292 -0
  217. package/lib/modules/components/member-window/index.d.ts +1 -1
  218. package/lib/modules/components/member-window/index.js +12 -6
  219. package/lib/modules/components/security-menu/index.d.ts +2 -0
  220. package/lib/modules/components/security-menu/index.js +34 -35
  221. package/lib/modules/components/tab-frame/index.d.ts +2 -2
  222. package/lib/modules/components/tab-frame/index.js +26 -5
  223. package/lib/modules/connection-gateway/components/computer/index.js +4 -4
  224. package/lib/modules/connection-gateway/components/phone/components/callinfo/index.d.ts +1 -1
  225. package/lib/modules/connection-gateway/components/phone/index.js +2 -2
  226. package/lib/modules/connection-gateway/components/tabs/index.js +1 -2
  227. package/lib/modules/connection-gateway/enums.d.ts +4 -0
  228. package/lib/modules/connection-gateway/enums.js +12 -0
  229. package/lib/modules/connection-gateway/index.d.ts +13 -4
  230. package/lib/modules/connection-gateway/index.js +25 -15
  231. package/lib/modules/connection-gateway/store.d.ts +22 -18
  232. package/lib/modules/connection-gateway/store.js +60 -36
  233. package/lib/modules/connection-gateway/types.d.ts +4 -0
  234. package/lib/modules/connection-gateway/types.js +6 -0
  235. package/lib/modules/connection-gateway/view.js +2 -2
  236. package/lib/modules/control-bar/components/meeting-details/index.js +30 -25
  237. package/lib/modules/control-bar/components/more-actions/index.css +18 -0
  238. package/lib/modules/control-bar/components/more-actions/index.d.ts +1 -5
  239. package/lib/modules/control-bar/components/more-actions/index.js +58 -9
  240. package/lib/modules/control-bar/components/share-state-nav/index.d.ts +1 -7
  241. package/lib/modules/control-bar/components/share-state-nav/index.js +2 -1
  242. package/lib/modules/control-bar/components/stop-live-streaming/stop-button.d.ts +1 -1
  243. package/lib/modules/control-bar/components/stop-live-streaming/stop-button.js +2 -2
  244. package/lib/modules/control-bar/components/transfer-position-icon/index.d.ts +1 -10
  245. package/lib/modules/control-bar/components/transfer-position-icon/index.js +7 -12
  246. package/lib/modules/control-bar/enums.d.ts +21 -0
  247. package/lib/modules/control-bar/enums.js +31 -0
  248. package/lib/modules/control-bar/index.d.ts +30 -7
  249. package/lib/modules/control-bar/index.js +46 -27
  250. package/lib/modules/control-bar/store.d.ts +38 -26
  251. package/lib/modules/control-bar/store.js +172 -282
  252. package/lib/modules/control-bar/types.d.ts +20 -0
  253. package/lib/modules/control-bar/types.js +6 -0
  254. package/lib/modules/control-bar/view.js +68 -34
  255. package/lib/modules/device-pretest/index.js +4 -4
  256. package/lib/modules/device-pretest/settings/video-settings-basic.js +1 -1
  257. package/lib/modules/device-pretest/store.d.ts +8 -9
  258. package/lib/modules/device-pretest/store.js +52 -36
  259. package/lib/modules/dialog/components/Interpreter/electron.js +21 -15
  260. package/lib/modules/dialog/components/Interpreter/index.js +2 -2
  261. package/lib/modules/dialog/components/chat/electron.d.ts +1 -1
  262. package/lib/modules/dialog/components/chat/electron.js +19 -10
  263. package/lib/modules/dialog/components/chat/index.js +2 -2
  264. package/lib/modules/dialog/components/confirm/electron.d.ts +1 -1
  265. package/lib/modules/dialog/components/confirm/electron.js +68 -38
  266. package/lib/modules/dialog/components/confirm/index.js +1 -1
  267. package/lib/modules/dialog/components/connection-gateway/electron.d.ts +1 -1
  268. package/lib/modules/dialog/components/connection-gateway/electron.js +8 -10
  269. package/lib/modules/dialog/components/connection-gateway/index.css +2 -0
  270. package/lib/modules/dialog/components/connection-gateway/index.d.ts +3 -1
  271. package/lib/modules/dialog/components/connection-gateway/index.js +20 -7
  272. package/lib/modules/dialog/components/connection-gateway/tabs.d.ts +6 -0
  273. package/lib/modules/dialog/components/connection-gateway/tabs.js +44 -0
  274. package/lib/modules/dialog/components/control-bar/index.d.ts +5 -1
  275. package/lib/modules/dialog/components/control-bar/index.js +122 -9
  276. package/lib/modules/dialog/components/device-setting/electron.js +6 -2
  277. package/lib/modules/dialog/components/device-setting/index.js +2 -2
  278. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +7 -0
  279. package/lib/modules/dialog/components/dialog-container/component/body.js +77 -0
  280. package/lib/modules/dialog/components/dialog-container/index.css +81 -0
  281. package/lib/modules/dialog/components/dialog-container/index.d.ts +16 -0
  282. package/lib/modules/dialog/components/dialog-container/index.js +112 -0
  283. package/lib/modules/dialog/components/invite/index.js +32 -7
  284. package/lib/modules/dialog/components/live-streaming/index.js +9 -5
  285. package/lib/modules/dialog/components/participant/electron.js +11 -5
  286. package/lib/modules/dialog/components/participant/index.js +4 -3
  287. package/lib/modules/dialog/components/share-screen-selection/index.js +9 -5
  288. package/lib/modules/dialog/components/system-preference/electron.js +1 -1
  289. package/lib/modules/dialog/components/toast/index.js +1 -1
  290. package/lib/modules/dialog/components/video-window/index.d.ts +2 -0
  291. package/lib/modules/dialog/components/video-window/index.js +148 -0
  292. package/lib/modules/dialog/components/whiteboard/index.js +2 -2
  293. package/lib/modules/dialog/dialogs.d.ts +2 -5
  294. package/lib/modules/dialog/dialogs.js +2 -157
  295. package/lib/modules/dialog/hooks/useElectron.d.ts +3 -25
  296. package/lib/modules/dialog/hooks/useElectron.js +91 -35
  297. package/lib/modules/dialog/index.d.ts +30 -4
  298. package/lib/modules/dialog/index.js +62 -6
  299. package/lib/modules/dialog/store.d.ts +46 -12
  300. package/lib/modules/dialog/store.js +121 -65
  301. package/lib/modules/dialog/types/index.d.ts +14 -3
  302. package/lib/modules/event-confirm/index.css +1 -1
  303. package/lib/modules/event-confirm/index.d.ts +13 -6
  304. package/lib/modules/event-confirm/index.js +28 -11
  305. package/lib/modules/event-confirm/store.d.ts +9 -3
  306. package/lib/modules/event-confirm/store.js +16 -7
  307. package/lib/modules/event-confirm/view.js +5 -1
  308. package/lib/modules/event-toast/index.d.ts +7 -6
  309. package/lib/modules/event-toast/index.js +19 -8
  310. package/lib/modules/event-toast/store.d.ts +8 -3
  311. package/lib/modules/event-toast/store.js +15 -6
  312. package/lib/modules/invite/components/error-tips.d.ts +4 -0
  313. package/lib/modules/invite/components/error-tips.js +18 -0
  314. package/lib/modules/invite/components/pstn-invite.d.ts +2 -0
  315. package/lib/modules/invite/components/pstn-invite.js +297 -0
  316. package/lib/modules/invite/components/voip-invite.d.ts +1 -0
  317. package/lib/modules/invite/components/voip-invite.js +276 -0
  318. package/lib/modules/invite/enums.d.ts +22 -0
  319. package/lib/modules/invite/enums.js +33 -0
  320. package/lib/modules/invite/index.d.ts +7 -8
  321. package/lib/modules/invite/index.js +17 -15
  322. package/lib/modules/invite/pstn-invite.js +9 -7
  323. package/lib/modules/invite/store.d.ts +11 -26
  324. package/lib/modules/invite/store.js +55 -25
  325. package/lib/modules/invite/types.d.ts +14 -0
  326. package/lib/modules/invite/types.js +6 -0
  327. package/lib/modules/invite/view.d.ts +0 -4
  328. package/lib/modules/invite/view.js +7 -11
  329. package/lib/modules/invite/voip-invite.js +6 -5
  330. package/lib/modules/layout/components/Aside.js +34 -17
  331. package/lib/modules/layout/components/Carousel.js +1 -1
  332. package/lib/modules/layout/components/Gallery.js +1 -1
  333. package/lib/modules/layout/components/index.d.ts +1 -1
  334. package/lib/modules/layout/components/index.js +4 -4
  335. package/lib/modules/layout/components/who-is-speaking.d.ts +2 -0
  336. package/lib/modules/layout/components/who-is-speaking.js +60 -0
  337. package/lib/modules/layout/index.d.ts +26 -4
  338. package/lib/modules/layout/index.dev.d.ts +0 -1
  339. package/lib/modules/layout/index.dev.js +312 -386
  340. package/lib/modules/layout/index.js +25 -10
  341. package/lib/modules/layout/member-window/index.css +18 -116
  342. package/lib/modules/layout/member-window/index.d.ts +3 -10
  343. package/lib/modules/layout/member-window/index.js +115 -227
  344. package/lib/modules/layout/store.d.ts +61 -71
  345. package/lib/modules/layout/store.js +311 -573
  346. package/lib/modules/layout/view.d.ts +2 -0
  347. package/lib/modules/layout/view.js +127 -2
  348. package/lib/modules/live-streaming/index.d.ts +15 -7
  349. package/lib/modules/live-streaming/index.dev.js +13 -13
  350. package/lib/modules/live-streaming/index.js +20 -15
  351. package/lib/modules/live-streaming/store.d.ts +21 -14
  352. package/lib/modules/live-streaming/store.js +84 -144
  353. package/lib/modules/live-streaming/view.js +2 -2
  354. package/lib/modules/notification/index.d.ts +9 -11
  355. package/lib/modules/notification/index.js +21 -14
  356. package/lib/modules/notification/interpreter-status/index.js +1 -2
  357. package/lib/modules/notification/store.d.ts +5 -11
  358. package/lib/modules/notification/store.js +12 -62
  359. package/lib/modules/notification/view.d.ts +5 -3
  360. package/lib/modules/notification/view.js +8 -5
  361. package/lib/modules/offscreen-pulling/index.js +1 -1
  362. package/lib/modules/participant/attendee/index.css +51 -0
  363. package/lib/modules/participant/attendee/index.d.ts +5 -8
  364. package/lib/modules/participant/attendee/index.js +15 -61
  365. package/lib/modules/participant/components/attendee/components/microphone-indicator/index.d.ts +6 -0
  366. package/lib/modules/participant/components/attendee/components/microphone-indicator/index.js +28 -0
  367. package/lib/modules/participant/components/attendee/components/user-avatar/index.d.ts +7 -0
  368. package/lib/modules/participant/components/attendee/components/user-avatar/index.js +39 -0
  369. package/lib/modules/participant/components/attendee/index.css +69 -0
  370. package/lib/modules/participant/components/attendee/index.d.ts +4 -0
  371. package/lib/modules/participant/components/attendee/index.js +337 -0
  372. package/lib/modules/participant/components/can-moveable/index.d.ts +1 -0
  373. package/lib/modules/participant/components/can-moveable/index.js +68 -0
  374. package/lib/modules/participant/components/drop-menu/index.js +8 -8
  375. package/lib/modules/participant/components/footer/buttons.d.ts +2 -3
  376. package/lib/modules/participant/components/footer/buttons.js +2 -3
  377. package/lib/modules/participant/components/footer/index.js +2 -2
  378. package/lib/modules/participant/components/mute-all/index.d.ts +3 -4
  379. package/lib/modules/participant/components/mute-all/index.js +31 -44
  380. package/lib/modules/participant/components/operate-waitingroom-member/index.d.ts +2 -0
  381. package/lib/modules/participant/components/operate-waitingroom-member/index.js +48 -0
  382. package/lib/modules/participant/components/participants/index.js +27 -50
  383. package/lib/modules/participant/components/user-action/index.d.ts +17 -0
  384. package/lib/modules/participant/components/user-action/index.js +169 -0
  385. package/lib/modules/participant/index.d.ts +34 -7
  386. package/lib/modules/participant/index.dev.d.ts +0 -1
  387. package/lib/modules/participant/index.dev.js +87 -116
  388. package/lib/modules/participant/index.js +39 -13
  389. package/lib/modules/participant/member-list-data-source.d.ts +4 -1
  390. package/lib/modules/participant/member-list-data-source.js +58 -31
  391. package/lib/modules/participant/room-control-drop-menu/index.css +0 -37
  392. package/lib/modules/participant/store.d.ts +58 -25
  393. package/lib/modules/participant/store.js +321 -298
  394. package/lib/modules/participant/type.d.ts +45 -1
  395. package/lib/modules/participant/type.js +15 -1
  396. package/lib/modules/pc-audio-connect/index.css +12 -0
  397. package/lib/modules/pc-audio-connect/index.d.ts +22 -0
  398. package/lib/modules/pc-audio-connect/index.js +68 -0
  399. package/lib/modules/pc-audio-connect/store.d.ts +46 -0
  400. package/lib/modules/pc-audio-connect/store.js +301 -0
  401. package/lib/modules/pc-audio-connect/types.d.ts +0 -0
  402. package/lib/modules/pc-audio-connect/types.js +1 -0
  403. package/lib/modules/pc-audio-connect/view.d.ts +3 -0
  404. package/lib/modules/pc-audio-connect/view.js +66 -0
  405. package/lib/modules/phone-audio-connect/components/callinfo/index.css +36 -0
  406. package/lib/modules/phone-audio-connect/components/callinfo/index.d.ts +10 -0
  407. package/lib/modules/phone-audio-connect/components/callinfo/index.js +77 -0
  408. package/lib/modules/phone-audio-connect/components/calling/index.css +72 -0
  409. package/lib/modules/phone-audio-connect/components/calling/index.d.ts +7 -0
  410. package/lib/modules/phone-audio-connect/components/calling/index.js +58 -0
  411. package/lib/modules/phone-audio-connect/components/remeber/index.css +10 -0
  412. package/lib/modules/phone-audio-connect/components/remeber/index.d.ts +5 -0
  413. package/lib/modules/phone-audio-connect/components/remeber/index.js +24 -0
  414. package/lib/modules/phone-audio-connect/components/useing/index.css +46 -0
  415. package/lib/modules/phone-audio-connect/components/useing/index.d.ts +3 -0
  416. package/lib/modules/phone-audio-connect/components/useing/index.js +36 -0
  417. package/lib/modules/phone-audio-connect/enums.d.ts +4 -0
  418. package/lib/modules/phone-audio-connect/enums.js +12 -0
  419. package/lib/modules/phone-audio-connect/index.css +56 -0
  420. package/lib/modules/phone-audio-connect/index.d.ts +16 -0
  421. package/lib/modules/phone-audio-connect/index.js +63 -0
  422. package/lib/modules/phone-audio-connect/store.d.ts +46 -0
  423. package/lib/modules/phone-audio-connect/store.js +320 -0
  424. package/lib/modules/phone-audio-connect/types.d.ts +4 -0
  425. package/lib/modules/phone-audio-connect/types.js +6 -0
  426. package/lib/modules/phone-audio-connect/view.d.ts +3 -0
  427. package/lib/modules/phone-audio-connect/view.js +184 -0
  428. package/lib/modules/setting/audio-settings/audio-settings.js +5 -5
  429. package/lib/modules/setting/index.d.ts +25 -5
  430. package/lib/modules/setting/index.dev.d.ts +0 -1
  431. package/lib/modules/setting/index.dev.js +120 -81
  432. package/lib/modules/setting/index.js +35 -9
  433. package/lib/modules/setting/minutes-settings/minutes-settings.js +1 -1
  434. package/lib/modules/setting/state/index.js +3 -3
  435. package/lib/modules/setting/store.d.ts +48 -14
  436. package/lib/modules/setting/store.js +105 -114
  437. package/lib/modules/setting/translate-settings/translate-settings.js +3 -3
  438. package/lib/modules/setting/video-settings/video-settings-basic.js +19 -22
  439. package/lib/modules/setting/view.js +6 -35
  440. package/lib/modules/share-screen/components/selection/index.css +70 -0
  441. package/lib/modules/share-screen/components/selection/index.d.ts +2 -0
  442. package/lib/modules/share-screen/components/selection/index.js +267 -0
  443. package/lib/modules/share-screen/components/share-state-bar/index.css +76 -0
  444. package/lib/modules/share-screen/components/share-state-bar/index.d.ts +4 -0
  445. package/lib/modules/share-screen/components/share-state-bar/index.js +98 -0
  446. package/lib/modules/share-screen/index.d.ts +15 -18
  447. package/lib/modules/share-screen/index.dev.d.ts +0 -1
  448. package/lib/modules/share-screen/index.dev.js +90 -91
  449. package/lib/modules/share-screen/index.js +22 -22
  450. package/lib/modules/share-screen/selection/index.css +0 -4
  451. package/lib/modules/share-screen/selection/index.js +129 -126
  452. package/lib/modules/share-screen/share-state-bar/index.js +1 -1
  453. package/lib/modules/share-screen/store.d.ts +36 -32
  454. package/lib/modules/share-screen/store.js +250 -219
  455. package/lib/modules/share-screen/types.d.ts +27 -0
  456. package/lib/modules/share-screen/types.js +6 -0
  457. package/lib/modules/share-screen/view.js +1 -1
  458. package/lib/modules/sound-effect/index.d.ts +9 -4
  459. package/lib/modules/sound-effect/index.js +72 -40
  460. package/lib/modules/sound-effect/sound-effect-player.js +1 -1
  461. package/lib/modules/state-bar/index.d.ts +16 -13
  462. package/lib/modules/state-bar/index.dev.d.ts +0 -1
  463. package/lib/modules/state-bar/index.dev.js +78 -83
  464. package/lib/modules/state-bar/index.js +23 -7
  465. package/lib/modules/state-bar/meeting-details.js +24 -12
  466. package/lib/modules/state-bar/meeting-network-state.js +1 -1
  467. package/lib/modules/state-bar/store.d.ts +20 -10
  468. package/lib/modules/state-bar/store.js +84 -87
  469. package/lib/modules/state-bar/view.js +2 -2
  470. package/lib/modules/video-window/deviceState/index.d.ts +2 -2
  471. package/lib/modules/video-window/deviceState/index.js +4 -6
  472. package/lib/modules/video-window/index.css +1 -4
  473. package/lib/modules/video-window/index.d.ts +33 -6
  474. package/lib/modules/video-window/index.js +63 -15
  475. package/lib/modules/video-window/members/index.css +1 -0
  476. package/lib/modules/video-window/members/index.js +25 -11
  477. package/lib/modules/video-window/store.d.ts +58 -27
  478. package/lib/modules/video-window/store.js +166 -161
  479. package/lib/modules/waiting-room-layout/index.d.ts +11 -4
  480. package/lib/modules/waiting-room-layout/index.js +26 -13
  481. package/lib/modules/waiting-room-layout/store.d.ts +6 -3
  482. package/lib/modules/waiting-room-layout/store.js +17 -15
  483. package/lib/modules/whiteboard/components/control-bar/store.d.ts +4 -4
  484. package/lib/modules/whiteboard/components/control-bar/store.js +8 -8
  485. package/lib/modules/whiteboard/index.d.ts +20 -14
  486. package/lib/modules/whiteboard/index.js +250 -223
  487. package/lib/modules/whiteboard/view.d.ts +2 -0
  488. package/lib/modules/whiteboard/view.js +49 -0
  489. package/lib/plugins/browser-runtime-plugin.js +5 -1
  490. package/lib/providers/chat-provider.d.ts +71 -0
  491. package/lib/providers/chat-provider.js +91 -0
  492. package/lib/providers/device-privilege-provider.d.ts +52 -6
  493. package/lib/providers/device-privilege-provider.js +212 -183
  494. package/lib/providers/device-provider.d.ts +203 -45
  495. package/lib/providers/device-provider.js +486 -398
  496. package/lib/providers/device-stream-provider.d.ts +12 -13
  497. package/lib/providers/device-stream-provider.js +86 -193
  498. package/lib/providers/dialog-provider.d.ts +135 -0
  499. package/lib/providers/dialog-provider.js +204 -0
  500. package/lib/providers/event-provider.d.ts +1 -21
  501. package/lib/providers/event-provider.js +19 -57
  502. package/lib/providers/interpreter-provider.d.ts +218 -7
  503. package/lib/providers/interpreter-provider.js +1072 -80
  504. package/lib/providers/local-storage-provider.d.ts +9 -0
  505. package/lib/providers/message-provider.d.ts +69 -0
  506. package/lib/providers/message-provider.js +98 -0
  507. package/lib/providers/monitor-provider.d.ts +5 -0
  508. package/lib/providers/phone-audio-provider.d.ts +131 -0
  509. package/lib/providers/phone-audio-provider.js +515 -0
  510. package/lib/providers/privilege-provider.d.ts +325 -12
  511. package/lib/providers/privilege-provider.js +111 -295
  512. package/lib/providers/renderer-provider.d.ts +46 -4
  513. package/lib/providers/renderer-provider.js +57 -60
  514. package/lib/providers/room-provider.d.ts +113 -6
  515. package/lib/providers/room-provider.js +667 -87
  516. package/lib/providers/screen-share-provider.d.ts +65 -0
  517. package/lib/providers/screen-share-provider.js +238 -0
  518. package/lib/providers/session-provider.d.ts +30 -0
  519. package/lib/runtime.d.ts +2 -0
  520. package/lib/scenes/main-scene.d.ts +41 -3
  521. package/lib/scenes/main-scene.js +407 -246
  522. package/lib/scenes/waiting-scene.d.ts +34 -4
  523. package/lib/scenes/waiting-scene.js +163 -56
  524. package/lib/shared-data-source/chat-data.d.ts +14 -0
  525. package/lib/shared-data-source/chat-data.js +130 -0
  526. package/lib/shared-data-source/device-privilege-data.d.ts +8 -0
  527. package/lib/shared-data-source/device-privilege-data.js +25 -0
  528. package/lib/shared-data-source/interpreter.d.ts +63 -0
  529. package/lib/shared-data-source/interpreter.js +248 -0
  530. package/lib/shared-data-source/layout-data.d.ts +29 -0
  531. package/lib/shared-data-source/layout-data.js +181 -0
  532. package/lib/shared-data-source/pin-data.d.ts +9 -0
  533. package/lib/shared-data-source/pin-data.js +24 -0
  534. package/lib/shared-data-source/setting.d.ts +32 -0
  535. package/lib/shared-data-source/setting.js +153 -0
  536. package/lib/shared-data-source/speaker-spotlight.d.ts +5 -0
  537. package/lib/shared-data-source/speaker-spotlight.js +15 -0
  538. package/lib/shared-data-source/video-window.d.ts +161 -0
  539. package/lib/shared-data-source/video-window.js +1202 -0
  540. package/lib/shared-data-source/waiting-room.d.ts +19 -0
  541. package/lib/shared-data-source/waiting-room.js +158 -0
  542. package/lib/translations/enUS.d.ts +43 -17
  543. package/lib/translations/enUS.js +59 -33
  544. package/lib/translations/zhCN.d.ts +43 -17
  545. package/lib/translations/zhCN.js +57 -31
  546. package/lib/type.d.ts +270 -25
  547. package/lib/type.js +67 -2
  548. package/lib/ui-manager.d.ts +20 -16
  549. package/lib/ui-manager.js +59 -795
  550. package/lib/ui-scene.d.ts +6 -1
  551. package/lib/ui-scene.js +372 -42
  552. package/lib/utilities/constant.d.ts +63 -86
  553. package/lib/utilities/constant.js +151 -175
  554. package/lib/utilities/copyText.js +8 -7
  555. package/lib/utilities/extract.d.ts +1 -1
  556. package/lib/utilities/privilege.d.ts +4 -0
  557. package/lib/utilities/privilege.js +31 -0
  558. package/lib/utilities/setting-config-storage.d.ts +12 -0
  559. package/lib/utilities/setting-config-storage.js +102 -0
  560. package/lib/utilities/tools.d.ts +35 -3
  561. package/lib/utilities/tools.js +104 -2
  562. package/lib/utilities/video-track-render-context.d.ts +3 -4
  563. package/lib/utilities/video-track-render-context.js +1 -1
  564. package/package.json +5 -5
  565. package/public/assets/full-screen-error-boundary-img.png +0 -0
  566. package/public/assets/leave-meeting.png +0 -0
  567. package/public/index.html +24 -14
@@ -1,30 +1,30 @@
1
1
  import { FcrBaseRoomControl } from 'fcr-core/lib/room-control/type';
2
2
  import { FcrUIDeviceProvider } from '../providers/device-provider';
3
- import { FcrUIPrivilegeProvider } from '../providers/privilege-provider';
4
3
  import { FcrUIEventProvider } from '../providers/event-provider';
4
+ import { FcrUIDevicePrivilegeProvider } from './device-privilege-provider';
5
+ import { FcrUISharedDevicePrivilegeDataSource } from '../shared-data-source/device-privilege-data';
5
6
  export interface FcrUIDeviceStreamProvider {
6
- enableCameraWithStream(enable: boolean): void;
7
- enableMicrophoneWithStream(enable: boolean, confirmAudioShareWhileMicOff?: boolean): void;
7
+ enableCameraWithPreCheck(enable: boolean): void;
8
+ enableMicrophoneWithPreCheck(enable: boolean): void;
8
9
  }
9
10
  export declare class FcrUIDeviceStreamProviderImpl implements FcrUIDeviceStreamProvider {
10
11
  protected logger: import("agora-foundation/lib/logger").Logger;
11
12
  private _roomControl;
12
13
  private _deviceProvider;
13
- private _privilegeProvider;
14
14
  private _eventProvider;
15
15
  private _cameraDeviceId;
16
16
  private _microphoneDeviceId;
17
- private _interpreterControl;
17
+ private _devicePrivilegeProvider;
18
+ private _sharedDevicePrivilegeDataSource;
18
19
  private get _localUser();
20
+ private _devicePrivilegeObserver;
21
+ private _handleOnCameraNeedClosed;
22
+ private _handleOnMicrophoneNeedClosed;
19
23
  private get _localCameraStream();
20
- private get _localLoopbackStream();
21
- private get _canStartLocalVideo();
22
- private get _canStartLocalAudio();
23
- private _firstGetMicrophonePrivilege;
24
- constructor(roomControl: FcrBaseRoomControl, privilegeProvider: FcrUIPrivilegeProvider, deviceProvider: FcrUIDeviceProvider, eventProvider: FcrUIEventProvider);
24
+ constructor(roomControl: FcrBaseRoomControl, deviceProvider: FcrUIDeviceProvider, eventProvider: FcrUIEventProvider, devicePrivilegeProvider: FcrUIDevicePrivilegeProvider, sharedDevicePrivilegeDataSource: FcrUISharedDevicePrivilegeDataSource);
25
25
  checkoutDevicePermission(mediaType: 'camera' | 'microphone'): Promise<boolean>;
26
- enableCameraWithStream(enable: boolean): Promise<void>;
27
- enableMicrophoneWithStream(enable: boolean, confirmAudioShareWhileMicOff?: boolean): Promise<void>;
26
+ enableCameraWithPreCheck(enable: boolean): Promise<void>;
27
+ enableMicrophoneWithPreCheck(enable: boolean): Promise<void>;
28
28
  release(): void;
29
29
  private _initLocalStream;
30
30
  private _handleCameraChanged;
@@ -32,5 +32,4 @@ export declare class FcrUIDeviceStreamProviderImpl implements FcrUIDeviceStreamP
32
32
  private _bindLocalAudioStream;
33
33
  private _bindLocalVideoStream;
34
34
  private _handleProcessEvent;
35
- _getInterpreterInfo(): import("fcr-core/lib/room-control/interpreter-control/types").FcrInterpreterUserInfo | null | undefined;
36
35
  }
@@ -9,7 +9,6 @@ require("core-js/modules/es.array.is-array.js");
9
9
  require("core-js/modules/es.array.iterator.js");
10
10
  require("core-js/modules/es.array.push.js");
11
11
  require("core-js/modules/es.date.to-primitive.js");
12
- require("core-js/modules/es.function.bind.js");
13
12
  require("core-js/modules/es.function.name.js");
14
13
  require("core-js/modules/es.map.js");
15
14
  require("core-js/modules/es.number.constructor.js");
@@ -42,6 +41,7 @@ Object.defineProperty(exports, "__esModule", {
42
41
  exports.FcrUIDeviceStreamProviderImpl = void 0;
43
42
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
44
43
  require("core-js/modules/es.array.find.js");
44
+ require("core-js/modules/es.function.bind.js");
45
45
  require("core-js/modules/es.object.to-string.js");
46
46
  require("core-js/modules/esnext.async-iterator.find.js");
47
47
  require("core-js/modules/esnext.iterator.constructor.js");
@@ -51,90 +51,63 @@ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/
51
51
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
52
52
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
53
53
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
54
- var _fcrCore = require("fcr-core");
55
54
  var _decorator = require("agora-foundation/lib/decorator");
56
55
  var _mobx = require("mobx");
57
- var _type = require("agora-rte-sdk/lib/core/scene/type");
58
- var _type2 = require("agora-rte-sdk/lib/core/rtc/type");
56
+ var _type = require("agora-rte-sdk/lib/core/rtc/type");
59
57
  var _logger = require("agora-foundation/lib/logger");
60
58
  var _i18n = require("agora-ui-foundation/lib/i18n");
61
59
  var _rendererEvent = require("../utilities/renderer-event");
62
- var _type3 = require("fcr-core/lib/room-control/type");
60
+ var _type2 = require("fcr-core/lib/room-control/type");
63
61
  var _env = require("agora-foundation/lib/utilities/env");
64
62
  var _constant = require("../utilities/constant");
65
63
  var _base = require("../base");
66
64
  var _FcrUIDeviceStreamProviderImpl;
67
- var _initProto, _checkoutDevicePermissionDecs, _enableCameraWithStreamDecs, _enableMicrophoneWithStreamDecs, _getInterpreterInfoDecs, _ref;
65
+ var _initProto, _checkoutDevicePermissionDecs, _enableCameraWithPreCheckDecs, _enableMicrophoneWithPreCheckDecs, _ref;
68
66
  function _applyDecs(e, t, r, n, o, a) { function i(e, t, r) { return function (n, o) { return r && r(n), e[t].call(n, o); }; } function c(e, t) { for (var r = 0; r < e.length; r++) e[r].call(t); return t; } function s(e, t, r, n) { if ("function" != typeof e && (n || void 0 !== e)) throw new TypeError(t + " must " + (r || "be") + " a function" + (n ? "" : " or undefined")); return e; } function applyDec(e, t, r, n, o, a, c, u, l, f, p, d, h) { function m(e) { if (!h(e)) throw new TypeError("Attempted to access private element on non-instance"); } var y, v = t[0], g = t[3], b = !u; if (!b) { r || Array.isArray(v) || (v = [v]); var w = {}, S = [], A = 3 === o ? "get" : 4 === o || d ? "set" : "value"; f ? (p || d ? w = { get: _setFunctionName(function () { return g(this); }, n, "get"), set: function set(e) { t[4](this, e); } } : w[A] = g, p || _setFunctionName(w[A], n, 2 === o ? "" : A)) : p || (w = Object.getOwnPropertyDescriptor(e, n)); } for (var P = e, j = v.length - 1; j >= 0; j -= r ? 2 : 1) { var D = v[j], E = r ? v[j - 1] : void 0, I = {}, O = { kind: ["field", "accessor", "method", "getter", "setter", "class"][o], name: n, metadata: a, addInitializer: function (e, t) { if (e.v) throw Error("attempted to call addInitializer after decoration was finished"); s(t, "An initializer", "be", !0), c.push(t); }.bind(null, I) }; try { if (b) (y = s(D.call(E, P, O), "class decorators", "return")) && (P = y);else { var k, F; O["static"] = l, O["private"] = f, f ? 2 === o ? k = function k(e) { return m(e), w.value; } : (o < 4 && (k = i(w, "get", m)), 3 !== o && (F = i(w, "set", m))) : (k = function k(e) { return e[n]; }, (o < 2 || 4 === o) && (F = function F(e, t) { e[n] = t; })); var N = O.access = { has: f ? h.bind() : function (e) { return n in e; } }; if (k && (N.get = k), F && (N.set = F), P = D.call(E, d ? { get: w.get, set: w.set } : w[A], O), d) { if ("object" == _typeof(P) && P) (y = s(P.get, "accessor.get")) && (w.get = y), (y = s(P.set, "accessor.set")) && (w.set = y), (y = s(P.init, "accessor.init")) && S.push(y);else if (void 0 !== P) throw new TypeError("accessor decorators must return an object with get, set, or init properties or void 0"); } else s(P, (p ? "field" : "method") + " decorators", "return") && (p ? S.push(P) : w[A] = P); } } finally { I.v = !0; } } return (p || d) && u.push(function (e, t) { for (var r = S.length - 1; r >= 0; r--) t = S[r].call(e, t); return t; }), p || b || (f ? d ? u.push(i(w, "get"), i(w, "set")) : u.push(2 === o ? w[A] : i.call.bind(w[A])) : Object.defineProperty(e, n, w)), P; } function u(e, t) { return Object.defineProperty(e, Symbol.metadata || Symbol["for"]("Symbol.metadata"), { configurable: !0, enumerable: !0, value: t }); } if (arguments.length >= 6) var l = a[Symbol.metadata || Symbol["for"]("Symbol.metadata")]; var f = Object.create(null == l ? null : l), p = function (e, t, r, n) { var o, a, i = [], s = function s(t) { return _checkInRHS(t) === e; }, u = new Map(); function l(e) { e && i.push(c.bind(null, e)); } for (var f = 0; f < t.length; f++) { var p = t[f]; if (Array.isArray(p)) { var d = p[1], h = p[2], m = p.length > 3, y = 16 & d, v = !!(8 & d), g = 0 == (d &= 7), b = h + "/" + v; if (!g && !m) { var w = u.get(b); if (!0 === w || 3 === w && 4 !== d || 4 === w && 3 !== d) throw Error("Attempted to decorate a public method/accessor that has the same name as a previously decorated public method/accessor. This is not currently supported by the decorators plugin. Property name was: " + h); u.set(b, !(d > 2) || d); } applyDec(v ? e : e.prototype, p, y, m ? "#" + h : _toPropertyKey(h), d, n, v ? a = a || [] : o = o || [], i, v, m, g, 1 === d, v && m ? s : r); } } return l(o), l(a), i; }(e, t, o, f); return r.length || u(e, f), { e: p, get c() { var t = []; return r.length && [u(applyDec(e, [r], n, e.name, 5, f, t), f), c.bind(null, t, e)]; } }; }
69
67
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
70
68
  function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
71
69
  function _setFunctionName(e, t, n) { "symbol" == _typeof(t) && (t = (t = t.description) ? "[" + t + "]" : ""); try { Object.defineProperty(e, "name", { configurable: !0, value: n ? n + " " + t : t }); } catch (e) {} return e; }
72
70
  function _checkInRHS(e) { if (Object(e) !== e) throw TypeError("right-hand side of 'in' should be an object, got " + (null !== e ? _typeof(e) : "null")); return e; }
73
- _ref = (_checkoutDevicePermissionDecs = [_mobx.action, _mobx.action.bound], _enableCameraWithStreamDecs = [_mobx.action, _mobx.action.bound], _enableMicrophoneWithStreamDecs = [_mobx.action, _mobx.action.bound], _getInterpreterInfoDecs = [_mobx.action, _mobx.action.bound], "logger");
71
+ _ref = (_checkoutDevicePermissionDecs = [_mobx.action, _mobx.action.bound], _enableCameraWithPreCheckDecs = [_mobx.action, _mobx.action.bound], _enableMicrophoneWithPreCheckDecs = [_mobx.action, _mobx.action.bound], "logger");
74
72
  var FcrUIDeviceStreamProviderImpl = exports.FcrUIDeviceStreamProviderImpl = /*#__PURE__*/function () {
75
- function FcrUIDeviceStreamProviderImpl(roomControl, privilegeProvider, deviceProvider, eventProvider) {
76
- var _roomControl$getRoomI,
77
- _this = this;
73
+ function FcrUIDeviceStreamProviderImpl(roomControl, deviceProvider, eventProvider, devicePrivilegeProvider, sharedDevicePrivilegeDataSource) {
74
+ var _this = this;
78
75
  (0, _classCallCheck2["default"])(this, FcrUIDeviceStreamProviderImpl);
79
76
  (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.getLogger)()));
80
77
  (0, _defineProperty2["default"])(this, "_cameraDeviceId", '');
81
78
  (0, _defineProperty2["default"])(this, "_microphoneDeviceId", '');
82
- (0, _defineProperty2["default"])(this, "_interpreterControl", null);
83
- (0, _defineProperty2["default"])(this, "_firstGetMicrophonePrivilege", true);
79
+ (0, _defineProperty2["default"])(this, "_devicePrivilegeObserver", {
80
+ onCameraNeedClosed: this._handleOnCameraNeedClosed.bind(this),
81
+ onMicrophoneNeedClosed: this._handleOnMicrophoneNeedClosed.bind(this)
82
+ });
84
83
  this._roomControl = roomControl;
85
- this._privilegeProvider = privilegeProvider;
86
84
  this._deviceProvider = deviceProvider;
87
85
  this._eventProvider = eventProvider;
88
- if (((_roomControl$getRoomI = roomControl.getRoomInfo()) === null || _roomControl$getRoomI === void 0 ? void 0 : _roomControl$getRoomI.roomType) === _type3.FcrRoomType.Mainroom) {
89
- var interpreterControl = roomControl.getInterpreterControl();
90
- if (interpreterControl) {
91
- this._interpreterControl = interpreterControl;
92
- }
93
- }
86
+ this._devicePrivilegeProvider = devicePrivilegeProvider;
87
+ this._sharedDevicePrivilegeDataSource = sharedDevicePrivilegeDataSource;
94
88
  this._deviceProvider.addObserver({
95
89
  onCameraChanged: this._handleCameraChanged,
96
90
  onMicrophoneChanged: this._handleMicrophoneChanged
97
91
  });
92
+ this._devicePrivilegeProvider.addObserver(this._devicePrivilegeObserver);
98
93
  var streamControl = this._roomControl.getStreamControl();
99
94
  streamControl.addObserver({
100
- onStreamsAdded: function onStreamsAdded(_, e) {
101
- var _e$find;
102
- var localCameraStream = (_e$find = e.find(function (event) {
103
- return event.modifiedStream.owner.userId === _this._localUser.userId && event.modifiedStream.videoSourceType === _type2.AgoraRtcVideoSourceType.CAMERA;
104
- })) === null || _e$find === void 0 ? void 0 : _e$find.modifiedStream;
95
+ onStreamsAdded: function onStreamsAdded(_, events) {
96
+ var _events$find;
97
+ var localCameraStream = (_events$find = events.find(function (event) {
98
+ return event.modifiedStream.owner.userId === _this._localUser.userId && event.modifiedStream.videoSourceType === _type.AgoraRtcVideoSourceType.CAMERA;
99
+ })) === null || _events$find === void 0 ? void 0 : _events$find.modifiedStream;
105
100
  if (localCameraStream) {
106
101
  _this._bindLocalAudioStream();
107
102
  _this._bindLocalVideoStream();
108
103
  }
109
104
  },
110
- onStreamsUpdated: function onStreamsUpdated(_, e) {
111
- var localCamera = e.find(function (event) {
112
- return event.modifiedStream.owner.userId === _this._localUser.userId && event.modifiedStream.videoSourceType === _type2.AgoraRtcVideoSourceType.CAMERA;
105
+ onStreamsUpdated: function onStreamsUpdated(_, events) {
106
+ var localCamera = events.find(function (event) {
107
+ return event.modifiedStream.owner.userId === _this._localUser.userId && event.modifiedStream.videoSourceType === _type.AgoraRtcVideoSourceType.CAMERA;
113
108
  });
114
109
  var localCameraStream = localCamera === null || localCamera === void 0 ? void 0 : localCamera.modifiedStream;
115
110
  if (localCameraStream) {
116
- var _localCamera$operator;
117
- if (localCameraStream.streamType === _type.AgoraRteMediaStreamType.AUDIO || localCameraStream.streamType === _type.AgoraRteMediaStreamType.NONE) {
118
- if (_this._deviceProvider.cameraEnabled) {
119
- _this._deviceProvider.setCameraEnabled(false);
120
- _this._eventProvider.showToast({
121
- type: 'error',
122
- message: (0, _i18n.transI18n)('fmt_uimanager_tips_urturnedoff')
123
- });
124
- }
125
- }
126
- if (_this._getInterpreterInfo() && ((_localCamera$operator = localCamera.operatorUser) === null || _localCamera$operator === void 0 ? void 0 : _localCamera$operator.userId) === _this._localUser.userId) {
127
- return;
128
- }
129
- if (localCameraStream.streamType === _type.AgoraRteMediaStreamType.VIDEO || localCameraStream.streamType === _type.AgoraRteMediaStreamType.NONE) {
130
- if (_this._deviceProvider.microphoneEnabled) {
131
- _this._deviceProvider.setMicrophoneEnabled(false);
132
- _this._eventProvider.showToast({
133
- type: 'error',
134
- message: (0, _i18n.transI18n)('fmt_uimanager_tips_urmuted')
135
- });
136
- }
137
- }
138
111
  _this._bindLocalAudioStream();
139
112
  _this._bindLocalVideoStream();
140
113
  }
@@ -154,31 +127,36 @@ var FcrUIDeviceStreamProviderImpl = exports.FcrUIDeviceStreamProviderImpl = /*#_
154
127
  return this._roomControl.getUserControl().getLocalUser();
155
128
  }
156
129
  }, {
157
- key: "_localCameraStream",
158
- get: function get() {
159
- var localStreams = this._roomControl.getStreamControl().getStreamsByUserId(this._localUser.userId);
160
- return localStreams.find(function (stream) {
161
- return stream.videoSourceType === _type2.AgoraRtcVideoSourceType.CAMERA;
162
- });
130
+ key: "_handleOnCameraNeedClosed",
131
+ value: function _handleOnCameraNeedClosed() {
132
+ if (this._deviceProvider.cameraEnabled) {
133
+ this._deviceProvider.setCameraEnabled(false);
134
+ this._eventProvider.showToast({
135
+ type: 'error',
136
+ message: (0, _i18n.transI18n)('fmt_uimanager_tips_urturnedoff')
137
+ });
138
+ }
139
+ }
140
+ }, {
141
+ key: "_handleOnMicrophoneNeedClosed",
142
+ value: function _handleOnMicrophoneNeedClosed() {
143
+ if (this._deviceProvider.microphoneEnabled) {
144
+ this._deviceProvider.setMicrophoneEnabled(false);
145
+ this._eventProvider.showToast({
146
+ type: 'error',
147
+ message: (0, _i18n.transI18n)('fmt_uimanager_tips_urmuted')
148
+ });
149
+ }
150
+ this._sharedDevicePrivilegeDataSource.setShouldIncludeMicrophone(false);
163
151
  }
164
152
  }, {
165
- key: "_localLoopbackStream",
153
+ key: "_localCameraStream",
166
154
  get: function get() {
167
155
  var localStreams = this._roomControl.getStreamControl().getStreamsByUserId(this._localUser.userId);
168
156
  return localStreams.find(function (stream) {
169
- return stream.audioSourceType === _type2.AgoraRtcAudioSourceType.LOOPBACK;
157
+ return stream.videoSourceType === _type.AgoraRtcVideoSourceType.CAMERA;
170
158
  });
171
159
  }
172
- }, {
173
- key: "_canStartLocalVideo",
174
- get: function get() {
175
- return this._privilegeProvider.hasStartVideoPermission(_fcrCore.FcrPrivilegeUserRole.SELF);
176
- }
177
- }, {
178
- key: "_canStartLocalAudio",
179
- get: function get() {
180
- return this._privilegeProvider.hasUnmutePermission(_fcrCore.FcrPrivilegeUserRole.SELF);
181
- }
182
160
  }, {
183
161
  key: "checkoutDevicePermission",
184
162
  value: function () {
@@ -213,163 +191,95 @@ var FcrUIDeviceStreamProviderImpl = exports.FcrUIDeviceStreamProviderImpl = /*#_
213
191
  return checkoutDevicePermission;
214
192
  }()
215
193
  }, {
216
- key: "enableCameraWithStream",
194
+ key: "enableCameraWithPreCheck",
217
195
  value: function () {
218
- var _enableCameraWithStream = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(enable) {
196
+ var _enableCameraWithPreCheck = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(enable) {
219
197
  var _this$_roomControl$ge;
220
- var hasVideoPublishPrivilege, hasNoSecurityPermission, isMainRoom, hasDeivcePermission;
198
+ var canOpenCamera, hasDeivcePermission;
221
199
  return _regenerator["default"].wrap(function _callee2$(_context2) {
222
200
  while (1) switch (_context2.prev = _context2.next) {
223
201
  case 0:
224
- if (this._deviceProvider.cameraId) {
225
- _context2.next = 2;
202
+ if (!(((_this$_roomControl$ge = this._roomControl.getRoomInfo()) === null || _this$_roomControl$ge === void 0 ? void 0 : _this$_roomControl$ge.roomType) === _type2.FcrRoomType.Mainroom)) {
203
+ _context2.next = 7;
226
204
  break;
227
205
  }
228
- return _context2.abrupt("return");
229
- case 2:
230
- hasVideoPublishPrivilege = this._localCameraStream && (this._localCameraStream.streamType === _fcrCore.FcrStreamType.BOTH || this._localCameraStream.streamType === _fcrCore.FcrStreamType.VIDEO);
231
- hasNoSecurityPermission = !this._canStartLocalVideo;
232
- isMainRoom = ((_this$_roomControl$ge = this._roomControl.getRoomInfo()) === null || _this$_roomControl$ge === void 0 ? void 0 : _this$_roomControl$ge.roomType) === _type3.FcrRoomType.Mainroom;
233
- if (!(hasNoSecurityPermission && isMainRoom && enable)) {
234
- _context2.next = 11;
206
+ _context2.next = 3;
207
+ return this._devicePrivilegeProvider.hasOpenCameraPrivilege();
208
+ case 3:
209
+ canOpenCamera = _context2.sent;
210
+ if (!(!canOpenCamera && enable)) {
211
+ _context2.next = 7;
235
212
  break;
236
213
  }
237
214
  this._eventProvider.showToast({
238
215
  type: 'warn',
239
216
  message: (0, _i18n.transI18n)('fmt_uimanager_tips_norightsvideo')
240
217
  });
241
- if (!hasVideoPublishPrivilege) {
242
- _context2.next = 10;
243
- break;
244
- }
245
- _context2.next = 10;
246
- return this._roomControl.getStreamControl().updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, this._localCameraStream.streamId, {
247
- videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOPRIVILEGE,
248
- audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
249
- }));
250
- case 10:
251
218
  return _context2.abrupt("return");
252
- case 11:
253
- if (!(this._localCameraStream && enable && isMainRoom)) {
254
- _context2.next = 15;
255
- break;
256
- }
257
- if (hasVideoPublishPrivilege) {
258
- _context2.next = 15;
259
- break;
260
- }
261
- _context2.next = 15;
262
- return this._roomControl.getStreamControl().updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, this._localCameraStream.streamId, {
263
- videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE,
264
- audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
265
- }));
266
- case 15:
267
- _context2.next = 17;
219
+ case 7:
220
+ _context2.next = 9;
268
221
  return this.checkoutDevicePermission('camera');
269
- case 17:
222
+ case 9:
270
223
  hasDeivcePermission = _context2.sent;
271
224
  if (hasDeivcePermission) {
272
225
  this._deviceProvider.setCameraEnabled(enable);
273
226
  }
274
- case 19:
227
+ case 11:
275
228
  case "end":
276
229
  return _context2.stop();
277
230
  }
278
231
  }, _callee2, this);
279
232
  }));
280
- function enableCameraWithStream(_x2) {
281
- return _enableCameraWithStream.apply(this, arguments);
233
+ function enableCameraWithPreCheck(_x2) {
234
+ return _enableCameraWithPreCheck.apply(this, arguments);
282
235
  }
283
- return enableCameraWithStream;
236
+ return enableCameraWithPreCheck;
284
237
  }()
285
238
  }, {
286
- key: "enableMicrophoneWithStream",
239
+ key: "enableMicrophoneWithPreCheck",
287
240
  value: function () {
288
- var _enableMicrophoneWithStream = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(enable) {
289
- var _this$_roomControl$ge4;
290
- var confirmAudioShareWhileMicOff,
291
- hasAudioPublishPrivilege,
292
- hasNoSecurityPermission,
293
- isMainRoom,
294
- hasDeivcePermission,
295
- _args3 = arguments;
241
+ var _enableMicrophoneWithPreCheck = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(enable) {
242
+ var _this$_roomControl$ge2;
243
+ var canOpenMicrophone, hasDeivcePermission;
296
244
  return _regenerator["default"].wrap(function _callee3$(_context3) {
297
245
  while (1) switch (_context3.prev = _context3.next) {
298
246
  case 0:
299
- confirmAudioShareWhileMicOff = _args3.length > 1 && _args3[1] !== undefined ? _args3[1] : false;
300
- hasAudioPublishPrivilege = this._localCameraStream && (this._localCameraStream.streamType === _fcrCore.FcrStreamType.BOTH || this._localCameraStream.streamType === _fcrCore.FcrStreamType.AUDIO);
301
- hasNoSecurityPermission = !this._canStartLocalAudio;
302
- isMainRoom = ((_this$_roomControl$ge4 = this._roomControl.getRoomInfo()) === null || _this$_roomControl$ge4 === void 0 ? void 0 : _this$_roomControl$ge4.roomType) === _type3.FcrRoomType.Mainroom;
303
- if (!this._firstGetMicrophonePrivilege) {
304
- _context3.next = 9;
247
+ if (!(((_this$_roomControl$ge2 = this._roomControl.getRoomInfo()) === null || _this$_roomControl$ge2 === void 0 ? void 0 : _this$_roomControl$ge2.roomType) === _type2.FcrRoomType.Mainroom)) {
248
+ _context3.next = 7;
305
249
  break;
306
250
  }
307
- this._firstGetMicrophonePrivilege = false;
308
- if (hasAudioPublishPrivilege) {
309
- this._deviceProvider.setMicrophoneEnabled(enable);
310
- }
311
- _context3.next = 25;
312
- break;
313
- case 9:
314
- if (!(enable && hasNoSecurityPermission && isMainRoom && !this._getInterpreterInfo())) {
315
- _context3.next = 15;
251
+ _context3.next = 3;
252
+ return this._devicePrivilegeProvider.hasOpenMicrophonePrivilege();
253
+ case 3:
254
+ canOpenMicrophone = _context3.sent;
255
+ if (!(!canOpenMicrophone && enable)) {
256
+ _context3.next = 7;
316
257
  break;
317
258
  }
318
259
  this._eventProvider.showToast({
319
260
  type: 'warn',
320
261
  message: (0, _i18n.transI18n)('fmt_uimanager_tips_norightsaudio')
321
262
  });
322
- if (!hasAudioPublishPrivilege) {
323
- _context3.next = 14;
324
- break;
325
- }
326
- _context3.next = 14;
327
- return this._roomControl.getStreamControl().updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, this._localCameraStream.streamId, {
328
- videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION,
329
- audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOPRIVILEGE
330
- }));
331
- case 14:
332
263
  return _context3.abrupt("return");
333
- case 15:
334
- if (!(isMainRoom && this._localCameraStream)) {
335
- _context3.next = 21;
336
- break;
337
- }
338
- if (hasAudioPublishPrivilege) {
339
- _context3.next = 21;
340
- break;
341
- }
342
- if (!enable) {
343
- _context3.next = 21;
344
- break;
345
- }
346
- if (this._getInterpreterInfo()) {
347
- _context3.next = 21;
348
- break;
349
- }
350
- _context3.next = 21;
351
- return this._roomControl.getStreamControl().updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, this._localCameraStream.streamId, {
352
- videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION,
353
- audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE
354
- }));
355
- case 21:
356
- _context3.next = 23;
264
+ case 7:
265
+ _context3.next = 9;
357
266
  return this.checkoutDevicePermission('microphone');
358
- case 23:
267
+ case 9:
359
268
  hasDeivcePermission = _context3.sent;
360
269
  if (hasDeivcePermission) {
361
270
  this._deviceProvider.setMicrophoneEnabled(enable);
271
+ this._sharedDevicePrivilegeDataSource.setShouldIncludeMicrophone(enable);
362
272
  }
363
- case 25:
273
+ case 11:
364
274
  case "end":
365
275
  return _context3.stop();
366
276
  }
367
277
  }, _callee3, this);
368
278
  }));
369
- function enableMicrophoneWithStream(_x3) {
370
- return _enableMicrophoneWithStream.apply(this, arguments);
279
+ function enableMicrophoneWithPreCheck(_x3) {
280
+ return _enableMicrophoneWithPreCheck.apply(this, arguments);
371
281
  }
372
- return enableMicrophoneWithStream;
282
+ return enableMicrophoneWithPreCheck;
373
283
  }()
374
284
  }, {
375
285
  key: "release",
@@ -426,35 +336,18 @@ var FcrUIDeviceStreamProviderImpl = exports.FcrUIDeviceStreamProviderImpl = /*#_
426
336
  switch (event.action) {
427
337
  case _constant.FcrUIRendererEventAction.POWER_MONITOR_LOCK_SCREEN:
428
338
  if (this._deviceProvider.cameraEnabled) {
429
- this.enableCameraWithStream(false);
339
+ this.enableCameraWithPreCheck(false);
430
340
  }
431
341
  if (this._deviceProvider.microphoneEnabled) {
432
- this.enableMicrophoneWithStream(false);
342
+ this.enableMicrophoneWithPreCheck(false);
433
343
  }
434
344
  this.logger.info('close camera and microphone due to lock screen');
435
345
  break;
436
346
  }
437
347
  }
438
- }, {
439
- key: "_getInterpreterInfo",
440
- value: function
441
- // 获取本地用户关联的翻译官信息
442
- _getInterpreterInfo() {
443
- var _this2 = this;
444
- if (this._interpreterControl) {
445
- var interpreterUsers = this._interpreterControl.getInterpreterUserList(); //翻译官列表
446
- if (interpreterUsers) {
447
- var interpreter = interpreterUsers.find(function (ele) {
448
- return ele.userId === _this2._localUser.userId;
449
- }); //本地用户关联的翻译官信息
450
- return interpreter;
451
- }
452
- }
453
- return null;
454
- }
455
348
  }]);
456
349
  }();
457
350
  _FcrUIDeviceStreamProviderImpl = FcrUIDeviceStreamProviderImpl;
458
- var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIDeviceStreamProviderImpl, [[_checkoutDevicePermissionDecs, 18, "checkoutDevicePermission"], [_enableCameraWithStreamDecs, 18, "enableCameraWithStream"], [_enableMicrophoneWithStreamDecs, 18, "enableMicrophoneWithStream"], [_decorator.bound, 2, "_handleCameraChanged"], [_decorator.bound, 2, "_handleMicrophoneChanged"], [_decorator.bound, 2, "_bindLocalAudioStream"], [_decorator.bound, 2, "_bindLocalVideoStream"], [_decorator.bound, 2, "_handleProcessEvent"], [_getInterpreterInfoDecs, 18, "_getInterpreterInfo"]], []).e, 1);
351
+ var _applyDecs$e = (0, _slicedToArray2["default"])(_applyDecs(_FcrUIDeviceStreamProviderImpl, [[_checkoutDevicePermissionDecs, 18, "checkoutDevicePermission"], [_enableCameraWithPreCheckDecs, 18, "enableCameraWithPreCheck"], [_enableMicrophoneWithPreCheckDecs, 18, "enableMicrophoneWithPreCheck"], [_decorator.bound, 2, "_handleCameraChanged"], [_decorator.bound, 2, "_handleMicrophoneChanged"], [_decorator.bound, 2, "_bindLocalAudioStream"], [_decorator.bound, 2, "_bindLocalVideoStream"], [_decorator.bound, 2, "_handleProcessEvent"]], []).e, 1);
459
352
  _initProto = _applyDecs$e[0];
460
353
  (0, _base.registerDependency)('deviceStreamProvider');
@@ -0,0 +1,135 @@
1
+ import { FcrUIAction, FcrUIDialogKey } from '../utilities/constant';
2
+ import { DeviceSettingDialogConfig } from '../modules/setting/store';
3
+ import { ConfirmContentProps } from 'agora-ui-foundation/lib/components/confirm-content';
4
+ interface FcrUIEventObserver {
5
+ onEvent?(action: FcrUIAction, payload?: unknown): void;
6
+ }
7
+ export declare enum FcrDialogInterceptorEventName {
8
+ ON_CLOSE = "onClose"
9
+ }
10
+ /**
11
+ * FcrUIDialogProvider 接口定义了一系列用于管理和操作对话框的方法。
12
+ * 这些方法涵盖了打开、关闭各种类型对话框的功能,以及对对话框事件观察者的管理。
13
+ */
14
+ export interface FcrUIDialogProvider {
15
+ /**
16
+ * 打开指定类型的对话框。
17
+ *
18
+ * @param dialogKey - 对话框的唯一标识键,用于指定要打开的对话框类型。
19
+ * @param instanceId - 可选参数,对话框实例的唯一标识符,用于区分同一类型的不同对话框实例。
20
+ * @param params - 可选参数,传递给对话框的额外参数,类型为 unknown 表示可以是任意类型。
21
+ * @returns 返回打开对话框的唯一标识符,可用于后续关闭操作。
22
+ */
23
+ openDialog(dialogKey: FcrUIDialogKey, instanceId?: string, params?: unknown): string;
24
+ /**
25
+ * 关闭指定标识符的对话框。
26
+ *
27
+ * @param dialogId - 要关闭对话框的唯一标识符,该标识符通常由 openDialog 方法返回。
28
+ */
29
+ closeDialog(dialogId: string): void;
30
+ /**
31
+ * 打开确认对话框。
32
+ *
33
+ * @param params - 确认对话框的配置参数,包含确认内容的属性以及可选的对话框唯一键和显示时长。
34
+ * @param mulitple - 可选参数,布尔值,指示是否允许多个确认对话框同时存在。
35
+ * @returns 返回打开确认对话框的唯一标识符,可用于后续关闭操作。
36
+ */
37
+ openConfirmDialog(params: ConfirmContentProps & {
38
+ key?: string;
39
+ duration?: number;
40
+ }, mulitple?: boolean): string;
41
+ /**
42
+ * 关闭指定标识符的确认对话框。
43
+ *
44
+ * @param dialogId - 要关闭确认对话框的唯一标识符,该标识符通常由 openConfirmDialog 方法返回。
45
+ */
46
+ closeConfirm(dialogId: string): void;
47
+ /**
48
+ * 打开设备设置对话框。
49
+ *
50
+ * @param config - 设备设置对话框的配置参数,为 DeviceSettingDialogConfig 类型的部分属性对象。
51
+ */
52
+ openDeviceSettingDialog(config: Partial<DeviceSettingDialogConfig>): void;
53
+ /**
54
+ * 关闭设备设置对话框。
55
+ */
56
+ closeDeviceSettingDialog(): void;
57
+ /**
58
+ * 打开直播流对话框。
59
+ */
60
+ openLiveStreamingDialog(): void;
61
+ /**
62
+ * 关闭直播流对话框。
63
+ */
64
+ closeLiveStreamingDialog(): void;
65
+ /**
66
+ * 打开邀请对话框。
67
+ */
68
+ openInviteDialog(): void;
69
+ /**
70
+ * 关闭邀请对话框。
71
+ */
72
+ closeInviteDialog(): void;
73
+ /**
74
+ * 关闭等待室对话框。
75
+ */
76
+ closeWaitingRoomDialog(): void;
77
+ /**
78
+ * 关闭移除准入等待室对话框。
79
+ *
80
+ * @param dialogKey - 要关闭的移除准入等待室对话框的唯一标识键。
81
+ */
82
+ closeRemoveAdmitWaitingRoomDialog(dialogKey: FcrUIDialogKey): void;
83
+ /**
84
+ * 添加对话框事件观察者。
85
+ * 观察者可以监听对话框的各种事件,如打开、关闭等。
86
+ *
87
+ * @param observer - 要添加的观察者对象,类型为 FcrUIEventObserver。
88
+ */
89
+ addObserver(observer: FcrUIEventObserver): void;
90
+ /**
91
+ * 移除对话框事件观察者。
92
+ * 移除后,该观察者将不再接收对话框的事件通知。
93
+ *
94
+ * @param observer - 要移除的观察者对象,类型为 FcrUIEventObserver。
95
+ */
96
+ removeObserver(observer: FcrUIEventObserver): void;
97
+ /**
98
+ * 新增弹窗拦截器
99
+ * @param key - 弹窗拦截器的唯一标识符
100
+ * @param interceptor - 弹窗拦截器函数,返回值为 boolean,true 表示拦截弹窗,false 表示不拦截弹窗
101
+ */
102
+ addInterceptor(key: FcrDialogInterceptorEventName, interceptor: (dialogKey: FcrUIDialogKey) => boolean): void;
103
+ /**
104
+ * 执行弹窗拦截器
105
+ * @param key - 弹窗拦截器的唯一标识符
106
+ * @param dialogKey - 弹窗的唯一标识符
107
+ */
108
+ emitIntercepter(key: FcrDialogInterceptorEventName, dialogKey: FcrUIDialogKey): boolean;
109
+ }
110
+ export declare class FcrUIDialogProviderImpl implements FcrUIDialogProvider {
111
+ openConfirmDialog(params: ConfirmContentProps & {
112
+ key?: string;
113
+ duration?: number;
114
+ }, mulitple?: boolean): string;
115
+ protected logger: import("agora-foundation/lib/logger").Logger;
116
+ private _observable;
117
+ private _interceptor;
118
+ addInterceptor(key: FcrDialogInterceptorEventName, interceptor: (dialogKey: FcrUIDialogKey) => boolean): void;
119
+ emitIntercepter(key: FcrDialogInterceptorEventName, dialogKey: FcrUIDialogKey): boolean;
120
+ sendEvent(action: FcrUIAction, payload?: unknown): void;
121
+ openInviteDialog(): void;
122
+ closeInviteDialog(): void;
123
+ closeWaitingRoomDialog(): void;
124
+ closeRemoveAdmitWaitingRoomDialog(dialogKey: FcrUIDialogKey): void;
125
+ openDeviceSettingDialog(config: Partial<DeviceSettingDialogConfig>): void;
126
+ closeDeviceSettingDialog(): void;
127
+ openLiveStreamingDialog(): void;
128
+ closeLiveStreamingDialog(): void;
129
+ openDialog(dialogKey: FcrUIDialogKey, instanceId?: string, params?: unknown): string;
130
+ closeDialog(dialogId: string): void;
131
+ closeConfirm(dialogId: string): void;
132
+ addObserver(observer: FcrUIEventObserver): void;
133
+ removeObserver(observer: FcrUIEventObserver): void;
134
+ }
135
+ export {};