fcr-ui-scene 3.8.2 → 3.9.0-alpha

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 (872) hide show
  1. package/lib/base.js +2 -2
  2. package/lib/creator/index.js +25 -10
  3. package/lib/creator/provider-initializer.browser.js +28 -3
  4. package/lib/creator/provider-initializer.electron.js +28 -5
  5. package/lib/electron/app.js +26 -9
  6. package/lib/electron/asar-validation.js +5 -1
  7. package/lib/electron/env.d.ts +1 -0
  8. package/lib/electron/env.js +2 -2
  9. package/lib/electron/injections.d.ts +2 -1
  10. package/lib/electron/injections.js +23 -17
  11. package/lib/electron/ipc/type.d.ts +2 -1
  12. package/lib/electron/ipc/type.js +1 -0
  13. package/lib/electron/ipc-protocol.d.ts +2 -0
  14. package/lib/electron/main.js +6 -6
  15. package/lib/electron/plugins/main-window-display.d.ts +8 -0
  16. package/lib/electron/plugins/main-window-display.js +23 -0
  17. package/lib/electron/preload.js +2 -1
  18. package/lib/electron/process-manager/index.d.ts +1 -0
  19. package/lib/electron/process-manager/index.js +37 -0
  20. package/lib/electron/process-manager/state-manager.d.ts +10 -0
  21. package/lib/electron/process-manager/state-manager.js +46 -4
  22. package/lib/electron/sdk-helper.js +4 -0
  23. package/lib/electron/window-proxy/browser-window-proxy-factory.d.ts +7 -0
  24. package/lib/electron/window-proxy/browser-window-proxy-factory.js +46 -0
  25. package/lib/electron/window-proxy/{browser-window-proxy.d.ts → implementations/browser-window-proxy.d.ts} +3 -24
  26. package/lib/electron/window-proxy/implementations/browser-window-proxy.js +335 -0
  27. package/lib/electron/window-proxy/implementations/electron-event-broadcaster.d.ts +9 -0
  28. package/lib/electron/window-proxy/implementations/electron-event-broadcaster.js +32 -0
  29. package/lib/electron/window-proxy/implementations/electron-ipc-handler.d.ts +6 -0
  30. package/lib/electron/window-proxy/implementations/electron-ipc-handler.js +27 -0
  31. package/lib/electron/window-proxy/implementations/electron-logger.d.ts +7 -0
  32. package/lib/electron/window-proxy/implementations/electron-logger.js +34 -0
  33. package/lib/electron/window-proxy/{main-process-handler.d.ts → implementations/main-process-handler.d.ts} +16 -9
  34. package/lib/electron/window-proxy/{main-process-handler.js → implementations/main-process-handler.js} +111 -111
  35. package/lib/electron/window-proxy/interfaces.d.ts +52 -0
  36. package/lib/electron/window-proxy/interfaces.js +6 -0
  37. package/lib/fragments/annotation/cursor.css +77 -0
  38. package/lib/fragments/annotation/index.d.ts +2 -4
  39. package/lib/fragments/annotation/index.js +4 -82
  40. package/lib/fragments/annotation/libs.d.ts +15 -11
  41. package/lib/fragments/annotation/libs.js +75 -26
  42. package/lib/fragments/annotation/store.d.ts +23 -43
  43. package/lib/fragments/annotation/store.js +319 -709
  44. package/lib/fragments/annotation/style.css +5 -6
  45. package/lib/fragments/annotation/view.d.ts +1 -0
  46. package/lib/fragments/annotation/view.js +8 -48
  47. package/lib/fragments/base.js +1 -1
  48. package/lib/fragments/whiteboard/libs.d.ts +72 -0
  49. package/lib/fragments/whiteboard/libs.js +155 -0
  50. package/lib/fragments/whiteboard/store.d.ts +1 -4
  51. package/lib/fragments/whiteboard/store.js +64 -128
  52. package/lib/modules/action-bar/components/apps/index.js +2 -2
  53. package/lib/modules/action-bar/components/collapse/index.js +8 -3
  54. package/lib/modules/action-bar/components/{confirm-leave-meeting → confirm-end-meeting}/index.d.ts +1 -1
  55. package/lib/modules/action-bar/components/{confirm-leave-meeting → confirm-end-meeting}/index.js +14 -33
  56. package/lib/modules/action-bar/components/leave/index.js +1 -1
  57. package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.css +6 -0
  58. package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.d.ts +3 -7
  59. package/lib/modules/action-bar/components/notification-bar/components/interpreter/index.js +66 -42
  60. package/lib/modules/action-bar/components/notification-bar/components/virtual-image/index.d.ts +2 -2
  61. package/lib/modules/action-bar/components/notification-bar/components/virtual-image/index.js +11 -7
  62. package/lib/modules/action-bar/components/notification-bar/index.js +12 -70
  63. package/lib/modules/action-bar/components/screen-share/submenu.js +39 -2
  64. package/lib/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.css +1 -0
  65. package/lib/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.js +10 -7
  66. package/lib/modules/action-bar/index.css +1 -1
  67. package/lib/modules/action-bar/main-scene/index.d.ts +1 -1
  68. package/lib/modules/action-bar/main-scene/index.js +4 -4
  69. package/lib/modules/action-bar/main-scene/store.base.d.ts +16 -9
  70. package/lib/modules/action-bar/main-scene/store.base.js +165 -94
  71. package/lib/modules/action-bar/type.d.ts +1 -15
  72. package/lib/modules/action-bar/type.js +14 -0
  73. package/lib/modules/action-bar/waiting-scene/view.js +1 -1
  74. package/lib/modules/annotation/board-cursor.css +77 -0
  75. package/lib/modules/annotation/components/color-picker/components/color.d.ts +5 -0
  76. package/lib/modules/annotation/components/color-picker/components/color.js +37 -0
  77. package/lib/modules/annotation/components/color-picker/components/panel.d.ts +1 -0
  78. package/lib/modules/annotation/components/color-picker/components/panel.js +108 -0
  79. package/lib/modules/annotation/components/color-picker/components/picker.d.ts +1 -0
  80. package/lib/modules/annotation/components/color-picker/components/picker.js +75 -0
  81. package/lib/modules/annotation/components/color-picker/index.d.ts +2 -0
  82. package/lib/modules/annotation/components/color-picker/index.js +45 -0
  83. package/lib/modules/annotation/components/eraser-picker.d.ts +4 -0
  84. package/lib/modules/annotation/components/eraser-picker.js +142 -0
  85. package/lib/modules/annotation/components/expansion/index.d.ts +1 -0
  86. package/lib/modules/annotation/components/expansion/index.js +100 -0
  87. package/lib/modules/annotation/components/extra-tool-picker.d.ts +1 -0
  88. package/lib/modules/annotation/components/extra-tool-picker.js +62 -0
  89. package/lib/modules/annotation/components/history.d.ts +2 -0
  90. package/lib/modules/annotation/components/history.js +76 -0
  91. package/lib/modules/annotation/components/icons/fold-icon.d.ts +2 -0
  92. package/lib/modules/annotation/components/icons/fold-icon.js +41 -0
  93. package/lib/modules/annotation/components/icons/move-icon.d.ts +1 -0
  94. package/lib/modules/annotation/components/icons/move-icon.js +66 -0
  95. package/lib/modules/annotation/components/item/index.d.ts +1 -0
  96. package/lib/modules/annotation/components/item/index.js +43 -0
  97. package/lib/modules/annotation/components/move-handle.d.ts +5 -0
  98. package/lib/modules/annotation/components/move-handle.js +134 -0
  99. package/lib/modules/annotation/components/pen-picker.d.ts +4 -0
  100. package/lib/modules/annotation/components/pen-picker.js +150 -0
  101. package/lib/modules/annotation/components/screen-capture-picker.d.ts +4 -0
  102. package/lib/modules/annotation/components/screen-capture-picker.js +84 -0
  103. package/lib/modules/annotation/components/shape-picker.d.ts +4 -0
  104. package/lib/modules/annotation/components/shape-picker.js +201 -0
  105. package/lib/modules/annotation/hooks/index.d.ts +14 -0
  106. package/lib/modules/annotation/hooks/index.js +164 -0
  107. package/lib/modules/annotation/index.d.ts +31 -0
  108. package/lib/modules/annotation/index.js +152 -0
  109. package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/color-tool/color-panel/index.js +2 -2
  110. package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/color-tool/index.js +22 -9
  111. package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/graphic-tool/graphic-panel/index.js +2 -3
  112. package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/graphic-tool/index.js +22 -9
  113. package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/pen-tool/index.js +22 -9
  114. package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/pen-tool/pen-panel/index.js +1 -1
  115. package/lib/modules/annotation/standalone-toolbar/components/permission-tool/index.d.ts +1 -0
  116. package/lib/modules/annotation/standalone-toolbar/components/permission-tool/index.js +52 -0
  117. package/lib/modules/annotation/standalone-toolbar/store.d.ts +104 -0
  118. package/lib/modules/annotation/standalone-toolbar/store.js +618 -0
  119. package/{lib-es/fragments/annotation/toolbar → lib/modules/annotation/standalone-toolbar}/style.css +4 -1
  120. package/lib/modules/annotation/standalone-toolbar/view.js +193 -0
  121. package/lib/modules/annotation/store.base.d.ts +27 -0
  122. package/lib/modules/annotation/store.base.js +185 -0
  123. package/lib/modules/annotation/store.browser.d.ts +3 -0
  124. package/lib/modules/annotation/store.browser.js +25 -0
  125. package/lib/modules/annotation/store.electron.d.ts +8 -0
  126. package/lib/modules/annotation/store.electron.js +75 -0
  127. package/lib/modules/annotation/style.css +36 -0
  128. package/lib/modules/annotation/toolbar-store.d.ts +86 -0
  129. package/lib/modules/annotation/toolbar-store.js +473 -0
  130. package/lib/modules/annotation/type.d.ts +7 -0
  131. package/lib/modules/annotation/type.js +6 -0
  132. package/lib/modules/annotation/view.d.ts +5 -0
  133. package/lib/modules/annotation/view.js +107 -0
  134. package/lib/modules/chat/chat-room-store.d.ts +8 -1
  135. package/lib/modules/chat/chat-room-store.js +152 -72
  136. package/lib/modules/chat/components/message-list/index.js +123 -93
  137. package/lib/modules/chat/components/message-list/message-item/index.js +89 -67
  138. package/lib/modules/chat/components/message-list/scroll-bottom-button/index.js +6 -8
  139. package/lib/modules/chat/index.css +1 -9
  140. package/lib/modules/chat/store.js +7 -5
  141. package/lib/modules/chat/view.js +4 -9
  142. package/lib/modules/components/annotation-menu/index.d.ts +5 -3
  143. package/lib/modules/components/annotation-menu/index.js +29 -34
  144. package/lib/modules/components/apps/index.css +3 -2
  145. package/lib/modules/components/caption-menu/translation-setting-options.js +2 -2
  146. package/lib/modules/components/confirm-wrapper/index.css +48 -0
  147. package/lib/modules/components/confirm-wrapper/index.d.ts +25 -0
  148. package/lib/modules/components/confirm-wrapper/index.js +87 -0
  149. package/lib/modules/components/control-bar/index.d.ts +40 -8
  150. package/lib/modules/components/control-bar/index.js +350 -200
  151. package/lib/modules/components/device-control/components/audio-menu/index.js +3 -2
  152. package/lib/modules/components/device-control/components/video-menu/index.js +5 -3
  153. package/lib/modules/components/device-control/store.base.d.ts +5 -0
  154. package/lib/modules/components/device-control/store.base.js +17 -1
  155. package/lib/modules/components/leave-meeting/index.css +21 -0
  156. package/lib/modules/components/leave-meeting/index.d.ts +0 -2
  157. package/lib/modules/components/leave-meeting/index.js +63 -103
  158. package/lib/modules/components/leave-meeting/portal.d.ts +0 -1
  159. package/lib/modules/components/leave-meeting/portal.js +4 -6
  160. package/lib/modules/components/leave-meeting/store.base.d.ts +3 -4
  161. package/lib/modules/components/leave-meeting/store.base.js +49 -55
  162. package/lib/modules/components/leave-meeting/style.css +0 -1
  163. package/lib/modules/components/member-window/components/member-actions/components/more-actions.js +2 -1
  164. package/lib/modules/components/member-window/components/member-actions/provider.js +1 -1
  165. package/lib/modules/components/member-window/index.d.ts +1 -1
  166. package/lib/modules/components/member-window/index.js +3 -3
  167. package/lib/modules/components/security-menu/store.js +7 -9
  168. package/lib/modules/components/tab-frame/index.css +2 -2
  169. package/lib/modules/connection-gateway/components/phone/index.js +1 -1
  170. package/lib/modules/connection-gateway/store.js +6 -8
  171. package/lib/modules/control-bar/components/annotation-button/index.d.ts +11 -0
  172. package/lib/modules/control-bar/components/annotation-button/index.js +51 -0
  173. package/lib/modules/control-bar/components/apps-popover/index.css +3 -0
  174. package/lib/modules/control-bar/components/apps-popover/index.d.ts +1 -0
  175. package/lib/modules/control-bar/components/apps-popover/index.js +2 -0
  176. package/lib/modules/control-bar/components/carmera/index.js +1 -1
  177. package/lib/modules/control-bar/components/meeting-details/index.js +14 -20
  178. package/lib/modules/control-bar/components/microphone/index.js +2 -2
  179. package/lib/modules/control-bar/hooks.js +1 -1
  180. package/lib/modules/control-bar/index.css +11 -0
  181. package/lib/modules/control-bar/store.d.ts +20 -5
  182. package/lib/modules/control-bar/store.js +190 -59
  183. package/lib/modules/control-bar/view.js +72 -39
  184. package/lib/modules/device-pretest/audio-preview/microphone-detection.js +3 -9
  185. package/lib/modules/device-pretest/audio-preview/speaker-detection.js +1 -1
  186. package/lib/modules/device-pretest/index.js +1 -1
  187. package/lib/modules/device-pretest/settings/beauty.js +1 -1
  188. package/lib/modules/device-pretest/settings/video-effect.d.ts +2 -0
  189. package/lib/modules/device-pretest/settings/video-effect.js +27 -12
  190. package/lib/modules/device-pretest/settings/video-settings-basic.js +1 -1
  191. package/lib/modules/device-pretest/settings/virtual-background-setting.js +1 -1
  192. package/lib/modules/dialog/components/confirm/index.css +0 -18
  193. package/lib/modules/dialog/components/confirm/index.d.ts +1 -0
  194. package/lib/modules/dialog/components/confirm/index.js +2 -2
  195. package/lib/modules/dialog/components/dialog-container/index.css +3 -4
  196. package/lib/modules/dialog/components/dialog-container/index.d.ts +6 -21
  197. package/lib/modules/dialog/components/dialog-container/index.js +80 -132
  198. package/lib/modules/dialog/components/normal-window/index.d.ts +8 -20
  199. package/lib/modules/dialog/components/normal-window/index.js +14 -34
  200. package/lib/modules/dialog/dialogConfig/browser.d.ts +12 -0
  201. package/lib/modules/dialog/dialogConfig/browser.js +11 -0
  202. package/lib/modules/dialog/dialogConfig/electron.d.ts +4 -0
  203. package/lib/modules/dialog/dialogConfig/electron.js +15 -0
  204. package/lib/modules/dialog/dialogs/annotation-mask/index.d.ts +8 -0
  205. package/lib/modules/dialog/dialogs/annotation-mask/index.js +41 -0
  206. package/lib/modules/dialog/dialogs/annotation-tool/index.d.ts +5 -4
  207. package/lib/modules/dialog/dialogs/annotation-tool/index.js +19 -35
  208. package/lib/modules/dialog/dialogs/caption/index.d.ts +4 -16
  209. package/lib/modules/dialog/dialogs/caption/index.js +25 -19
  210. package/lib/modules/dialog/dialogs/chat/index.d.ts +4 -18
  211. package/lib/modules/dialog/dialogs/chat/index.js +33 -54
  212. package/lib/modules/dialog/dialogs/confirm/index.css +2 -13
  213. package/lib/modules/dialog/dialogs/confirm/index.d.ts +2 -17
  214. package/lib/modules/dialog/dialogs/confirm/index.js +5 -7
  215. package/lib/modules/dialog/dialogs/confirm-leave-meeting/index.d.ts +5 -16
  216. package/lib/modules/dialog/dialogs/confirm-leave-meeting/index.js +4 -24
  217. package/lib/modules/dialog/dialogs/connection-gateway/index.d.ts +4 -20
  218. package/lib/modules/dialog/dialogs/connection-gateway/index.js +6 -29
  219. package/lib/modules/dialog/dialogs/control-bar/index.d.ts +2 -16
  220. package/lib/modules/dialog/dialogs/control-bar/index.js +4 -6
  221. package/lib/modules/dialog/dialogs/control-bar-leave-meeting/index.d.ts +4 -14
  222. package/lib/modules/dialog/dialogs/control-bar-leave-meeting/index.js +3 -21
  223. package/lib/modules/dialog/dialogs/device-setting/index.d.ts +4 -13
  224. package/lib/modules/dialog/dialogs/device-setting/index.js +4 -20
  225. package/lib/modules/dialog/dialogs/end-meeting-notice/index.d.ts +8 -0
  226. package/lib/modules/dialog/dialogs/{end-meeting → end-meeting-notice}/index.js +4 -14
  227. package/lib/modules/dialog/dialogs/interpreter/index.d.ts +4 -14
  228. package/lib/modules/dialog/dialogs/interpreter/index.js +33 -24
  229. package/lib/modules/dialog/dialogs/invite/index.d.ts +4 -18
  230. package/lib/modules/dialog/dialogs/invite/index.js +25 -24
  231. package/lib/modules/dialog/dialogs/live-streaming/index.d.ts +4 -8
  232. package/lib/modules/dialog/dialogs/live-streaming/index.js +7 -11
  233. package/lib/modules/dialog/dialogs/mute-all/index.d.ts +4 -15
  234. package/lib/modules/dialog/dialogs/mute-all/index.js +4 -20
  235. package/lib/modules/dialog/dialogs/participant/index.d.ts +4 -18
  236. package/lib/modules/dialog/dialogs/participant/index.js +31 -31
  237. package/lib/modules/dialog/dialogs/rename/index.d.ts +2 -14
  238. package/lib/modules/dialog/dialogs/rename/index.js +2 -13
  239. package/lib/modules/dialog/dialogs/sample-dialog/index.d.ts +2 -13
  240. package/lib/modules/dialog/dialogs/sample-dialog/index.js +2 -2
  241. package/lib/modules/dialog/dialogs/share-screen-selection/index.d.ts +2 -14
  242. package/lib/modules/dialog/dialogs/share-screen-selection/index.js +3 -12
  243. package/lib/modules/dialog/dialogs/sub-window/index.d.ts +2 -17
  244. package/lib/modules/dialog/dialogs/sub-window/index.js +4 -3
  245. package/lib/modules/dialog/dialogs/subtitles-history/index.d.ts +4 -19
  246. package/lib/modules/dialog/dialogs/subtitles-history/index.js +32 -25
  247. package/lib/modules/dialog/dialogs/system-preference/index.css +3 -2
  248. package/lib/modules/dialog/dialogs/system-preference/index.d.ts +5 -28
  249. package/lib/modules/dialog/dialogs/system-preference/index.js +13 -13
  250. package/lib/modules/dialog/dialogs/toast/index.d.ts +2 -16
  251. package/lib/modules/dialog/dialogs/toast/index.js +5 -5
  252. package/lib/modules/dialog/dialogs/video-window/index.d.ts +2 -18
  253. package/lib/modules/dialog/dialogs/video-window/index.js +4 -4
  254. package/lib/modules/dialog/dialogs/whiteboard/index.d.ts +2 -18
  255. package/lib/modules/dialog/dialogs/whiteboard/index.js +2 -2
  256. package/lib/modules/dialog/dialogs/widget/index.d.ts +4 -14
  257. package/lib/modules/dialog/dialogs/widget/index.js +22 -26
  258. package/lib/modules/dialog/index.css +4 -11
  259. package/lib/modules/dialog/level-config.d.ts +1 -0
  260. package/lib/modules/dialog/level-config.js +1 -0
  261. package/lib/modules/dialog/store.base.js +0 -3
  262. package/lib/modules/dialog/store.electron.d.ts +1 -0
  263. package/lib/modules/dialog/store.electron.js +16 -9
  264. package/lib/modules/dialog/type.d.ts +3 -1
  265. package/lib/modules/dialog/view.js +25 -1
  266. package/lib/modules/dialog/web-dialog-wrapper.d.ts +3 -0
  267. package/lib/modules/dialog/web-dialog-wrapper.js +154 -0
  268. package/lib/modules/event-toast/index.css +5 -2
  269. package/lib/modules/event-toast/store.browser.js +1 -1
  270. package/lib/modules/event-toast/store.electron.js +1 -1
  271. package/lib/modules/interpreter/index.css +1 -2
  272. package/lib/modules/interpreter/store.js +22 -19
  273. package/lib/modules/interpreter/utils.js +1 -1
  274. package/lib/modules/invite/components/pstn-invite.js +5 -5
  275. package/lib/modules/invite/store.d.ts +2 -2
  276. package/lib/modules/invite/store.js +1 -1
  277. package/lib/modules/layout/components/Aside.js +1 -1
  278. package/lib/modules/layout/components/Carousel.js +1 -1
  279. package/lib/modules/layout/components/CommonVideoRenderer.js +14 -4
  280. package/lib/modules/layout/components/Gallery.js +1 -1
  281. package/lib/modules/layout/index.css +0 -31
  282. package/lib/modules/layout/store.base.d.ts +9 -15
  283. package/lib/modules/layout/store.base.js +69 -198
  284. package/lib/modules/layout/store.browser.d.ts +2 -1
  285. package/lib/modules/layout/store.browser.js +62 -2
  286. package/lib/modules/layout/store.electron.d.ts +1 -3
  287. package/lib/modules/layout/store.electron.js +10 -28
  288. package/lib/modules/layout/view.js +1 -3
  289. package/lib/modules/live-streaming/index.dev.js +1 -1
  290. package/lib/modules/live-streaming/store.js +3 -4
  291. package/lib/modules/participant/components/confirm-input/index.css +15 -0
  292. package/lib/modules/participant/components/confirm-input/index.js +10 -13
  293. package/lib/modules/participant/components/mute-all/index.css +34 -0
  294. package/lib/modules/participant/components/mute-all/index.d.ts +1 -0
  295. package/lib/modules/participant/components/mute-all/index.js +21 -15
  296. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/index.js +16 -2
  297. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/util.d.ts +2 -1
  298. package/lib/modules/participant/components/participants/components/footer/components/drop-menu/util.js +3 -1
  299. package/lib/modules/participant/components/participants/components/render-user/components/attendee/components/microphone-indicator/index.js +3 -2
  300. package/lib/modules/participant/components/participants/components/render-user/components/user-action/index.js +1 -1
  301. package/lib/modules/participant/index.css +0 -16
  302. package/lib/modules/participant/store.base.d.ts +18 -5
  303. package/lib/modules/participant/store.base.js +219 -127
  304. package/lib/modules/participant/store.browser.d.ts +2 -1
  305. package/lib/modules/participant/store.browser.js +2 -2
  306. package/lib/modules/participant/store.electron.d.ts +2 -1
  307. package/lib/modules/participant/store.electron.js +2 -2
  308. package/lib/modules/pc-audio-connect/waiting-scene/index.js +6 -1
  309. package/lib/modules/phone-audio-connect/store.js +1 -1
  310. package/lib/modules/phone-audio-connect/view.js +1 -1
  311. package/lib/modules/secondary-window/index.d.ts +14 -7
  312. package/lib/modules/secondary-window/index.js +51 -25
  313. package/lib/modules/secondary-window/store.d.ts +4 -2
  314. package/lib/modules/secondary-window/store.js +39 -8
  315. package/lib/modules/secondary-window/type.d.ts +16 -25
  316. package/lib/modules/secondary-window/type.js +1 -0
  317. package/lib/modules/secondary-window/view.js +59 -58
  318. package/lib/modules/setting/audio-settings/audio-settings.js +2 -2
  319. package/lib/modules/setting/audio-whiteList/audio-device-adaptation.js +2 -2
  320. package/lib/modules/setting/audio-whiteList/audio-whiteList-manager.js +1 -1
  321. package/lib/modules/setting/caption_and_transcribing/index.js +1 -1
  322. package/lib/modules/setting/general-settings/general-settings.js +4 -4
  323. package/lib/modules/setting/index.css +2 -3
  324. package/lib/modules/setting/index.d.ts +1 -2
  325. package/lib/modules/setting/index.js +3 -10
  326. package/lib/modules/setting/minutes-settings/minutes-settings.js +1 -1
  327. package/lib/modules/setting/state/index.js +1 -1
  328. package/lib/modules/setting/storage-settings/storage-settings.js +1 -1
  329. package/lib/modules/setting/store.base.d.ts +11 -9
  330. package/lib/modules/setting/store.base.js +103 -88
  331. package/lib/modules/setting/store.electron.d.ts +2 -1
  332. package/lib/modules/setting/store.electron.js +19 -1
  333. package/lib/modules/setting/translate-settings/translate-settings.js +1 -1
  334. package/lib/modules/setting/type.d.ts +1 -9
  335. package/lib/modules/setting/video-settings/video-settings-basic.js +1 -1
  336. package/lib/modules/setting/video-settings/video-settings.js +11 -7
  337. package/lib/modules/setting/view.js +1 -1
  338. package/lib/modules/share-screen/components/control-bar/index.js +0 -86
  339. package/lib/modules/share-screen/components/selection/index.js +3 -1
  340. package/lib/modules/share-screen/store.base.d.ts +1 -1
  341. package/lib/modules/share-screen/store.base.js +10 -14
  342. package/lib/modules/share-screen/store.electron.d.ts +4 -0
  343. package/lib/modules/share-screen/store.electron.js +108 -34
  344. package/lib/modules/state-bar/layout-config.js +1 -1
  345. package/lib/modules/state-bar/live-streaming-state.js +6 -7
  346. package/lib/modules/state-bar/main-scene/store.browser.js +1 -1
  347. package/lib/modules/state-bar/main-scene/store.electron.js +1 -1
  348. package/lib/modules/state-bar/meeting-details.js +14 -21
  349. package/lib/modules/state-bar/meeting-network-state.css +5 -1
  350. package/lib/modules/state-bar/meeting-network-state.js +7 -1
  351. package/lib/modules/state-bar/meeting-time.js +1 -1
  352. package/lib/modules/state-bar/network-quality.js +1 -1
  353. package/lib/modules/state-bar/recording.js +1 -1
  354. package/lib/modules/state-bar/store.base.d.ts +3 -3
  355. package/lib/modules/state-bar/store.base.js +15 -24
  356. package/lib/modules/state-bar/view.js +6 -7
  357. package/lib/modules/subtitles-history/components/list-item.js +6 -1
  358. package/lib/modules/subtitles-history/index.css +2 -5
  359. package/lib/modules/subtitles-history/store.base.js +24 -12
  360. package/lib/modules/subtitles-history/store.electron.js +8 -2
  361. package/lib/modules/subtitles-history/view.js +7 -5
  362. package/lib/modules/toast-manager/index.d.ts +8 -0
  363. package/lib/modules/toast-manager/index.js +58 -0
  364. package/lib/modules/toast-manager/store.d.ts +28 -0
  365. package/lib/modules/toast-manager/store.js +391 -0
  366. package/lib/modules/toast-manager/toast-params.d.ts +7 -0
  367. package/lib/modules/toast-manager/toast-params.js +89 -0
  368. package/lib/modules/toast-manager/type.d.ts +112 -0
  369. package/lib/modules/toast-manager/type.js +337 -0
  370. package/lib/modules/video-window/store.d.ts +2 -2
  371. package/lib/modules/video-window/store.js +28 -50
  372. package/lib/modules/whiteboard/components/control-bar/store.d.ts +0 -1
  373. package/lib/modules/whiteboard/components/control-bar/store.js +0 -6
  374. package/lib/modules/whiteboard/components/toolbar/store.d.ts +1 -0
  375. package/lib/modules/whiteboard/components/toolbar/store.js +25 -14
  376. package/lib/modules/whiteboard/store.js +10 -9
  377. package/lib/modules/whiteboard/view.js +0 -1
  378. package/lib/modules/widget/store.electron.d.ts +0 -4
  379. package/lib/modules/widget/store.electron.js +3 -38
  380. package/lib/modules/widget/view.js +1 -1
  381. package/lib/modules/widget/web-widget.d.ts +1 -1
  382. package/lib/object-manager.d.ts +2 -0
  383. package/lib/object-manager.js +2 -0
  384. package/lib/plugins/multi-lang-plugin.js +1 -1
  385. package/lib/providers/ability-provider.d.ts +33 -1
  386. package/lib/providers/ability-provider.js +29 -1
  387. package/lib/providers/annotation/provider.base.d.ts +39 -0
  388. package/lib/providers/annotation/provider.base.js +270 -0
  389. package/lib/providers/annotation/provider.browser.d.ts +3 -0
  390. package/lib/providers/annotation/provider.browser.js +25 -0
  391. package/lib/providers/annotation/provider.electron.d.ts +34 -0
  392. package/lib/providers/annotation/provider.electron.js +231 -0
  393. package/lib/providers/annotation/standalone-toolbar-control/index.d.ts +26 -0
  394. package/lib/{fragments/annotation/toolbar/store.js → providers/annotation/standalone-toolbar-control/index.js} +103 -175
  395. package/lib/providers/annotation/toolbar-control/index.d.ts +31 -0
  396. package/lib/providers/annotation/toolbar-control/index.js +205 -0
  397. package/lib/providers/annotation/type.d.ts +64 -21
  398. package/lib/providers/app-list-provider.d.ts +4 -1
  399. package/lib/providers/app-list-provider.js +13 -7
  400. package/lib/providers/board-share/bar-control/base.d.ts +6 -8
  401. package/lib/providers/board-share/bar-control/base.js +7 -36
  402. package/lib/providers/board-share/bar-control/browser.d.ts +4 -1
  403. package/lib/providers/board-share/bar-control/browser.js +76 -3
  404. package/lib/providers/board-share/bar-control/electron.d.ts +4 -6
  405. package/lib/providers/board-share/bar-control/electron.js +36 -12
  406. package/lib/providers/board-share/provider.base.d.ts +11 -8
  407. package/lib/providers/board-share/provider.base.js +72 -13
  408. package/lib/providers/board-share/type.d.ts +11 -12
  409. package/lib/providers/device-privilege-provider.d.ts +5 -4
  410. package/lib/providers/device-privilege-provider.js +85 -62
  411. package/lib/providers/device-provider.d.ts +32 -1
  412. package/lib/providers/device-provider.js +412 -161
  413. package/lib/providers/device-stream-provider.d.ts +3 -3
  414. package/lib/providers/device-stream-provider.js +37 -111
  415. package/lib/providers/dialog/provider.electron.js +6 -1
  416. package/lib/providers/interpreter-provider.js +5 -5
  417. package/lib/providers/message/provider.d.ts +3 -1
  418. package/lib/providers/message/provider.js +12 -0
  419. package/lib/providers/message/type.d.ts +15 -0
  420. package/lib/providers/mouse-detect/provider.js +2 -2
  421. package/lib/providers/mouse-detect/struct.d.ts +2 -1
  422. package/lib/providers/mouse-detect/struct.js +1 -0
  423. package/lib/providers/multi-display-provider.d.ts +1 -0
  424. package/lib/providers/multi-display-provider.js +13 -0
  425. package/lib/providers/phone-audio-provider.d.ts +15 -0
  426. package/lib/providers/phone-audio-provider.js +17 -10
  427. package/lib/providers/privilege-provider.d.ts +15 -15
  428. package/lib/providers/room-provider/room-provider.d.ts +23 -11
  429. package/lib/providers/room-provider/room-provider.js +93 -199
  430. package/lib/providers/room-provider/waiting-room-control-manager.d.ts +2 -2
  431. package/lib/providers/room-provider/waiting-room-control-manager.js +2 -2
  432. package/lib/providers/screen-share/provider.base.d.ts +1 -0
  433. package/lib/providers/screen-share/provider.base.js +6 -1
  434. package/lib/providers/screen-share/provider.browser.js +13 -9
  435. package/lib/providers/screen-share/provider.electron.d.ts +1 -1
  436. package/lib/providers/screen-share/provider.electron.js +54 -44
  437. package/lib/providers/screen-share/strategy/electron.js +18 -3
  438. package/lib/providers/screen-share/stream-state-sync.d.ts +1 -1
  439. package/lib/providers/screen-share/stream-state-sync.js +4 -4
  440. package/lib/providers/screen-share/type.d.ts +9 -1
  441. package/lib/providers/session-provider.d.ts +1 -1
  442. package/lib/providers/stt-provider/stt-provider.d.ts +1 -1
  443. package/lib/providers/stt-provider/stt-provider.js +40 -77
  444. package/lib/providers/stt-provider/type.d.ts +5 -3
  445. package/lib/providers/stt-provider/type.js +4 -2
  446. package/lib/providers/user-audio-volume-provider.d.ts +47 -0
  447. package/lib/providers/user-audio-volume-provider.js +319 -0
  448. package/lib/providers/window/provider.d.ts +1 -1
  449. package/lib/providers/window/provider.js +23 -12
  450. package/lib/providers/window/renderer-window.d.ts +8 -2
  451. package/lib/providers/window/renderer-window.js +118 -33
  452. package/lib/providers/window/type.d.ts +1 -3
  453. package/lib/runtime.d.ts +12 -13
  454. package/lib/scenes/main-scene.js +98 -69
  455. package/lib/scenes/waiting-scene.js +4 -4
  456. package/lib/shared-data/member-data.d.ts +0 -9
  457. package/lib/shared-data/member-data.js +35 -61
  458. package/lib/shared-data/pin-data.d.ts +3 -2
  459. package/lib/shared-data/pin-data.js +8 -11
  460. package/lib/shared-data/setting.js +1 -1
  461. package/lib/shared-data/user-audio-volume.d.ts +19 -0
  462. package/lib/shared-data/user-audio-volume.js +104 -0
  463. package/lib/shared-data/video-window.js +49 -60
  464. package/lib/translations/enUS.d.ts +10 -0
  465. package/lib/translations/enUS.js +13 -3
  466. package/lib/translations/zhCN.d.ts +10 -0
  467. package/lib/translations/zhCN.js +12 -2
  468. package/lib/type.d.ts +27 -19
  469. package/lib/type.js +20 -2
  470. package/lib/ui-manager.js +1 -1
  471. package/lib/ui-scene-switch.d.ts +1 -0
  472. package/lib/ui-scene-switch.js +197 -87
  473. package/lib/utilities/browser-api.d.ts +0 -1
  474. package/lib/utilities/browser-api.js +0 -42
  475. package/lib/utilities/constant.d.ts +4 -4
  476. package/lib/utilities/constant.js +4 -5
  477. package/lib/utilities/default-config.d.ts +2 -8
  478. package/lib/utilities/default-config.js +8 -48
  479. package/lib/utilities/dialog-utils.js +1 -2
  480. package/lib/utilities/focus-helper.js +2 -2
  481. package/lib/utilities/logger.d.ts +1 -2
  482. package/lib/utilities/logger.js +12 -40
  483. package/lib/utilities/package-info.d.ts +1 -2
  484. package/lib/utilities/package-info.js +5 -6
  485. package/lib/utilities/renderer.d.ts +1 -0
  486. package/lib/utilities/renderer.js +7 -1
  487. package/lib/utilities/shared-storage.d.ts +2 -3
  488. package/lib/utilities/shared-storage.js +15 -11
  489. package/lib/utilities/tools.d.ts +1 -44
  490. package/lib/utilities/tools.js +28 -193
  491. package/lib/utilities/validate-params.js +3 -5
  492. package/lib-es/base.js +2 -2
  493. package/lib-es/creator/index.js +28 -12
  494. package/lib-es/creator/provider-initializer.browser.js +28 -3
  495. package/lib-es/creator/provider-initializer.electron.js +28 -5
  496. package/lib-es/electron/app.js +24 -7
  497. package/lib-es/electron/asar-validation.js +5 -1
  498. package/lib-es/electron/env.js +1 -1
  499. package/lib-es/electron/injections.js +22 -17
  500. package/lib-es/electron/ipc/type.js +1 -0
  501. package/lib-es/electron/main.js +3 -2
  502. package/lib-es/electron/plugins/main-window-display.js +16 -0
  503. package/lib-es/electron/preload.js +3 -2
  504. package/lib-es/electron/process-manager/index.js +37 -0
  505. package/lib-es/electron/process-manager/state-manager.js +46 -4
  506. package/lib-es/electron/sdk-helper.js +4 -0
  507. package/lib-es/electron/window-proxy/browser-window-proxy-factory.js +38 -0
  508. package/lib-es/electron/window-proxy/implementations/browser-window-proxy.js +328 -0
  509. package/lib-es/electron/window-proxy/implementations/electron-event-broadcaster.js +24 -0
  510. package/lib-es/electron/window-proxy/implementations/electron-ipc-handler.js +19 -0
  511. package/lib-es/electron/window-proxy/implementations/electron-logger.js +26 -0
  512. package/lib-es/electron/window-proxy/{main-process-handler.js → implementations/main-process-handler.js} +110 -113
  513. package/lib-es/electron/window-proxy/interfaces.js +1 -0
  514. package/lib-es/fragments/annotation/cursor.css +77 -0
  515. package/lib-es/fragments/annotation/index.js +5 -83
  516. package/lib-es/fragments/annotation/libs.js +63 -14
  517. package/lib-es/fragments/annotation/store.js +321 -711
  518. package/lib-es/fragments/annotation/style.css +5 -6
  519. package/lib-es/fragments/annotation/view.js +9 -48
  520. package/lib-es/fragments/base.js +1 -1
  521. package/lib-es/fragments/whiteboard/libs.js +147 -0
  522. package/lib-es/fragments/whiteboard/store.js +65 -129
  523. package/lib-es/modules/action-bar/components/apps/index.js +2 -2
  524. package/lib-es/modules/action-bar/components/collapse/index.js +8 -3
  525. package/lib-es/modules/action-bar/components/{confirm-leave-meeting → confirm-end-meeting}/index.js +14 -33
  526. package/lib-es/modules/action-bar/components/leave/index.js +1 -1
  527. package/lib-es/modules/action-bar/components/notification-bar/components/interpreter/index.css +6 -0
  528. package/lib-es/modules/action-bar/components/notification-bar/components/interpreter/index.js +66 -42
  529. package/lib-es/modules/action-bar/components/notification-bar/components/virtual-image/index.js +11 -7
  530. package/lib-es/modules/action-bar/components/notification-bar/index.js +13 -71
  531. package/lib-es/modules/action-bar/components/screen-share/submenu.js +39 -2
  532. package/lib-es/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.css +1 -0
  533. package/lib-es/modules/action-bar/components/trigger-subscribe-language/guide-tooltip/index.js +11 -8
  534. package/lib-es/modules/action-bar/index.css +1 -1
  535. package/lib-es/modules/action-bar/main-scene/index.js +4 -4
  536. package/lib-es/modules/action-bar/main-scene/store.base.js +165 -94
  537. package/lib-es/modules/action-bar/type.js +15 -0
  538. package/lib-es/modules/action-bar/waiting-scene/view.js +1 -1
  539. package/lib-es/modules/annotation/board-cursor.css +77 -0
  540. package/lib-es/modules/annotation/components/color-picker/components/color.js +29 -0
  541. package/lib-es/modules/annotation/components/color-picker/components/panel.js +100 -0
  542. package/lib-es/modules/annotation/components/color-picker/components/picker.js +67 -0
  543. package/lib-es/modules/annotation/components/color-picker/index.js +38 -0
  544. package/lib-es/modules/annotation/components/eraser-picker.js +134 -0
  545. package/lib-es/modules/annotation/components/expansion/index.js +85 -0
  546. package/lib-es/modules/annotation/components/extra-tool-picker.js +46 -0
  547. package/lib-es/modules/annotation/components/history.js +68 -0
  548. package/lib-es/modules/annotation/components/icons/fold-icon.js +33 -0
  549. package/lib-es/modules/annotation/components/icons/move-icon.js +59 -0
  550. package/lib-es/modules/annotation/components/item/index.js +35 -0
  551. package/lib-es/modules/annotation/components/move-handle.js +127 -0
  552. package/lib-es/modules/annotation/components/pen-picker.js +142 -0
  553. package/lib-es/modules/annotation/components/screen-capture-picker.js +77 -0
  554. package/lib-es/modules/annotation/components/shape-picker.js +193 -0
  555. package/lib-es/modules/annotation/hooks/index.js +156 -0
  556. package/lib-es/modules/annotation/index.js +144 -0
  557. package/lib-es/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/color-tool/color-panel/index.js +2 -2
  558. package/lib-es/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/color-tool/index.js +23 -10
  559. package/lib-es/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/graphic-tool/graphic-panel/index.js +2 -3
  560. package/lib-es/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/graphic-tool/index.js +23 -10
  561. package/lib-es/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/pen-tool/index.js +23 -10
  562. package/lib-es/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/pen-tool/pen-panel/index.js +2 -2
  563. package/lib-es/modules/annotation/standalone-toolbar/components/permission-tool/index.js +44 -0
  564. package/lib-es/modules/annotation/standalone-toolbar/store.js +611 -0
  565. package/{lib/fragments/annotation/toolbar → lib-es/modules/annotation/standalone-toolbar}/style.css +4 -1
  566. package/lib-es/modules/annotation/standalone-toolbar/view.js +186 -0
  567. package/lib-es/modules/annotation/store.base.js +178 -0
  568. package/lib-es/modules/annotation/store.browser.js +17 -0
  569. package/lib-es/modules/annotation/store.electron.js +67 -0
  570. package/lib-es/modules/annotation/style.css +36 -0
  571. package/lib-es/modules/annotation/toolbar-store.js +466 -0
  572. package/lib-es/modules/annotation/type.js +1 -0
  573. package/lib-es/modules/annotation/view.js +99 -0
  574. package/lib-es/modules/chat/chat-room-store.js +152 -72
  575. package/lib-es/modules/chat/components/message-list/index.js +123 -89
  576. package/lib-es/modules/chat/components/message-list/message-item/index.js +89 -67
  577. package/lib-es/modules/chat/components/message-list/scroll-bottom-button/index.js +6 -8
  578. package/lib-es/modules/chat/index.css +1 -9
  579. package/lib-es/modules/chat/store.js +7 -5
  580. package/lib-es/modules/chat/view.js +2 -7
  581. package/lib-es/modules/components/annotation-menu/index.js +28 -33
  582. package/lib-es/modules/components/apps/index.css +3 -2
  583. package/lib-es/modules/components/caption-menu/translation-setting-options.js +2 -2
  584. package/lib-es/modules/components/confirm-wrapper/index.css +48 -0
  585. package/lib-es/modules/components/confirm-wrapper/index.js +80 -0
  586. package/lib-es/modules/components/control-bar/index.js +349 -199
  587. package/lib-es/modules/components/device-control/components/audio-menu/index.js +3 -2
  588. package/lib-es/modules/components/device-control/components/video-menu/index.js +5 -3
  589. package/lib-es/modules/components/device-control/store.base.js +17 -1
  590. package/lib-es/modules/components/leave-meeting/index.css +21 -0
  591. package/lib-es/modules/components/leave-meeting/index.js +63 -102
  592. package/lib-es/modules/components/leave-meeting/portal.js +3 -5
  593. package/lib-es/modules/components/leave-meeting/store.base.js +49 -55
  594. package/lib-es/modules/components/leave-meeting/style.css +0 -1
  595. package/lib-es/modules/components/member-window/components/member-actions/components/more-actions.js +2 -1
  596. package/lib-es/modules/components/member-window/components/member-actions/provider.js +1 -1
  597. package/lib-es/modules/components/member-window/index.js +3 -3
  598. package/lib-es/modules/components/security-menu/store.js +7 -9
  599. package/lib-es/modules/components/tab-frame/index.css +2 -2
  600. package/lib-es/modules/connection-gateway/components/phone/index.js +1 -1
  601. package/lib-es/modules/connection-gateway/store.js +6 -8
  602. package/lib-es/modules/control-bar/components/annotation-button/index.js +43 -0
  603. package/lib-es/modules/control-bar/components/apps-popover/index.css +3 -0
  604. package/lib-es/modules/control-bar/components/apps-popover/index.js +2 -0
  605. package/lib-es/modules/control-bar/components/carmera/index.js +1 -1
  606. package/lib-es/modules/control-bar/components/meeting-details/index.js +10 -16
  607. package/lib-es/modules/control-bar/components/microphone/index.js +2 -2
  608. package/lib-es/modules/control-bar/hooks.js +1 -1
  609. package/lib-es/modules/control-bar/index.css +11 -0
  610. package/lib-es/modules/control-bar/store.js +184 -53
  611. package/lib-es/modules/control-bar/view.js +72 -39
  612. package/lib-es/modules/device-pretest/audio-preview/microphone-detection.js +4 -10
  613. package/lib-es/modules/device-pretest/audio-preview/speaker-detection.js +1 -1
  614. package/lib-es/modules/device-pretest/index.js +1 -1
  615. package/lib-es/modules/device-pretest/settings/beauty.js +1 -1
  616. package/lib-es/modules/device-pretest/settings/video-effect.js +27 -12
  617. package/lib-es/modules/device-pretest/settings/video-settings-basic.js +1 -1
  618. package/lib-es/modules/device-pretest/settings/virtual-background-setting.js +1 -1
  619. package/lib-es/modules/dialog/components/confirm/index.css +0 -18
  620. package/lib-es/modules/dialog/components/confirm/index.js +2 -1
  621. package/lib-es/modules/dialog/components/dialog-container/index.css +3 -4
  622. package/lib-es/modules/dialog/components/dialog-container/index.js +80 -126
  623. package/lib-es/modules/dialog/components/normal-window/index.js +15 -35
  624. package/lib-es/modules/dialog/dialogConfig/browser.js +4 -0
  625. package/lib-es/modules/dialog/dialogConfig/electron.js +8 -0
  626. package/lib-es/modules/dialog/dialogs/annotation-mask/index.js +34 -0
  627. package/lib-es/modules/dialog/dialogs/annotation-tool/index.js +18 -34
  628. package/lib-es/modules/dialog/dialogs/caption/index.js +24 -18
  629. package/lib-es/modules/dialog/dialogs/chat/index.js +32 -53
  630. package/lib-es/modules/dialog/dialogs/confirm/index.css +2 -13
  631. package/lib-es/modules/dialog/dialogs/confirm/index.js +4 -6
  632. package/lib-es/modules/dialog/dialogs/confirm-leave-meeting/index.js +3 -23
  633. package/lib-es/modules/dialog/dialogs/connection-gateway/index.js +5 -28
  634. package/lib-es/modules/dialog/dialogs/control-bar/index.js +3 -5
  635. package/lib-es/modules/dialog/dialogs/control-bar-leave-meeting/index.js +2 -20
  636. package/lib-es/modules/dialog/dialogs/device-setting/index.js +3 -19
  637. package/lib-es/modules/dialog/dialogs/{end-meeting → end-meeting-notice}/index.js +3 -13
  638. package/lib-es/modules/dialog/dialogs/interpreter/index.js +32 -23
  639. package/lib-es/modules/dialog/dialogs/invite/index.js +24 -23
  640. package/lib-es/modules/dialog/dialogs/live-streaming/index.js +6 -10
  641. package/lib-es/modules/dialog/dialogs/mute-all/index.js +3 -19
  642. package/lib-es/modules/dialog/dialogs/participant/index.js +31 -30
  643. package/lib-es/modules/dialog/dialogs/rename/index.js +1 -12
  644. package/lib-es/modules/dialog/dialogs/sample-dialog/index.js +1 -1
  645. package/lib-es/modules/dialog/dialogs/share-screen-selection/index.js +2 -11
  646. package/lib-es/modules/dialog/dialogs/sub-window/index.js +3 -2
  647. package/lib-es/modules/dialog/dialogs/subtitles-history/index.js +31 -24
  648. package/lib-es/modules/dialog/dialogs/system-preference/index.css +3 -2
  649. package/lib-es/modules/dialog/dialogs/system-preference/index.js +12 -12
  650. package/lib-es/modules/dialog/dialogs/toast/index.js +4 -4
  651. package/lib-es/modules/dialog/dialogs/video-window/index.js +3 -3
  652. package/lib-es/modules/dialog/dialogs/whiteboard/index.js +1 -1
  653. package/lib-es/modules/dialog/dialogs/widget/index.js +21 -25
  654. package/lib-es/modules/dialog/index.css +4 -11
  655. package/lib-es/modules/dialog/level-config.js +1 -0
  656. package/lib-es/modules/dialog/store.base.js +0 -3
  657. package/lib-es/modules/dialog/store.electron.js +16 -9
  658. package/lib-es/modules/dialog/view.js +25 -1
  659. package/lib-es/modules/dialog/web-dialog-wrapper.js +147 -0
  660. package/lib-es/modules/event-toast/index.css +5 -2
  661. package/lib-es/modules/event-toast/store.browser.js +1 -1
  662. package/lib-es/modules/event-toast/store.electron.js +1 -1
  663. package/lib-es/modules/interpreter/index.css +1 -2
  664. package/lib-es/modules/interpreter/store.js +22 -19
  665. package/lib-es/modules/interpreter/utils.js +1 -1
  666. package/lib-es/modules/invite/components/pstn-invite.js +4 -4
  667. package/lib-es/modules/invite/store.js +1 -1
  668. package/lib-es/modules/layout/components/Aside.js +1 -1
  669. package/lib-es/modules/layout/components/Carousel.js +1 -1
  670. package/lib-es/modules/layout/components/CommonVideoRenderer.js +15 -5
  671. package/lib-es/modules/layout/components/Gallery.js +1 -1
  672. package/lib-es/modules/layout/index.css +0 -31
  673. package/lib-es/modules/layout/store.base.js +71 -200
  674. package/lib-es/modules/layout/store.browser.js +62 -1
  675. package/lib-es/modules/layout/store.electron.js +10 -28
  676. package/lib-es/modules/layout/view.js +1 -3
  677. package/lib-es/modules/live-streaming/index.dev.js +1 -1
  678. package/lib-es/modules/live-streaming/store.js +3 -4
  679. package/lib-es/modules/participant/components/confirm-input/index.css +15 -0
  680. package/lib-es/modules/participant/components/confirm-input/index.js +10 -13
  681. package/lib-es/modules/participant/components/mute-all/index.css +34 -0
  682. package/lib-es/modules/participant/components/mute-all/index.js +21 -15
  683. package/lib-es/modules/participant/components/participants/components/footer/components/drop-menu/index.js +17 -3
  684. package/lib-es/modules/participant/components/participants/components/footer/components/drop-menu/util.js +3 -1
  685. package/lib-es/modules/participant/components/participants/components/render-user/components/attendee/components/microphone-indicator/index.js +3 -2
  686. package/lib-es/modules/participant/components/participants/components/render-user/components/user-action/index.js +1 -1
  687. package/lib-es/modules/participant/index.css +0 -16
  688. package/lib-es/modules/participant/store.base.js +219 -127
  689. package/lib-es/modules/participant/store.browser.js +2 -2
  690. package/lib-es/modules/participant/store.electron.js +2 -2
  691. package/lib-es/modules/pc-audio-connect/waiting-scene/index.js +6 -1
  692. package/lib-es/modules/phone-audio-connect/store.js +1 -1
  693. package/lib-es/modules/phone-audio-connect/view.js +1 -1
  694. package/lib-es/modules/secondary-window/index.js +51 -25
  695. package/lib-es/modules/secondary-window/store.js +40 -9
  696. package/lib-es/modules/secondary-window/type.js +1 -0
  697. package/lib-es/modules/secondary-window/view.js +60 -59
  698. package/lib-es/modules/setting/audio-settings/audio-settings.js +2 -2
  699. package/lib-es/modules/setting/audio-whiteList/audio-device-adaptation.js +2 -2
  700. package/lib-es/modules/setting/audio-whiteList/audio-whiteList-manager.js +1 -1
  701. package/lib-es/modules/setting/caption_and_transcribing/index.js +1 -1
  702. package/lib-es/modules/setting/general-settings/general-settings.js +5 -5
  703. package/lib-es/modules/setting/index.css +2 -3
  704. package/lib-es/modules/setting/index.js +3 -10
  705. package/lib-es/modules/setting/minutes-settings/minutes-settings.js +1 -1
  706. package/lib-es/modules/setting/state/index.js +1 -1
  707. package/lib-es/modules/setting/storage-settings/storage-settings.js +1 -1
  708. package/lib-es/modules/setting/store.base.js +103 -88
  709. package/lib-es/modules/setting/store.electron.js +19 -1
  710. package/lib-es/modules/setting/translate-settings/translate-settings.js +1 -1
  711. package/lib-es/modules/setting/video-settings/video-settings-basic.js +1 -1
  712. package/lib-es/modules/setting/video-settings/video-settings.js +11 -7
  713. package/lib-es/modules/setting/view.js +1 -1
  714. package/lib-es/modules/share-screen/components/control-bar/index.js +0 -86
  715. package/lib-es/modules/share-screen/components/selection/index.js +3 -1
  716. package/lib-es/modules/share-screen/store.base.js +10 -14
  717. package/lib-es/modules/share-screen/store.electron.js +109 -35
  718. package/lib-es/modules/state-bar/layout-config.js +1 -1
  719. package/lib-es/modules/state-bar/live-streaming-state.js +5 -6
  720. package/lib-es/modules/state-bar/main-scene/store.browser.js +1 -1
  721. package/lib-es/modules/state-bar/main-scene/store.electron.js +1 -1
  722. package/lib-es/modules/state-bar/meeting-details.js +10 -17
  723. package/lib-es/modules/state-bar/meeting-network-state.css +5 -1
  724. package/lib-es/modules/state-bar/meeting-network-state.js +7 -1
  725. package/lib-es/modules/state-bar/meeting-time.js +1 -1
  726. package/lib-es/modules/state-bar/network-quality.js +1 -1
  727. package/lib-es/modules/state-bar/recording.js +1 -1
  728. package/lib-es/modules/state-bar/store.base.js +15 -24
  729. package/lib-es/modules/state-bar/view.js +5 -6
  730. package/lib-es/modules/subtitles-history/components/list-item.js +6 -1
  731. package/lib-es/modules/subtitles-history/index.css +2 -5
  732. package/lib-es/modules/subtitles-history/store.base.js +24 -12
  733. package/lib-es/modules/subtitles-history/store.electron.js +8 -2
  734. package/lib-es/modules/subtitles-history/view.js +7 -5
  735. package/lib-es/modules/toast-manager/index.js +50 -0
  736. package/lib-es/modules/toast-manager/store.js +383 -0
  737. package/lib-es/modules/toast-manager/toast-params.js +82 -0
  738. package/lib-es/modules/toast-manager/type.js +329 -0
  739. package/lib-es/modules/video-window/store.js +28 -50
  740. package/lib-es/modules/whiteboard/components/control-bar/store.js +0 -6
  741. package/lib-es/modules/whiteboard/components/toolbar/store.js +25 -14
  742. package/lib-es/modules/whiteboard/store.js +10 -9
  743. package/lib-es/modules/whiteboard/view.js +0 -1
  744. package/lib-es/modules/widget/store.electron.js +12 -47
  745. package/lib-es/modules/widget/view.js +1 -1
  746. package/lib-es/object-manager.js +2 -0
  747. package/lib-es/plugins/multi-lang-plugin.js +1 -1
  748. package/lib-es/providers/ability-provider.js +29 -1
  749. package/lib-es/providers/annotation/provider.base.js +263 -0
  750. package/lib-es/providers/annotation/provider.browser.js +17 -0
  751. package/lib-es/providers/annotation/provider.electron.js +224 -0
  752. package/lib-es/{fragments/annotation/toolbar/store.js → providers/annotation/standalone-toolbar-control/index.js} +102 -174
  753. package/lib-es/providers/annotation/toolbar-control/index.js +198 -0
  754. package/lib-es/providers/app-list-provider.js +13 -7
  755. package/lib-es/providers/board-share/bar-control/base.js +7 -36
  756. package/lib-es/providers/board-share/bar-control/browser.js +78 -4
  757. package/lib-es/providers/board-share/bar-control/electron.js +36 -12
  758. package/lib-es/providers/board-share/provider.base.js +73 -14
  759. package/lib-es/providers/device-privilege-provider.js +85 -62
  760. package/lib-es/providers/device-provider.js +413 -162
  761. package/lib-es/providers/device-stream-provider.js +37 -111
  762. package/lib-es/providers/dialog/provider.electron.js +6 -1
  763. package/lib-es/providers/interpreter-provider.js +5 -5
  764. package/lib-es/providers/message/provider.js +12 -0
  765. package/lib-es/providers/mouse-detect/provider.js +1 -1
  766. package/lib-es/providers/mouse-detect/struct.js +1 -0
  767. package/lib-es/providers/multi-display-provider.js +15 -2
  768. package/lib-es/providers/phone-audio-provider.js +17 -10
  769. package/lib-es/providers/room-provider/room-provider.js +95 -201
  770. package/lib-es/providers/room-provider/waiting-room-control-manager.js +1 -1
  771. package/lib-es/providers/screen-share/provider.base.js +6 -1
  772. package/lib-es/providers/screen-share/provider.browser.js +13 -9
  773. package/lib-es/providers/screen-share/provider.electron.js +54 -44
  774. package/lib-es/providers/screen-share/strategy/electron.js +18 -3
  775. package/lib-es/providers/screen-share/stream-state-sync.js +4 -4
  776. package/lib-es/providers/stt-provider/stt-provider.js +65 -102
  777. package/lib-es/providers/stt-provider/type.js +4 -2
  778. package/lib-es/providers/user-audio-volume-provider.js +312 -0
  779. package/lib-es/providers/window/provider.js +23 -13
  780. package/lib-es/providers/window/renderer-window.js +118 -33
  781. package/lib-es/scenes/main-scene.js +113 -83
  782. package/lib-es/scenes/waiting-scene.js +5 -5
  783. package/lib-es/shared-data/member-data.js +35 -61
  784. package/lib-es/shared-data/pin-data.js +8 -11
  785. package/lib-es/shared-data/setting.js +1 -1
  786. package/lib-es/shared-data/user-audio-volume.js +97 -0
  787. package/lib-es/shared-data/video-window.js +49 -60
  788. package/lib-es/translations/enUS.js +13 -3
  789. package/lib-es/translations/zhCN.js +12 -2
  790. package/lib-es/type.js +19 -1
  791. package/lib-es/ui-manager.js +1 -1
  792. package/lib-es/ui-scene-switch.js +199 -88
  793. package/lib-es/utilities/browser-api.js +0 -40
  794. package/lib-es/utilities/constant.js +4 -5
  795. package/lib-es/utilities/default-config.js +8 -48
  796. package/lib-es/utilities/dialog-utils.js +1 -1
  797. package/lib-es/utilities/focus-helper.js +1 -1
  798. package/lib-es/utilities/logger.js +12 -40
  799. package/lib-es/utilities/package-info.js +5 -6
  800. package/lib-es/utilities/renderer.js +7 -1
  801. package/lib-es/utilities/shared-storage.js +16 -12
  802. package/lib-es/utilities/tools.js +2 -188
  803. package/lib-es/utilities/validate-params.js +3 -5
  804. package/package.json +7 -8
  805. package/public/js/meeting-manager.js +13 -11
  806. package/lib/electron/window-proxy/browser-window-proxy.js +0 -728
  807. package/lib/fragments/annotation/toolbar/store.d.ts +0 -64
  808. package/lib/fragments/annotation/toolbar/view.js +0 -148
  809. package/lib/fragments/annotation/utils.d.ts +0 -1
  810. package/lib/fragments/annotation/utils.js +0 -27
  811. package/lib/modules/dialog/components/dialog-container/component/body.d.ts +0 -20
  812. package/lib/modules/dialog/components/dialog-container/component/body.js +0 -111
  813. package/lib/modules/dialog/components/host-area-container/index.d.ts +0 -12
  814. package/lib/modules/dialog/components/host-area-container/index.js +0 -153
  815. package/lib/modules/dialog/dialogs/end-meeting/index.d.ts +0 -13
  816. package/lib/modules/dialog/dialogs/interpreter/index.css +0 -30
  817. package/lib/modules/dialog/dialogs/mute-all/index.css +0 -20
  818. package/lib/modules/whiteboard/components/multi-window/index.css +0 -63
  819. package/lib/modules/whiteboard/components/multi-window/index.d.ts +0 -5
  820. package/lib/modules/whiteboard/components/multi-window/index.js +0 -39
  821. package/lib/providers/annotation/provider.d.ts +0 -15
  822. package/lib/providers/annotation/provider.js +0 -69
  823. package/lib/utilities/hooks.d.ts +0 -14
  824. package/lib/utilities/hooks.js +0 -100
  825. package/lib/utilities/mute-action.d.ts +0 -4
  826. package/lib/utilities/mute-action.js +0 -48
  827. package/lib/utilities/platform.d.ts +0 -2
  828. package/lib/utilities/platform.js +0 -14
  829. package/lib/utilities/regex.d.ts +0 -1
  830. package/lib/utilities/regex.js +0 -14
  831. package/lib/utilities/useNamespace.d.ts +0 -15
  832. package/lib/utilities/useNamespace.js +0 -66
  833. package/lib-es/electron/window-proxy/browser-window-proxy.js +0 -720
  834. package/lib-es/fragments/annotation/toolbar/view.js +0 -140
  835. package/lib-es/fragments/annotation/utils.js +0 -20
  836. package/lib-es/modules/dialog/components/dialog-container/component/body.js +0 -103
  837. package/lib-es/modules/dialog/components/host-area-container/index.js +0 -146
  838. package/lib-es/modules/dialog/dialogs/interpreter/index.css +0 -30
  839. package/lib-es/modules/dialog/dialogs/mute-all/index.css +0 -20
  840. package/lib-es/modules/whiteboard/components/multi-window/index.css +0 -63
  841. package/lib-es/modules/whiteboard/components/multi-window/index.js +0 -31
  842. package/lib-es/providers/annotation/provider.js +0 -61
  843. package/lib-es/utilities/hooks.js +0 -82
  844. package/lib-es/utilities/mute-action.js +0 -41
  845. package/lib-es/utilities/platform.js +0 -7
  846. package/lib-es/utilities/regex.js +0 -7
  847. package/lib-es/utilities/useNamespace.js +0 -59
  848. /package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/color-tool/color-panel/index.d.ts +0 -0
  849. /package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/color-tool/index.d.ts +0 -0
  850. /package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/graphic-tool/graphic-panel/index.d.ts +0 -0
  851. /package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/graphic-tool/graphic-panel/libs.d.ts +0 -0
  852. /package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/graphic-tool/graphic-panel/libs.js +0 -0
  853. /package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/graphic-tool/index.d.ts +0 -0
  854. /package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/item/item.d.ts +0 -0
  855. /package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/item/item.js +0 -0
  856. /package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/item/style.css +0 -0
  857. /package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/panel/index.d.ts +0 -0
  858. /package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/panel/index.js +0 -0
  859. /package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/panel/style.css +0 -0
  860. /package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/pen-tool/index.d.ts +0 -0
  861. /package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/pen-tool/pen-panel/index.d.ts +0 -0
  862. /package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/tips/index.d.ts +0 -0
  863. /package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/tips/index.js +0 -0
  864. /package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/tips/style.css +0 -0
  865. /package/lib/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/view.d.ts +0 -0
  866. /package/lib-es/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/graphic-tool/graphic-panel/libs.js +0 -0
  867. /package/lib-es/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/item/item.js +0 -0
  868. /package/lib-es/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/item/style.css +0 -0
  869. /package/lib-es/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/panel/index.js +0 -0
  870. /package/lib-es/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/panel/style.css +0 -0
  871. /package/lib-es/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/tips/index.js +0 -0
  872. /package/lib-es/{fragments/annotation/toolbar → modules/annotation/standalone-toolbar}/components/tips/style.css +0 -0
