fcr-ui-scene 3.4.0 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (324) 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/common/device-store.d.ts +1 -2
  8. package/lib/common/device-store.js +169 -153
  9. package/lib/common/device-stream-store.d.ts +5 -29
  10. package/lib/common/device-stream-store.js +47 -93
  11. package/lib/common/room-store.js +4 -4
  12. package/lib/common/security-store.d.ts +6 -16
  13. package/lib/common/security-store.js +16 -17
  14. package/lib/common/type.d.ts +8 -0
  15. package/lib/common/type.js +6 -0
  16. package/lib/creator.js +3 -3
  17. package/lib/electron/app.js +21 -5
  18. package/lib/electron/bootstrap-sdk.js +1 -2
  19. package/lib/electron/injections.d.ts +1 -1
  20. package/lib/error-fallback.css +62 -0
  21. package/lib/error-fallback.d.ts +2 -0
  22. package/lib/error-fallback.js +19 -0
  23. package/lib/modules/Interpreter/action/delete-btn/index.d.ts +1 -1
  24. package/lib/modules/Interpreter/action/edit-btn/index.d.ts +0 -1
  25. package/lib/modules/Interpreter/action/edit-btn/index.js +0 -2
  26. package/lib/modules/Interpreter/action/switch-btn/index.css +3 -0
  27. package/lib/modules/Interpreter/action/switch-btn/index.d.ts +2 -4
  28. package/lib/modules/Interpreter/action/switch-btn/index.js +3 -3
  29. package/lib/modules/Interpreter/footer/index.css +4 -3
  30. package/lib/modules/Interpreter/index.d.ts +2 -17
  31. package/lib/modules/Interpreter/index.js +2 -18
  32. package/lib/modules/Interpreter/interpreter-list/index.css +5 -1
  33. package/lib/modules/Interpreter/interpreter-list/index.d.ts +1 -0
  34. package/lib/modules/Interpreter/interpreter-list/index.js +3 -1
  35. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.css +0 -6
  36. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-language/index.d.ts +1 -1
  37. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.css +1 -3
  38. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.d.ts +1 -6
  39. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/index.js +55 -81
  40. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/option-Item.d.ts +6 -0
  41. package/lib/modules/Interpreter/interpreter-list/interpreter-item/components/pick-user/option-Item.js +58 -0
  42. package/lib/modules/Interpreter/interpreter-list/interpreter-item/index.d.ts +1 -1
  43. package/lib/modules/Interpreter/store.d.ts +36 -29
  44. package/lib/modules/Interpreter/store.js +575 -606
  45. package/lib/modules/Interpreter/type.d.ts +41 -0
  46. package/lib/modules/Interpreter/type.js +20 -0
  47. package/lib/modules/Interpreter/utils.d.ts +12 -0
  48. package/lib/modules/Interpreter/utils.js +139 -0
  49. package/lib/modules/Interpreter/view.d.ts +0 -1
  50. package/lib/modules/Interpreter/view.js +3 -5
  51. package/lib/modules/action-bar/action-bar-collapes-items.d.ts +1 -1
  52. package/lib/modules/action-bar/action-bar-collapes-items.js +11 -11
  53. package/lib/modules/action-bar/apps/useInterpreter.js +4 -2
  54. package/lib/modules/action-bar/components/apps/app-item/index.css +35 -0
  55. package/lib/modules/action-bar/components/apps/app-item/index.d.ts +12 -0
  56. package/lib/modules/action-bar/components/apps/app-item/index.js +61 -0
  57. package/lib/modules/action-bar/components/apps/appitems.d.ts +5 -0
  58. package/lib/modules/action-bar/components/apps/appitems.js +45 -0
  59. package/lib/modules/action-bar/components/apps/index.css +8 -0
  60. package/lib/modules/action-bar/components/apps/index.d.ts +4 -0
  61. package/lib/modules/action-bar/components/apps/index.js +57 -0
  62. package/lib/modules/action-bar/components/apps/useAppItemOptions.d.ts +9 -0
  63. package/lib/modules/action-bar/components/apps/useAppItemOptions.js +29 -0
  64. package/lib/modules/action-bar/components/apps/useBeautyBackground.d.ts +10 -0
  65. package/lib/modules/action-bar/components/apps/useBeautyBackground.js +36 -0
  66. package/lib/modules/action-bar/components/apps/useInterpreter.d.ts +14 -0
  67. package/lib/modules/action-bar/components/apps/useInterpreter.js +37 -0
  68. package/lib/modules/action-bar/components/apps/useLiveStreaming.d.ts +16 -0
  69. package/lib/modules/action-bar/components/apps/useLiveStreaming.js +41 -0
  70. package/lib/modules/action-bar/components/board/index.d.ts +4 -0
  71. package/lib/modules/action-bar/components/board/index.js +34 -0
  72. package/lib/modules/action-bar/components/breakout-room/index.d.ts +4 -0
  73. package/lib/modules/action-bar/components/breakout-room/index.js +32 -0
  74. package/lib/modules/action-bar/components/chat/index.css +80 -0
  75. package/lib/modules/action-bar/components/chat/index.d.ts +5 -0
  76. package/lib/modules/action-bar/components/chat/index.js +154 -0
  77. package/lib/modules/action-bar/components/device/index.css +162 -0
  78. package/lib/modules/action-bar/components/device/index.d.ts +8 -0
  79. package/lib/modules/action-bar/components/device/index.js +611 -0
  80. package/lib/modules/action-bar/components/interpreter/index.d.ts +6 -0
  81. package/lib/modules/action-bar/components/interpreter/index.js +41 -0
  82. package/lib/modules/action-bar/components/item.d.ts +27 -0
  83. package/lib/modules/action-bar/components/item.js +164 -0
  84. package/lib/modules/action-bar/components/leave/assign-host.d.ts +10 -0
  85. package/lib/modules/action-bar/components/leave/assign-host.js +64 -0
  86. package/lib/modules/action-bar/components/leave/index.css +126 -0
  87. package/lib/modules/action-bar/components/leave/index.d.ts +3 -0
  88. package/lib/modules/action-bar/components/leave/index.js +159 -0
  89. package/lib/modules/action-bar/components/leave/leave-meeting.d.ts +18 -0
  90. package/lib/modules/action-bar/components/leave/leave-meeting.js +153 -0
  91. package/lib/modules/action-bar/components/live-streaming/index.d.ts +4 -0
  92. package/lib/modules/action-bar/components/live-streaming/index.js +39 -0
  93. package/lib/modules/action-bar/components/more/index.css +114 -0
  94. package/lib/modules/action-bar/components/more/index.d.ts +5 -0
  95. package/lib/modules/action-bar/components/more/index.js +83 -0
  96. package/lib/modules/action-bar/components/more/poppover-content.d.ts +8 -0
  97. package/lib/modules/action-bar/components/more/poppover-content.js +400 -0
  98. package/lib/modules/action-bar/components/participants/index.css +21 -0
  99. package/lib/modules/action-bar/components/participants/index.d.ts +5 -0
  100. package/lib/modules/action-bar/components/participants/index.js +83 -0
  101. package/lib/modules/action-bar/components/record/index.css +39 -0
  102. package/lib/modules/action-bar/components/record/index.d.ts +5 -0
  103. package/lib/modules/action-bar/components/record/index.js +166 -0
  104. package/lib/modules/action-bar/components/record/stop-record-dialog.d.ts +5 -0
  105. package/lib/modules/action-bar/components/record/stop-record-dialog.js +48 -0
  106. package/lib/modules/action-bar/components/respond/index.d.ts +4 -0
  107. package/lib/modules/action-bar/components/respond/index.js +32 -0
  108. package/lib/modules/action-bar/components/screen-share/index.d.ts +4 -0
  109. package/lib/modules/action-bar/components/screen-share/index.js +106 -0
  110. package/lib/modules/action-bar/components/screen-share/submenu.d.ts +1 -0
  111. package/lib/modules/action-bar/components/screen-share/submenu.js +154 -0
  112. package/lib/modules/action-bar/components/security/index.d.ts +4 -0
  113. package/lib/modules/action-bar/components/security/index.js +58 -0
  114. package/lib/modules/action-bar/components/settings/index.d.ts +4 -0
  115. package/lib/modules/action-bar/components/settings/index.js +42 -0
  116. package/lib/modules/action-bar/index.css +23 -1
  117. package/lib/modules/action-bar/index.d.ts +2 -22
  118. package/lib/modules/action-bar/index.dev.js +37 -16
  119. package/lib/modules/action-bar/notification-bar/components/interpreter/index.css +58 -0
  120. package/lib/modules/action-bar/notification-bar/components/interpreter/index.d.ts +8 -0
  121. package/lib/modules/action-bar/notification-bar/components/interpreter/index.js +100 -0
  122. package/lib/modules/action-bar/notification-bar/components/virtual-image/index.css +56 -0
  123. package/lib/modules/action-bar/notification-bar/components/virtual-image/index.d.ts +5 -0
  124. package/lib/modules/action-bar/notification-bar/components/virtual-image/index.js +33 -0
  125. package/lib/modules/action-bar/notification-bar/dome.png +0 -0
  126. package/lib/modules/action-bar/notification-bar/fcr_translateswitch.png +0 -0
  127. package/lib/modules/action-bar/notification-bar/index.css +74 -0
  128. package/lib/modules/action-bar/notification-bar/index.d.ts +2 -0
  129. package/lib/modules/action-bar/notification-bar/index.js +99 -0
  130. package/lib/modules/action-bar/screen-share/index.js +5 -0
  131. package/lib/modules/action-bar/security/index.js +1 -0
  132. package/lib/modules/action-bar/smaller.js +2 -2
  133. package/lib/modules/action-bar/store.d.ts +6 -7
  134. package/lib/modules/action-bar/store.js +114 -128
  135. package/lib/modules/action-bar/trigger-input-language-room/fcr_translateswitch.png +0 -0
  136. package/lib/modules/action-bar/trigger-input-language-room/index.css +86 -0
  137. package/lib/modules/action-bar/trigger-input-language-room/index.d.ts +15 -0
  138. package/lib/modules/action-bar/trigger-input-language-room/index.js +220 -0
  139. package/lib/modules/action-bar/trigger-output-language-room/constant.d.ts +10 -0
  140. package/lib/modules/action-bar/trigger-output-language-room/constant.js +8 -0
  141. package/lib/modules/action-bar/trigger-output-language-room/guide-tooltip/index.css +22 -0
  142. package/lib/modules/action-bar/trigger-output-language-room/guide-tooltip/index.d.ts +14 -0
  143. package/lib/modules/action-bar/trigger-output-language-room/guide-tooltip/index.js +75 -0
  144. package/lib/modules/action-bar/trigger-output-language-room/index.d.ts +4 -0
  145. package/lib/modules/action-bar/trigger-output-language-room/index.js +98 -0
  146. package/lib/modules/action-bar/trigger-output-language-room/trigger-language-room.d.ts +5 -0
  147. package/lib/modules/action-bar/trigger-output-language-room/trigger-language-room.js +66 -0
  148. package/lib/modules/action-bar/trigger-output-language-room/trigger-main-room.d.ts +5 -0
  149. package/lib/modules/action-bar/trigger-output-language-room/trigger-main-room.js +36 -0
  150. package/lib/modules/action-bar/trigger-output-language-room/useChangeOutputRoomTool.d.ts +12 -0
  151. package/lib/modules/action-bar/trigger-output-language-room/useChangeOutputRoomTool.js +138 -0
  152. package/lib/modules/action-bar/view.js +6 -6
  153. package/lib/modules/audio-stream/index.d.ts +2 -15
  154. package/lib/modules/audio-stream/index.js +1 -3
  155. package/lib/modules/chat/chat-bar/index.css +5 -0
  156. package/lib/modules/chat/chat-bar/index.js +16 -14
  157. package/lib/modules/chat/chat-select/index.css +6 -3
  158. package/lib/modules/chat/chat.js +7 -6
  159. package/lib/modules/chat/index.css +10 -0
  160. package/lib/modules/chat/index.d.ts +2 -12
  161. package/lib/modules/chat/index.dev.js +14 -3
  162. package/lib/modules/chat/index.js +7 -20
  163. package/lib/modules/chat/message-list.js +1 -0
  164. package/lib/modules/chat/store.js +1 -1
  165. package/lib/modules/components/device-control/components/audio-menu/index.js +4 -4
  166. package/lib/modules/components/device-control/index.css +3 -0
  167. package/lib/modules/components/dialog-container/component/body.d.ts +7 -0
  168. package/lib/modules/components/dialog-container/component/body.js +46 -0
  169. package/lib/modules/components/dialog-container/index.css +78 -0
  170. package/lib/modules/components/dialog-container/index.d.ts +11 -0
  171. package/lib/modules/components/dialog-container/index.js +110 -0
  172. package/lib/modules/components/member-window/index.css +419 -0
  173. package/lib/modules/components/member-window/index.d.ts +76 -0
  174. package/lib/modules/components/member-window/index.js +888 -0
  175. package/lib/modules/components/security-menu/index.css +9 -0
  176. package/lib/modules/components/security-menu/index.js +74 -23
  177. package/lib/modules/components/tab-frame/index.css +40 -0
  178. package/lib/modules/components/tab-frame/index.d.ts +12 -0
  179. package/lib/modules/components/tab-frame/index.js +57 -0
  180. package/lib/modules/connection-gateway/components/computer/index.css +1 -0
  181. package/lib/modules/connection-gateway/components/phone/index.css +1 -1
  182. package/lib/modules/connection-gateway/index.d.ts +2 -9
  183. package/lib/modules/connection-gateway/store.d.ts +3 -11
  184. package/lib/modules/connection-gateway/store.js +1 -17
  185. package/lib/modules/connection-gateway/view.js +21 -4
  186. package/lib/modules/control-bar/components/cloud-recording-buttons.js +1 -1
  187. package/lib/modules/control-bar/index.d.ts +2 -16
  188. package/lib/modules/control-bar/index.js +10 -19
  189. package/lib/modules/control-bar/store.d.ts +3 -16
  190. package/lib/modules/control-bar/store.js +23 -5
  191. package/lib/modules/control-bar/view.js +17 -10
  192. package/lib/modules/device-pretest/settings/virtual-background-setting.js +1 -1
  193. package/lib/modules/dialog/components/Interpreter/electron.js +3 -25
  194. package/lib/modules/dialog/components/Interpreter/index.js +14 -43
  195. package/lib/modules/dialog/components/chat/electron.d.ts +1 -1
  196. package/lib/modules/dialog/components/chat/electron.js +6 -13
  197. package/lib/modules/dialog/components/chat/index.d.ts +1 -4
  198. package/lib/modules/dialog/components/chat/index.js +35 -41
  199. package/lib/modules/dialog/components/confirm/index.js +6 -7
  200. package/lib/modules/dialog/components/connection-gateway/electron.d.ts +1 -1
  201. package/lib/modules/dialog/components/connection-gateway/electron.js +9 -28
  202. package/lib/modules/dialog/components/connection-gateway/index.d.ts +0 -1
  203. package/lib/modules/dialog/components/connection-gateway/index.js +11 -56
  204. package/lib/modules/dialog/components/control-bar/index.js +6 -7
  205. package/lib/modules/dialog/components/device-setting/electron.js +4 -26
  206. package/lib/modules/dialog/components/device-setting/index.js +13 -41
  207. package/lib/modules/dialog/components/invite/index.js +16 -35
  208. package/lib/modules/dialog/components/live-streaming/index.js +18 -53
  209. package/lib/modules/dialog/components/participant/electron.js +4 -17
  210. package/lib/modules/dialog/components/participant/index.js +35 -26
  211. package/lib/modules/dialog/components/remove-admit-waiting-room/electron.js +3 -6
  212. package/lib/modules/dialog/components/remove-admit-waiting-room/index.d.ts +1 -1
  213. package/lib/modules/dialog/components/remove-admit-waiting-room/index.js +4 -14
  214. package/lib/modules/dialog/components/share-screen-selection/index.js +20 -5
  215. package/lib/modules/dialog/components/system-preference/electron.js +5 -8
  216. package/lib/modules/dialog/components/system-preference/index.js +4 -15
  217. package/lib/modules/dialog/components/toast/index.js +8 -12
  218. package/lib/modules/dialog/dialogs.js +2 -1
  219. package/lib/modules/dialog/hooks/useElectron.d.ts +6 -0
  220. package/lib/modules/dialog/hooks/useElectron.js +51 -9
  221. package/lib/modules/dialog/index.css +0 -2
  222. package/lib/modules/dialog/index.d.ts +2 -17
  223. package/lib/modules/dialog/store.d.ts +7 -39
  224. package/lib/modules/dialog/store.js +53 -152
  225. package/lib/modules/dialog/types/index.d.ts +59 -0
  226. package/lib/modules/event-confirm/view.js +4 -1
  227. package/lib/modules/invite/view.d.ts +4 -0
  228. package/lib/modules/invite/view.js +18 -22
  229. package/lib/modules/invite/voip-invite.js +3 -3
  230. package/lib/modules/layout/components/Aside.js +11 -1
  231. package/lib/modules/layout/components/Carousel.js +1 -1
  232. package/lib/modules/layout/components/Layout.js +7 -4
  233. package/lib/modules/layout/components/index.css +6 -1
  234. package/lib/modules/layout/index.js +8 -7
  235. package/lib/modules/layout/member-window/index.css +22 -9
  236. package/lib/modules/layout/member-window/index.js +16 -3
  237. package/lib/modules/layout/store.d.ts +1 -1
  238. package/lib/modules/layout/store.js +1 -7
  239. package/lib/modules/layout/video-window-datasource.js +11 -3
  240. package/lib/modules/notification/index.css +1 -0
  241. package/lib/modules/participant/attendee/index.css +1 -0
  242. package/lib/modules/participant/attendee/index.js +2 -1
  243. package/lib/modules/participant/components/drop-menu/index.css +1 -0
  244. package/lib/modules/participant/components/drop-menu/index.js +9 -9
  245. package/lib/modules/participant/index.css +5 -0
  246. package/lib/modules/participant/index.d.ts +2 -17
  247. package/lib/modules/participant/index.dev.js +38 -27
  248. package/lib/modules/participant/store.d.ts +4 -17
  249. package/lib/modules/participant/store.js +13 -13
  250. package/lib/modules/setting/audio-settings/audio-settings.js +13 -10
  251. package/lib/modules/setting/audio-settings/index.css +26 -1
  252. package/lib/modules/setting/general-settings/index.css +1 -1
  253. package/lib/modules/setting/index.css +2 -1
  254. package/lib/modules/setting/index.d.ts +2 -15
  255. package/lib/modules/setting/index.dev.js +19 -10
  256. package/lib/modules/setting/store.d.ts +5 -18
  257. package/lib/modules/setting/store.js +48 -20
  258. package/lib/modules/setting/translate-settings/index.css +3 -1
  259. package/lib/modules/setting/video-settings/index.css +5 -2
  260. package/lib/modules/share-screen/index.dev.js +20 -19
  261. package/lib/modules/share-screen/selection/index.css +2 -0
  262. package/lib/modules/share-screen/selection/index.js +83 -97
  263. package/lib/modules/share-screen/store.js +16 -36
  264. package/lib/modules/sound-effect/index.d.ts +2 -13
  265. package/lib/modules/sound-effect/index.js +1 -2
  266. package/lib/modules/state-bar/index.css +13 -2
  267. package/lib/modules/state-bar/index.d.ts +1 -5
  268. package/lib/modules/state-bar/index.dev.js +1 -1
  269. package/lib/modules/state-bar/index.js +0 -27
  270. package/lib/modules/state-bar/layout-config.js +1 -1
  271. package/lib/modules/state-bar/meeting-network-state.css +1 -1
  272. package/lib/modules/state-bar/recording.js +7 -4
  273. package/lib/modules/state-bar/view.js +1 -1
  274. package/lib/modules/video-window/index.d.ts +2 -2
  275. package/lib/modules/video-window/store.d.ts +2 -1
  276. package/lib/modules/video-window/store.js +2 -2
  277. package/lib/modules/waiting-room-layout/index.css +1 -3
  278. package/lib/modules/waiting-room-layout/index.d.ts +3 -1
  279. package/lib/modules/waiting-room-layout/index.js +10 -3
  280. package/lib/modules/whiteboard/index.d.ts +2 -13
  281. package/lib/modules/whiteboard/index.js +4 -5
  282. package/lib/providers/device-privilege-provider.d.ts +30 -0
  283. package/lib/providers/device-privilege-provider.js +386 -0
  284. package/lib/providers/device-provider.d.ts +246 -0
  285. package/lib/providers/device-provider.js +1741 -0
  286. package/lib/providers/device-stream-provider.d.ts +36 -0
  287. package/lib/providers/device-stream-provider.js +460 -0
  288. package/lib/providers/event-provider.d.ts +108 -0
  289. package/lib/providers/event-provider.js +288 -0
  290. package/lib/providers/interpreter-provider.d.ts +25 -0
  291. package/lib/providers/interpreter-provider.js +151 -0
  292. package/lib/providers/local-storage-provider.d.ts +8 -0
  293. package/lib/providers/local-storage-provider.js +31 -0
  294. package/lib/providers/monitor-provider.d.ts +15 -0
  295. package/lib/providers/monitor-provider.js +29 -0
  296. package/lib/providers/privilege-provider.d.ts +216 -0
  297. package/lib/providers/privilege-provider.js +966 -0
  298. package/lib/providers/renderer-provider.d.ts +43 -0
  299. package/lib/providers/renderer-provider.js +245 -0
  300. package/lib/providers/room-provider.d.ts +79 -0
  301. package/lib/providers/room-provider.js +439 -0
  302. package/lib/providers/session-provider.d.ts +26 -0
  303. package/lib/providers/session-provider.js +49 -0
  304. package/lib/runtime.d.ts +1 -1
  305. package/lib/scenes/base.d.ts +10 -0
  306. package/lib/scenes/base.js +75 -0
  307. package/lib/scenes/main-scene.d.ts +48 -0
  308. package/lib/scenes/main-scene.js +390 -0
  309. package/lib/scenes/waiting-scene.d.ts +31 -0
  310. package/lib/scenes/waiting-scene.js +129 -0
  311. package/lib/shared-data-source/config.d.ts +16 -0
  312. package/lib/shared-data-source/config.js +21 -0
  313. package/lib/type.d.ts +26 -1
  314. package/lib/ui-manager.d.ts +3 -0
  315. package/lib/ui-manager.js +154 -233
  316. package/lib/ui-node.d.ts +25 -0
  317. package/lib/ui-node.js +156 -0
  318. package/lib/utilities/constant.d.ts +15 -15
  319. package/lib/utilities/constant.js +15 -15
  320. package/lib/utilities/tools.d.ts +2 -0
  321. package/lib/utilities/tools.js +42 -10
  322. package/package.json +12 -11
  323. package/public/assets/fcr_leave2.svg +58 -0
  324. package/public/index.html +150 -13
