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
@@ -10,8 +10,10 @@ require("core-js/modules/es.date.to-primitive.js");
10
10
  require("core-js/modules/es.function.bind.js");
11
11
  require("core-js/modules/es.number.constructor.js");
12
12
  require("core-js/modules/es.object.create.js");
13
+ require("core-js/modules/es.object.define-properties.js");
13
14
  require("core-js/modules/es.object.define-property.js");
14
15
  require("core-js/modules/es.object.get-own-property-descriptor.js");
16
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
15
17
  require("core-js/modules/esnext.function.metadata.js");
16
18
  require("core-js/modules/esnext.symbol.metadata.js");
17
19
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -25,6 +27,7 @@ require("core-js/modules/es.array.concat.js");
25
27
  require("core-js/modules/es.array.filter.js");
26
28
  require("core-js/modules/es.array.find.js");
27
29
  require("core-js/modules/es.array.for-each.js");
30
+ require("core-js/modules/es.array.includes.js");
28
31
  require("core-js/modules/es.array.iterator.js");
29
32
  require("core-js/modules/es.array.map.js");
30
33
  require("core-js/modules/es.array.push.js");
@@ -41,6 +44,7 @@ require("core-js/modules/es.object.to-string.js");
41
44
  require("core-js/modules/es.promise.js");
42
45
  require("core-js/modules/es.promise.all-settled.js");
43
46
  require("core-js/modules/es.regexp.exec.js");
47
+ require("core-js/modules/es.regexp.test.js");
44
48
  require("core-js/modules/es.set.js");
45
49
  require("core-js/modules/es.string.iterator.js");
46
50
  require("core-js/modules/es.weak-map.js");
@@ -113,11 +117,18 @@ var _i18n = require("agora-ui-foundation/lib/i18n");
113
117
  var _mobx = require("mobx");
114
118
  var _virtualBackdoundResources = require("../modules/device-pretest/assets/virtual-backdound-resources");
115
119
  var _type2 = require("../type");
116
- var _tools = require("../utilities/tools");
120
+ var _tools = require("agora-foundation/lib/utilities/tools");
117
121
  var _logger = require("../utilities/logger");
118
122
  var _clone = _interopRequireDefault(require("lodash/clone"));
123
+ var _type3 = require("../modules/toast-manager/type");
124
+ var _struct = require("./facility/struct");
125
+ var _bg = _interopRequireDefault(require("../modules/dialog/dialogs/system-preference/assets/bg1.png"));
126
+ var _bg2 = _interopRequireDefault(require("../modules/dialog/dialogs/system-preference/assets/bg2.png"));
127
+ var _constant = require("../utilities/constant");
119
128
  var _FcrUIDeviceProviderImpl;
120
- 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;
129
+ 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;
130
+ 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; }
131
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
121
132
  function _classPrivateFieldInitSpec(e, t, a) { _checkPrivateRedeclaration(e, t), t.set(e, a); }
122
133
  function _checkPrivateRedeclaration(e, t) { if (t.has(e)) throw new TypeError("Cannot initialize the same private elements twice on an object"); }
123
134
  function _classPrivateFieldSet(s, a, r) { return s.set(_assertClassBrand(s, a), r), r; }
@@ -162,9 +173,9 @@ var _Z = /*#__PURE__*/new WeakMap();
162
173
  var _a = /*#__PURE__*/new WeakMap();
163
174
  var _b = /*#__PURE__*/new WeakMap();
164
175
  var _c = /*#__PURE__*/new WeakMap();