@@ -8,8 +8,10 @@ import "core-js/modules/es.date.to-primitive.js";
8
8
  import "core-js/modules/es.function.bind.js";
9
9
  import "core-js/modules/es.number.constructor.js";
10
10
  import "core-js/modules/es.object.create.js";
11
+ import "core-js/modules/es.object.define-properties.js";
11
12
  import "core-js/modules/es.object.define-property.js";
12
13
  import "core-js/modules/es.object.get-own-property-descriptor.js";
14
+ import "core-js/modules/es.object.get-own-property-descriptors.js";
13
15
  import "core-js/modules/esnext.function.metadata.js";
14
16
  import "core-js/modules/esnext.symbol.metadata.js";
15
17
  import _typeof from "@babel/runtime/helpers/typeof";
@@ -19,12 +21,15 @@ import _classCallCheck from "@babel/runtime/helpers/classCallCheck";
19
21
  import _createClass from "@babel/runtime/helpers/createClass";
20
22
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
21
23
  var _FcrUIDeviceProviderImpl;
22
- var _initProto, _init__microphoneEnabled, _init__isMicrophoneWorking, _init__microphoneDevice, _init__microphone, _init__speakerDevice, _init__speaker, _init__cameraDevice, _init_currentIsMirror, _init_showForceOpenEffectDialog, _init_cameraEnabled, _init_showCameraPreview, _init_cameraList, _init_microphoneList, _init_microphoneVolumeLevel, _init_speakerList, _init_isLocalMirrorEnabled, _init_isLocalEditBeautyOptions, _init_speakerVolumeLevel, _init_speakerVolume, _init_microphoneVolume, _init_virtualBackgroundName, _init_enableBeauty, _init_beautyKey, _init_beautyOptions, _init_virtualBackgroundList, _init_microphoneDetecting, _init_speakerDetecting, _init_connectType, _init_isMainRoomAudioOff, _startPlayLocalVideoDecs, _stopPlayLocalVideoDecs, _startSpeakerTestDecs, _stopSpeakerTestDecs, _setCurrentIsMirrorDecs, _toggleLocalMirrorPreviewDecs, _setBeautyOptionsDecs, _handleCancelForceOpenVideoEffectDecs, _handleForceOpenVideoEffectDecs, _setCameraEnabledDecs, _handleCameraEnabledChangedDecs, _setMicrophoneEnabledDecs, _toggleLocalMirrorDecs, _resetMirrorDecs, _startMicrophoneTestDecs, _stopMicrophoneTestDecs, _enableVirtualBackgroundDecs, _setEditBeautyKeyDecs, _enableBeautyEffectDecs, _setCameraIdDecs, _setMainRoomAudioOffDecs, _setSpeakerIdDecs, _setMicrophoneIdDecs, _setSpeakerVolumeDecs, _setMicrophoneVolumeDecs, _startOrStopCameraDecs, _setShowCameraPreviewDecs, _loadUiResourcesDecs, _setConnectTypeDecs, _toggleLocalCameraPreviewDecs, _getLoopbackDeviceIdDecs, _initDeviceListDecs, _handleMicrophoneAudioTrackDecs, _handleMicrophoneStateUpdatedDecs, _handleMicrophoneEnabledChangedDecs, _handleCameraVideoTrackDecs, _handleSpeakerDetectingChangedDecs, _stopSelectedSpeakerTestDecs, _handleMicrophoneDetectingChangedDecs, _stopMicrophoneTestDecs2, _updateVirtualBackgroundListDecs, _handleSystemSelectedSpeakerChangedDecs, _handleSystemSelectedMicrophoneChangedDecs, _correctSystemSelectedMicrophoneDeviceIdDecs, _handleSelectedSpeakerVolumeUpdatedDecs, _handleSpeakerTestVolumeIndicationUpdatedDecs, _handleMicrophoneVolumeIndicationUpdatedDecs, _handleSpeakerAddedDecs, _handleSpeakerRemovedDecs, _handleSpeakerListUpdatedDecs, _getMicrophoneListDecs, _getSpeakerListDecs, _formatDeviceListDecs, _loadBuiltinResourcesDecs, _ref;
24
+ var _initProto, _init__microphoneEnabled, _init__isMicrophoneWorking, _init__microphoneDevice, _init__microphone, _init__speakerDevice, _init__speaker, _init__cameraDevice, _init_currentIsMirror, _init_showForceOpenEffectDialog, _init_cameraEnabled, _init_showCameraPreview, _init_cameraList, _init_microphoneList, _init_microphoneVolumeLevel, _init_speakerList, _init_isLocalMirrorEnabled, _init_isLocalEditBeautyOptions, _init_speakerVolumeLevel, _init_speakerVolume, _init_microphoneVolume, _init_virtualBackgroundName, _init_enableBeauty, _init_beautyKey, _init_beautyOptions, _init_virtualBackgroundList, _init_microphoneDetecting, _init_speakerDetecting, _init_connectType, _init_isMainRoomAudioOff, _startPlayLocalVideoDecs, _stopPlayLocalVideoDecs, _startSpeakerTestDecs, _stopSpeakerTestDecs, _setCurrentIsMirrorDecs, _toggleLocalMirrorPreviewDecs, _setBeautyOptionsDecs, _handleCancelForceOpenVideoEffectDecs, _handleForceOpenVideoEffectDecs, _setCameraEnabledDecs, _handleCameraEnabledChangedDecs, _setMicrophoneEnabledDecs, _toggleLocalMirrorDecs, _resetMirrorDecs, _startMicrophoneTestDecs, _stopMicrophoneTestDecs, _enableVirtualBackgroundDecs, _setEditBeautyKeyDecs, _enableBeautyEffectDecs, _setCameraIdDecs, _setMainRoomAudioOffDecs, _setSpeakerIdDecs, _setMicrophoneIdDecs, _setSpeakerVolumeDecs, _setMicrophoneVolumeDecs, _setMicrophoneVolumeLevelDecs, _startOrStopCameraDecs, _setShowCameraPreviewDecs, _loadUiResourcesDecs, _setConnectTypeDecs, _toggleLocalCameraPreviewDecs, _getLoopbackDeviceIdDecs, _startCameraTestDecs, _startOrTestCameraTrackDecs, _initDeviceListDecs, _handleMicrophoneAudioTrackDecs, _handleMicrophoneStateUpdatedDecs, _handleCameraStateUpdatedDecs, _handleMicrophoneEnabledChangedDecs, _handleCameraVideoTrackDecs, _handleSpeakerDetectingChangedDecs, _stopSelectedSpeakerTestDecs, _handleMicrophoneDetectingChangedDecs, _stopMicrophoneTestDecs2, _updateVirtualBackgroundListDecs, _handleSystemSelectedSpeakerChangedDecs, _handleSystemSelectedMicrophoneChangedDecs, _correctSystemSelectedMicrophoneDeviceIdDecs, _handleSelectedSpeakerVolumeUpdatedDecs, _handleSpeakerTestVolumeIndicationUpdatedDecs, _handleMicrophoneVolumeIndicationUpdatedDecs, _handleSpeakerAddedDecs, _handleSpeakerRemovedDecs, _handleSpeakerListUpdatedDecs, _getMicrophoneListDecs, _getSpeakerListDecs, _formatDeviceListDecs, _loadBuiltinResourcesDecs, _checkDevicePermissionDecs, _ref;
25
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
26
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
23
27
  import _regeneratorRuntime from "@babel/runtime/regenerator";