@@ -16,15 +16,18 @@ Object.defineProperty(exports, "__esModule", {
16
16
  value: true
17
17
  });
18
18
  exports.WaitingRoomLayout = void 0;
19
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
19
20
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
20
21
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
21
22
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
22
23
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
24
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
24
25
  var _base = require("../../base");
26
+ var _toast = _interopRequireDefault(require("../dialog/components/toast"));
25
27
  var _store = _interopRequireWildcard(require("./store"));
26
28
  var _view = _interopRequireDefault(require("./view"));
27
29
  var _jsxRuntime = require("react/jsx-runtime");
30
+ var _excluded = ["globalToast"];
28
31
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
29
32
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
30
33
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
@@ -42,10 +45,14 @@ var WaitingRoomLayout = exports.WaitingRoomLayout = /*#__PURE__*/function (_UIMo
42
45
  key: "getComponent",
43
46
  value: function getComponent() {
44
47
  var slots = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
45
- this._store.updateSlots(slots);
46
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_store.StoreContext.Provider, {
48
+ var globalToast = slots.globalToast,
49
+ restSlots = (0, _objectWithoutProperties2["default"])(slots, _excluded);
50
+ this._store.updateSlots(restSlots);
51
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_store.StoreContext.Provider, {
47
52
  value: this._store,
48
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_view["default"], {})
53
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_view["default"], {}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_toast["default"], {
54
+ children: globalToast
55
+ })]
49
56
  });