165
- _ref = (_startPlayLocalVideoDecs = [_mobx.action, _mobx.action.bound], _stopPlayLocalVideoDecs = [_mobx.action, _mobx.action.bound], _startSpeakerTestDecs = [_mobx.action, _mobx.action.bound], _stopSpeakerTestDecs = [_mobx.action, _mobx.action.bound], _setCurrentIsMirrorDecs = [_mobx.action, _mobx.action.bound], _toggleLocalMirrorPreviewDecs = [_mobx.action, _mobx.action.bound], _setBeautyOptionsDecs = [_mobx.action, _mobx.action.bound], _handleCancelForceOpenVideoEffectDecs = [_mobx.action, _mobx.action.bound], _handleForceOpenVideoEffectDecs = [_mobx.action, _mobx.action.bound], _setCameraEnabledDecs = [_mobx.action, _mobx.action.bound], _handleCameraEnabledChangedDecs = [_mobx.action, _mobx.action.bound], _setMicrophoneEnabledDecs = [_mobx.action, _mobx.action.bound], _toggleLocalMirrorDecs = [_mobx.action, _mobx.action.bound], _resetMirrorDecs = [_mobx.action, _mobx.action.bound], _startMicrophoneTestDecs = [_mobx.action, _mobx.action.bound], _stopMicrophoneTestDecs = [_mobx.action, _mobx.action.bound], _enableVirtualBackgroundDecs = [_mobx.action, _mobx.action.bound], _setEditBeautyKeyDecs = [_mobx.action, _mobx.action.bound], _enableBeautyEffectDecs = [_mobx.action, _mobx.action.bound], _setCameraIdDecs = [_mobx.action, _mobx.action.bound], _setMainRoomAudioOffDecs = [_mobx.action, _mobx.action.bound], _setSpeakerIdDecs = [_mobx.action, _mobx.action.bound], _setMicrophoneIdDecs = [_mobx.action, _mobx.action.bound], _setSpeakerVolumeDecs = [_mobx.action, _mobx.action.bound], _setMicrophoneVolumeDecs = [_mobx.action, _mobx.action.bound], _startOrStopCameraDecs = [_mobx.action, _mobx.action.bound], _setShowCameraPreviewDecs = [_mobx.action, _mobx.action.bound], _loadUiResourcesDecs = [_mobx.action, _mobx.action.bound], _setConnectTypeDecs = [_mobx.action, _mobx.action.bound], _toggleLocalCameraPreviewDecs = [_mobx.action, _mobx.action.bound], _getLoopbackDeviceIdDecs = [_mobx.action, _mobx.action.bound], _initDeviceListDecs = [_mobx.action, _mobx.action.bound], _handleMicrophoneAudioTrackDecs = [_mobx.action, _mobx.action.bound], _handleMicrophoneStateUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleMicrophoneEnabledChangedDecs = [_mobx.action, _mobx.action.bound], _handleCameraVideoTrackDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerDetectingChangedDecs = [_mobx.action, _mobx.action.bound], _stopSelectedSpeakerTestDecs = [_mobx.action, _mobx.action.bound], _handleMicrophoneDetectingChangedDecs = [_mobx.action, _mobx.action.bound], _stopMicrophoneTestDecs2 = [_mobx.action, _mobx.action.bound], _updateVirtualBackgroundListDecs = [_mobx.action, _mobx.action.bound], _handleSystemSelectedSpeakerChangedDecs = [_mobx.action, _mobx.action.bound], _handleSystemSelectedMicrophoneChangedDecs = [_mobx.action, _mobx.action.bound], _correctSystemSelectedMicrophoneDeviceIdDecs = [_mobx.action, _mobx.action.bound], _handleSelectedSpeakerVolumeUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerTestVolumeIndicationUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleMicrophoneVolumeIndicationUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerAddedDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerRemovedDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerListUpdatedDecs = [_mobx.action, _mobx.action.bound], _getMicrophoneListDecs = [_mobx.action, _mobx.action.bound], _getSpeakerListDecs = [_mobx.action, _mobx.action.bound], _formatDeviceListDecs = [_mobx.action, _mobx.action.bound], _loadBuiltinResourcesDecs = [_mobx.action, _mobx.action.bound], "logger");
176
+ _ref = (_startPlayLocalVideoDecs = [_mobx.action, _mobx.action.bound], _stopPlayLocalVideoDecs = [_mobx.action, _mobx.action.bound], _startSpeakerTestDecs = [_mobx.action, _mobx.action.bound], _stopSpeakerTestDecs = [_mobx.action, _mobx.action.bound], _setCurrentIsMirrorDecs = [_mobx.action, _mobx.action.bound], _toggleLocalMirrorPreviewDecs = [_mobx.action, _mobx.action.bound], _setBeautyOptionsDecs = [_mobx.action, _mobx.action.bound], _handleCancelForceOpenVideoEffectDecs = [_mobx.action, _mobx.action.bound], _handleForceOpenVideoEffectDecs = [_mobx.action, _mobx.action.bound], _setCameraEnabledDecs = [_mobx.action, _mobx.action.bound], _handleCameraEnabledChangedDecs = [_mobx.action, _mobx.action.bound], _setMicrophoneEnabledDecs = [_mobx.action, _mobx.action.bound], _toggleLocalMirrorDecs = [_mobx.action, _mobx.action.bound], _resetMirrorDecs = [_mobx.action, _mobx.action.bound], _startMicrophoneTestDecs = [_mobx.action, _mobx.action.bound], _stopMicrophoneTestDecs = [_mobx.action, _mobx.action.bound], _enableVirtualBackgroundDecs = [_mobx.action, _mobx.action.bound], _setEditBeautyKeyDecs = [_mobx.action, _mobx.action.bound], _enableBeautyEffectDecs = [_mobx.action, _mobx.action.bound], _setCameraIdDecs = [_mobx.action, _mobx.action.bound], _setMainRoomAudioOffDecs = [_mobx.action, _mobx.action.bound], _setSpeakerIdDecs = [_mobx.action, _mobx.action.bound], _setMicrophoneIdDecs = [_mobx.action, _mobx.action.bound], _setSpeakerVolumeDecs = [_mobx.action, _mobx.action.bound], _setMicrophoneVolumeDecs = [_mobx.action, _mobx.action.bound], _setMicrophoneVolumeLevelDecs = [_mobx.action, _mobx.action.bound], _startOrStopCameraDecs = [_mobx.action, _mobx.action.bound], _setShowCameraPreviewDecs = [_mobx.action, _mobx.action.bound], _loadUiResourcesDecs = [_mobx.action, _mobx.action.bound], _setConnectTypeDecs = [_mobx.action, _mobx.action.bound], _toggleLocalCameraPreviewDecs = [_mobx.action, _mobx.action.bound], _getLoopbackDeviceIdDecs = [_mobx.action, _mobx.action.bound], _startCameraTestDecs = [_mobx.action, _mobx.action.bound], _startOrTestCameraTrackDecs = [_mobx.action, _mobx.action.bound], _initDeviceListDecs = [_mobx.action, _mobx.action.bound], _handleMicrophoneAudioTrackDecs = [_mobx.action, _mobx.action.bound], _handleMicrophoneStateUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleCameraStateUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleMicrophoneEnabledChangedDecs = [_mobx.action, _mobx.action.bound], _handleCameraVideoTrackDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerDetectingChangedDecs = [_mobx.action, _mobx.action.bound], _stopSelectedSpeakerTestDecs = [_mobx.action, _mobx.action.bound], _handleMicrophoneDetectingChangedDecs = [_mobx.action, _mobx.action.bound], _stopMicrophoneTestDecs2 = [_mobx.action, _mobx.action.bound], _updateVirtualBackgroundListDecs = [_mobx.action, _mobx.action.bound], _handleSystemSelectedSpeakerChangedDecs = [_mobx.action, _mobx.action.bound], _handleSystemSelectedMicrophoneChangedDecs = [_mobx.action, _mobx.action.bound], _correctSystemSelectedMicrophoneDeviceIdDecs = [_mobx.action, _mobx.action.bound], _handleSelectedSpeakerVolumeUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerTestVolumeIndicationUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleMicrophoneVolumeIndicationUpdatedDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerAddedDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerRemovedDecs = [_mobx.action, _mobx.action.bound], _handleSpeakerListUpdatedDecs = [_mobx.action, _mobx.action.bound], _getMicrophoneListDecs = [_mobx.action, _mobx.action.bound], _getSpeakerListDecs = [_mobx.action, _mobx.action.bound], _formatDeviceListDecs = [_mobx.action, _mobx.action.bound], _loadBuiltinResourcesDecs = [_mobx.action, _mobx.action.bound], _checkDevicePermissionDecs = [_mobx.action, _mobx.action.bound], "logger");
166
177
  var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/function () {
167
- function FcrUIDeviceProviderImpl(_renderer, _facilityProvider, _messageProvider, _mediaControl, _sharedSettingDataSource) {
178
+ function FcrUIDeviceProviderImpl(_renderer, _facilityProvider, _messageProvider, _mediaControl, _sharedSettingDataSource, _dialogProvider) {
168
179
  var _this = this;
169
180
  (0, _classCallCheck2["default"])(this, FcrUIDeviceProviderImpl);
170
181
  (0, _defineProperty2["default"])(this, _ref, (_initProto(this), (0, _logger.createLogger)({
@@ -186,11 +197,26 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
186
197
  (0, _defineProperty2["default"])(this, "_isForceEnableVirtualBackground", false);
187
198
  // 上次操作特效的类型
188
199
  (0, _defineProperty2["default"])(this, "_lastEnableVideoEffectType", _type2.FcrUIVideoEffectType.NONE);
200
+ (0, _defineProperty2["default"])(this, "_pendingPermissionDeviceMap", new Map());
201
+ (0, _defineProperty2["default"])(this, "_dialogObserver", {
202
+ onDialogClose: function onDialogClose(dialogKey) {
203
+ if (dialogKey === _constant.FcrUIDialogKey.SYSTEM_PREFERENCE) {
204
+ _this._pendingPermissionDeviceMap.forEach(function (value, key) {
205
+ if (value === true) {
206
+ _this._checkDevicePermission(key);
207
+ }
208
+ });
209
+ }
210
+ }
211
+ });
189
212
  // microphone observer
190
213
  (0, _defineProperty2["default"])(this, "_microphoneObserver", {
191
214
  onVolumeIndicationUpdated: this._handleMicrophoneVolumeIndicationUpdated,
192
215
  onMicrophoneStateUpdated: this._handleMicrophoneStateUpdated
193
216
  });
217
+ (0, _defineProperty2["default"])(this, "_cameraObserver", {
218
+ onCameraStateUpdated: this._handleCameraStateUpdated
219
+ });
194
220
  (0, _defineProperty2["default"])(this, "_mediaControlObserver", {
195
221
  onCameraAdded: this._handleCameraAdded,
196
222
  onCameraRemoved: this._handleCameraRemoved,
@@ -266,6 +292,7 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
266
292
  this._messageProvider = _messageProvider;
267
293
  this._mediaControl = _mediaControl;
268
294
  this._sharedSettingDataSource = _sharedSettingDataSource;
295
+ this._dialogProvider = _dialogProvider;
269
296
  this._disposer.push((0, _mobx.reaction)(function () {
270
297
  return _this.cameraEnabled;
271
298
  }, this._handleCameraEnabledChanged), (0, _mobx.reaction)(function () {
@@ -286,6 +313,7 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
286
313
  return _this.microphoneDetecting;
287
314
  }, this._handleMicrophoneDetectingChanged));
288
315
  this._mediaControl.addObserver(this._mediaControlObserver);
316
+ this._dialogProvider.addObserver(this._dialogObserver);
289
317
  this._initDeviceList();
290
318
  (0, _mobx.runInAction)(function () {
291
319
  _this.speakerVolume = _this._mediaControl.getSelectedSpeakerVolume();
@@ -608,14 +636,12 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
608
636
  }
609
637
  }
610
638
  if (this.microphoneList.length > 0) {
611
- this._messageProvider.showToast({
612
- type: 'normal',
613
- message: (0, _i18n.transI18n)('fmt_gateway_tips_nodata')
639
+ this._messageProvider.showToastByKey({
640
+ key: _type3.FcrUIToastKey.FMT_GATEWAY_TIPS_NODATA
614
641
  });
615
642
  } else {
616
- this._messageProvider.showToast({
617
- type: 'normal',
618
- message: (0, _i18n.transI18n)('fmt_toolbar_label_nodevice')
643
+ this._messageProvider.showToastByKey({
644
+ key: _type3.FcrUIToastKey.FMT_TOOLBAR_LABEL_NODEVICE
619
645
  });
620
646
  }
621
647
  this._hasExecutedConnectAudio = true;
@@ -746,22 +772,26 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
746
772
  }, {
747
773
  key: "release",
748
774
  value: function release() {
749
- var _this$_cameraVideoTra, _this$_microphoneAudi;
775
+ var _this$_cameraVideoTra, _this$_cameraVideoTra2, _this$_microphoneAudi, _this$_microphoneAudi2;
750
776
  this._released = true;
751
777
  this._mediaControl.removeObserver(this._mediaControlObserver);
752
778
  this._toggleLocalCameraPreview(false);
753
779
  this._localVideoViewSet.clear();
754
780
  (_this$_cameraVideoTra = this._cameraVideoTrack) === null || _this$_cameraVideoTra === void 0 || _this$_cameraVideoTra.stop();
781
+ (_this$_cameraVideoTra2 = this._cameraVideoTrack) === null || _this$_cameraVideoTra2 === void 0 || _this$_cameraVideoTra2.removeObserver(this._cameraObserver);
755
782
  this._cameraVideoTrack = null;
756
783
  this._stopSelectedSpeakerTest();
757
784
  this._stopMicrophoneTest();
758
785
  (_this$_microphoneAudi = this._microphoneAudioTrack) === null || _this$_microphoneAudi === void 0 || _this$_microphoneAudi.stop();
786
+ (_this$_microphoneAudi2 = this._microphoneAudioTrack) === null || _this$_microphoneAudi2 === void 0 || _this$_microphoneAudi2.removeObserver(this._microphoneObserver);
759
787
  this._microphoneAudioTrack = null;
760
788
  this._isMicrophoneWorking = false;
789
+ this._dialogProvider.removeObserver(this._dialogObserver);
761
790
  this._disposer.forEach(function (disposer) {
762
791
  return disposer();
763
792
  });
764
793
  this._disposer = [];
794
+ this._pendingPermissionDeviceMap.clear();
765
795
  }
766
796
  }, {
767
797
  key: "getScreenTrack",
@@ -823,10 +853,10 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
823
853
  }, {
824
854
  key: "stopPlayLocalVideo",
825
855
  value: function stopPlayLocalVideo(view) {
826
- var _this$_cameraVideoTra2;
856
+ var _this$_cameraVideoTra3;
827
857
  if (!view) return;
828
858
  this._localVideoViewSet["delete"](view);
829
- (_this$_cameraVideoTra2 = this._cameraVideoTrack) === null || _this$_cameraVideoTra2 === void 0 || _this$_cameraVideoTra2.stopPreview(view);
859
+ (_this$_cameraVideoTra3 = this._cameraVideoTrack) === null || _this$_cameraVideoTra3 === void 0 || _this$_cameraVideoTra3.stopPreview(view);
830
860
  }
831
861
  }, {
832
862
  key: "startSpeakerTest",
@@ -899,13 +929,13 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
899
929
  }, {
900
930
  key: "setVideoOrientation",
901
931
  value: function setVideoOrientation() {
902
- var _this$_cameraVideoTra3;
932
+ var _this$_cameraVideoTra4;
903
933
  if (this._videoRotation === _type.FcrVideoOrientation.VIDEO_ORIENTATION_270) {
904
934
  this._videoRotation = _type.FcrVideoOrientation.VIDEO_ORIENTATION_0;
905
935
  } else {
906
936
  this._videoRotation = this._videoRotation + 1;
907
937
  }
908
- (_this$_cameraVideoTra3 = this._cameraVideoTrack) === null || _this$_cameraVideoTra3 === void 0 || _this$_cameraVideoTra3.setVideoOrientation(this._videoRotation);
938
+ (_this$_cameraVideoTra4 = this._cameraVideoTrack) === null || _this$_cameraVideoTra4 === void 0 || _this$_cameraVideoTra4.setVideoOrientation(this._videoRotation);
909
939
  }
910
940
  }, {
911
941
  key: "setCameraEnabled",
@@ -1030,9 +1060,9 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1030
1060
  value: function enableAudioEchoCancellation(enable) {
1031
1061
  if (!this._microphoneAudioTrack) return;
1032
1062
  if (enable) {
1033
- this._microphoneAudioTrack.getAudioEffectEnhancer().enableEchoCancellation();
1063
+ this._microphoneAudioTrack.getAudioEffectEnhancer().enableAEC();
1034
1064
  } else {
1035
- this._microphoneAudioTrack.getAudioEffectEnhancer().disableEchoCancellation();
1065
+ this._microphoneAudioTrack.getAudioEffectEnhancer().disableAEC();
1036
1066
  }
1037
1067
  }
1038
1068
 
@@ -1053,12 +1083,7 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1053
1083
  key: "setNoiseLevel",
1054
1084
  value: function setNoiseLevel(level) {
1055
1085
  if (!this._microphoneAudioTrack) return;
1056
- if (level === _type2.FcrUIAiDenoiseLevel.CLOSE) {
1057
- this._microphoneAudioTrack.getAudioEffectEnhancer().disableAiDenoiser();
1058
- } else {
1059
- this._microphoneAudioTrack.getAudioEffectEnhancer().enableAiDenoiser();
1060
- this._microphoneAudioTrack.getAudioEffectEnhancer().setAiDenoiseLevel(level);
1061
- }
1086
+ this._microphoneAudioTrack.getAudioEffectEnhancer().setAiDenoiseLevel(level);
1062
1087
  }
1063
1088
  }, {
1064
1089
  key: "setCameraId",
@@ -1096,9 +1121,24 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1096
1121
  }, {
1097
1122
  key: "setMicrophoneVolume",
1098
1123
  value: function setMicrophoneVolume(value) {
1099
- var _this$_microphoneAudi2;
1124
+ var _this$_microphoneAudi3;
1100
1125
  this.microphoneVolume = value;
1101
- (_this$_microphoneAudi2 = this._microphoneAudioTrack) === null || _this$_microphoneAudi2 === void 0 || _this$_microphoneAudi2.adjustVolume(value);
1126
+ (_this$_microphoneAudi3 = this._microphoneAudioTrack) === null || _this$_microphoneAudi3 === void 0 || _this$_microphoneAudi3.adjustVolume(value);
1127
+ }
1128
+ }, {
1129
+ key: "setMicrophoneVolumeLevel",
1130
+ value: function setMicrophoneVolumeLevel(level) {
1131
+ this.microphoneVolumeLevel = level;
1132
+ }
1133
+ }, {
1134
+ key: "setMicrophoneVolumeLevelDelegate",
1135
+ value: function setMicrophoneVolumeLevelDelegate(delegate) {
1136
+ this._microphoneVolumeLevelDelegate = delegate;
1137
+ }
1138
+ }, {
1139
+ key: "clearMicrophoneVolumeLevelDelegate",
1140
+ value: function clearMicrophoneVolumeLevelDelegate() {
1141
+ this._microphoneVolumeLevelDelegate = undefined;
1102
1142
  }
1103
1143
  }, {
1104
1144
  key: "startOrStopCamera",
@@ -1333,36 +1373,61 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1333
1373
  return 'default';
1334
1374
  }
1335
1375
  }
1376
+ }, {
1377
+ key: "startCameraTest",
1378
+ value: function startCameraTest() {
1379
+ this._startOrTestCameraTrack(true);
1380
+ }
1381
+ }, {
1382
+ key: "_startOrTestCameraTrack",
1383
+ value: function _startOrTestCameraTrack() {
1384
+ var _this6 = this;
1385
+ var test = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
1386
+ var cameraTrack = this.cameraTrack;
1387
+ if (!cameraTrack) {
1388
+ this.logger.warn('camera video track is not set');
1389
+ return;
1390
+ }
1391
+ this._pendingPermissionDeviceMap.set(_struct.FcrUISystemPereferencesType.Camera, true);
1392
+ this._checkDevicePermission(_struct.FcrUISystemPereferencesType.Camera).then(function (hasSystemPermission) {
1393
+ if (_this6._released || !hasSystemPermission) return;
1394
+ if (test) {
1395
+ cameraTrack.startTest();
1396
+ } else {
1397
+ cameraTrack.start();
1398
+ }
1399
+ });
1400
+ }
1336
1401
  }, {
1337
1402
  key: "_initDeviceList",
1338
1403
  value: function _initDeviceList() {
1339
- var _this6 = this;
1404
+ var _this7 = this;
1340
1405
  // this.toggleAGC(true);
1341
1406
  Promise.all([this._mediaControl.getCameraList().then(function (list) {
1342
- if (_this6._released) return;
1343
- _this6.cameraList = list;
1344
- _this6.logger.info("[FcrDeviceStore] init camera list: ".concat((0, _imports.jsonstring)(list)));
1345
- if (_this6.cameraList.length > 0) {
1346
- var defaultCameraDeviceId = _this6.cameraList[0].deviceId;
1347
- _this6.logger.info('[FcrDeviceStore] select default camera id:', defaultCameraDeviceId);
1348
- _this6.setCameraId(defaultCameraDeviceId);
1407
+ if (_this7._released) return;
1408
+ _this7.cameraList = list;
1409
+ _this7.logger.info("[FcrDeviceStore] init camera list: ".concat((0, _imports.jsonstring)(list)));
1410
+ if (_this7.cameraList.length > 0) {
1411
+ var defaultCameraDeviceId = _this7.cameraList[0].deviceId;
1412
+ _this7.logger.info('[FcrDeviceStore] select default camera id:', defaultCameraDeviceId);
1413
+ _this7.setCameraId(defaultCameraDeviceId);
1349
1414
  }
1350
1415
  }), this._getMicrophoneList().then(/*#__PURE__*/function () {
1351
1416
  var _ref3 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7(microphoneList) {
1352
1417
  return _regenerator["default"].wrap(function (_context7) {
1353
1418
  while (1) switch (_context7.prev = _context7.next) {
1354
1419
  case 0:
1355
- if (!_this6._released) {
1420
+ if (!_this7._released) {
1356
1421
  _context7.next = 1;
1357
1422
  break;
1358
1423
  }
1359
1424
  return _context7.abrupt("return");
1360
1425
  case 1:
1361
- _this6.microphoneList = microphoneList;
1362
- _this6.logger.info("[FcrDeviceStore] init microphone list: ".concat((0, _imports.jsonstring)(microphoneList)));
1363
- if (_this6.microphoneList.length > 0) {
1426
+ _this7.microphoneList = microphoneList;
1427
+ _this7.logger.info("[FcrDeviceStore] init microphone list: ".concat((0, _imports.jsonstring)(microphoneList)));
1428
+ if (_this7.microphoneList.length > 0) {
1364
1429
  // 默认跟随系统
1365
- _this6.setMicrophoneId(DEFAULT_DEVICE_ID);
1430
+ _this7.setMicrophoneId(DEFAULT_DEVICE_ID);
1366
1431
  }
1367
1432
  case 2:
1368
1433
  case "end":
@@ -1378,17 +1443,17 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1378
1443
  return _regenerator["default"].wrap(function (_context8) {
1379
1444
  while (1) switch (_context8.prev = _context8.next) {
1380
1445
  case 0:
1381
- if (!_this6._released) {
1446
+ if (!_this7._released) {
1382
1447
  _context8.next = 1;
1383
1448
  break;
1384
1449
  }
1385
1450
  return _context8.abrupt("return");
1386
1451
  case 1:
1387
- _this6.speakerList = speakerList;
1388
- _this6.logger.info("[FcrDeviceStore] init speaker list: ".concat((0, _imports.jsonstring)(speakerList)));
1389
- if (_this6.speakerList.length > 0) {
1452
+ _this7.speakerList = speakerList;
1453
+ _this7.logger.info("[FcrDeviceStore] init speaker list: ".concat((0, _imports.jsonstring)(speakerList)));
1454
+ if (_this7.speakerList.length > 0) {
1390
1455
  // 默认跟随系统
1391
- _this6.setSpeakerId(DEFAULT_DEVICE_ID);
1456
+ _this7.setSpeakerId(DEFAULT_DEVICE_ID);
1392
1457
  }
1393
1458
  case 2:
1394
1459
  case "end":
@@ -1409,7 +1474,7 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1409
1474
  return;
1410
1475
  }
1411
1476
  if (this._microphoneEnabled) {
1412
- this._microphoneAudioTrack.start();
1477
+ this._startOrTestMicrophoneAudioTrack();
1413
1478
  } else {
1414
1479
  this._isMicrophoneWorking = false;
1415
1480
  this._microphoneAudioTrack.stop();
@@ -1419,7 +1484,27 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1419
1484
  }, {
1420
1485
  key: "_handleMicrophoneStateUpdated",
1421
1486
  value: function _handleMicrophoneStateUpdated(deviceId, state) {
1422
- this._isMicrophoneWorking = this._microphoneDevice.id === deviceId && state === _type.FcrMediaSourceState.OPEN;
1487
+ this._observable.notifyObservers('onMicrophoneStateChanged', deviceId, state);
1488
+ if (state === _type.FcrMediaSourceState.ERROR) {
1489
+ if (this._microphone.id === deviceId) {
1490
+ this.setMicrophoneEnabled(false);
1491
+ }
1492
+ }
1493
+ if (this._microphoneDevice.id === deviceId) {
1494
+ this._isMicrophoneWorking = [_type.FcrMediaSourceState.OPEN, _type.FcrMediaSourceState.ERROR].includes(state);
1495
+ } else {
1496
+ this.logger.info("[FcrDeviceStore] microphone state updated: ".concat(deviceId, " ").concat(state));
1497
+ }
1498
+ }
1499
+ }, {
1500
+ key: "_handleCameraStateUpdated",
1501
+ value: function _handleCameraStateUpdated(deviceId, state) {
1502
+ this._observable.notifyObservers('onCameraStateChanged', deviceId, state);
1503
+ if (state === _type.FcrMediaSourceState.ERROR) {
1504
+ if (this._cameraDevice.id === deviceId) {
1505
+ this.setCameraEnabled(false);
1506
+ }
1507
+ }
1423
1508
  }
1424
1509
  }, {
1425
1510
  key: "_handleMicrophoneEnabledChanged",
@@ -1436,7 +1521,7 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1436
1521
  return;
1437
1522
  }
1438
1523
  if (enable) {
1439
- cameraTrack.start();
1524
+ this._startOrTestCameraTrack();
1440
1525
  } else {
1441
1526
  this._toggleLocalCameraPreview(enable);
1442
1527
  cameraTrack.stop();
@@ -1449,14 +1534,16 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1449
1534
  this.logger.warn('camera id is not set');
1450
1535
  return;
1451
1536
  } else {
1452
- var _this$_cameraVideoTra4, _this$_cameraVideoTra5;
1453
- (_this$_cameraVideoTra4 = this._cameraVideoTrack) === null || _this$_cameraVideoTra4 === void 0 || _this$_cameraVideoTra4.stopTest();
1454
- (_this$_cameraVideoTra5 = this._cameraVideoTrack) === null || _this$_cameraVideoTra5 === void 0 || _this$_cameraVideoTra5.stop();
1537
+ var _this$_cameraVideoTra5, _this$_cameraVideoTra6, _this$_cameraVideoTra7;
1538
+ (_this$_cameraVideoTra5 = this._cameraVideoTrack) === null || _this$_cameraVideoTra5 === void 0 || _this$_cameraVideoTra5.removeObserver(this._cameraObserver);
1539
+ (_this$_cameraVideoTra6 = this._cameraVideoTrack) === null || _this$_cameraVideoTra6 === void 0 || _this$_cameraVideoTra6.stopTest();
1540
+ (_this$_cameraVideoTra7 = this._cameraVideoTrack) === null || _this$_cameraVideoTra7 === void 0 || _this$_cameraVideoTra7.stop();
1455
1541
  this._cameraVideoTrack = this._mediaControl.getCameraTrack(this._cameraDevice.id);
1542
+ this._cameraVideoTrack.addObserver(this._cameraObserver);
1456
1543
  this._handleCameraVideoTrack();
1457
1544
  if (this.showCameraPreview) {
1458
1545
  this.logger.debug("start camera video track showCameraPreview:".concat(this.showCameraPreview, ",cameraEnabled:").concat(this.cameraEnabled));
1459
- this._cameraVideoTrack.start();
1546
+ this._startOrTestCameraTrack();
1460
1547
  }
1461
1548
  this._observable.notifyObservers('onCameraChanged', this._cameraDevice.id);
1462
1549
  }
@@ -1465,24 +1552,23 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1465
1552
  }, {
1466
1553
  key: "_handleSpeakerDetectingChanged",
1467
1554
  value: function _handleSpeakerDetectingChanged() {
1468
- var _this7 = this;
1555
+ var _this8 = this;
1469
1556
  if (this._microphoneEnabled) {
1470
1557
  if (this.speakerDetecting) {
1471
- var _this$_microphoneAudi3;
1472
- (_this$_microphoneAudi3 = this._microphoneAudioTrack) === null || _this$_microphoneAudi3 === void 0 || _this$_microphoneAudi3.stop();
1473
- } else {
1474
1558
  var _this$_microphoneAudi4;
1475
- (_this$_microphoneAudi4 = this._microphoneAudioTrack) === null || _this$_microphoneAudi4 === void 0 || _this$_microphoneAudi4.start();
1559
+ (_this$_microphoneAudi4 = this._microphoneAudioTrack) === null || _this$_microphoneAudi4 === void 0 || _this$_microphoneAudi4.stop();
1560
+ } else {
1561
+ this._startOrTestMicrophoneAudioTrack();
1476
1562
  }
1477
1563
  }
1478
1564
  if (this.speakerDetecting) {
1479
1565
  var startSelectedSpeakerTest = function startSelectedSpeakerTest() {
1480
- var soundUrl = (0, _env.isElectron)() ? _this7._soundEffectFilePathMap.get('speakerTest') : _this7._soundEffectPlayUrlMap.get('speakerTest');
1566
+ var soundUrl = (0, _env.isElectron)() ? _this8._soundEffectFilePathMap.get('speakerTest') : _this8._soundEffectPlayUrlMap.get('speakerTest');
1481
1567
  if (!soundUrl) {
1482
- _this7.logger.error('speakerTest soundUrl is not set');
1568
+ _this8.logger.error('speakerTest soundUrl is not set');
1483
1569
  return;
1484
1570
  }
1485
- _this7._mediaControl.startSelectedSpeakerTest(soundUrl, _this7._volumeIndicationInterval);
1571
+ _this8._mediaControl.startSelectedSpeakerTest(soundUrl, _this8._volumeIndicationInterval);
1486
1572
  };
1487
1573
  startSelectedSpeakerTest();
1488
1574
  var sleep = 3000;
@@ -1494,6 +1580,30 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1494
1580
  this._stopSelectedSpeakerTest();
1495
1581
  }
1496
1582
  }
1583
+ }, {
1584
+ key: "_startOrTestMicrophoneAudioTrack",
1585
+ value: function _startOrTestMicrophoneAudioTrack() {
1586
+ var _this9 = this;
1587
+ var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
1588
+ _ref5$test = _ref5.test,
1589
+ test = _ref5$test === void 0 ? false : _ref5$test;
1590
+ var microphoneAudioTrack = this._microphoneAudioTrack;
1591
+ if (!microphoneAudioTrack) {
1592
+ this.logger.warn('microphone audio track is not set');
1593
+ return;
1594
+ }
1595
+ this._pendingPermissionDeviceMap.set(_struct.FcrUISystemPereferencesType.Microphone, true);
1596
+ this._checkDevicePermission(_struct.FcrUISystemPereferencesType.Microphone).then(function (hasSystemPermission) {
1597
+ if (_this9._released || !hasSystemPermission) {
1598
+ return;
1599
+ }
1600
+ if (test) {
1601
+ microphoneAudioTrack.startTest(_this9._volumeIndicationInterval);
1602
+ } else {
1603
+ microphoneAudioTrack.start();
1604
+ }
1605
+ });
1606
+ }
1497
1607
  }, {
1498
1608
  key: "_stopSelectedSpeakerTest",
1499
1609
  value: function _stopSelectedSpeakerTest() {
@@ -1505,8 +1615,9 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1505
1615
  key: "_handleMicrophoneDetectingChanged",
1506
1616
  value: function _handleMicrophoneDetectingChanged() {
1507
1617
  if (this.microphoneDetecting) {
1508
- var _this$_microphoneAudi5;
1509
- (_this$_microphoneAudi5 = this._microphoneAudioTrack) === null || _this$_microphoneAudi5 === void 0 || _this$_microphoneAudi5.startTest(this._volumeIndicationInterval);
1618
+ this._startOrTestMicrophoneAudioTrack({
1619
+ test: true
1620
+ });
1510
1621
  } else {
1511
1622
  this._stopMicrophoneTest();
1512
1623
  }
@@ -1514,28 +1625,28 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1514
1625
  }, {
1515
1626
  key: "_stopMicrophoneTest",
1516
1627
  value: function _stopMicrophoneTest() {
1517
- var _this$_microphoneAudi6;
1518
- (_this$_microphoneAudi6 = this._microphoneAudioTrack) === null || _this$_microphoneAudi6 === void 0 || _this$_microphoneAudi6.stopTest();
1628
+ var _this$_microphoneAudi5;
1629
+ (_this$_microphoneAudi5 = this._microphoneAudioTrack) === null || _this$_microphoneAudi5 === void 0 || _this$_microphoneAudi5.stopTest();
1519
1630
  this.microphoneVolumeLevel = 0;
1520
1631
  }
1521
1632
  }, {
1522
1633
  key: "_handleMicrophoneIdChanged",
1523
1634
  value: function () {
1524
1635
  var _handleMicrophoneIdChanged2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9() {
1525
- var _this8 = this;
1636
+ var _this0 = this;
1526
1637
  var _this$microphoneList$, _this$microphoneList$2, _this$microphoneList$3, name, productId, vendorId;
1527
1638
  return _regenerator["default"].wrap(function (_context9) {
1528
1639
  while (1) switch (_context9.prev = _context9.next) {
1529
1640
  case 0:
1530
1641
  if (!this.followSystemMicrophoneDevice) {
1531
1642
  name = ((_this$microphoneList$ = this.microphoneList.find(function (item) {
1532
- return item.deviceId === _this8._microphone.id;
1643
+ return item.deviceId === _this0._microphone.id;
1533
1644
  })) === null || _this$microphoneList$ === void 0 ? void 0 : _this$microphoneList$.deviceName) || null;
1534
1645
  productId = ((_this$microphoneList$2 = this.microphoneList.find(function (item) {
1535
- return item.deviceId === _this8._microphone.id;
1646
+ return item.deviceId === _this0._microphone.id;
1536
1647
  })) === null || _this$microphoneList$2 === void 0 ? void 0 : _this$microphoneList$2.productId) || null;
1537
1648
  vendorId = ((_this$microphoneList$3 = this.microphoneList.find(function (item) {
1538
- return item.deviceId === _this8._microphone.id;
1649
+ return item.deviceId === _this0._microphone.id;
1539
1650
  })) === null || _this$microphoneList$3 === void 0 ? void 0 : _this$microphoneList$3.vendorId) || null;
1540
1651
  this._microphoneDevice = {
1541
1652
  id: this._microphone.id,
@@ -1565,10 +1676,10 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1565
1676
  this.logger.debug('setSelectedMicrophone failed');
1566
1677
  this._microphone.id = DEFAULT_DEVICE_ID;
1567
1678
  } else {
1568
- var _this$_microphoneAudi7, _this$_microphoneAudi8;
1679
+ var _this$_microphoneAudi6, _this$_microphoneAudi7;
1569
1680
  this._isMicrophoneWorking = false;
1570
- (_this$_microphoneAudi7 = this._microphoneAudioTrack) === null || _this$_microphoneAudi7 === void 0 || _this$_microphoneAudi7.removeObserver(this._microphoneObserver);
1571
- (_this$_microphoneAudi8 = this._microphoneAudioTrack) === null || _this$_microphoneAudi8 === void 0 || _this$_microphoneAudi8.stop();
1681
+ (_this$_microphoneAudi6 = this._microphoneAudioTrack) === null || _this$_microphoneAudi6 === void 0 || _this$_microphoneAudi6.removeObserver(this._microphoneObserver);
1682
+ (_this$_microphoneAudi7 = this._microphoneAudioTrack) === null || _this$_microphoneAudi7 === void 0 || _this$_microphoneAudi7.stop();
1572
1683
  this._microphoneAudioTrack = this._mediaControl.getMicrophoneTrack(this._microphoneDevice.id);
1573
1684
  this._microphoneAudioTrack.addObserver(this._microphoneObserver);
1574
1685
  this._handleMicrophoneAudioTrack();
@@ -1592,20 +1703,20 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1592
1703
  key: "_handleSpeakerIdChanged",
1593
1704
  value: function () {
1594
1705
  var _handleSpeakerIdChanged2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee0() {
1595
- var _this9 = this;
1706
+ var _this1 = this;
1596
1707
  var _this$speakerList$fin, _this$speakerList$fin2, _this$speakerList$fin3, name, productId, vendorId;
1597
1708
  return _regenerator["default"].wrap(function (_context0) {
1598
1709
  while (1) switch (_context0.prev = _context0.next) {
1599
1710
  case 0:
1600
1711
  if (!this.followSystemSpeakerDevice) {
1601
1712
  name = ((_this$speakerList$fin = this.speakerList.find(function (item) {
1602
- return item.deviceId === _this9._speaker.id;
1713
+ return item.deviceId === _this1._speaker.id;
1603
1714
  })) === null || _this$speakerList$fin === void 0 ? void 0 : _this$speakerList$fin.deviceName) || null;
1604
1715
  productId = ((_this$speakerList$fin2 = this.speakerList.find(function (item) {
1605
- return item.deviceId === _this9._speaker.id;
1716
+ return item.deviceId === _this1._speaker.id;
1606
1717
  })) === null || _this$speakerList$fin2 === void 0 ? void 0 : _this$speakerList$fin2.productId) || null;
1607
1718
  vendorId = ((_this$speakerList$fin3 = this.speakerList.find(function (item) {
1608
- return item.deviceId === _this9._speaker.id;
1719
+ return item.deviceId === _this1._speaker.id;
1609
1720
  })) === null || _this$speakerList$fin3 === void 0 ? void 0 : _this$speakerList$fin3.vendorId) || null;
1610
1721
  this._speakerDevice = {
1611
1722
  id: this._speaker.id,
@@ -1741,12 +1852,16 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1741
1852
  }, {
1742
1853
  key: "_handleMicrophoneVolumeIndicationUpdated",
1743
1854
  value: function _handleMicrophoneVolumeIndicationUpdated(_, volume) {
1744
- this.microphoneVolumeLevel = getDeviceVolumeLevel(volume);
1855
+ if (this._microphoneVolumeLevelDelegate) {
1856
+ this._microphoneVolumeLevelDelegate(volume);
1857
+ } else {
1858
+ this.microphoneVolumeLevel = getDeviceVolumeLevel(volume);
1859
+ }
1745
1860
  }
1746
1861
  }, {
1747
1862
  key: "_toggleLocalCameraPreview",
1748
1863
  value: function _toggleLocalCameraPreview(enabled) {
1749
- var _this0 = this;
1864
+ var _this10 = this;
1750
1865
  var localVideoViewSet = this._localVideoViewSet;
1751
1866
  var cameraTrack = this._cameraVideoTrack;
1752
1867
  if (!cameraTrack) {
@@ -1762,31 +1877,69 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1762
1877
  localVideoViewSet.forEach(function (view) {
1763
1878
  cameraTrack.startPreview({
1764
1879
  renderMode: _fcrCore.FcrVideoRenderMode.HIDDEN,
1765
- isMirror: _this0.currentIsMirror
1880
+ isMirror: _this10.currentIsMirror
1766
1881
  }, view);
1767
1882
  });
1768
1883
  }
1769
1884
  }
1770
1885
  }, {
1771
1886
  key: "_handleCameraAdded",
1772
- value: function _handleCameraAdded() {
1773
- this._handleCameraListUpdated();
1774
- }
1775
- }, {
1776
- key: "_handleCameraRemoved",
1777
1887
  value: function () {
1778
- var _handleCameraRemoved2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee11() {
1779
- var _this1 = this;
1780
- var currentDeviceExist, defaultDeviceId;
1888
+ var _handleCameraAdded2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee11() {
1889
+ var defaultDeviceId;
1781
1890
  return _regenerator["default"].wrap(function (_context11) {
1782
1891
  while (1) switch (_context11.prev = _context11.next) {
1783
1892
  case 0:
1784
1893
  _context11.next = 1;
1785
1894
  return this._handleCameraListUpdated();
1786
1895
  case 1:
1787
- currentDeviceExist = this.cameraList.some(function (_ref5) {
1788
- var deviceId = _ref5.deviceId;
1789
- return _this1._cameraDevice.id === deviceId;
1896
+ if (this._cameraDevice.id) {
1897
+ _context11.next = 3;
1898
+ break;
1899
+ }
1900
+ if (!this._released) {
1901
+ _context11.next = 2;
1902
+ break;
1903
+ }
1904
+ return _context11.abrupt("return");
1905
+ case 2:
1906
+ if (this.cameraList.length > 0) {
1907
+ defaultDeviceId = this.cameraList[0].deviceId;
1908
+ this.setCameraId(defaultDeviceId);
1909
+ this.logger.info('set camera device id to newly added device:', defaultDeviceId);
1910
+ } else {
1911
+ this.logger.error('current camera device id is empty, but camera list is empty too');
1912
+ }
1913
+ _context11.next = 4;
1914
+ break;
1915
+ case 3:
1916
+ this.logger.info('current camera device id is set, no need to switch');
1917
+ case 4:
1918
+ case "end":
1919
+ return _context11.stop();
1920
+ }
1921
+ }, _callee11, this);
1922
+ }));
1923
+ function _handleCameraAdded() {
1924
+ return _handleCameraAdded2.apply(this, arguments);
1925
+ }
1926
+ return _handleCameraAdded;
1927
+ }()
1928
+ }, {
1929
+ key: "_handleCameraRemoved",
1930
+ value: function () {
1931
+ var _handleCameraRemoved2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee12() {
1932
+ var _this11 = this;
1933
+ var currentDeviceExist, defaultDeviceId;
1934
+ return _regenerator["default"].wrap(function (_context12) {
1935
+ while (1) switch (_context12.prev = _context12.next) {
1936
+ case 0:
1937
+ _context12.next = 1;
1938
+ return this._handleCameraListUpdated();
1939
+ case 1:
1940
+ currentDeviceExist = this.cameraList.some(function (_ref6) {
1941
+ var deviceId = _ref6.deviceId;
1942
+ return _this11._cameraDevice.id === deviceId;
1790
1943
  });
1791
1944
  if (!currentDeviceExist) {
1792
1945
  this.logger.info('[FcrDeviceStore] current speaker does not exist in speaker list, switch to follow system');
@@ -1798,9 +1951,9 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1798
1951
  }
1799
1952
  case 2:
1800
1953
  case "end":
1801
- return _context11.stop();
1954
+ return _context12.stop();
1802
1955
  }
1803
- }, _callee11, this);
1956
+ }, _callee12, this);
1804
1957
  }));
1805
1958
  function _handleCameraRemoved() {
1806
1959
  return _handleCameraRemoved2.apply(this, arguments);
@@ -1810,22 +1963,22 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1810
1963
  }, {
1811
1964
  key: "_handleCameraListUpdated",
1812
1965
  value: function () {
1813
- var _handleCameraListUpdated2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee12() {
1966
+ var _handleCameraListUpdated2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee13() {
1814
1967
  var cameraList;
1815
- return _regenerator["default"].wrap(function (_context12) {
1816
- while (1) switch (_context12.prev = _context12.next) {
1968
+ return _regenerator["default"].wrap(function (_context13) {
1969
+ while (1) switch (_context13.prev = _context13.next) {
1817
1970
  case 0:
1818
- _context12.next = 1;
1971
+ _context13.next = 1;
1819
1972
  return this._mediaControl.getCameraList();
1820
1973
  case 1:
1821
- cameraList = _context12.sent;
1974
+ cameraList = _context13.sent;
1822
1975
  this.cameraList = cameraList;
1823
1976
  this._observable.notifyObservers('onCameraListUpdated', this.cameraList);
1824
1977
  case 2:
1825
1978
  case "end":
1826
- return _context12.stop();
1979
+ return _context13.stop();
1827
1980
  }
1828
- }, _callee12, this);
1981
+ }, _callee13, this);
1829
1982
  }));
1830
1983
  function _handleCameraListUpdated() {
1831
1984
  return _handleCameraListUpdated2.apply(this, arguments);
@@ -1840,17 +1993,17 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1840
1993
  }, {
1841
1994
  key: "_handleMicrophoneRemoved",
1842
1995
  value: function () {
1843
- var _handleMicrophoneRemoved2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee13() {
1844
- var _this10 = this;
1996
+ var _handleMicrophoneRemoved2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee14() {
1997
+ var _this12 = this;
1845
1998
  var currentDeviceExist;
1846
- return _regenerator["default"].wrap(function (_context13) {
1847
- while (1) switch (_context13.prev = _context13.next) {
1999
+ return _regenerator["default"].wrap(function (_context14) {
2000
+ while (1) switch (_context14.prev = _context14.next) {
1848
2001
  case 0:
1849
- _context13.next = 1;
2002
+ _context14.next = 1;
1850
2003
  return this._handleMicrophoneListUpdated();
1851
2004
  case 1:
1852
2005
  currentDeviceExist = this.microphoneList.find(function (item) {
1853
- return item.deviceId === _this10._microphoneDevice.id;
2006
+ return item.deviceId === _this12._microphoneDevice.id;
1854
2007
  });
1855
2008
  if (!currentDeviceExist) {
1856
2009
  this.logger.info('[FcrDeviceStore] current microphone does not exist in microphone list, switch to follow system');
@@ -1858,9 +2011,9 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1858
2011
  }
1859
2012
  case 2:
1860
2013
  case "end":
1861
- return _context13.stop();
2014
+ return _context14.stop();
1862
2015
  }
1863
- }, _callee13, this);
2016
+ }, _callee14, this);
1864
2017
  }));
1865
2018
  function _handleMicrophoneRemoved() {
1866
2019
  return _handleMicrophoneRemoved2.apply(this, arguments);
@@ -1870,22 +2023,22 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1870
2023
  }, {
1871
2024
  key: "_handleMicrophoneListUpdated",
1872
2025
  value: function () {
1873
- var _handleMicrophoneListUpdated2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee14() {
2026
+ var _handleMicrophoneListUpdated2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee15() {
1874
2027
  var microphoneList;
1875
- return _regenerator["default"].wrap(function (_context14) {
1876
- while (1) switch (_context14.prev = _context14.next) {
2028
+ return _regenerator["default"].wrap(function (_context15) {
2029
+ while (1) switch (_context15.prev = _context15.next) {
1877
2030
  case 0:
1878
- _context14.next = 1;
2031
+ _context15.next = 1;
1879
2032
  return this._getMicrophoneList();
1880
2033
  case 1:
1881
- microphoneList = _context14.sent;
2034
+ microphoneList = _context15.sent;
1882
2035
  this.microphoneList = microphoneList;
1883
2036
  this._observable.notifyObservers('onMicrophoneListUpdated', this.microphoneList);
1884
2037
  case 2:
1885
2038
  case "end":
1886
- return _context14.stop();
2039
+ return _context15.stop();
1887
2040
  }
1888
- }, _callee14, this);
2041
+ }, _callee15, this);
1889
2042
  }));
1890
2043
  function _handleMicrophoneListUpdated() {
1891
2044
  return _handleMicrophoneListUpdated2.apply(this, arguments);
@@ -1900,18 +2053,18 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1900
2053
  }, {
1901
2054
  key: "_handleSpeakerRemoved",
1902
2055
  value: function () {
1903
- var _handleSpeakerRemoved2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee15() {
1904
- var _this11 = this;
2056
+ var _handleSpeakerRemoved2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee16() {
2057
+ var _this13 = this;
1905
2058
  var currentDeviceExist;
1906
- return _regenerator["default"].wrap(function (_context15) {
1907
- while (1) switch (_context15.prev = _context15.next) {
2059
+ return _regenerator["default"].wrap(function (_context16) {
2060
+ while (1) switch (_context16.prev = _context16.next) {
1908
2061
  case 0:
1909
- _context15.next = 1;
2062
+ _context16.next = 1;
1910
2063
  return this._handleSpeakerListUpdated();
1911
2064
  case 1:
1912
2065
  // 如何设备移除了,应该切到跟随系统
1913
2066
  currentDeviceExist = this.speakerList.find(function (item) {
1914
- return item.deviceId === _this11._speakerDevice.id;
2067
+ return item.deviceId === _this13._speakerDevice.id;
1915
2068
  });
1916
2069
  if (!currentDeviceExist) {
1917
2070
  this.logger.info('[FcrDeviceStore] current speaker does not exist in speaker list, switch to follow system');
@@ -1919,9 +2072,9 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1919
2072
  }
1920
2073
  case 2:
1921
2074
  case "end":
1922
- return _context15.stop();
2075
+ return _context16.stop();
1923
2076
  }
1924
- }, _callee15, this);
2077
+ }, _callee16, this);
1925
2078
  }));
1926
2079
  function _handleSpeakerRemoved() {
1927
2080
  return _handleSpeakerRemoved2.apply(this, arguments);
@@ -1931,22 +2084,22 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1931
2084
  }, {
1932
2085
  key: "_handleSpeakerListUpdated",
1933
2086
  value: function () {
1934
- var _handleSpeakerListUpdated2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee16() {
2087
+ var _handleSpeakerListUpdated2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee17() {
1935
2088
  var speakerList;
1936
- return _regenerator["default"].wrap(function (_context16) {
1937
- while (1) switch (_context16.prev = _context16.next) {
2089
+ return _regenerator["default"].wrap(function (_context17) {
2090
+ while (1) switch (_context17.prev = _context17.next) {
1938
2091
  case 0:
1939
- _context16.next = 1;
2092
+ _context17.next = 1;
1940
2093
  return this._getSpeakerList();
1941
2094
  case 1:
1942
- speakerList = _context16.sent;
2095
+ speakerList = _context17.sent;
1943
2096
  this.speakerList = speakerList;
1944
2097
  this._observable.notifyObservers('onSpeakerListUpdated', this.speakerList);
1945
2098
  case 2:
1946
2099
  case "end":
1947
- return _context16.stop();
2100
+ return _context17.stop();
1948
2101
  }
1949
- }, _callee16, this);
2102
+ }, _callee17, this);
1950
2103
  }));
1951
2104
  function _handleSpeakerListUpdated() {
1952
2105
  return _handleSpeakerListUpdated2.apply(this, arguments);
@@ -1956,26 +2109,26 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1956
2109
  }, {
1957
2110
  key: "_getMicrophoneList",
1958
2111
  value: function () {
1959
- var _getMicrophoneList2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee17() {
2112
+ var _getMicrophoneList2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee18() {
1960
2113
  var systemSelectedMicrophone, deviceList, formatDeviceList;
1961
- return _regenerator["default"].wrap(function (_context17) {
1962
- while (1) switch (_context17.prev = _context17.next) {
2114
+ return _regenerator["default"].wrap(function (_context18) {
2115
+ while (1) switch (_context18.prev = _context18.next) {
1963
2116
  case 0:
1964
- _context17.next = 1;
2117
+ _context18.next = 1;
1965
2118
  return this._mediaControl.getSystemSelectedMicrophone();
1966
2119
  case 1:
1967
- systemSelectedMicrophone = _context17.sent;
1968
- _context17.next = 2;
2120
+ systemSelectedMicrophone = _context18.sent;
2121
+ _context18.next = 2;
1969
2122
  return this._mediaControl.getMicrophoneList();
1970
2123
  case 2:
1971
- deviceList = _context17.sent;
2124
+ deviceList = _context18.sent;
1972
2125
  formatDeviceList = this._formatDeviceList(deviceList, systemSelectedMicrophone);
1973
- return _context17.abrupt("return", formatDeviceList);
2126
+ return _context18.abrupt("return", formatDeviceList);
1974
2127
  case 3:
1975
2128
  case "end":
1976
- return _context17.stop();
2129
+ return _context18.stop();
1977
2130
  }
1978
- }, _callee17, this);
2131
+ }, _callee18, this);
1979
2132
  }));
1980
2133
  function _getMicrophoneList() {
1981
2134
  return _getMicrophoneList2.apply(this, arguments);
@@ -1985,26 +2138,26 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
1985
2138
  }, {
1986
2139
  key: "_getSpeakerList",
1987
2140
  value: function () {
1988
- var _getSpeakerList2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee18() {
2141
+ var _getSpeakerList2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee19() {
1989
2142
  var systemSelectedSpeaker, deviceList, formatDeviceList;
1990
- return _regenerator["default"].wrap(function (_context18) {
1991
- while (1) switch (_context18.prev = _context18.next) {
2143
+ return _regenerator["default"].wrap(function (_context19) {
2144
+ while (1) switch (_context19.prev = _context19.next) {
1992
2145
  case 0:
1993
- _context18.next = 1;
2146
+ _context19.next = 1;
1994
2147
  return this._mediaControl.getSystemSelectedSpeaker();
1995
2148
  case 1:
1996
- systemSelectedSpeaker = _context18.sent;
1997
- _context18.next = 2;
2149
+ systemSelectedSpeaker = _context19.sent;
2150
+ _context19.next = 2;
1998
2151
  return this._mediaControl.getSpeakerList();
1999
2152
  case 2:
2000
- deviceList = _context18.sent;
2153
+ deviceList = _context19.sent;
2001
2154
  formatDeviceList = this._formatDeviceList(deviceList, systemSelectedSpeaker);
2002
- return _context18.abrupt("return", formatDeviceList);
2155
+ return _context19.abrupt("return", formatDeviceList);
2003
2156
  case 3:
2004
2157
  case "end":
2005
- return _context18.stop();
2158
+ return _context19.stop();
2006
2159
  }
2007
- }, _callee18, this);
2160
+ }, _callee19, this);
2008
2161
  }));
2009
2162
  function _getSpeakerList() {
2010
2163
  return _getSpeakerList2.apply(this, arguments);
@@ -2054,16 +2207,16 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
2054
2207
  }, {
2055
2208
  key: "_loadBuiltinResources",
2056
2209
  value: function () {
2057
- var _loadBuiltinResources2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee19() {
2058
- var _this12 = this;
2210
+ var _loadBuiltinResources2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee20() {
2211
+ var _this14 = this;
2059
2212
  var _yield$this$_renderer, _yield$this$_renderer2, virtualBackgroundImages, _yield$this$_renderer3, virtualBackgroundVideos, _yield$this$_renderer4, soundEffectAudios, newVirtualBackgroundList, images, videos, soundEffectPlayUrlMap, soundEffectFilePathMap;
2060
- return _regenerator["default"].wrap(function (_context19) {
2061
- while (1) switch (_context19.prev = _context19.next) {
2213
+ return _regenerator["default"].wrap(function (_context20) {
2214
+ while (1) switch (_context20.prev = _context20.next) {
2062
2215
  case 0:
2063
- _context19.next = 1;
2216
+ _context20.next = 1;
2064
2217
  return this._renderer.loadBuiltinResources();
2065
2218
  case 1:
2066
- _yield$this$_renderer = _context19.sent;
2219
+ _yield$this$_renderer = _context20.sent;
2067
2220
  _yield$this$_renderer2 = _yield$this$_renderer.virtualBackgroundImages;
2068
2221
  virtualBackgroundImages = _yield$this$_renderer2 === void 0 ? [] : _yield$this$_renderer2;
2069
2222
  _yield$this$_renderer3 = _yield$this$_renderer.virtualBackgroundVideos;
@@ -2076,7 +2229,7 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
2076
2229
  name: (0, _tools.getFileNameWithoutExtension)(item),
2077
2230
  path: item,
2078
2231
  type: _virtualBackdoundResources.VirtualOption.IMG,
2079
- url: URL.createObjectURL(_this12._renderer.fileToBlob(item, 'image'))
2232
+ url: URL.createObjectURL(_this14._renderer.fileToBlob(item, 'image'))
2080
2233
  };
2081
2234
  });
2082
2235
  videos = virtualBackgroundVideos.map(function (item) {
@@ -2084,7 +2237,7 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
2084
2237
  name: (0, _tools.getFileNameWithoutExtension)(item),
2085
2238
  path: item,
2086
2239
  type: _virtualBackdoundResources.VirtualOption.VIDEO,
2087
- url: URL.createObjectURL(_this12._renderer.fileToBlob(item, 'video'))
2240
+ url: URL.createObjectURL(_this14._renderer.fileToBlob(item, 'video'))
2088
2241
  };
2089
2242
  });
2090
2243
  soundEffectPlayUrlMap = new Map();
@@ -2092,7 +2245,7 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
2092
2245
  Object.keys(soundEffectAudios).forEach(function (key) {
2093
2246
  var effectName = key;
2094
2247
  var filePath = soundEffectAudios[effectName];
2095
- soundEffectPlayUrlMap.set(effectName, URL.createObjectURL(_this12._renderer.fileToBlob(filePath, 'audio')));
2248
+ soundEffectPlayUrlMap.set(effectName, URL.createObjectURL(_this14._renderer.fileToBlob(filePath, 'audio')));
2096
2249
  soundEffectFilePathMap.set(effectName, filePath);
2097
2250
  });
2098
2251
  this.logger.info('load builtin image ui resources:', (0, _imports.jsonstring)(images));
@@ -2101,25 +2254,123 @@ var FcrUIDeviceProviderImpl = exports.FcrUIDeviceProviderImpl = /*#__PURE__*/fun
2101
2254
  newVirtualBackgroundList = newVirtualBackgroundList.concat(images);
2102
2255
  newVirtualBackgroundList = newVirtualBackgroundList.concat(videos);
2103
2256
  (0, _mobx.runInAction)(function () {
2104
- _this12._updateVirtualBackgroundList(newVirtualBackgroundList);
2105
- _this12._soundEffectFilePathMap = soundEffectFilePathMap;
2106
- _this12._soundEffectPlayUrlMap = soundEffectPlayUrlMap;
2257
+ _this14._updateVirtualBackgroundList(newVirtualBackgroundList);
2258
+ _this14._soundEffectFilePathMap = soundEffectFilePathMap;
2259
+ _this14._soundEffectPlayUrlMap = soundEffectPlayUrlMap;
2107
2260
  });
2108
2261
  case 2:
2109
2262
  case "end":
2110
- return _context19.stop();
2263
+ return _context20.stop();
2111
2264
  }
2112
- }, _callee19, this);
2265
+ }, _callee20, this);
2113
2266
  }));
2114
2267
  function _loadBuiltinResources() {
2115
2268
  return _loadBuiltinResources2.apply(this, arguments);
2116
2269
  }
2117
2270
  return _loadBuiltinResources;
2118
2271
  }()
2272
+ }, {
2273
+ key: "_checkDevicePermission",
2274
+ value: function () {
2275
+ var _checkDevicePermission2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee21(mediaType) {
2276
+ var _this15 = this;
2277
+ var hasSystemPermission, dialogMap, isDialogOpened;
2278
+ return _regenerator["default"].wrap(function (_context21) {
2279
+ while (1) switch (_context21.prev = _context21.next) {
2280
+ case 0:
2281
+ hasSystemPermission = true;
2282
+ dialogMap = {
2283
+ camera: {
2284
+ title: (0, _i18n.transI18n)('fmt_camera_popup_label_restricted'),
2285
+ desc: (0, _i18n.transI18n)('fmt_camera_popup_label_system_change'),
2286
+ img: _bg["default"]
2287
+ },
2288
+ microphone: {
2289
+ title: (0, _i18n.transI18n)('fmt_audio_popup_label_restricted'),
2290
+ desc: (0, _i18n.transI18n)('fmt_audio_popup_label_system_change'),
2291
+ img: _bg2["default"]
2292
+ }
2293
+ };
2294
+ if (!(0, _env.isElectron)()) {
2295
+ _context21.next = 4;
2296
+ break;
2297
+ }
2298
+ if (!(mediaType === _struct.FcrUISystemPereferencesType.Camera)) {
2299
+ _context21.next = 2;
2300
+ break;
2301
+ }
2302
+ _context21.next = 1;
2303
+ return this._facilityProvider.checkCameraPermission();
2304
+ case 1:
2305
+ hasSystemPermission = _context21.sent;
2306
+ case 2:
2307
+ if (!(mediaType === _struct.FcrUISystemPereferencesType.Microphone)) {
2308
+ _context21.next = 4;
2309
+ break;
2310
+ }
2311
+ _context21.next = 3;
2312
+ return this._facilityProvider.checkMicrophonePermission();
2313
+ case 3:
2314
+ hasSystemPermission = _context21.sent;
2315
+ case 4:
2316
+ if (!this._released) {
2317
+ _context21.next = 5;
2318
+ break;
2319
+ }
2320
+ return _context21.abrupt("return");
2321
+ case 5:
2322
+ if (!hasSystemPermission) {
2323
+ isDialogOpened = this._dialogProvider.isDialogOpened(_constant.FcrUIDialogKey.SYSTEM_PREFERENCE);
2324
+ if (!isDialogOpened) {
2325
+ this._dialogProvider.openDialog(_constant.FcrUIDialogKey.SYSTEM_PREFERENCE, _objectSpread(_objectSpread({}, dialogMap[mediaType]), {}, {
2326
+ buttons: [{
2327
+ withClose: true,
2328
+ text: (0, _i18n.transI18n)('fmt_audio_popup_button_system_change'),
2329
+ onClick: function onClick() {
2330
+ // TODO:
2331
+ // renderer.openSystemPreferences(mediaType);
2332
+ _this15._facilityProvider.openSystemPreferences(mediaType);
2333
+ _this15._pendingPermissionDeviceMap.set(mediaType, false);
2334
+ }
2335
+ }, {
2336
+ withClose: true,
2337
+ styleType: 'white',
2338
+ text: (0, _i18n.transI18n)('fmt_audio_popup_button_cancel'),
2339
+ onClick: function onClick() {
2340
+ _this15._pendingPermissionDeviceMap.set(mediaType, false);
2341
+ }
2342
+ }]
2343
+ }));
2344
+ }
2345
+ }
2346
+ if (mediaType === _struct.FcrUISystemPereferencesType.Microphone) {
2347
+ if (!hasSystemPermission) {
2348
+ this._observable.notifyObservers('onMediaPermissionMissing', mediaType);
2349
+ this.setMicrophoneEnabled(false);
2350
+ }
2351
+ }
2352
+ if (mediaType === _struct.FcrUISystemPereferencesType.Camera) {
2353
+ if (!hasSystemPermission) {
2354
+ this._observable.notifyObservers('onMediaPermissionMissing', mediaType);
2355
+ this.setCameraEnabled(false);
2356
+ }
2357
+ }
2358
+ return _context21.abrupt("return", hasSystemPermission);
2359
+ case 6:
2360
+ case "end":
2361
+ return _context21.stop();
2362
+ }
2363
+ }, _callee21, this);
2364
+ }));
2365
+ function _checkDevicePermission(_x1) {
2366
+ return _checkDevicePermission2.apply(this, arguments);
2367
+ }
2368
+ return _checkDevicePermission;
2369
+ }()
2119
2370
  }]);
2120
2371
  }();
2121
2372
  _FcrUIDeviceProviderImpl = FcrUIDeviceProviderImpl;
2122
- var _applyDecs$e = _applyDecs(_FcrUIDeviceProviderImpl, [[_mobx.observable, 1, "_microphoneEnabled"], [_mobx.observable, 1, "_isMicrophoneWorking"], [_mobx.observable, 1, "_microphoneDevice"], [_mobx.observable, 1, "_microphone"], [_mobx.observable, 1, "_speakerDevice"], [_mobx.observable, 1, "_speaker"], [_mobx.observable, 1, "_cameraDevice"], [_mobx.observable, 1, "currentIsMirror"], [_mobx.observable, 1, "showForceOpenEffectDialog"], [_mobx.observable, 1, "cameraEnabled"], [_mobx.observable, 1, "showCameraPreview"], [_mobx.observable, 1, "cameraList"], [_mobx.observable, 1, "microphoneList"], [_mobx.observable, 1, "microphoneVolumeLevel"], [_mobx.observable, 1, "speakerList"], [_mobx.observable, 1, "isLocalMirrorEnabled"], [_mobx.observable, 1, "isLocalEditBeautyOptions"], [_mobx.observable, 1, "speakerVolumeLevel"], [_mobx.observable, 1, "speakerVolume"], [_mobx.observable, 1, "microphoneVolume"], [_mobx.observable, 1, "virtualBackgroundName"], [_mobx.observable, 1, "enableBeauty"], [_mobx.observable, 1, "beautyKey"], [_mobx.observable, 1, "beautyOptions"], [_mobx.observable, 1, "virtualBackgroundList"], [_mobx.observable, 1, "microphoneDetecting"], [_mobx.observable, 1, "speakerDetecting"], [_mobx.observable, 1, "connectType"], [_mobx.observable, 1, "isMainRoomAudioOff"], [_imports.bound, 2, "connectAudio"], [_imports.bound, 2, "disconnectAudio"], [_mobx.computed, 3, "microphoneEnabled"], [_mobx.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"], [_imports.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"], [_imports.bound, 2, "loadZipResources"], [_imports.bound, 2, "loadFileResources"], [_imports.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"], [_imports.bound, 2, "_handleCameraDeviceIdChanged"], [_handleSpeakerDetectingChangedDecs, 18, "_handleSpeakerDetectingChanged"], [_stopSelectedSpeakerTestDecs, 18, "_stopSelectedSpeakerTest"], [_handleMicrophoneDetectingChangedDecs, 18, "_handleMicrophoneDetectingChanged"], [_stopMicrophoneTestDecs2, 18, "_stopMicrophoneTest"], [_imports.bound, 2, "_handleMicrophoneIdChanged"], [_imports.bound, 2, "_handleMicrophoneDeviceIdChanged"], [_imports.bound, 2, "_handleSpeakerDeviceIdChanged"], [_imports.bound, 2, "_handleSpeakerIdChanged"], [_updateVirtualBackgroundListDecs, 18, "_updateVirtualBackgroundList"], [_handleSystemSelectedSpeakerChangedDecs, 18, "_handleSystemSelectedSpeakerChanged"], [_handleSystemSelectedMicrophoneChangedDecs, 18, "_handleSystemSelectedMicrophoneChanged"], [_correctSystemSelectedMicrophoneDeviceIdDecs, 18, "_correctSystemSelectedMicrophoneDeviceId"], [_handleSelectedSpeakerVolumeUpdatedDecs, 18, "_handleSelectedSpeakerVolumeUpdated"], [_handleSpeakerTestVolumeIndicationUpdatedDecs, 18, "_handleSpeakerTestVolumeIndicationUpdated"], [_handleMicrophoneVolumeIndicationUpdatedDecs, 18, "_handleMicrophoneVolumeIndicationUpdated"], [_imports.bound, 2, "_toggleLocalCameraPreview"], [_imports.bound, 2, "_handleCameraAdded"], [_imports.bound, 2, "_handleCameraRemoved"], [_imports.bound, 2, "_handleCameraListUpdated"], [_imports.bound, 2, "_handleMicrophoneAdded"], [_imports.bound, 2, "_handleMicrophoneRemoved"], [_imports.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;
2373
+ var _applyDecs$e = _applyDecs(_FcrUIDeviceProviderImpl, [[_mobx.observable, 1, "_microphoneEnabled"], [_mobx.observable, 1, "_isMicrophoneWorking"], [_mobx.observable, 1, "_microphoneDevice"], [_mobx.observable, 1, "_microphone"], [_mobx.observable, 1, "_speakerDevice"], [_mobx.observable, 1, "_speaker"], [_mobx.observable, 1, "_cameraDevice"], [_mobx.observable, 1, "currentIsMirror"], [_mobx.observable, 1, "showForceOpenEffectDialog"], [_mobx.observable, 1, "cameraEnabled"], [_mobx.observable, 1, "showCameraPreview"], [_mobx.observable, 1, "cameraList"], [_mobx.observable, 1, "microphoneList"], [_mobx.observable, 1, "microphoneVolumeLevel"], [_mobx.observable, 1, "speakerList"], [_mobx.observable, 1, "isLocalMirrorEnabled"], [_mobx.observable, 1, "isLocalEditBeautyOptions"], [_mobx.observable, 1, "speakerVolumeLevel"], [_mobx.observable, 1, "speakerVolume"], [_mobx.observable, 1, "microphoneVolume"], [_mobx.observable, 1, "virtualBackgroundName"], [_mobx.observable, 1, "enableBeauty"], [_mobx.observable, 1, "beautyKey"], [_mobx.observable, 1, "beautyOptions"], [_mobx.observable, 1, "virtualBackgroundList"], [_mobx.observable, 1, "microphoneDetecting"], [_mobx.observable, 1, "speakerDetecting"], [_mobx.observable, 1, "connectType"], [_mobx.observable, 1, "isMainRoomAudioOff"], [_imports.bound, 2, "connectAudio"], [_imports.bound, 2, "disconnectAudio"], [_mobx.computed, 3, "microphoneEnabled"], [_mobx.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"], [_imports.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"], [_imports.bound, 2, "setMicrophoneVolumeLevelDelegate"], [_imports.bound, 2, "clearMicrophoneVolumeLevelDelegate"], [_startOrStopCameraDecs, 18, "startOrStopCamera"], [_setShowCameraPreviewDecs, 18, "setShowCameraPreview"], [_loadUiResourcesDecs, 18, "loadUiResources"], [_imports.bound, 2, "loadZipResources"], [_imports.bound, 2, "loadFileResources"], [_imports.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"], [_imports.bound, 2, "_handleCameraDeviceIdChanged"], [_handleSpeakerDetectingChangedDecs, 18, "_handleSpeakerDetectingChanged"], [_stopSelectedSpeakerTestDecs, 18, "_stopSelectedSpeakerTest"], [_handleMicrophoneDetectingChangedDecs, 18, "_handleMicrophoneDetectingChanged"], [_stopMicrophoneTestDecs2, 18, "_stopMicrophoneTest"], [_imports.bound, 2, "_handleMicrophoneIdChanged"], [_imports.bound, 2, "_handleMicrophoneDeviceIdChanged"], [_imports.bound, 2, "_handleSpeakerDeviceIdChanged"], [_imports.bound, 2, "_handleSpeakerIdChanged"], [_updateVirtualBackgroundListDecs, 18, "_updateVirtualBackgroundList"], [_handleSystemSelectedSpeakerChangedDecs, 18, "_handleSystemSelectedSpeakerChanged"], [_handleSystemSelectedMicrophoneChangedDecs, 18, "_handleSystemSelectedMicrophoneChanged"], [_correctSystemSelectedMicrophoneDeviceIdDecs, 18, "_correctSystemSelectedMicrophoneDeviceId"], [_handleSelectedSpeakerVolumeUpdatedDecs, 18, "_handleSelectedSpeakerVolumeUpdated"], [_handleSpeakerTestVolumeIndicationUpdatedDecs, 18, "_handleSpeakerTestVolumeIndicationUpdated"], [_handleMicrophoneVolumeIndicationUpdatedDecs, 18, "_handleMicrophoneVolumeIndicationUpdated"], [_imports.bound, 2, "_toggleLocalCameraPreview"], [_imports.bound, 2, "_handleCameraAdded"], [_imports.bound, 2, "_handleCameraRemoved"], [_imports.bound, 2, "_handleCameraListUpdated"], [_imports.bound, 2, "_handleMicrophoneAdded"], [_imports.bound, 2, "_handleMicrophoneRemoved"], [_imports.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;
2123
2374
  var _applyDecs$e2 = (0, _slicedToArray2["default"])(_applyDecs$e, 30);
2124
2375
  _init__microphoneEnabled = _applyDecs$e2[0];
2125
2376
  _init__isMicrophoneWorking = _applyDecs$e2[1];