24
28
  import "core-js/modules/es.array.concat.js";
25
29
  import "core-js/modules/es.array.filter.js";
26
30
  import "core-js/modules/es.array.find.js";
27
31
  import "core-js/modules/es.array.for-each.js";
32
+ import "core-js/modules/es.array.includes.js";
28
33
  import "core-js/modules/es.array.iterator.js";
29
34
  import "core-js/modules/es.array.map.js";
30
35
  import "core-js/modules/es.array.push.js";
@@ -41,6 +46,7 @@ import "core-js/modules/es.object.to-string.js";
41
46
  import "core-js/modules/es.promise.js";
42
47
  import "core-js/modules/es.promise.all-settled.js";
43
48
  import "core-js/modules/es.regexp.exec.js";
49
+ import "core-js/modules/es.regexp.test.js";
44
50
  import "core-js/modules/es.set.js";
45
51
  import "core-js/modules/es.string.iterator.js";
46
52
  import "core-js/modules/es.weak-map.js";
@@ -118,10 +124,15 @@ import { DEFAULT_BEAUTY_VALUE } from 'agora-ui-foundation/lib/components/local-v
118
124
  import { transI18n } from 'agora-ui-foundation/lib/i18n';
119
125
  import { observable, reaction, runInAction, action, computed } from 'mobx';