50
57
  }
51
58
  }, {
@@ -1,13 +1,9 @@
1
- import { FcrUIEventStore } from '../../common/event-store';
2
1
  import { FcrBoardRegion, WhiteboardBaseEvents, WhiteboardControlbarEvents } from './type';
3
2
  import { DialogKey, UIAction } from '../../utilities/constant';
4
3
  import { UIModule } from '../../base';
5
4
  import { FcrUserInfo } from 'fcr-core/lib/type';
6
- import { FcrStreamControl, FcrUserControl } from 'fcr-core';
7
- import { FcrSecurityStore } from '../../common/security-store';
8
- import { FcrWhiteboardControl } from 'fcr-core/lib/room-control/whiteboard-control/types';
9
5
  import { FcrUIVideoWindowLayoutType } from '../layout/type';
10
- import { FcrBaseRoomControl } from 'fcr-core/lib/room-control/type';
6
+ import { StoreConfig } from '../../type';
11
7
  export declare class FcrWhiteboardUIModule extends UIModule {
12
8
  private _disposers;
13
9
  private _uiEventStore;
@@ -52,14 +48,7 @@ export declare class FcrWhiteboardUIModule extends UIModule {
52
48
  top: number;
53
49
  left: number;
54
50
  };
55
- constructor({ uiEventStore, userControl, roomControl, whiteboardControl, streamControl, securityStore, }: {
56
- uiEventStore: FcrUIEventStore;
57
- userControl: FcrUserControl;
58
- roomControl: FcrBaseRoomControl;
59
- whiteboardControl: FcrWhiteboardControl;
60
- streamControl: FcrStreamControl;
61
- securityStore: FcrSecurityStore;
62
- });
51
+ constructor({ uiEventStore, userControl, roomControl, streamControl, securityStore, }: StoreConfig);
63
52
  getComponent(dom?: Element | null): React.ReactNode;
64
53
  onEvent(event: UIAction, payload: {
65
54
  dialogKey: DialogKey;
@@ -152,7 +152,6 @@ var FcrWhiteboardUIModule = exports.FcrWhiteboardUIModule = /*#__PURE__*/functio
152
152
  var uiEventStore = _ref2.uiEventStore,
153
153
  userControl = _ref2.userControl,
154
154
  roomControl = _ref2.roomControl,
155
- whiteboardControl = _ref2.whiteboardControl,
156
155
  streamControl = _ref2.streamControl,
157
156
  securityStore = _ref2.securityStore;
158
157
  (0, _classCallCheck2["default"])(this, FcrWhiteboardUIModule);
@@ -187,7 +186,7 @@ var FcrWhiteboardUIModule = exports.FcrWhiteboardUIModule = /*#__PURE__*/functio
187
186
  _this._userControl = userControl;
188
187
  _this._roomControl = roomControl;
189
188
  _this._securityStore = securityStore;
190
- _this._whiteboardControl = whiteboardControl;
189
+ _this._whiteboardControl = roomControl.getBoardControl();
191
190
  _this._whiteboardControl.addObserver(_this._boardObservble());
192
191
  _this._toolbarStore = new _store.ToolbarStore();
193
192
  _this._controlbarStore = new _store2.WhiteboardControlBarStore({
@@ -196,7 +195,7 @@ var FcrWhiteboardUIModule = exports.FcrWhiteboardUIModule = /*#__PURE__*/functio
196
195
  userControl: userControl,
197
196
  securityStore: securityStore
198
197
  });
199
- whiteboardControl.addObserver({
198
+ _this._whiteboardControl.addObserver({
200
199
  onActive: function onActive(ownerId, operatorUser) {
201
200
  _this.onPropertiesUpdate({
202
201
  operatorUser: operatorUser
@@ -256,12 +255,12 @@ var FcrWhiteboardUIModule = exports.FcrWhiteboardUIModule = /*#__PURE__*/functio
256
255
  _this._localUser = _this._userControl.getLocalUser();
257
256
  _this._isHost = [_type2.FcrUserRole.HOST, _type2.FcrUserRole.COHOST].includes(_this._localUser.userRole);
258
257
  window.addEventListener('resize', _this._resetCanvasPosition);
259
- var activeInfo = whiteboardControl.getBoardActiveInfo();
258
+ var activeInfo = _this._whiteboardControl.getBoardActiveInfo();
260
259
  _this._isActive = activeInfo.isActive;
261
260
  if (_this._isActive) {
262
261
  _this._checkBoard();
263
262
  _this._ownerUser = _this._userControl.getUser(activeInfo.ownerUserId);
264
- _this._boardBackground = whiteboardControl.getBackgroundColor();
263
+ _this._boardBackground = _this._whiteboardControl.getBackgroundColor();
265
264
  }
266
265
  return _this;
267
266
  }
@@ -0,0 +1,30 @@
1
+ import { FcrPrivilegeControl, FcrStreamControl, FcrUserControl } from 'fcr-core';
2
+ export interface FcrUIDevicePrivilegeObserver {
3
+ onOpenCameraPrivilegeUpdated(result: boolean): void;
4
+ onOpenMicrophonePrivilegeUpdated(result: boolean): void;
5
+ onCameraNeedClosed(): void;
6
+ onMicrophoneNeedClosed(): void;
7
+ }
8
+ export interface FcrUIDevicePrivilegeProvider {
9
+ setAlwaysHasCameraPrivilege(): Promise<boolean>;
10
+ hasOpenCameraPrivilege(): Promise<boolean>;
11
+ hasOpenMicrophonePrivilege(): Promise<boolean>;
12
+ addObserver(observer: FcrUIDevicePrivilegeObserver): void;
13
+ removeObserver(observer: FcrUIDevicePrivilegeObserver): void;
14
+ }
15
+ export declare class FcrUIDevicePrivilegeProviderImpl implements FcrUIDevicePrivilegeProvider {
16
+ private _privilegeControl;
17
+ private _streamControl;
18
+ private _userControl;
19
+ private _firstGetMicrophonePrivilege;
20
+ private _observable;
21
+ private _privilegeObserver;
22
+ private _streamObserver;
23
+ constructor(_privilegeControl: FcrPrivilegeControl, _streamControl: FcrStreamControl, _userControl: FcrUserControl);
24
+ release(): void;
25
+ setAlwaysHasCameraPrivilege(): Promise<boolean>;
26
+ hasOpenCameraPrivilege(): Promise<boolean>;
27
+ hasOpenMicrophonePrivilege(): Promise<boolean>;
28
+ addObserver(observer: FcrUIDevicePrivilegeObserver): void;
29
+ removeObserver(observer: FcrUIDevicePrivilegeObserver): void;
30
+ }
@@ -0,0 +1,386 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.object.define-property.js");
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.FcrUIDevicePrivilegeProviderImpl = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ require("core-js/modules/es.array.find.js");
11
+ require("core-js/modules/es.array.for-each.js");
12
+ require("core-js/modules/es.object.to-string.js");
13
+ require("core-js/modules/esnext.async-iterator.find.js");
14
+ require("core-js/modules/esnext.async-iterator.for-each.js");
15
+ require("core-js/modules/esnext.iterator.constructor.js");
16
+ require("core-js/modules/esnext.iterator.find.js");
17
+ require("core-js/modules/esnext.iterator.for-each.js");
18
+ require("core-js/modules/web.dom-collections.for-each.js");
19
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
20
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
21
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
22
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
+ var _imports = require("fcr-core/lib/imports");
24
+ var _base = require("../base");
25
+ var _fcrCore = require("fcr-core");
26
+ var FcrUIDevicePrivilegeProviderImpl = exports.FcrUIDevicePrivilegeProviderImpl = /*#__PURE__*/function () {
27
+ function FcrUIDevicePrivilegeProviderImpl(_privilegeControl, _streamControl, _userControl) {
28
+ var _this = this;
29
+ (0, _classCallCheck2["default"])(this, FcrUIDevicePrivilegeProviderImpl);
30
+ (0, _defineProperty2["default"])(this, "_firstGetMicrophonePrivilege", true);
31
+ (0, _defineProperty2["default"])(this, "_observable", new _imports.AgoraObservable());
32
+ this._privilegeControl = _privilegeControl;
33
+ this._streamControl = _streamControl;
34
+ this._userControl = _userControl;
35
+ var localUserId = this._userControl.getLocalUser().userId;
36
+ this._privilegeObserver = {
37
+ onLocalUserPermissionInfoAdded: function () {
38
+ var _onLocalUserPermissionInfoAdded = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(roomId, event) {
39
+ var hasVideoPermission, hasAudioPermission, localStream, hasVideo, hasAudio;
40
+ return _regenerator["default"].wrap(function _callee$(_context) {
41
+ while (1) switch (_context.prev = _context.next) {
42
+ case 0:
43
+ hasVideoPermission = event.permissionInfo.find(function (permissionInfo) {
44
+ var _permissionInfo$info;
45
+ ((_permissionInfo$info = permissionInfo.info) === null || _permissionInfo$info === void 0 ? void 0 : _permissionInfo$info.action) === _fcrCore.FcrPermissionAction.StreamStartVideo;
46
+ });
47
+ hasAudioPermission = event.permissionInfo.find(function (permissionInfo) {
48
+ var _permissionInfo$info2;
49
+ ((_permissionInfo$info2 = permissionInfo.info) === null || _permissionInfo$info2 === void 0 ? void 0 : _permissionInfo$info2.action) === _fcrCore.FcrPermissionAction.StreamStartAudio;
50
+ });
51
+ localStream = _this._streamControl.getStreamsByUserId(localUserId).find(function (stream) {
52
+ return stream.videoSourceType === _imports.AgoraRtcVideoSourceType.CAMERA;
53
+ });
54
+ hasVideo = (localStream === null || localStream === void 0 ? void 0 : localStream.streamType) === _fcrCore.FcrStreamType.VIDEO || (localStream === null || localStream === void 0 ? void 0 : localStream.streamType) === _fcrCore.FcrStreamType.BOTH;
55
+ hasAudio = (localStream === null || localStream === void 0 ? void 0 : localStream.streamType) === _fcrCore.FcrStreamType.AUDIO || (localStream === null || localStream === void 0 ? void 0 : localStream.streamType) === _fcrCore.FcrStreamType.BOTH;
56
+ if (!hasVideoPermission) {
57
+ _context.next = 17;
58
+ break;
59
+ }
60
+ if (!(!hasVideo && localStream)) {
61
+ _context.next = 16;
62
+ break;
63
+ }
64
+ _context.prev = 7;
65
+ _context.next = 10;
66
+ return _this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, localStream.streamId, {
67
+ videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE,
68
+ audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
69
+ }));
70
+ case 10:
71
+ _context.next = 16;
72
+ break;
73
+ case 12:
74
+ _context.prev = 12;
75
+ _context.t0 = _context["catch"](7);
76
+ _this._observable.notifyObservers('onOpenCameraPrivilegeUpdated', false);
77
+ return _context.abrupt("return");
78
+ case 16:
79
+ _this._observable.notifyObservers('onOpenCameraPrivilegeUpdated', true);
80
+ case 17:
81
+ if (!hasAudioPermission) {
82
+ _context.next = 29;
83
+ break;
84
+ }
85
+ if (!(!hasAudio && localStream)) {
86
+ _context.next = 28;
87
+ break;
88
+ }
89
+ _context.prev = 19;
90
+ _context.next = 22;
91
+ return _this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, localStream.streamId, {
92
+ videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION,
93
+ audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE
94
+ }));
95
+ case 22:
96
+ _context.next = 28;
97
+ break;
98
+ case 24:
99
+ _context.prev = 24;
100
+ _context.t1 = _context["catch"](19);
101
+ _this._observable.notifyObservers('onOpenMicrophonePrivilegeUpdated', false);
102
+ return _context.abrupt("return");
103
+ case 28:
104
+ _this._observable.notifyObservers('onOpenMicrophonePrivilegeUpdated', true);
105
+ case 29:
106
+ case "end":
107
+ return _context.stop();
108
+ }
109
+ }, _callee, null, [[7, 12], [19, 24]]);
110
+ }));
111
+ function onLocalUserPermissionInfoAdded(_x, _x2) {
112
+ return _onLocalUserPermissionInfoAdded.apply(this, arguments);
113
+ }
114
+ return onLocalUserPermissionInfoAdded;
115
+ }(),
116
+ onLocalUserPermissionInfoDeleted: function () {
117
+ var _onLocalUserPermissionInfoDeleted = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(roomId, event) {
118
+ var hasVideoPermission, hasAudioPermission;
119
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
120
+ while (1) switch (_context2.prev = _context2.next) {
121
+ case 0:
122
+ hasVideoPermission = event.permissionInfo.find(function (permissionInfo) {
123
+ var _permissionInfo$info3;
124
+ ((_permissionInfo$info3 = permissionInfo.info) === null || _permissionInfo$info3 === void 0 ? void 0 : _permissionInfo$info3.action) === _fcrCore.FcrPermissionAction.StreamStartVideo;
125
+ });
126
+ hasAudioPermission = event.permissionInfo.find(function (permissionInfo) {
127
+ var _permissionInfo$info4;
128
+ ((_permissionInfo$info4 = permissionInfo.info) === null || _permissionInfo$info4 === void 0 ? void 0 : _permissionInfo$info4.action) === _fcrCore.FcrPermissionAction.StreamStartAudio;
129
+ });
130
+ if (hasVideoPermission) {
131
+ _this._observable.notifyObservers('onOpenCameraPrivilegeUpdated', false);
132
+ }
133
+ if (hasAudioPermission) {
134
+ _this._observable.notifyObservers('onOpenMicrophonePrivilegeUpdated', false);
135
+ }
136
+ case 4:
137
+ case "end":
138
+ return _context2.stop();
139
+ }
140
+ }, _callee2);
141
+ }));
142
+ function onLocalUserPermissionInfoDeleted(_x3, _x4) {
143
+ return _onLocalUserPermissionInfoDeleted.apply(this, arguments);
144
+ }
145
+ return onLocalUserPermissionInfoDeleted;
146
+ }()
147
+ };
148
+ this._streamObserver = {
149
+ onStreamsUpdated: function () {
150
+ var _onStreamsUpdated = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(roomId, events) {
151
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
152
+ while (1) switch (_context3.prev = _context3.next) {
153
+ case 0:
154
+ events.forEach(function (event) {
155
+ var stream = event.modifiedStream;
156
+ if (stream.owner.userId === localUserId && stream.videoSourceType === _imports.AgoraRtcVideoSourceType.CAMERA) {
157
+ if (stream.streamType === _fcrCore.FcrStreamType.NONE || stream.streamType === _fcrCore.FcrStreamType.AUDIO) {
158
+ _this._observable.notifyObservers('onCameraNeedClosed');
159
+ }
160
+ if (stream.streamType === _fcrCore.FcrStreamType.NONE || stream.streamType === _fcrCore.FcrStreamType.VIDEO) {
161
+ _this._observable.notifyObservers('onMicrophoneNeedClosed');
162
+ }
163
+ var hasVideo = stream.streamType === _fcrCore.FcrStreamType.VIDEO || stream.streamType === _fcrCore.FcrStreamType.BOTH;
164
+ var hasAudio = stream.streamType === _fcrCore.FcrStreamType.AUDIO || stream.streamType === _fcrCore.FcrStreamType.BOTH;
165
+ if (!hasVideo) {
166
+ _this._observable.notifyObservers('onOpenCameraPrivilegeUpdated', false);
167
+ }
168
+ if (!hasAudio) {
169
+ _this._observable.notifyObservers('onOpenMicrophonePrivilegeUpdated', false);
170
+ }
171
+ var hasVideoPermission = _this._privilegeControl.getLocalUserPermissionInfo(_fcrCore.FcrPermissionAction.StreamStartVideo).enable;
172
+ var hasAudioPermission = _this._privilegeControl.getLocalUserPermissionInfo(_fcrCore.FcrPermissionAction.StreamStartAudio).enable;
173
+ if (hasVideoPermission && !hasVideo || hasAudioPermission && !hasAudio) {
174
+ _this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, stream.streamId, {
175
+ videoPrivilege: hasVideoPermission ? _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE : _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION,
176
+ audioPrivilege: hasAudioPermission ? _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE : _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
177
+ }));
178
+ }
179
+ }
180
+ });
181
+ case 1:
182
+ case "end":
183
+ return _context3.stop();
184
+ }
185
+ }, _callee3);
186
+ }));
187
+ function onStreamsUpdated(_x5, _x6) {
188
+ return _onStreamsUpdated.apply(this, arguments);
189
+ }
190
+ return onStreamsUpdated;
191
+ }()
192
+ };
193
+ this._privilegeControl.addObserver(this._privilegeObserver);
194
+ this._streamControl.addObserver(this._streamObserver);
195
+ }
196
+ return (0, _createClass2["default"])(FcrUIDevicePrivilegeProviderImpl, [{
197
+ key: "release",
198
+ value: function release() {
199
+ this._privilegeControl.removeObserver(this._privilegeObserver);
200
+ }
201
+ }, {
202
+ key: "setAlwaysHasCameraPrivilege",
203
+ value: function () {
204
+ var _setAlwaysHasCameraPrivilege = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
205
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
206
+ while (1) switch (_context4.prev = _context4.next) {
207
+ case 0:
208
+ return _context4.abrupt("return", false);
209
+ case 1:
210
+ case "end":
211
+ return _context4.stop();
212
+ }
213
+ }, _callee4);
214
+ }));
215
+ function setAlwaysHasCameraPrivilege() {
216
+ return _setAlwaysHasCameraPrivilege.apply(this, arguments);
217
+ }
218
+ return setAlwaysHasCameraPrivilege;
219
+ }()
220
+ }, {
221
+ key: "hasOpenCameraPrivilege",
222
+ value: function () {
223
+ var _hasOpenCameraPrivilege = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5() {
224
+ var permissionInfo, localUserId, localStream, hasVideo;
225
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
226
+ while (1) switch (_context5.prev = _context5.next) {
227
+ case 0:
228
+ permissionInfo = this._privilegeControl.getLocalUserPermissionInfo(_fcrCore.FcrPermissionAction.StreamStartVideo);
229
+ localUserId = this._userControl.getLocalUser().userId;
230
+ localStream = this._streamControl.getStreamsByUserId(localUserId).find(function (stream) {
231
+ return stream.videoSourceType === _imports.AgoraRtcVideoSourceType.CAMERA;
232
+ });
233
+ hasVideo = (localStream === null || localStream === void 0 ? void 0 : localStream.streamType) === _fcrCore.FcrStreamType.VIDEO || (localStream === null || localStream === void 0 ? void 0 : localStream.streamType) === _fcrCore.FcrStreamType.BOTH;
234
+ if (!permissionInfo.enable) {
235
+ _context5.next = 21;
236
+ break;
237
+ }
238
+ if (!hasVideo) {
239
+ _context5.next = 9;
240
+ break;
241
+ }
242
+ return _context5.abrupt("return", true);
243
+ case 9:
244
+ if (!localStream) {
245
+ _context5.next = 18;
246
+ break;
247
+ }
248
+ _context5.prev = 10;
249
+ _context5.next = 13;
250
+ return this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, localStream.streamId, {
251
+ videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE,
252
+ audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
253
+ }));
254
+ case 13:
255
+ _context5.next = 18;
256
+ break;
257
+ case 15:
258
+ _context5.prev = 15;
259
+ _context5.t0 = _context5["catch"](10);
260
+ return _context5.abrupt("return", false);
261
+ case 18:
262
+ return _context5.abrupt("return", true);
263
+ case 19:
264
+ _context5.next = 25;
265
+ break;
266
+ case 21:
267
+ if (!hasVideo) {
268
+ _context5.next = 24;
269
+ break;
270
+ }
271
+ _context5.next = 24;
272
+ return this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, localStream.streamId, {
273
+ videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOPRIVILEGE,
274
+ audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
275
+ }));
276
+ case 24:
277
+ return _context5.abrupt("return", false);
278
+ case 25:
279
+ case "end":
280
+ return _context5.stop();
281
+ }
282
+ }, _callee5, this, [[10, 15]]);
283
+ }));
284
+ function hasOpenCameraPrivilege() {
285
+ return _hasOpenCameraPrivilege.apply(this, arguments);
286
+ }
287
+ return hasOpenCameraPrivilege;
288
+ }()
289
+ }, {
290
+ key: "hasOpenMicrophonePrivilege",
291
+ value: function () {
292
+ var _hasOpenMicrophonePrivilege = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6() {
293
+ var permissionInfo, localUserId, localStream, hasAudio;
294
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
295
+ while (1) switch (_context6.prev = _context6.next) {
296
+ case 0:
297
+ permissionInfo = this._privilegeControl.getLocalUserPermissionInfo(_fcrCore.FcrPermissionAction.StreamStartAudio);
298
+ localUserId = this._userControl.getLocalUser().userId;
299
+ localStream = this._streamControl.getStreamsByUserId(localUserId).find(function (stream) {
300
+ return stream.videoSourceType === _imports.AgoraRtcVideoSourceType.CAMERA;
301
+ });
302
+ hasAudio = (localStream === null || localStream === void 0 ? void 0 : localStream.streamType) === _fcrCore.FcrStreamType.AUDIO || (localStream === null || localStream === void 0 ? void 0 : localStream.streamType) === _fcrCore.FcrStreamType.BOTH;
303
+ if (!this._firstGetMicrophonePrivilege) {
304
+ _context6.next = 13;
305
+ break;
306
+ }
307
+ this._firstGetMicrophonePrivilege = false;
308
+ if (!hasAudio) {
309
+ _context6.next = 10;
310
+ break;
311
+ }
312
+ return _context6.abrupt("return", true);
313
+ case 10:
314
+ return _context6.abrupt("return", false);
315
+ case 11:
316
+ _context6.next = 34;
317
+ break;
318
+ case 13:
319
+ if (!permissionInfo.enable) {
320
+ _context6.next = 30;
321
+ break;
322
+ }
323
+ if (!hasAudio) {
324
+ _context6.next = 18;
325
+ break;
326
+ }
327
+ return _context6.abrupt("return", true);
328
+ case 18:
329
+ if (!localStream) {
330
+ _context6.next = 27;
331
+ break;
332
+ }
333
+ _context6.prev = 19;
334
+ _context6.next = 22;
335
+ return this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, localStream.streamId, {
336
+ videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.HAS_PRIVILEGE,
337
+ audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
338
+ }));
339
+ case 22:
340
+ _context6.next = 27;
341
+ break;
342
+ case 24:
343
+ _context6.prev = 24;
344
+ _context6.t0 = _context6["catch"](19);
345
+ return _context6.abrupt("return", false);
346
+ case 27:
347
+ return _context6.abrupt("return", true);
348
+ case 28:
349
+ _context6.next = 34;
350
+ break;
351
+ case 30:
352
+ if (!hasAudio) {
353
+ _context6.next = 33;
354
+ break;
355
+ }
356
+ _context6.next = 33;
357
+ return this._streamControl.updatePublishPrivilegeOfStreams((0, _defineProperty2["default"])({}, localStream.streamId, {
358
+ videoPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOPRIVILEGE,
359
+ audioPrivilege: _fcrCore.FcrStreamPrivilegeOperation.NOOPERATION
360
+ }));
361
+ case 33:
362
+ return _context6.abrupt("return", false);
363
+ case 34:
364
+ case "end":
365
+ return _context6.stop();
366
+ }
367
+ }, _callee6, this, [[19, 24]]);
368
+ }));
369
+ function hasOpenMicrophonePrivilege() {
370
+ return _hasOpenMicrophonePrivilege.apply(this, arguments);
371
+ }
372
+ return hasOpenMicrophonePrivilege;
373
+ }()
374
+ }, {
375
+ key: "addObserver",
376
+ value: function addObserver(observer) {
377
+ this._observable.addObserver(observer);
378
+ }
379
+ }, {
380
+ key: "removeObserver",
381
+ value: function removeObserver(observer) {
382
+ this._observable.removeObserver(observer);
383
+ }
384
+ }]);
385
+ }();
386
+ (0, _base.registerDependency)('devicePrivilegeProvider');