120
126
  import { VirtualOption } from '../modules/device-pretest/assets/virtual-backdound-resources';
121
- import { FcrUIVideoEffectType, FcrUIConnectType, FcrUIAiDenoiseLevel, FcrUIMicrophoneState } from '../type';
122
- import { convertToFixedNumber, isPngOrJpg, getFileNameWithoutExtension, isMp4, isMp3OrWav, matchVirtualSoundCardPattern, isZipUrl, isMp3OrWavUrl } from '../utilities/tools';
127
+ import { FcrUIVideoEffectType, FcrUIConnectType, FcrUIMicrophoneState } from '../type';
128
+ import { convertToFixedNumber, isPngOrJpg, getFileNameWithoutExtension, isMp4, isMp3OrWav, matchVirtualSoundCardPattern, isZipUrl, isMp3OrWavUrl } from 'agora-foundation/lib/utilities/tools';
123
129
  import { createLogger } from '../utilities/logger';
124
130
  import clone from 'lodash/clone';
131
+ import { FcrUIToastKey } from '../modules/toast-manager/type';
132
+ import { FcrUISystemPereferencesType } from './facility/struct';
133
+ import bg1 from '../modules/dialog/dialogs/system-preference/assets/bg1.png';
134
+ import bg2 from '../modules/dialog/dialogs/system-preference/assets/bg2.png';
135
+ import { FcrUIDialogKey } from '../utilities/constant';
125
136
  // device id for default device (follow system)
126
137
  export var DEFAULT_DEVICE_ID = 'default';
127
138
  var getDeviceVolumeLevel = function getDeviceVolumeLevel(volume) {
@@ -156,9 +167,9 @@ var _Z = /*#__PURE__*/new WeakMap();
156
167
  var _a = /*#__PURE__*/new WeakMap();
157
168
  var _b = /*#__PURE__*/new WeakMap();
158
169
  var _c = /*#__PURE__*/new WeakMap();
159
- _ref = (_startPlayLocalVideoDecs = [action, action.bound], _stopPlayLocalVideoDecs = [action, action.bound], _startSpeakerTestDecs = [action, action.bound], _stopSpeakerTestDecs = [action, action.bound], _setCurrentIsMirrorDecs = [action, action.bound], _toggleLocalMirrorPreviewDecs = [action, action.bound], _setBeautyOptionsDecs = [action, action.bound], _handleCancelForceOpenVideoEffectDecs = [action, action.bound], _handleForceOpenVideoEffectDecs = [action, action.bound], _setCameraEnabledDecs = [action, action.bound], _handleCameraEnabledChangedDecs = [action, action.bound], _setMicrophoneEnabledDecs = [action, action.bound], _toggleLocalMirrorDecs = [action, action.bound], _resetMirrorDecs = [action, action.bound], _startMicrophoneTestDecs = [action, action.bound], _stopMicrophoneTestDecs = [action, action.bound], _enableVirtualBackgroundDecs = [action, action.bound], _setEditBeautyKeyDecs = [action, action.bound], _enableBeautyEffectDecs = [action, action.bound], _setCameraIdDecs = [action, action.bound], _setMainRoomAudioOffDecs = [action, action.bound], _setSpeakerIdDecs = [action, action.bound], _setMicrophoneIdDecs = [action, action.bound], _setSpeakerVolumeDecs = [action, action.bound], _setMicrophoneVolumeDecs = [action, action.bound], _startOrStopCameraDecs = [action, action.bound], _setShowCameraPreviewDecs = [action, action.bound], _loadUiResourcesDecs = [action, action.bound], _setConnectTypeDecs = [action, action.bound], _toggleLocalCameraPreviewDecs = [action, action.bound], _getLoopbackDeviceIdDecs = [action, action.bound], _initDeviceListDecs = [action, action.bound], _handleMicrophoneAudioTrackDecs = [action, action.bound], _handleMicrophoneStateUpdatedDecs = [action, action.bound], _handleMicrophoneEnabledChangedDecs = [action, action.bound], _handleCameraVideoTrackDecs = [action, action.bound], _handleSpeakerDetectingChangedDecs = [action, action.bound], _stopSelectedSpeakerTestDecs = [action, action.bound], _handleMicrophoneDetectingChangedDecs = [action, action.bound], _stopMicrophoneTestDecs2 = [action, action.bound], _updateVirtualBackgroundListDecs = [action, action.bound], _handleSystemSelectedSpeakerChangedDecs = [action, action.bound], _handleSystemSelectedMicrophoneChangedDecs = [action, action.bound], _correctSystemSelectedMicrophoneDeviceIdDecs = [action, action.bound], _handleSelectedSpeakerVolumeUpdatedDecs = [action, action.bound], _handleSpeakerTestVolumeIndicationUpdatedDecs = [action, action.bound], _handleMicrophoneVolumeIndicationUpdatedDecs = [action, action.bound], _handleSpeakerAddedDecs = [action, action.bound], _handleSpeakerRemovedDecs = [action, action.bound], _handleSpeakerListUpdatedDecs = [action, action.bound], _getMicrophoneListDecs = [action, action.bound], _getSpeakerListDecs = [action, action.bound], _formatDeviceListDecs = [action, action.bound], _loadBuiltinResourcesDecs = [action, action.bound], "logger");
170
+ _ref = (_startPlayLocalVideoDecs = [action, action.bound], _stopPlayLocalVideoDecs = [action, action.bound], _startSpeakerTestDecs = [action, action.bound], _stopSpeakerTestDecs = [action, action.bound], _setCurrentIsMirrorDecs = [action, action.bound], _toggleLocalMirrorPreviewDecs = [action, action.bound], _setBeautyOptionsDecs = [action, action.bound], _handleCancelForceOpenVideoEffectDecs = [action, action.bound], _handleForceOpenVideoEffectDecs = [action, action.bound], _setCameraEnabledDecs = [action, action.bound], _handleCameraEnabledChangedDecs = [action, action.bound], _setMicrophoneEnabledDecs = [action, action.bound], _toggleLocalMirrorDecs = [action, action.bound], _resetMirrorDecs = [action, action.bound], _startMicrophoneTestDecs = [action, action.bound], _stopMicrophoneTestDecs = [action, action.bound], _enableVirtualBackgroundDecs = [action, action.bound], _setEditBeautyKeyDecs = [action, action.bound], _enableBeautyEffectDecs = [action, action.bound], _setCameraIdDecs = [action, action.bound], _setMainRoomAudioOffDecs = [action, action.bound], _setSpeakerIdDecs = [action, action.bound], _setMicrophoneIdDecs = [action, action.bound], _setSpeakerVolumeDecs = [action, action.bound], _setMicrophoneVolumeDecs = [action, action.bound], _setMicrophoneVolumeLevelDecs = [action, action.bound], _startOrStopCameraDecs = [action, action.bound], _setShowCameraPreviewDecs = [action, action.bound], _loadUiResourcesDecs = [action, action.bound], _setConnectTypeDecs = [action, action.bound], _toggleLocalCameraPreviewDecs = [action, action.bound], _getLoopbackDeviceIdDecs = [action, action.bound], _startCameraTestDecs = [action, action.bound], _startOrTestCameraTrackDecs = [action, action.bound], _initDeviceListDecs = [action, action.bound], _handleMicrophoneAudioTrackDecs = [action, action.bound], _handleMicrophoneStateUpdatedDecs = [action, action.bound], _handleCameraStateUpdatedDecs = [action, action.bound], _handleMicrophoneEnabledChangedDecs = [action, action.bound], _handleCameraVideoTrackDecs = [action, action.bound], _handleSpeakerDetectingChangedDecs = [action, action.bound], _stopSelectedSpeakerTestDecs = [action, action.bound], _handleMicrophoneDetectingChangedDecs = [action, action.bound], _stopMicrophoneTestDecs2 = [action, action.bound], _updateVirtualBackgroundListDecs = [action, action.bound], _handleSystemSelectedSpeakerChangedDecs = [action, action.bound], _handleSystemSelectedMicrophoneChangedDecs = [action, action.bound], _correctSystemSelectedMicrophoneDeviceIdDecs = [action, action.bound], _handleSelectedSpeakerVolumeUpdatedDecs = [action, action.bound], _handleSpeakerTestVolumeIndicationUpdatedDecs = [action, action.bound], _handleMicrophoneVolumeIndicationUpdatedDecs = [action, action.bound], _handleSpeakerAddedDecs = [action, action.bound], _handleSpeakerRemovedDecs = [action, action.bound], _handleSpeakerListUpdatedDecs = [action, action.bound], _getMicrophoneListDecs = [action, action.bound], _getSpeakerListDecs = [action, action.bound], _formatDeviceListDecs = [action, action.bound], _loadBuiltinResourcesDecs = [action, action.bound], _checkDevicePermissionDecs = [action, action.bound], "logger");
160
171
  export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
161
- function FcrUIDeviceProviderImpl(_renderer, _facilityProvider, _messageProvider, _mediaControl, _sharedSettingDataSource) {
172
+ function FcrUIDeviceProviderImpl(_renderer, _facilityProvider, _messageProvider, _mediaControl, _sharedSettingDataSource, _dialogProvider) {
162
173
  var _this = this;
163
174
  _classCallCheck(this, FcrUIDeviceProviderImpl);
164
175
  _defineProperty(this, _ref, (_initProto(this), createLogger({
@@ -180,11 +191,26 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
180
191
  _defineProperty(this, "_isForceEnableVirtualBackground", false);
181
192
  // 上次操作特效的类型
182
193
  _defineProperty(this, "_lastEnableVideoEffectType", FcrUIVideoEffectType.NONE);
194
+ _defineProperty(this, "_pendingPermissionDeviceMap", new Map());
195
+ _defineProperty(this, "_dialogObserver", {
196
+ onDialogClose: function onDialogClose(dialogKey) {
197
+ if (dialogKey === FcrUIDialogKey.SYSTEM_PREFERENCE) {
198
+ _this._pendingPermissionDeviceMap.forEach(function (value, key) {
199
+ if (value === true) {
200
+ _this._checkDevicePermission(key);
201
+ }
202
+ });
203
+ }
204
+ }
205
+ });
183
206
  // microphone observer
184
207
  _defineProperty(this, "_microphoneObserver", {
185
208
  onVolumeIndicationUpdated: this._handleMicrophoneVolumeIndicationUpdated,
186
209
  onMicrophoneStateUpdated: this._handleMicrophoneStateUpdated
187
210
  });
211
+ _defineProperty(this, "_cameraObserver", {
212
+ onCameraStateUpdated: this._handleCameraStateUpdated
213
+ });
188
214
  _defineProperty(this, "_mediaControlObserver", {
189
215
  onCameraAdded: this._handleCameraAdded,
190
216
  onCameraRemoved: this._handleCameraRemoved,
@@ -260,6 +286,7 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
260
286
  this._messageProvider = _messageProvider;
261
287
  this._mediaControl = _mediaControl;
262
288
  this._sharedSettingDataSource = _sharedSettingDataSource;
289
+ this._dialogProvider = _dialogProvider;
263
290
  this._disposer.push(reaction(function () {
264
291
  return _this.cameraEnabled;
265
292
  }, this._handleCameraEnabledChanged), reaction(function () {
@@ -280,6 +307,7 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
280
307
  return _this.microphoneDetecting;
281
308
  }, this._handleMicrophoneDetectingChanged));
282
309
  this._mediaControl.addObserver(this._mediaControlObserver);
310
+ this._dialogProvider.addObserver(this._dialogObserver);
283
311
  this._initDeviceList();
284
312
  runInAction(function () {
285
313
  _this.speakerVolume = _this._mediaControl.getSelectedSpeakerVolume();
@@ -602,14 +630,12 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
602
630
  }
603
631
  }
604
632
  if (this.microphoneList.length > 0) {
605
- this._messageProvider.showToast({
606
- type: 'normal',
607
- message: transI18n('fmt_gateway_tips_nodata')
633
+ this._messageProvider.showToastByKey({
634
+ key: FcrUIToastKey.FMT_GATEWAY_TIPS_NODATA
608
635
  });
609
636
  } else {
610
- this._messageProvider.showToast({
611
- type: 'normal',
612
- message: transI18n('fmt_toolbar_label_nodevice')
637
+ this._messageProvider.showToastByKey({
638
+ key: FcrUIToastKey.FMT_TOOLBAR_LABEL_NODEVICE
613
639
  });
614
640
  }
615
641
  this._hasExecutedConnectAudio = true;
@@ -740,22 +766,26 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
740
766
  }, {
741
767
  key: "release",
742
768
  value: function release() {
743
- var _this$_cameraVideoTra, _this$_microphoneAudi;
769
+ var _this$_cameraVideoTra, _this$_cameraVideoTra2, _this$_microphoneAudi, _this$_microphoneAudi2;
744
770
  this._released = true;
745
771
  this._mediaControl.removeObserver(this._mediaControlObserver);
746
772
  this._toggleLocalCameraPreview(false);
747
773
  this._localVideoViewSet.clear();
748
774
  (_this$_cameraVideoTra = this._cameraVideoTrack) === null || _this$_cameraVideoTra === void 0 || _this$_cameraVideoTra.stop();
775
+ (_this$_cameraVideoTra2 = this._cameraVideoTrack) === null || _this$_cameraVideoTra2 === void 0 || _this$_cameraVideoTra2.removeObserver(this._cameraObserver);
749
776
  this._cameraVideoTrack = null;
750
777
  this._stopSelectedSpeakerTest();
751
778
  this._stopMicrophoneTest();
752
779
  (_this$_microphoneAudi = this._microphoneAudioTrack) === null || _this$_microphoneAudi === void 0 || _this$_microphoneAudi.stop();
780
+ (_this$_microphoneAudi2 = this._microphoneAudioTrack) === null || _this$_microphoneAudi2 === void 0 || _this$_microphoneAudi2.removeObserver(this._microphoneObserver);
753
781
  this._microphoneAudioTrack = null;
754
782
  this._isMicrophoneWorking = false;
783
+ this._dialogProvider.removeObserver(this._dialogObserver);
755
784
  this._disposer.forEach(function (disposer) {
756
785
  return disposer();
757
786
  });
758
787
  this._disposer = [];
788
+ this._pendingPermissionDeviceMap.clear();
759
789
  }
760
790
  }, {
761
791
  key: "getScreenTrack",
@@ -817,10 +847,10 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
817
847
  }, {
818
848
  key: "stopPlayLocalVideo",
819
849
  value: function stopPlayLocalVideo(view) {
820
- var _this$_cameraVideoTra2;
850
+ var _this$_cameraVideoTra3;
821
851
  if (!view) return;
822
852
  this._localVideoViewSet["delete"](view);
823
- (_this$_cameraVideoTra2 = this._cameraVideoTrack) === null || _this$_cameraVideoTra2 === void 0 || _this$_cameraVideoTra2.stopPreview(view);
853
+ (_this$_cameraVideoTra3 = this._cameraVideoTrack) === null || _this$_cameraVideoTra3 === void 0 || _this$_cameraVideoTra3.stopPreview(view);
824
854
  }
825
855
  }, {
826
856
  key: "startSpeakerTest",
@@ -893,13 +923,13 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
893
923
  }, {
894
924
  key: "setVideoOrientation",
895
925
  value: function setVideoOrientation() {
896
- var _this$_cameraVideoTra3;
926
+ var _this$_cameraVideoTra4;
897
927
  if (this._videoRotation === FcrVideoOrientation.VIDEO_ORIENTATION_270) {
898
928
  this._videoRotation = FcrVideoOrientation.VIDEO_ORIENTATION_0;
899
929
  } else {
900
930
  this._videoRotation = this._videoRotation + 1;
901
931
  }
902
- (_this$_cameraVideoTra3 = this._cameraVideoTrack) === null || _this$_cameraVideoTra3 === void 0 || _this$_cameraVideoTra3.setVideoOrientation(this._videoRotation);
932
+ (_this$_cameraVideoTra4 = this._cameraVideoTrack) === null || _this$_cameraVideoTra4 === void 0 || _this$_cameraVideoTra4.setVideoOrientation(this._videoRotation);
903
933
  }
904
934
  }, {
905
935
  key: "setCameraEnabled",
@@ -1024,9 +1054,9 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1024
1054
  value: function enableAudioEchoCancellation(enable) {
1025
1055
  if (!this._microphoneAudioTrack) return;
1026
1056
  if (enable) {
1027
- this._microphoneAudioTrack.getAudioEffectEnhancer().enableEchoCancellation();
1057
+ this._microphoneAudioTrack.getAudioEffectEnhancer().enableAEC();
1028
1058
  } else {
1029
- this._microphoneAudioTrack.getAudioEffectEnhancer().disableEchoCancellation();
1059
+ this._microphoneAudioTrack.getAudioEffectEnhancer().disableAEC();
1030
1060
  }
1031
1061
  }
1032
1062
 
@@ -1047,12 +1077,7 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1047
1077
  key: "setNoiseLevel",
1048
1078
  value: function setNoiseLevel(level) {
1049
1079
  if (!this._microphoneAudioTrack) return;
1050
- if (level === FcrUIAiDenoiseLevel.CLOSE) {
1051
- this._microphoneAudioTrack.getAudioEffectEnhancer().disableAiDenoiser();
1052
- } else {
1053
- this._microphoneAudioTrack.getAudioEffectEnhancer().enableAiDenoiser();
1054
- this._microphoneAudioTrack.getAudioEffectEnhancer().setAiDenoiseLevel(level);
1055
- }
1080
+ this._microphoneAudioTrack.getAudioEffectEnhancer().setAiDenoiseLevel(level);
1056
1081
  }
1057
1082
  }, {
1058
1083
  key: "setCameraId",
@@ -1090,9 +1115,24 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1090
1115
  }, {
1091
1116
  key: "setMicrophoneVolume",
1092
1117
  value: function setMicrophoneVolume(value) {
1093
- var _this$_microphoneAudi2;
1118
+ var _this$_microphoneAudi3;
1094
1119
  this.microphoneVolume = value;
1095
- (_this$_microphoneAudi2 = this._microphoneAudioTrack) === null || _this$_microphoneAudi2 === void 0 || _this$_microphoneAudi2.adjustVolume(value);
1120
+ (_this$_microphoneAudi3 = this._microphoneAudioTrack) === null || _this$_microphoneAudi3 === void 0 || _this$_microphoneAudi3.adjustVolume(value);
1121
+ }
1122
+ }, {
1123
+ key: "setMicrophoneVolumeLevel",
1124
+ value: function setMicrophoneVolumeLevel(level) {
1125
+ this.microphoneVolumeLevel = level;
1126
+ }
1127
+ }, {
1128
+ key: "setMicrophoneVolumeLevelDelegate",
1129
+ value: function setMicrophoneVolumeLevelDelegate(delegate) {
1130
+ this._microphoneVolumeLevelDelegate = delegate;
1131
+ }
1132
+ }, {
1133
+ key: "clearMicrophoneVolumeLevelDelegate",
1134
+ value: function clearMicrophoneVolumeLevelDelegate() {
1135
+ this._microphoneVolumeLevelDelegate = undefined;
1096
1136
  }
1097
1137
  }, {
1098
1138
  key: "startOrStopCamera",
@@ -1327,36 +1367,61 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1327
1367
  return 'default';
1328
1368
  }
1329
1369
  }
1370
+ }, {
1371
+ key: "startCameraTest",
1372
+ value: function startCameraTest() {
1373
+ this._startOrTestCameraTrack(true);
1374
+ }
1375
+ }, {
1376
+ key: "_startOrTestCameraTrack",
1377
+ value: function _startOrTestCameraTrack() {
1378
+ var _this6 = this;
1379
+ var test = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
1380
+ var cameraTrack = this.cameraTrack;
1381
+ if (!cameraTrack) {
1382
+ this.logger.warn('camera video track is not set');
1383
+ return;
1384
+ }
1385
+ this._pendingPermissionDeviceMap.set(FcrUISystemPereferencesType.Camera, true);
1386
+ this._checkDevicePermission(FcrUISystemPereferencesType.Camera).then(function (hasSystemPermission) {
1387
+ if (_this6._released || !hasSystemPermission) return;
1388
+ if (test) {
1389
+ cameraTrack.startTest();
1390
+ } else {
1391
+ cameraTrack.start();
1392
+ }
1393
+ });
1394
+ }
1330
1395
  }, {
1331
1396
  key: "_initDeviceList",
1332
1397
  value: function _initDeviceList() {
1333
- var _this6 = this;
1398
+ var _this7 = this;
1334
1399
  // this.toggleAGC(true);
1335
1400
  Promise.all([this._mediaControl.getCameraList().then(function (list) {
1336
- if (_this6._released) return;
1337
- _this6.cameraList = list;
1338
- _this6.logger.info("[FcrDeviceStore] init camera list: ".concat(jsonstring(list)));
1339
- if (_this6.cameraList.length > 0) {
1340
- var defaultCameraDeviceId = _this6.cameraList[0].deviceId;
1341
- _this6.logger.info('[FcrDeviceStore] select default camera id:', defaultCameraDeviceId);
1342
- _this6.setCameraId(defaultCameraDeviceId);
1401
+ if (_this7._released) return;
1402
+ _this7.cameraList = list;
1403
+ _this7.logger.info("[FcrDeviceStore] init camera list: ".concat(jsonstring(list)));
1404
+ if (_this7.cameraList.length > 0) {
1405
+ var defaultCameraDeviceId = _this7.cameraList[0].deviceId;
1406
+ _this7.logger.info('[FcrDeviceStore] select default camera id:', defaultCameraDeviceId);
1407
+ _this7.setCameraId(defaultCameraDeviceId);
1343
1408
  }
1344
1409
  }), this._getMicrophoneList().then(/*#__PURE__*/function () {
1345
1410
  var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee7(microphoneList) {
1346
1411
  return _regeneratorRuntime.wrap(function (_context7) {
1347
1412
  while (1) switch (_context7.prev = _context7.next) {
1348
1413
  case 0:
1349
- if (!_this6._released) {
1414
+ if (!_this7._released) {
1350
1415
  _context7.next = 1;
1351
1416
  break;
1352
1417
  }
1353
1418
  return _context7.abrupt("return");
1354
1419
  case 1:
1355
- _this6.microphoneList = microphoneList;
1356
- _this6.logger.info("[FcrDeviceStore] init microphone list: ".concat(jsonstring(microphoneList)));
1357
- if (_this6.microphoneList.length > 0) {
1420
+ _this7.microphoneList = microphoneList;
1421
+ _this7.logger.info("[FcrDeviceStore] init microphone list: ".concat(jsonstring(microphoneList)));
1422
+ if (_this7.microphoneList.length > 0) {
1358
1423
  // 默认跟随系统
1359
- _this6.setMicrophoneId(DEFAULT_DEVICE_ID);
1424
+ _this7.setMicrophoneId(DEFAULT_DEVICE_ID);
1360
1425
  }
1361
1426
  case 2:
1362
1427
  case "end":
@@ -1372,17 +1437,17 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1372
1437
  return _regeneratorRuntime.wrap(function (_context8) {
1373
1438
  while (1) switch (_context8.prev = _context8.next) {
1374
1439
  case 0:
1375
- if (!_this6._released) {
1440
+ if (!_this7._released) {
1376
1441
  _context8.next = 1;
1377
1442
  break;
1378
1443
  }
1379
1444
  return _context8.abrupt("return");
1380
1445
  case 1:
1381
- _this6.speakerList = speakerList;
1382
- _this6.logger.info("[FcrDeviceStore] init speaker list: ".concat(jsonstring(speakerList)));
1383
- if (_this6.speakerList.length > 0) {
1446
+ _this7.speakerList = speakerList;
1447
+ _this7.logger.info("[FcrDeviceStore] init speaker list: ".concat(jsonstring(speakerList)));
1448
+ if (_this7.speakerList.length > 0) {
1384
1449
  // 默认跟随系统
1385
- _this6.setSpeakerId(DEFAULT_DEVICE_ID);
1450
+ _this7.setSpeakerId(DEFAULT_DEVICE_ID);
1386
1451
  }
1387
1452
  case 2:
1388
1453
  case "end":
@@ -1403,7 +1468,7 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1403
1468
  return;
1404
1469
  }
1405
1470
  if (this._microphoneEnabled) {
1406
- this._microphoneAudioTrack.start();
1471
+ this._startOrTestMicrophoneAudioTrack();
1407
1472
  } else {
1408
1473
  this._isMicrophoneWorking = false;
1409
1474
  this._microphoneAudioTrack.stop();
@@ -1413,7 +1478,27 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1413
1478
  }, {
1414
1479
  key: "_handleMicrophoneStateUpdated",
1415
1480
  value: function _handleMicrophoneStateUpdated(deviceId, state) {
1416
- this._isMicrophoneWorking = this._microphoneDevice.id === deviceId && state === FcrMediaSourceState.OPEN;
1481
+ this._observable.notifyObservers('onMicrophoneStateChanged', deviceId, state);
1482
+ if (state === FcrMediaSourceState.ERROR) {
1483
+ if (this._microphone.id === deviceId) {
1484
+ this.setMicrophoneEnabled(false);
1485
+ }
1486
+ }
1487
+ if (this._microphoneDevice.id === deviceId) {
1488
+ this._isMicrophoneWorking = [FcrMediaSourceState.OPEN, FcrMediaSourceState.ERROR].includes(state);
1489
+ } else {
1490
+ this.logger.info("[FcrDeviceStore] microphone state updated: ".concat(deviceId, " ").concat(state));
1491
+ }
1492
+ }
1493
+ }, {
1494
+ key: "_handleCameraStateUpdated",
1495
+ value: function _handleCameraStateUpdated(deviceId, state) {
1496
+ this._observable.notifyObservers('onCameraStateChanged', deviceId, state);
1497
+ if (state === FcrMediaSourceState.ERROR) {
1498
+ if (this._cameraDevice.id === deviceId) {
1499
+ this.setCameraEnabled(false);
1500
+ }
1501
+ }
1417
1502
  }
1418
1503
  }, {
1419
1504
  key: "_handleMicrophoneEnabledChanged",
@@ -1430,7 +1515,7 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1430
1515
  return;
1431
1516
  }
1432
1517
  if (enable) {
1433
- cameraTrack.start();
1518
+ this._startOrTestCameraTrack();
1434
1519
  } else {
1435
1520
  this._toggleLocalCameraPreview(enable);
1436
1521
  cameraTrack.stop();
@@ -1443,14 +1528,16 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1443
1528
  this.logger.warn('camera id is not set');
1444
1529
  return;
1445
1530
  } else {
1446
- var _this$_cameraVideoTra4, _this$_cameraVideoTra5;
1447
- (_this$_cameraVideoTra4 = this._cameraVideoTrack) === null || _this$_cameraVideoTra4 === void 0 || _this$_cameraVideoTra4.stopTest();
1448
- (_this$_cameraVideoTra5 = this._cameraVideoTrack) === null || _this$_cameraVideoTra5 === void 0 || _this$_cameraVideoTra5.stop();
1531
+ var _this$_cameraVideoTra5, _this$_cameraVideoTra6, _this$_cameraVideoTra7;
1532
+ (_this$_cameraVideoTra5 = this._cameraVideoTrack) === null || _this$_cameraVideoTra5 === void 0 || _this$_cameraVideoTra5.removeObserver(this._cameraObserver);
1533
+ (_this$_cameraVideoTra6 = this._cameraVideoTrack) === null || _this$_cameraVideoTra6 === void 0 || _this$_cameraVideoTra6.stopTest();
1534
+ (_this$_cameraVideoTra7 = this._cameraVideoTrack) === null || _this$_cameraVideoTra7 === void 0 || _this$_cameraVideoTra7.stop();
1449
1535
  this._cameraVideoTrack = this._mediaControl.getCameraTrack(this._cameraDevice.id);
1536
+ this._cameraVideoTrack.addObserver(this._cameraObserver);
1450
1537
  this._handleCameraVideoTrack();
1451
1538
  if (this.showCameraPreview) {
1452
1539
  this.logger.debug("start camera video track showCameraPreview:".concat(this.showCameraPreview, ",cameraEnabled:").concat(this.cameraEnabled));
1453
- this._cameraVideoTrack.start();
1540
+ this._startOrTestCameraTrack();
1454
1541
  }
1455
1542
  this._observable.notifyObservers('onCameraChanged', this._cameraDevice.id);
1456
1543
  }
@@ -1459,24 +1546,23 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1459
1546
  }, {
1460
1547
  key: "_handleSpeakerDetectingChanged",
1461
1548
  value: function _handleSpeakerDetectingChanged() {
1462
- var _this7 = this;
1549
+ var _this8 = this;
1463
1550
  if (this._microphoneEnabled) {
1464
1551
  if (this.speakerDetecting) {
1465
- var _this$_microphoneAudi3;
1466
- (_this$_microphoneAudi3 = this._microphoneAudioTrack) === null || _this$_microphoneAudi3 === void 0 || _this$_microphoneAudi3.stop();
1467
- } else {
1468
1552
  var _this$_microphoneAudi4;
1469
- (_this$_microphoneAudi4 = this._microphoneAudioTrack) === null || _this$_microphoneAudi4 === void 0 || _this$_microphoneAudi4.start();
1553
+ (_this$_microphoneAudi4 = this._microphoneAudioTrack) === null || _this$_microphoneAudi4 === void 0 || _this$_microphoneAudi4.stop();
1554
+ } else {
1555
+ this._startOrTestMicrophoneAudioTrack();
1470
1556
  }
1471
1557
  }
1472
1558
  if (this.speakerDetecting) {
1473
1559
  var startSelectedSpeakerTest = function startSelectedSpeakerTest() {
1474
- var soundUrl = isElectron() ? _this7._soundEffectFilePathMap.get('speakerTest') : _this7._soundEffectPlayUrlMap.get('speakerTest');
1560
+ var soundUrl = isElectron() ? _this8._soundEffectFilePathMap.get('speakerTest') : _this8._soundEffectPlayUrlMap.get('speakerTest');
1475
1561
  if (!soundUrl) {
1476
- _this7.logger.error('speakerTest soundUrl is not set');
1562
+ _this8.logger.error('speakerTest soundUrl is not set');
1477
1563
  return;
1478
1564
  }
1479
- _this7._mediaControl.startSelectedSpeakerTest(soundUrl, _this7._volumeIndicationInterval);
1565
+ _this8._mediaControl.startSelectedSpeakerTest(soundUrl, _this8._volumeIndicationInterval);
1480
1566
  };
1481
1567
  startSelectedSpeakerTest();
1482
1568
  var sleep = 3000;
@@ -1488,6 +1574,30 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1488
1574
  this._stopSelectedSpeakerTest();
1489
1575
  }
1490
1576
  }
1577
+ }, {
1578
+ key: "_startOrTestMicrophoneAudioTrack",
1579
+ value: function _startOrTestMicrophoneAudioTrack() {
1580
+ var _this9 = this;
1581
+ var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1582
+ _ref5$test = _ref5.test,
1583
+ test = _ref5$test === void 0 ? false : _ref5$test;
1584
+ var microphoneAudioTrack = this._microphoneAudioTrack;
1585
+ if (!microphoneAudioTrack) {
1586
+ this.logger.warn('microphone audio track is not set');
1587
+ return;
1588
+ }
1589
+ this._pendingPermissionDeviceMap.set(FcrUISystemPereferencesType.Microphone, true);
1590
+ this._checkDevicePermission(FcrUISystemPereferencesType.Microphone).then(function (hasSystemPermission) {
1591
+ if (_this9._released || !hasSystemPermission) {
1592
+ return;
1593
+ }
1594
+ if (test) {
1595
+ microphoneAudioTrack.startTest(_this9._volumeIndicationInterval);
1596
+ } else {
1597
+ microphoneAudioTrack.start();
1598
+ }
1599
+ });
1600
+ }
1491
1601
  }, {
1492
1602
  key: "_stopSelectedSpeakerTest",
1493
1603
  value: function _stopSelectedSpeakerTest() {
@@ -1499,8 +1609,9 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1499
1609
  key: "_handleMicrophoneDetectingChanged",
1500
1610
  value: function _handleMicrophoneDetectingChanged() {
1501
1611
  if (this.microphoneDetecting) {
1502
- var _this$_microphoneAudi5;
1503
- (_this$_microphoneAudi5 = this._microphoneAudioTrack) === null || _this$_microphoneAudi5 === void 0 || _this$_microphoneAudi5.startTest(this._volumeIndicationInterval);
1612
+ this._startOrTestMicrophoneAudioTrack({
1613
+ test: true
1614
+ });
1504
1615
  } else {
1505
1616
  this._stopMicrophoneTest();
1506
1617
  }
@@ -1508,28 +1619,28 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1508
1619
  }, {
1509
1620
  key: "_stopMicrophoneTest",
1510
1621
  value: function _stopMicrophoneTest() {
1511
- var _this$_microphoneAudi6;
1512
- (_this$_microphoneAudi6 = this._microphoneAudioTrack) === null || _this$_microphoneAudi6 === void 0 || _this$_microphoneAudi6.stopTest();
1622
+ var _this$_microphoneAudi5;
1623
+ (_this$_microphoneAudi5 = this._microphoneAudioTrack) === null || _this$_microphoneAudi5 === void 0 || _this$_microphoneAudi5.stopTest();
1513
1624
  this.microphoneVolumeLevel = 0;
1514
1625
  }
1515
1626
  }, {
1516
1627
  key: "_handleMicrophoneIdChanged",
1517
1628
  value: function () {
1518
1629
  var _handleMicrophoneIdChanged2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee9() {
1519
- var _this8 = this;
1630
+ var _this0 = this;
1520
1631
  var _this$microphoneList$, _this$microphoneList$2, _this$microphoneList$3, name, productId, vendorId;
1521
1632
  return _regeneratorRuntime.wrap(function (_context9) {
1522
1633
  while (1) switch (_context9.prev = _context9.next) {
1523
1634
  case 0:
1524
1635
  if (!this.followSystemMicrophoneDevice) {
1525
1636
  name = ((_this$microphoneList$ = this.microphoneList.find(function (item) {
1526
- return item.deviceId === _this8._microphone.id;
1637
+ return item.deviceId === _this0._microphone.id;
1527
1638
  })) === null || _this$microphoneList$ === void 0 ? void 0 : _this$microphoneList$.deviceName) || null;
1528
1639
  productId = ((_this$microphoneList$2 = this.microphoneList.find(function (item) {
1529
- return item.deviceId === _this8._microphone.id;
1640
+ return item.deviceId === _this0._microphone.id;
1530
1641
  })) === null || _this$microphoneList$2 === void 0 ? void 0 : _this$microphoneList$2.productId) || null;
1531
1642
  vendorId = ((_this$microphoneList$3 = this.microphoneList.find(function (item) {
1532
- return item.deviceId === _this8._microphone.id;
1643
+ return item.deviceId === _this0._microphone.id;
1533
1644
  })) === null || _this$microphoneList$3 === void 0 ? void 0 : _this$microphoneList$3.vendorId) || null;
1534
1645
  this._microphoneDevice = {
1535
1646
  id: this._microphone.id,
@@ -1559,10 +1670,10 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1559
1670
  this.logger.debug('setSelectedMicrophone failed');
1560
1671
  this._microphone.id = DEFAULT_DEVICE_ID;
1561
1672
  } else {
1562
- var _this$_microphoneAudi7, _this$_microphoneAudi8;
1673
+ var _this$_microphoneAudi6, _this$_microphoneAudi7;
1563
1674
  this._isMicrophoneWorking = false;
1564
- (_this$_microphoneAudi7 = this._microphoneAudioTrack) === null || _this$_microphoneAudi7 === void 0 || _this$_microphoneAudi7.removeObserver(this._microphoneObserver);
1565
- (_this$_microphoneAudi8 = this._microphoneAudioTrack) === null || _this$_microphoneAudi8 === void 0 || _this$_microphoneAudi8.stop();
1675
+ (_this$_microphoneAudi6 = this._microphoneAudioTrack) === null || _this$_microphoneAudi6 === void 0 || _this$_microphoneAudi6.removeObserver(this._microphoneObserver);
1676
+ (_this$_microphoneAudi7 = this._microphoneAudioTrack) === null || _this$_microphoneAudi7 === void 0 || _this$_microphoneAudi7.stop();
1566
1677
  this._microphoneAudioTrack = this._mediaControl.getMicrophoneTrack(this._microphoneDevice.id);
1567
1678
  this._microphoneAudioTrack.addObserver(this._microphoneObserver);
1568
1679
  this._handleMicrophoneAudioTrack();
@@ -1586,20 +1697,20 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1586
1697
  key: "_handleSpeakerIdChanged",
1587
1698
  value: function () {
1588
1699
  var _handleSpeakerIdChanged2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee0() {
1589
- var _this9 = this;
1700
+ var _this1 = this;
1590
1701
  var _this$speakerList$fin, _this$speakerList$fin2, _this$speakerList$fin3, name, productId, vendorId;
1591
1702
  return _regeneratorRuntime.wrap(function (_context0) {
1592
1703
  while (1) switch (_context0.prev = _context0.next) {
1593
1704
  case 0:
1594
1705
  if (!this.followSystemSpeakerDevice) {
1595
1706
  name = ((_this$speakerList$fin = this.speakerList.find(function (item) {
1596
- return item.deviceId === _this9._speaker.id;
1707
+ return item.deviceId === _this1._speaker.id;
1597
1708
  })) === null || _this$speakerList$fin === void 0 ? void 0 : _this$speakerList$fin.deviceName) || null;
1598
1709
  productId = ((_this$speakerList$fin2 = this.speakerList.find(function (item) {
1599
- return item.deviceId === _this9._speaker.id;
1710
+ return item.deviceId === _this1._speaker.id;
1600
1711
  })) === null || _this$speakerList$fin2 === void 0 ? void 0 : _this$speakerList$fin2.productId) || null;
1601
1712
  vendorId = ((_this$speakerList$fin3 = this.speakerList.find(function (item) {
1602
- return item.deviceId === _this9._speaker.id;
1713
+ return item.deviceId === _this1._speaker.id;
1603
1714
  })) === null || _this$speakerList$fin3 === void 0 ? void 0 : _this$speakerList$fin3.vendorId) || null;
1604
1715
  this._speakerDevice = {
1605
1716
  id: this._speaker.id,
@@ -1735,12 +1846,16 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1735
1846
  }, {
1736
1847
  key: "_handleMicrophoneVolumeIndicationUpdated",
1737
1848
  value: function _handleMicrophoneVolumeIndicationUpdated(_, volume) {
1738
- this.microphoneVolumeLevel = getDeviceVolumeLevel(volume);
1849
+ if (this._microphoneVolumeLevelDelegate) {
1850
+ this._microphoneVolumeLevelDelegate(volume);
1851
+ } else {
1852
+ this.microphoneVolumeLevel = getDeviceVolumeLevel(volume);
1853
+ }
1739
1854
  }
1740
1855
  }, {
1741
1856
  key: "_toggleLocalCameraPreview",
1742
1857
  value: function _toggleLocalCameraPreview(enabled) {
1743
- var _this0 = this;
1858
+ var _this10 = this;
1744
1859
  var localVideoViewSet = this._localVideoViewSet;
1745
1860
  var cameraTrack = this._cameraVideoTrack;
1746
1861
  if (!cameraTrack) {
@@ -1756,31 +1871,69 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1756
1871
  localVideoViewSet.forEach(function (view) {
1757
1872
  cameraTrack.startPreview({
1758
1873
  renderMode: FcrVideoRenderMode.HIDDEN,
1759
- isMirror: _this0.currentIsMirror
1874
+ isMirror: _this10.currentIsMirror
1760
1875
  }, view);
1761
1876
  });
1762
1877
  }
1763
1878
  }
1764
1879
  }, {
1765
1880
  key: "_handleCameraAdded",
1766
- value: function _handleCameraAdded() {
1767
- this._handleCameraListUpdated();
1768
- }
1769
- }, {
1770
- key: "_handleCameraRemoved",
1771
1881
  value: function () {
1772
- var _handleCameraRemoved2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee11() {
1773
- var _this1 = this;
1774
- var currentDeviceExist, defaultDeviceId;
1882
+ var _handleCameraAdded2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee11() {
1883
+ var defaultDeviceId;
1775
1884
  return _regeneratorRuntime.wrap(function (_context11) {
1776
1885
  while (1) switch (_context11.prev = _context11.next) {
1777
1886
  case 0:
1778
1887
  _context11.next = 1;
1779
1888
  return this._handleCameraListUpdated();
1780
1889
  case 1:
1781
- currentDeviceExist = this.cameraList.some(function (_ref5) {
1782
- var deviceId = _ref5.deviceId;
1783
- return _this1._cameraDevice.id === deviceId;
1890
+ if (this._cameraDevice.id) {
1891
+ _context11.next = 3;
1892
+ break;
1893
+ }
1894
+ if (!this._released) {
1895
+ _context11.next = 2;
1896
+ break;
1897
+ }
1898
+ return _context11.abrupt("return");
1899
+ case 2:
1900
+ if (this.cameraList.length > 0) {
1901
+ defaultDeviceId = this.cameraList[0].deviceId;
1902
+ this.setCameraId(defaultDeviceId);
1903
+ this.logger.info('set camera device id to newly added device:', defaultDeviceId);
1904
+ } else {
1905
+ this.logger.error('current camera device id is empty, but camera list is empty too');
1906
+ }
1907
+ _context11.next = 4;
1908
+ break;
1909
+ case 3:
1910
+ this.logger.info('current camera device id is set, no need to switch');
1911
+ case 4:
1912
+ case "end":
1913
+ return _context11.stop();
1914
+ }
1915
+ }, _callee11, this);
1916
+ }));
1917
+ function _handleCameraAdded() {
1918
+ return _handleCameraAdded2.apply(this, arguments);
1919
+ }
1920
+ return _handleCameraAdded;
1921
+ }()
1922
+ }, {
1923
+ key: "_handleCameraRemoved",
1924
+ value: function () {
1925
+ var _handleCameraRemoved2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee12() {
1926
+ var _this11 = this;
1927
+ var currentDeviceExist, defaultDeviceId;
1928
+ return _regeneratorRuntime.wrap(function (_context12) {
1929
+ while (1) switch (_context12.prev = _context12.next) {
1930
+ case 0:
1931
+ _context12.next = 1;
1932
+ return this._handleCameraListUpdated();
1933
+ case 1:
1934
+ currentDeviceExist = this.cameraList.some(function (_ref6) {
1935
+ var deviceId = _ref6.deviceId;
1936
+ return _this11._cameraDevice.id === deviceId;
1784
1937
  });
1785
1938
  if (!currentDeviceExist) {
1786
1939
  this.logger.info('[FcrDeviceStore] current speaker does not exist in speaker list, switch to follow system');
@@ -1792,9 +1945,9 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1792
1945
  }
1793
1946
  case 2:
1794
1947
  case "end":
1795
- return _context11.stop();
1948
+ return _context12.stop();
1796
1949
  }
1797
- }, _callee11, this);
1950
+ }, _callee12, this);
1798
1951
  }));
1799
1952
  function _handleCameraRemoved() {
1800
1953
  return _handleCameraRemoved2.apply(this, arguments);
@@ -1804,22 +1957,22 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1804
1957
  }, {
1805
1958
  key: "_handleCameraListUpdated",
1806
1959
  value: function () {
1807
- var _handleCameraListUpdated2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee12() {
1960
+ var _handleCameraListUpdated2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee13() {
1808
1961
  var cameraList;
1809
- return _regeneratorRuntime.wrap(function (_context12) {
1810
- while (1) switch (_context12.prev = _context12.next) {
1962
+ return _regeneratorRuntime.wrap(function (_context13) {
1963
+ while (1) switch (_context13.prev = _context13.next) {
1811
1964
  case 0:
1812
- _context12.next = 1;
1965
+ _context13.next = 1;
1813
1966
  return this._mediaControl.getCameraList();
1814
1967
  case 1:
1815
- cameraList = _context12.sent;
1968
+ cameraList = _context13.sent;
1816
1969
  this.cameraList = cameraList;
1817
1970
  this._observable.notifyObservers('onCameraListUpdated', this.cameraList);
1818
1971
  case 2:
1819
1972
  case "end":
1820
- return _context12.stop();
1973
+ return _context13.stop();
1821
1974
  }
1822
- }, _callee12, this);
1975
+ }, _callee13, this);
1823
1976
  }));
1824
1977
  function _handleCameraListUpdated() {
1825
1978
  return _handleCameraListUpdated2.apply(this, arguments);
@@ -1834,17 +1987,17 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1834
1987
  }, {
1835
1988
  key: "_handleMicrophoneRemoved",
1836
1989
  value: function () {
1837
- var _handleMicrophoneRemoved2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee13() {
1838
- var _this10 = this;
1990
+ var _handleMicrophoneRemoved2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee14() {
1991
+ var _this12 = this;
1839
1992
  var currentDeviceExist;
1840
- return _regeneratorRuntime.wrap(function (_context13) {
1841
- while (1) switch (_context13.prev = _context13.next) {
1993
+ return _regeneratorRuntime.wrap(function (_context14) {
1994
+ while (1) switch (_context14.prev = _context14.next) {
1842
1995
  case 0:
1843
- _context13.next = 1;
1996
+ _context14.next = 1;
1844
1997
  return this._handleMicrophoneListUpdated();
1845
1998
  case 1:
1846
1999
  currentDeviceExist = this.microphoneList.find(function (item) {
1847
- return item.deviceId === _this10._microphoneDevice.id;
2000
+ return item.deviceId === _this12._microphoneDevice.id;
1848
2001
  });
1849
2002
  if (!currentDeviceExist) {
1850
2003
  this.logger.info('[FcrDeviceStore] current microphone does not exist in microphone list, switch to follow system');
@@ -1852,9 +2005,9 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1852
2005
  }
1853
2006
  case 2:
1854
2007
  case "end":
1855
- return _context13.stop();
2008
+ return _context14.stop();
1856
2009
  }
1857
- }, _callee13, this);
2010
+ }, _callee14, this);
1858
2011
  }));
1859
2012
  function _handleMicrophoneRemoved() {
1860
2013
  return _handleMicrophoneRemoved2.apply(this, arguments);
@@ -1864,22 +2017,22 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1864
2017
  }, {
1865
2018
  key: "_handleMicrophoneListUpdated",
1866
2019
  value: function () {
1867
- var _handleMicrophoneListUpdated2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee14() {
2020
+ var _handleMicrophoneListUpdated2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee15() {
1868
2021
  var microphoneList;
1869
- return _regeneratorRuntime.wrap(function (_context14) {
1870
- while (1) switch (_context14.prev = _context14.next) {
2022
+ return _regeneratorRuntime.wrap(function (_context15) {
2023
+ while (1) switch (_context15.prev = _context15.next) {
1871
2024
  case 0:
1872
- _context14.next = 1;
2025
+ _context15.next = 1;
1873
2026
  return this._getMicrophoneList();
1874
2027
  case 1:
1875
- microphoneList = _context14.sent;
2028
+ microphoneList = _context15.sent;
1876
2029
  this.microphoneList = microphoneList;
1877
2030
  this._observable.notifyObservers('onMicrophoneListUpdated', this.microphoneList);
1878
2031
  case 2:
1879
2032
  case "end":
1880
- return _context14.stop();
2033
+ return _context15.stop();
1881
2034
  }
1882
- }, _callee14, this);
2035
+ }, _callee15, this);
1883
2036
  }));
1884
2037
  function _handleMicrophoneListUpdated() {
1885
2038
  return _handleMicrophoneListUpdated2.apply(this, arguments);
@@ -1894,18 +2047,18 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1894
2047
  }, {
1895
2048
  key: "_handleSpeakerRemoved",
1896
2049
  value: function () {
1897
- var _handleSpeakerRemoved2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee15() {
1898
- var _this11 = this;
2050
+ var _handleSpeakerRemoved2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee16() {
2051
+ var _this13 = this;
1899
2052
  var currentDeviceExist;
1900
- return _regeneratorRuntime.wrap(function (_context15) {
1901
- while (1) switch (_context15.prev = _context15.next) {
2053
+ return _regeneratorRuntime.wrap(function (_context16) {
2054
+ while (1) switch (_context16.prev = _context16.next) {
1902
2055
  case 0:
1903
- _context15.next = 1;
2056
+ _context16.next = 1;
1904
2057
  return this._handleSpeakerListUpdated();
1905
2058
  case 1:
1906
2059
  // 如何设备移除了,应该切到跟随系统
1907
2060
  currentDeviceExist = this.speakerList.find(function (item) {
1908
- return item.deviceId === _this11._speakerDevice.id;
2061
+ return item.deviceId === _this13._speakerDevice.id;
1909
2062
  });
1910
2063
  if (!currentDeviceExist) {
1911
2064
  this.logger.info('[FcrDeviceStore] current speaker does not exist in speaker list, switch to follow system');
@@ -1913,9 +2066,9 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1913
2066
  }
1914
2067
  case 2:
1915
2068
  case "end":
1916
- return _context15.stop();
2069
+ return _context16.stop();
1917
2070
  }
1918
- }, _callee15, this);
2071
+ }, _callee16, this);
1919
2072
  }));
1920
2073
  function _handleSpeakerRemoved() {
1921
2074
  return _handleSpeakerRemoved2.apply(this, arguments);
@@ -1925,22 +2078,22 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1925
2078
  }, {
1926
2079
  key: "_handleSpeakerListUpdated",
1927
2080
  value: function () {
1928
- var _handleSpeakerListUpdated2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee16() {
2081
+ var _handleSpeakerListUpdated2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee17() {
1929
2082
  var speakerList;
1930
- return _regeneratorRuntime.wrap(function (_context16) {
1931
- while (1) switch (_context16.prev = _context16.next) {
2083
+ return _regeneratorRuntime.wrap(function (_context17) {
2084
+ while (1) switch (_context17.prev = _context17.next) {
1932
2085
  case 0:
1933
- _context16.next = 1;
2086
+ _context17.next = 1;
1934
2087
  return this._getSpeakerList();
1935
2088
  case 1:
1936
- speakerList = _context16.sent;
2089
+ speakerList = _context17.sent;
1937
2090
  this.speakerList = speakerList;
1938
2091
  this._observable.notifyObservers('onSpeakerListUpdated', this.speakerList);
1939
2092
  case 2:
1940
2093
  case "end":
1941
- return _context16.stop();
2094
+ return _context17.stop();
1942
2095
  }
1943
- }, _callee16, this);
2096
+ }, _callee17, this);
1944
2097
  }));
1945
2098
  function _handleSpeakerListUpdated() {
1946
2099
  return _handleSpeakerListUpdated2.apply(this, arguments);
@@ -1950,26 +2103,26 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1950
2103
  }, {
1951
2104
  key: "_getMicrophoneList",
1952
2105
  value: function () {
1953
- var _getMicrophoneList2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee17() {
2106
+ var _getMicrophoneList2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee18() {
1954
2107
  var systemSelectedMicrophone, deviceList, formatDeviceList;
1955
- return _regeneratorRuntime.wrap(function (_context17) {
1956
- while (1) switch (_context17.prev = _context17.next) {
2108
+ return _regeneratorRuntime.wrap(function (_context18) {
2109
+ while (1) switch (_context18.prev = _context18.next) {
1957
2110
  case 0:
1958
- _context17.next = 1;
2111
+ _context18.next = 1;
1959
2112
  return this._mediaControl.getSystemSelectedMicrophone();
1960
2113
  case 1:
1961
- systemSelectedMicrophone = _context17.sent;
1962
- _context17.next = 2;
2114
+ systemSelectedMicrophone = _context18.sent;
2115
+ _context18.next = 2;
1963
2116
  return this._mediaControl.getMicrophoneList();
1964
2117
  case 2:
1965
- deviceList = _context17.sent;
2118
+ deviceList = _context18.sent;
1966
2119
  formatDeviceList = this._formatDeviceList(deviceList, systemSelectedMicrophone);
1967
- return _context17.abrupt("return", formatDeviceList);
2120
+ return _context18.abrupt("return", formatDeviceList);
1968
2121
  case 3:
1969
2122
  case "end":
1970
- return _context17.stop();
2123
+ return _context18.stop();
1971
2124
  }
1972
- }, _callee17, this);
2125
+ }, _callee18, this);
1973
2126
  }));
1974
2127
  function _getMicrophoneList() {
1975
2128
  return _getMicrophoneList2.apply(this, arguments);
@@ -1979,26 +2132,26 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
1979
2132
  }, {
1980
2133
  key: "_getSpeakerList",
1981
2134
  value: function () {
1982
- var _getSpeakerList2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee18() {
2135
+ var _getSpeakerList2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee19() {
1983
2136
  var systemSelectedSpeaker, deviceList, formatDeviceList;
1984
- return _regeneratorRuntime.wrap(function (_context18) {
1985
- while (1) switch (_context18.prev = _context18.next) {
2137
+ return _regeneratorRuntime.wrap(function (_context19) {
2138
+ while (1) switch (_context19.prev = _context19.next) {
1986
2139
  case 0:
1987
- _context18.next = 1;
2140
+ _context19.next = 1;
1988
2141
  return this._mediaControl.getSystemSelectedSpeaker();
1989
2142
  case 1:
1990
- systemSelectedSpeaker = _context18.sent;
1991
- _context18.next = 2;
2143
+ systemSelectedSpeaker = _context19.sent;
2144
+ _context19.next = 2;
1992
2145
  return this._mediaControl.getSpeakerList();
1993
2146
  case 2:
1994
- deviceList = _context18.sent;
2147
+ deviceList = _context19.sent;
1995
2148
  formatDeviceList = this._formatDeviceList(deviceList, systemSelectedSpeaker);
1996
- return _context18.abrupt("return", formatDeviceList);
2149
+ return _context19.abrupt("return", formatDeviceList);
1997
2150
  case 3:
1998
2151
  case "end":
1999
- return _context18.stop();
2152
+ return _context19.stop();
2000
2153
  }
2001
- }, _callee18, this);
2154
+ }, _callee19, this);
2002
2155
  }));
2003
2156
  function _getSpeakerList() {
2004
2157
  return _getSpeakerList2.apply(this, arguments);
@@ -2048,16 +2201,16 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
2048
2201
  }, {
2049
2202
  key: "_loadBuiltinResources",
2050
2203
  value: function () {
2051
- var _loadBuiltinResources2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee19() {
2052
- var _this12 = this;
2204
+ var _loadBuiltinResources2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee20() {
2205
+ var _this14 = this;
2053
2206
  var _yield$this$_renderer, _yield$this$_renderer2, virtualBackgroundImages, _yield$this$_renderer3, virtualBackgroundVideos, _yield$this$_renderer4, soundEffectAudios, newVirtualBackgroundList, images, videos, soundEffectPlayUrlMap, soundEffectFilePathMap;
2054
- return _regeneratorRuntime.wrap(function (_context19) {
2055
- while (1) switch (_context19.prev = _context19.next) {
2207
+ return _regeneratorRuntime.wrap(function (_context20) {
2208
+ while (1) switch (_context20.prev = _context20.next) {
2056
2209
  case 0:
2057
- _context19.next = 1;
2210
+ _context20.next = 1;
2058
2211
  return this._renderer.loadBuiltinResources();
2059
2212
  case 1:
2060
- _yield$this$_renderer = _context19.sent;
2213
+ _yield$this$_renderer = _context20.sent;
2061
2214
  _yield$this$_renderer2 = _yield$this$_renderer.virtualBackgroundImages;
2062
2215
  virtualBackgroundImages = _yield$this$_renderer2 === void 0 ? [] : _yield$this$_renderer2;
2063
2216
  _yield$this$_renderer3 = _yield$this$_renderer.virtualBackgroundVideos;
@@ -2070,7 +2223,7 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
2070
2223
  name: getFileNameWithoutExtension(item),
2071
2224
  path: item,
2072
2225
  type: VirtualOption.IMG,
2073
- url: URL.createObjectURL(_this12._renderer.fileToBlob(item, 'image'))
2226
+ url: URL.createObjectURL(_this14._renderer.fileToBlob(item, 'image'))
2074
2227
  };
2075
2228
  });
2076
2229
  videos = virtualBackgroundVideos.map(function (item) {
@@ -2078,7 +2231,7 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
2078
2231
  name: getFileNameWithoutExtension(item),
2079
2232
  path: item,
2080
2233
  type: VirtualOption.VIDEO,
2081
- url: URL.createObjectURL(_this12._renderer.fileToBlob(item, 'video'))
2234
+ url: URL.createObjectURL(_this14._renderer.fileToBlob(item, 'video'))
2082
2235
  };
2083
2236
  });
2084
2237
  soundEffectPlayUrlMap = new Map();
@@ -2086,7 +2239,7 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
2086
2239
  Object.keys(soundEffectAudios).forEach(function (key) {
2087
2240
  var effectName = key;
2088
2241
  var filePath = soundEffectAudios[effectName];
2089
- soundEffectPlayUrlMap.set(effectName, URL.createObjectURL(_this12._renderer.fileToBlob(filePath, 'audio')));
2242
+ soundEffectPlayUrlMap.set(effectName, URL.createObjectURL(_this14._renderer.fileToBlob(filePath, 'audio')));
2090
2243
  soundEffectFilePathMap.set(effectName, filePath);
2091
2244
  });
2092
2245
  this.logger.info('load builtin image ui resources:', jsonstring(images));
@@ -2095,25 +2248,123 @@ export var FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
2095
2248
  newVirtualBackgroundList = newVirtualBackgroundList.concat(images);
2096
2249
  newVirtualBackgroundList = newVirtualBackgroundList.concat(videos);
2097
2250
  runInAction(function () {
2098
- _this12._updateVirtualBackgroundList(newVirtualBackgroundList);
2099
- _this12._soundEffectFilePathMap = soundEffectFilePathMap;
2100
- _this12._soundEffectPlayUrlMap = soundEffectPlayUrlMap;
2251
+ _this14._updateVirtualBackgroundList(newVirtualBackgroundList);
2252
+ _this14._soundEffectFilePathMap = soundEffectFilePathMap;
2253
+ _this14._soundEffectPlayUrlMap = soundEffectPlayUrlMap;
2101
2254
  });
2102
2255
  case 2:
2103
2256
  case "end":
2104
- return _context19.stop();
2257
+ return _context20.stop();
2105
2258
  }
2106
- }, _callee19, this);
2259
+ }, _callee20, this);
2107
2260
  }));
2108
2261
  function _loadBuiltinResources() {
2109
2262
  return _loadBuiltinResources2.apply(this, arguments);
2110
2263
  }
2111
2264
  return _loadBuiltinResources;
2112
2265
  }()
2266
+ }, {
2267
+ key: "_checkDevicePermission",
2268
+ value: function () {
2269
+ var _checkDevicePermission2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee21(mediaType) {
2270
+ var _this15 = this;
2271
+ var hasSystemPermission, dialogMap, isDialogOpened;
2272
+ return _regeneratorRuntime.wrap(function (_context21) {
2273
+ while (1) switch (_context21.prev = _context21.next) {
2274
+ case 0:
2275
+ hasSystemPermission = true;
2276
+ dialogMap = {
2277
+ camera: {
2278
+ title: transI18n('fmt_camera_popup_label_restricted'),
2279
+ desc: transI18n('fmt_camera_popup_label_system_change'),
2280
+ img: bg1
2281
+ },
2282
+ microphone: {
2283
+ title: transI18n('fmt_audio_popup_label_restricted'),
2284
+ desc: transI18n('fmt_audio_popup_label_system_change'),
2285
+ img: bg2
2286
+ }
2287
+ };
2288
+ if (!isElectron()) {
2289
+ _context21.next = 4;
2290
+ break;
2291
+ }
2292
+ if (!(mediaType === FcrUISystemPereferencesType.Camera)) {
2293
+ _context21.next = 2;
2294
+ break;
2295
+ }
2296
+ _context21.next = 1;
2297
+ return this._facilityProvider.checkCameraPermission();
2298
+ case 1:
2299
+ hasSystemPermission = _context21.sent;
2300
+ case 2:
2301
+ if (!(mediaType === FcrUISystemPereferencesType.Microphone)) {
2302
+ _context21.next = 4;
2303
+ break;
2304
+ }
2305
+ _context21.next = 3;
2306
+ return this._facilityProvider.checkMicrophonePermission();
2307
+ case 3:
2308
+ hasSystemPermission = _context21.sent;
2309
+ case 4:
2310
+ if (!this._released) {
2311
+ _context21.next = 5;
2312
+ break;
2313
+ }
2314
+ return _context21.abrupt("return");
2315
+ case 5:
2316
+ if (!hasSystemPermission) {
2317
+ isDialogOpened = this._dialogProvider.isDialogOpened(FcrUIDialogKey.SYSTEM_PREFERENCE);
2318
+ if (!isDialogOpened) {
2319
+ this._dialogProvider.openDialog(FcrUIDialogKey.SYSTEM_PREFERENCE, _objectSpread(_objectSpread({}, dialogMap[mediaType]), {}, {
2320
+ buttons: [{
2321
+ withClose: true,
2322
+ text: transI18n('fmt_audio_popup_button_system_change'),
2323
+ onClick: function onClick() {
2324
+ // TODO:
2325
+ // renderer.openSystemPreferences(mediaType);
2326
+ _this15._facilityProvider.openSystemPreferences(mediaType);
2327
+ _this15._pendingPermissionDeviceMap.set(mediaType, false);
2328
+ }
2329
+ }, {
2330
+ withClose: true,
2331
+ styleType: 'white',
2332
+ text: transI18n('fmt_audio_popup_button_cancel'),
2333
+ onClick: function onClick() {
2334
+ _this15._pendingPermissionDeviceMap.set(mediaType, false);
2335
+ }
2336
+ }]
2337
+ }));
2338
+ }
2339
+ }
2340
+ if (mediaType === FcrUISystemPereferencesType.Microphone) {
2341
+ if (!hasSystemPermission) {
2342
+ this._observable.notifyObservers('onMediaPermissionMissing', mediaType);
2343
+ this.setMicrophoneEnabled(false);
2344
+ }
2345
+ }
2346
+ if (mediaType === FcrUISystemPereferencesType.Camera) {
2347
+ if (!hasSystemPermission) {
2348
+ this._observable.notifyObservers('onMediaPermissionMissing', mediaType);
2349
+ this.setCameraEnabled(false);
2350
+ }
2351
+ }
2352
+ return _context21.abrupt("return", hasSystemPermission);
2353
+ case 6:
2354
+ case "end":
2355
+ return _context21.stop();
2356
+ }
2357
+ }, _callee21, this);
2358
+ }));
2359
+ function _checkDevicePermission(_x1) {
2360
+ return _checkDevicePermission2.apply(this, arguments);
2361
+ }
2362
+ return _checkDevicePermission;
2363
+ }()
2113
2364
  }]);
2114
2365
  }();
2115
2366
  _FcrUIDeviceProviderImpl = FcrUIDeviceProviderImpl;
2116
- var _applyDecs$e = _applyDecs(_FcrUIDeviceProviderImpl, [[observable, 1, "_microphoneEnabled"], [observable, 1, "_isMicrophoneWorking"], [observable, 1, "_microphoneDevice"], [observable, 1, "_microphone"], [observable, 1, "_speakerDevice"], [observable, 1, "_speaker"], [observable, 1, "_cameraDevice"], [observable, 1, "currentIsMirror"], [observable, 1, "showForceOpenEffectDialog"], [observable, 1, "cameraEnabled"], [observable, 1, "showCameraPreview"], [observable, 1, "cameraList"], [observable, 1, "microphoneList"], [observable, 1, "microphoneVolumeLevel"], [observable, 1, "speakerList"], [observable, 1, "isLocalMirrorEnabled"], [observable, 1, "isLocalEditBeautyOptions"], [observable, 1, "speakerVolumeLevel"], [observable, 1, "speakerVolume"], [observable, 1, "microphoneVolume"], [observable, 1, "virtualBackgroundName"], [observable, 1, "enableBeauty"], [observable, 1, "beautyKey"], [observable, 1, "beautyOptions"], [observable, 1, "virtualBackgroundList"], [observable, 1, "microphoneDetecting"], [observable, 1, "speakerDetecting"], [observable, 1, "connectType"], [observable, 1, "isMainRoomAudioOff"], [bound, 2, "connectAudio"], [bound, 2, "disconnectAudio"], [computed, 3, "microphoneEnabled"], [computed, 3, "microphoneState"], [_startPlayLocalVideoDecs, 18, "startPlayLocalVideo"], [_stopPlayLocalVideoDecs, 18, "stopPlayLocalVideo"], [_startSpeakerTestDecs, 18, "startSpeakerTest"], [_stopSpeakerTestDecs, 18, "stopSpeakerTest"], [_setCurrentIsMirrorDecs, 18, "setCurrentIsMirror"], [_toggleLocalMirrorPreviewDecs, 18, "toggleLocalMirrorPreview"], [_setBeautyOptionsDecs, 18, "setBeautyOptions"], [_handleCancelForceOpenVideoEffectDecs, 18, "handleCancelForceOpenVideoEffect"], [_handleForceOpenVideoEffectDecs, 18, "handleForceOpenVideoEffect"], [bound, 2, "setVideoOrientation"], [_setCameraEnabledDecs, 18, "setCameraEnabled"], [_handleCameraEnabledChangedDecs, 18, "_handleCameraEnabledChanged"], [_setMicrophoneEnabledDecs, 18, "setMicrophoneEnabled"], [_toggleLocalMirrorDecs, 18, "toggleLocalMirror"], [_resetMirrorDecs, 18, "resetMirror"], [_startMicrophoneTestDecs, 18, "startMicrophoneTest"], [_stopMicrophoneTestDecs, 18, "stopMicrophoneTest"], [_enableVirtualBackgroundDecs, 18, "enableVirtualBackground"], [_setEditBeautyKeyDecs, 18, "setEditBeautyKey"], [_enableBeautyEffectDecs, 18, "enableBeautyEffect"], [_setCameraIdDecs, 18, "setCameraId"], [_setMainRoomAudioOffDecs, 18, "setMainRoomAudioOff"], [_setSpeakerIdDecs, 18, "setSpeakerId"], [_setMicrophoneIdDecs, 18, "setMicrophoneId"], [_setSpeakerVolumeDecs, 18, "setSpeakerVolume"], [_setMicrophoneVolumeDecs, 18, "setMicrophoneVolume"], [_startOrStopCameraDecs, 18, "startOrStopCamera"], [_setShowCameraPreviewDecs, 18, "setShowCameraPreview"], [_loadUiResourcesDecs, 18, "loadUiResources"], [bound, 2, "loadZipResources"], [bound, 2, "loadFileResources"], [bound, 2, "toggleAGC"], [_setConnectTypeDecs, 18, "setConnectType"], [_toggleLocalCameraPreviewDecs, 18, "toggleLocalCameraPreview"], [_getLoopbackDeviceIdDecs, 18, "getLoopbackDeviceId"], [_initDeviceListDecs, 18, "_initDeviceList"], [_handleMicrophoneAudioTrackDecs, 18, "_handleMicrophoneAudioTrack"], [_handleMicrophoneStateUpdatedDecs, 18, "_handleMicrophoneStateUpdated"], [_handleMicrophoneEnabledChangedDecs, 18, "_handleMicrophoneEnabledChanged"], [_handleCameraVideoTrackDecs, 18, "_handleCameraVideoTrack"], [bound, 2, "_handleCameraDeviceIdChanged"], [_handleSpeakerDetectingChangedDecs, 18, "_handleSpeakerDetectingChanged"], [_stopSelectedSpeakerTestDecs, 18, "_stopSelectedSpeakerTest"], [_handleMicrophoneDetectingChangedDecs, 18, "_handleMicrophoneDetectingChanged"], [_stopMicrophoneTestDecs2, 18, "_stopMicrophoneTest"], [bound, 2, "_handleMicrophoneIdChanged"], [bound, 2, "_handleMicrophoneDeviceIdChanged"], [bound, 2, "_handleSpeakerDeviceIdChanged"], [bound, 2, "_handleSpeakerIdChanged"], [_updateVirtualBackgroundListDecs, 18, "_updateVirtualBackgroundList"], [_handleSystemSelectedSpeakerChangedDecs, 18, "_handleSystemSelectedSpeakerChanged"], [_handleSystemSelectedMicrophoneChangedDecs, 18, "_handleSystemSelectedMicrophoneChanged"], [_correctSystemSelectedMicrophoneDeviceIdDecs, 18, "_correctSystemSelectedMicrophoneDeviceId"], [_handleSelectedSpeakerVolumeUpdatedDecs, 18, "_handleSelectedSpeakerVolumeUpdated"], [_handleSpeakerTestVolumeIndicationUpdatedDecs, 18, "_handleSpeakerTestVolumeIndicationUpdated"], [_handleMicrophoneVolumeIndicationUpdatedDecs, 18, "_handleMicrophoneVolumeIndicationUpdated"], [bound, 2, "_toggleLocalCameraPreview"], [bound, 2, "_handleCameraAdded"], [bound, 2, "_handleCameraRemoved"], [bound, 2, "_handleCameraListUpdated"], [bound, 2, "_handleMicrophoneAdded"], [bound, 2, "_handleMicrophoneRemoved"], [bound, 2, "_handleMicrophoneListUpdated"], [_handleSpeakerAddedDecs, 18, "_handleSpeakerAdded"], [_handleSpeakerRemovedDecs, 18, "_handleSpeakerRemoved"], [_handleSpeakerListUpdatedDecs, 18, "_handleSpeakerListUpdated"], [_getMicrophoneListDecs, 18, "_getMicrophoneList"], [_getSpeakerListDecs, 18, "_getSpeakerList"], [_formatDeviceListDecs, 18, "_formatDeviceList"], [_loadBuiltinResourcesDecs, 18, "_loadBuiltinResources"]], []).e;
2367
+ var _applyDecs$e = _applyDecs(_FcrUIDeviceProviderImpl, [[observable, 1, "_microphoneEnabled"], [observable, 1, "_isMicrophoneWorking"], [observable, 1, "_microphoneDevice"], [observable, 1, "_microphone"], [observable, 1, "_speakerDevice"], [observable, 1, "_speaker"], [observable, 1, "_cameraDevice"], [observable, 1, "currentIsMirror"], [observable, 1, "showForceOpenEffectDialog"], [observable, 1, "cameraEnabled"], [observable, 1, "showCameraPreview"], [observable, 1, "cameraList"], [observable, 1, "microphoneList"], [observable, 1, "microphoneVolumeLevel"], [observable, 1, "speakerList"], [observable, 1, "isLocalMirrorEnabled"], [observable, 1, "isLocalEditBeautyOptions"], [observable, 1, "speakerVolumeLevel"], [observable, 1, "speakerVolume"], [observable, 1, "microphoneVolume"], [observable, 1, "virtualBackgroundName"], [observable, 1, "enableBeauty"], [observable, 1, "beautyKey"], [observable, 1, "beautyOptions"], [observable, 1, "virtualBackgroundList"], [observable, 1, "microphoneDetecting"], [observable, 1, "speakerDetecting"], [observable, 1, "connectType"], [observable, 1, "isMainRoomAudioOff"], [bound, 2, "connectAudio"], [bound, 2, "disconnectAudio"], [computed, 3, "microphoneEnabled"], [computed, 3, "microphoneState"], [_startPlayLocalVideoDecs, 18, "startPlayLocalVideo"], [_stopPlayLocalVideoDecs, 18, "stopPlayLocalVideo"], [_startSpeakerTestDecs, 18, "startSpeakerTest"], [_stopSpeakerTestDecs, 18, "stopSpeakerTest"], [_setCurrentIsMirrorDecs, 18, "setCurrentIsMirror"], [_toggleLocalMirrorPreviewDecs, 18, "toggleLocalMirrorPreview"], [_setBeautyOptionsDecs, 18, "setBeautyOptions"], [_handleCancelForceOpenVideoEffectDecs, 18, "handleCancelForceOpenVideoEffect"], [_handleForceOpenVideoEffectDecs, 18, "handleForceOpenVideoEffect"], [bound, 2, "setVideoOrientation"], [_setCameraEnabledDecs, 18, "setCameraEnabled"], [_handleCameraEnabledChangedDecs, 18, "_handleCameraEnabledChanged"], [_setMicrophoneEnabledDecs, 18, "setMicrophoneEnabled"], [_toggleLocalMirrorDecs, 18, "toggleLocalMirror"], [_resetMirrorDecs, 18, "resetMirror"], [_startMicrophoneTestDecs, 18, "startMicrophoneTest"], [_stopMicrophoneTestDecs, 18, "stopMicrophoneTest"], [_enableVirtualBackgroundDecs, 18, "enableVirtualBackground"], [_setEditBeautyKeyDecs, 18, "setEditBeautyKey"], [_enableBeautyEffectDecs, 18, "enableBeautyEffect"], [_setCameraIdDecs, 18, "setCameraId"], [_setMainRoomAudioOffDecs, 18, "setMainRoomAudioOff"], [_setSpeakerIdDecs, 18, "setSpeakerId"], [_setMicrophoneIdDecs, 18, "setMicrophoneId"], [_setSpeakerVolumeDecs, 18, "setSpeakerVolume"], [_setMicrophoneVolumeDecs, 18, "setMicrophoneVolume"], [_setMicrophoneVolumeLevelDecs, 18, "setMicrophoneVolumeLevel"], [bound, 2, "setMicrophoneVolumeLevelDelegate"], [bound, 2, "clearMicrophoneVolumeLevelDelegate"], [_startOrStopCameraDecs, 18, "startOrStopCamera"], [_setShowCameraPreviewDecs, 18, "setShowCameraPreview"], [_loadUiResourcesDecs, 18, "loadUiResources"], [bound, 2, "loadZipResources"], [bound, 2, "loadFileResources"], [bound, 2, "toggleAGC"], [_setConnectTypeDecs, 18, "setConnectType"], [_toggleLocalCameraPreviewDecs, 18, "toggleLocalCameraPreview"], [_getLoopbackDeviceIdDecs, 18, "getLoopbackDeviceId"], [_startCameraTestDecs, 18, "startCameraTest"], [_startOrTestCameraTrackDecs, 18, "_startOrTestCameraTrack"], [_initDeviceListDecs, 18, "_initDeviceList"], [_handleMicrophoneAudioTrackDecs, 18, "_handleMicrophoneAudioTrack"], [_handleMicrophoneStateUpdatedDecs, 18, "_handleMicrophoneStateUpdated"], [_handleCameraStateUpdatedDecs, 18, "_handleCameraStateUpdated"], [_handleMicrophoneEnabledChangedDecs, 18, "_handleMicrophoneEnabledChanged"], [_handleCameraVideoTrackDecs, 18, "_handleCameraVideoTrack"], [bound, 2, "_handleCameraDeviceIdChanged"], [_handleSpeakerDetectingChangedDecs, 18, "_handleSpeakerDetectingChanged"], [_stopSelectedSpeakerTestDecs, 18, "_stopSelectedSpeakerTest"], [_handleMicrophoneDetectingChangedDecs, 18, "_handleMicrophoneDetectingChanged"], [_stopMicrophoneTestDecs2, 18, "_stopMicrophoneTest"], [bound, 2, "_handleMicrophoneIdChanged"], [bound, 2, "_handleMicrophoneDeviceIdChanged"], [bound, 2, "_handleSpeakerDeviceIdChanged"], [bound, 2, "_handleSpeakerIdChanged"], [_updateVirtualBackgroundListDecs, 18, "_updateVirtualBackgroundList"], [_handleSystemSelectedSpeakerChangedDecs, 18, "_handleSystemSelectedSpeakerChanged"], [_handleSystemSelectedMicrophoneChangedDecs, 18, "_handleSystemSelectedMicrophoneChanged"], [_correctSystemSelectedMicrophoneDeviceIdDecs, 18, "_correctSystemSelectedMicrophoneDeviceId"], [_handleSelectedSpeakerVolumeUpdatedDecs, 18, "_handleSelectedSpeakerVolumeUpdated"], [_handleSpeakerTestVolumeIndicationUpdatedDecs, 18, "_handleSpeakerTestVolumeIndicationUpdated"], [_handleMicrophoneVolumeIndicationUpdatedDecs, 18, "_handleMicrophoneVolumeIndicationUpdated"], [bound, 2, "_toggleLocalCameraPreview"], [bound, 2, "_handleCameraAdded"], [bound, 2, "_handleCameraRemoved"], [bound, 2, "_handleCameraListUpdated"], [bound, 2, "_handleMicrophoneAdded"], [bound, 2, "_handleMicrophoneRemoved"], [bound, 2, "_handleMicrophoneListUpdated"], [_handleSpeakerAddedDecs, 18, "_handleSpeakerAdded"], [_handleSpeakerRemovedDecs, 18, "_handleSpeakerRemoved"], [_handleSpeakerListUpdatedDecs, 18, "_handleSpeakerListUpdated"], [_getMicrophoneListDecs, 18, "_getMicrophoneList"], [_getSpeakerListDecs, 18, "_getSpeakerList"], [_formatDeviceListDecs, 18, "_formatDeviceList"], [_loadBuiltinResourcesDecs, 18, "_loadBuiltinResources"], [_checkDevicePermissionDecs, 18, "_checkDevicePermission"]], []).e;
2117
2368
  var _applyDecs$e2 = _slicedToArray(_applyDecs$e, 30);
2118
2369
  _init__microphoneEnabled = _applyDecs$e2[0];
2119
2370
  _init__isMicrophoneWorking = _applyDecs$e2[1];