@100mslive/react-native-room-kit 0.0.3 → 0.0.4

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 (287) hide show
  1. package/lib/commonjs/HMSInstanceSetup.js +1 -14
  2. package/lib/commonjs/HMSInstanceSetup.js.map +1 -1
  3. package/lib/commonjs/HMSPrebuilt.js +13 -4
  4. package/lib/commonjs/HMSPrebuilt.js.map +1 -1
  5. package/lib/commonjs/HMSRoomSetup.js +38 -14
  6. package/lib/commonjs/HMSRoomSetup.js.map +1 -1
  7. package/lib/commonjs/Icons/Check/assets/check.png +0 -0
  8. package/lib/commonjs/Icons/Check/assets/check@2x.png +0 -0
  9. package/lib/commonjs/Icons/Check/assets/check@3x.png +0 -0
  10. package/lib/commonjs/Icons/Check/index.js +30 -0
  11. package/lib/commonjs/Icons/Check/index.js.map +1 -0
  12. package/lib/commonjs/Icons/Radio/assets/radio.png +0 -0
  13. package/lib/commonjs/Icons/Radio/assets/radio@2x.png +0 -0
  14. package/lib/commonjs/Icons/Radio/assets/radio@3x.png +0 -0
  15. package/lib/commonjs/Icons/Radio/index.js +30 -0
  16. package/lib/commonjs/Icons/Radio/index.js.map +1 -0
  17. package/lib/commonjs/Icons/index.js +22 -0
  18. package/lib/commonjs/Icons/index.js.map +1 -1
  19. package/lib/commonjs/components/BackButton.js +2 -2
  20. package/lib/commonjs/components/BackButton.js.map +1 -1
  21. package/lib/commonjs/components/DisplayView.js +0 -6
  22. package/lib/commonjs/components/DisplayView.js.map +1 -1
  23. package/lib/commonjs/components/HMSHLSStreamLoading.js +56 -0
  24. package/lib/commonjs/components/HMSHLSStreamLoading.js.map +1 -0
  25. package/lib/commonjs/components/HMSLocalVideoView.js +41 -0
  26. package/lib/commonjs/components/HMSLocalVideoView.js.map +1 -0
  27. package/lib/commonjs/components/{HMSSpeakerSettings.js → HMSManageAudioOutput.js} +41 -13
  28. package/lib/commonjs/components/HMSManageAudioOutput.js.map +1 -0
  29. package/lib/commonjs/components/HMSManageLeave.js +7 -60
  30. package/lib/commonjs/components/HMSManageLeave.js.map +1 -1
  31. package/lib/commonjs/components/HMSMeetingEnded.js +36 -0
  32. package/lib/commonjs/components/HMSMeetingEnded.js.map +1 -0
  33. package/lib/commonjs/components/HMSPreviewEditName.js +6 -3
  34. package/lib/commonjs/components/HMSPreviewEditName.js.map +1 -1
  35. package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js +64 -0
  36. package/lib/commonjs/components/HMSPreviewHLSLiveIndicator.js.map +1 -0
  37. package/lib/commonjs/components/HMSPreviewJoinButton.js +21 -9
  38. package/lib/commonjs/components/HMSPreviewJoinButton.js.map +1 -1
  39. package/lib/commonjs/components/HMSPreviewNetworkQuality.js +43 -0
  40. package/lib/commonjs/components/HMSPreviewNetworkQuality.js.map +1 -0
  41. package/lib/commonjs/components/HMSPreviewPeersList.js +2 -25
  42. package/lib/commonjs/components/HMSPreviewPeersList.js.map +1 -1
  43. package/lib/commonjs/components/HMSPreviewSubtitle.js +25 -2
  44. package/lib/commonjs/components/HMSPreviewSubtitle.js.map +1 -1
  45. package/lib/commonjs/components/HMSPreviewTile.js +2 -18
  46. package/lib/commonjs/components/HMSPreviewTile.js.map +1 -1
  47. package/lib/commonjs/components/HMSRoomOptions.js +2 -3
  48. package/lib/commonjs/components/HMSRoomOptions.js.map +1 -1
  49. package/lib/commonjs/components/HMSShowNetworkQuality.js +0 -2
  50. package/lib/commonjs/components/HMSShowNetworkQuality.js.map +1 -1
  51. package/lib/commonjs/components/Meeting.js +7 -0
  52. package/lib/commonjs/components/Meeting.js.map +1 -1
  53. package/lib/commonjs/components/MenuModal/Menu.js +1 -2
  54. package/lib/commonjs/components/MenuModal/Menu.js.map +1 -1
  55. package/lib/commonjs/components/Modals.js +39 -299
  56. package/lib/commonjs/components/Modals.js.map +1 -1
  57. package/lib/commonjs/components/Participants/ParticipantsList.js +1 -20
  58. package/lib/commonjs/components/Participants/ParticipantsList.js.map +1 -1
  59. package/lib/commonjs/components/PeerSettingsModalContent.js +2 -13
  60. package/lib/commonjs/components/PeerSettingsModalContent.js.map +1 -1
  61. package/lib/commonjs/components/Preview.js +79 -71
  62. package/lib/commonjs/components/Preview.js.map +1 -1
  63. package/lib/commonjs/components/RoomSettingsModalContent.js +2 -101
  64. package/lib/commonjs/components/RoomSettingsModalContent.js.map +1 -1
  65. package/lib/commonjs/components/index.js +0 -11
  66. package/lib/commonjs/components/index.js.map +1 -1
  67. package/lib/commonjs/hooks/useHmsInstance.js +0 -1
  68. package/lib/commonjs/hooks/useHmsInstance.js.map +1 -1
  69. package/lib/commonjs/hooks-util-selectors.js +8 -1
  70. package/lib/commonjs/hooks-util-selectors.js.map +1 -1
  71. package/lib/commonjs/hooks-util.js +129 -28
  72. package/lib/commonjs/hooks-util.js.map +1 -1
  73. package/lib/commonjs/redux/actionTypes.js +5 -1
  74. package/lib/commonjs/redux/actionTypes.js.map +1 -1
  75. package/lib/commonjs/redux/actions/index.js +15 -1
  76. package/lib/commonjs/redux/actions/index.js.map +1 -1
  77. package/lib/commonjs/redux/reducers/appState.js +14 -1
  78. package/lib/commonjs/redux/reducers/appState.js.map +1 -1
  79. package/lib/commonjs/utils/theme.js +1 -0
  80. package/lib/commonjs/utils/theme.js.map +1 -1
  81. package/lib/commonjs/utils/types.js +0 -1
  82. package/lib/commonjs/utils/types.js.map +1 -1
  83. package/lib/commonjs/utils.js +2 -2
  84. package/lib/commonjs/utils.js.map +1 -1
  85. package/lib/module/HMSInstanceSetup.js +1 -14
  86. package/lib/module/HMSInstanceSetup.js.map +1 -1
  87. package/lib/module/HMSPrebuilt.js +13 -3
  88. package/lib/module/HMSPrebuilt.js.map +1 -1
  89. package/lib/module/HMSRoomSetup.js +43 -19
  90. package/lib/module/HMSRoomSetup.js.map +1 -1
  91. package/lib/module/Icons/Check/assets/check.png +0 -0
  92. package/lib/module/Icons/Check/assets/check@2x.png +0 -0
  93. package/lib/module/Icons/Check/assets/check@3x.png +0 -0
  94. package/lib/module/Icons/Check/index.js +22 -0
  95. package/lib/module/Icons/Check/index.js.map +1 -0
  96. package/lib/module/Icons/Radio/assets/radio.png +0 -0
  97. package/lib/module/Icons/Radio/assets/radio@2x.png +0 -0
  98. package/lib/module/Icons/Radio/assets/radio@3x.png +0 -0
  99. package/lib/module/Icons/Radio/index.js +22 -0
  100. package/lib/module/Icons/Radio/index.js.map +1 -0
  101. package/lib/module/Icons/index.js +2 -0
  102. package/lib/module/Icons/index.js.map +1 -1
  103. package/lib/module/components/BackButton.js +3 -3
  104. package/lib/module/components/BackButton.js.map +1 -1
  105. package/lib/module/components/DisplayView.js +1 -7
  106. package/lib/module/components/DisplayView.js.map +1 -1
  107. package/lib/module/components/HMSHLSStreamLoading.js +47 -0
  108. package/lib/module/components/HMSHLSStreamLoading.js.map +1 -0
  109. package/lib/module/components/HMSLocalVideoView.js +32 -0
  110. package/lib/module/components/HMSLocalVideoView.js.map +1 -0
  111. package/lib/module/components/{HMSSpeakerSettings.js → HMSManageAudioOutput.js} +40 -12
  112. package/lib/module/components/HMSManageAudioOutput.js.map +1 -0
  113. package/lib/module/components/HMSManageLeave.js +9 -62
  114. package/lib/module/components/HMSManageLeave.js.map +1 -1
  115. package/lib/module/components/HMSMeetingEnded.js +27 -0
  116. package/lib/module/components/HMSMeetingEnded.js.map +1 -0
  117. package/lib/module/components/HMSPreviewEditName.js +7 -4
  118. package/lib/module/components/HMSPreviewEditName.js.map +1 -1
  119. package/lib/module/components/HMSPreviewHLSLiveIndicator.js +55 -0
  120. package/lib/module/components/HMSPreviewHLSLiveIndicator.js.map +1 -0
  121. package/lib/module/components/HMSPreviewJoinButton.js +21 -9
  122. package/lib/module/components/HMSPreviewJoinButton.js.map +1 -1
  123. package/lib/module/components/HMSPreviewNetworkQuality.js +34 -0
  124. package/lib/module/components/HMSPreviewNetworkQuality.js.map +1 -0
  125. package/lib/module/components/HMSPreviewPeersList.js +2 -25
  126. package/lib/module/components/HMSPreviewPeersList.js.map +1 -1
  127. package/lib/module/components/HMSPreviewSubtitle.js +25 -2
  128. package/lib/module/components/HMSPreviewSubtitle.js.map +1 -1
  129. package/lib/module/components/HMSPreviewTile.js +2 -18
  130. package/lib/module/components/HMSPreviewTile.js.map +1 -1
  131. package/lib/module/components/HMSRoomOptions.js +2 -3
  132. package/lib/module/components/HMSRoomOptions.js.map +1 -1
  133. package/lib/module/components/HMSShowNetworkQuality.js +0 -2
  134. package/lib/module/components/HMSShowNetworkQuality.js.map +1 -1
  135. package/lib/module/components/Meeting.js +7 -0
  136. package/lib/module/components/Meeting.js.map +1 -1
  137. package/lib/module/components/MenuModal/Menu.js +1 -2
  138. package/lib/module/components/MenuModal/Menu.js.map +1 -1
  139. package/lib/module/components/Modals.js +40 -298
  140. package/lib/module/components/Modals.js.map +1 -1
  141. package/lib/module/components/Participants/ParticipantsList.js +1 -20
  142. package/lib/module/components/Participants/ParticipantsList.js.map +1 -1
  143. package/lib/module/components/PeerSettingsModalContent.js +2 -13
  144. package/lib/module/components/PeerSettingsModalContent.js.map +1 -1
  145. package/lib/module/components/Preview.js +79 -71
  146. package/lib/module/components/Preview.js.map +1 -1
  147. package/lib/module/components/RoomSettingsModalContent.js +3 -100
  148. package/lib/module/components/RoomSettingsModalContent.js.map +1 -1
  149. package/lib/module/components/index.js +0 -1
  150. package/lib/module/components/index.js.map +1 -1
  151. package/lib/module/hooks/useHmsInstance.js +0 -1
  152. package/lib/module/hooks/useHmsInstance.js.map +1 -1
  153. package/lib/module/hooks-util-selectors.js +6 -0
  154. package/lib/module/hooks-util-selectors.js.map +1 -1
  155. package/lib/module/hooks-util.js +131 -32
  156. package/lib/module/hooks-util.js.map +1 -1
  157. package/lib/module/redux/actionTypes.js +5 -1
  158. package/lib/module/redux/actionTypes.js.map +1 -1
  159. package/lib/module/redux/actions/index.js +12 -0
  160. package/lib/module/redux/actions/index.js.map +1 -1
  161. package/lib/module/redux/reducers/appState.js +14 -1
  162. package/lib/module/redux/reducers/appState.js.map +1 -1
  163. package/lib/module/utils/theme.js +1 -0
  164. package/lib/module/utils/theme.js.map +1 -1
  165. package/lib/module/utils/types.js +0 -1
  166. package/lib/module/utils/types.js.map +1 -1
  167. package/lib/module/utils.js +2 -2
  168. package/lib/module/utils.js.map +1 -1
  169. package/lib/typescript/HMSInstanceSetup.d.ts.map +1 -1
  170. package/lib/typescript/HMSPrebuilt.d.ts +2 -3
  171. package/lib/typescript/HMSPrebuilt.d.ts.map +1 -1
  172. package/lib/typescript/HMSRoomSetup.d.ts.map +1 -1
  173. package/lib/typescript/Icons/Check/index.d.ts +7 -0
  174. package/lib/typescript/Icons/Check/index.d.ts.map +1 -0
  175. package/lib/typescript/Icons/Radio/index.d.ts +7 -0
  176. package/lib/typescript/Icons/Radio/index.d.ts.map +1 -0
  177. package/lib/typescript/Icons/index.d.ts +2 -0
  178. package/lib/typescript/Icons/index.d.ts.map +1 -1
  179. package/lib/typescript/components/CustomInput.d.ts +1 -1
  180. package/lib/typescript/components/DisplayView.d.ts.map +1 -1
  181. package/lib/typescript/components/HMSHLSStreamLoading.d.ts +3 -0
  182. package/lib/typescript/components/HMSHLSStreamLoading.d.ts.map +1 -0
  183. package/lib/typescript/components/HMSLocalVideoView.d.ts +3 -0
  184. package/lib/typescript/components/HMSLocalVideoView.d.ts.map +1 -0
  185. package/lib/typescript/components/HMSManageAudioOutput.d.ts +3 -0
  186. package/lib/typescript/components/HMSManageAudioOutput.d.ts.map +1 -0
  187. package/lib/typescript/components/HMSManageLeave.d.ts.map +1 -1
  188. package/lib/typescript/components/HMSMeetingEnded.d.ts +3 -0
  189. package/lib/typescript/components/HMSMeetingEnded.d.ts.map +1 -0
  190. package/lib/typescript/components/HMSPreviewHLSLiveIndicator.d.ts +3 -0
  191. package/lib/typescript/components/HMSPreviewHLSLiveIndicator.d.ts.map +1 -0
  192. package/lib/typescript/components/HMSPreviewJoinButton.d.ts.map +1 -1
  193. package/lib/typescript/components/HMSPreviewNetworkQuality.d.ts +3 -0
  194. package/lib/typescript/components/HMSPreviewNetworkQuality.d.ts.map +1 -0
  195. package/lib/typescript/components/HMSPreviewPeersList.d.ts.map +1 -1
  196. package/lib/typescript/components/HMSPreviewSubtitle.d.ts.map +1 -1
  197. package/lib/typescript/components/HMSPreviewTile.d.ts.map +1 -1
  198. package/lib/typescript/components/HMSRoomOptions.d.ts.map +1 -1
  199. package/lib/typescript/components/HMSShowNetworkQuality.d.ts.map +1 -1
  200. package/lib/typescript/components/Meeting.d.ts.map +1 -1
  201. package/lib/typescript/components/MenuModal/Menu.d.ts.map +1 -1
  202. package/lib/typescript/components/Modals.d.ts +1 -9
  203. package/lib/typescript/components/Modals.d.ts.map +1 -1
  204. package/lib/typescript/components/Participants/ParticipantsList.d.ts.map +1 -1
  205. package/lib/typescript/components/PeerSettingsModalContent.d.ts.map +1 -1
  206. package/lib/typescript/components/Preview.d.ts.map +1 -1
  207. package/lib/typescript/components/RoomSettingsModalContent.d.ts.map +1 -1
  208. package/lib/typescript/components/index.d.ts +0 -1
  209. package/lib/typescript/components/index.d.ts.map +1 -1
  210. package/lib/typescript/hooks-util-selectors.d.ts +2 -0
  211. package/lib/typescript/hooks-util-selectors.d.ts.map +1 -1
  212. package/lib/typescript/hooks-util.d.ts +9 -2
  213. package/lib/typescript/hooks-util.d.ts.map +1 -1
  214. package/lib/typescript/redux/actionTypes.d.ts +2 -0
  215. package/lib/typescript/redux/actionTypes.d.ts.map +1 -1
  216. package/lib/typescript/redux/actions/index.d.ts +16 -3
  217. package/lib/typescript/redux/actions/index.d.ts.map +1 -1
  218. package/lib/typescript/redux/index.d.ts +3 -1
  219. package/lib/typescript/redux/index.d.ts.map +1 -1
  220. package/lib/typescript/redux/reducers/appState.d.ts +3 -0
  221. package/lib/typescript/redux/reducers/appState.d.ts.map +1 -1
  222. package/lib/typescript/redux/reducers/index.d.ts +3 -1
  223. package/lib/typescript/redux/reducers/index.d.ts.map +1 -1
  224. package/lib/typescript/redux/reducers/userState.d.ts +2 -2
  225. package/lib/typescript/redux/reducers/userState.d.ts.map +1 -1
  226. package/lib/typescript/utils/theme.d.ts +1 -0
  227. package/lib/typescript/utils/theme.d.ts.map +1 -1
  228. package/lib/typescript/utils/types.d.ts +3 -4
  229. package/lib/typescript/utils/types.d.ts.map +1 -1
  230. package/package.json +9 -16
  231. package/src/HMSInstanceSetup.tsx +4 -31
  232. package/src/HMSPrebuilt.tsx +24 -6
  233. package/src/HMSRoomSetup.tsx +55 -17
  234. package/src/Icons/Check/assets/check.png +0 -0
  235. package/src/Icons/Check/assets/check@2x.png +0 -0
  236. package/src/Icons/Check/assets/check@3x.png +0 -0
  237. package/src/Icons/Check/index.tsx +27 -0
  238. package/src/Icons/Radio/assets/radio.png +0 -0
  239. package/src/Icons/Radio/assets/radio@2x.png +0 -0
  240. package/src/Icons/Radio/assets/radio@3x.png +0 -0
  241. package/src/Icons/Radio/index.tsx +27 -0
  242. package/src/Icons/index.ts +2 -0
  243. package/src/components/BackButton.tsx +3 -3
  244. package/src/components/DisplayView.tsx +0 -10
  245. package/src/components/HMSHLSStreamLoading.tsx +57 -0
  246. package/src/components/HMSLocalVideoView.tsx +42 -0
  247. package/src/components/{HMSSpeakerSettings.tsx → HMSManageAudioOutput.tsx} +69 -17
  248. package/src/components/HMSManageLeave.tsx +6 -77
  249. package/src/components/HMSMeetingEnded.tsx +29 -0
  250. package/src/components/HMSPreviewEditName.tsx +5 -4
  251. package/src/components/HMSPreviewHLSLiveIndicator.tsx +58 -0
  252. package/src/components/HMSPreviewJoinButton.tsx +30 -7
  253. package/src/components/HMSPreviewNetworkQuality.tsx +40 -0
  254. package/src/components/HMSPreviewPeersList.tsx +7 -46
  255. package/src/components/HMSPreviewSubtitle.tsx +26 -2
  256. package/src/components/HMSPreviewTile.tsx +2 -24
  257. package/src/components/HMSRoomOptions.tsx +2 -8
  258. package/src/components/HMSShowNetworkQuality.tsx +0 -1
  259. package/src/components/Meeting.tsx +11 -0
  260. package/src/components/MenuModal/Menu.tsx +1 -1
  261. package/src/components/Modals.tsx +4 -299
  262. package/src/components/Participants/ParticipantsList.tsx +0 -24
  263. package/src/components/PeerSettingsModalContent.tsx +9 -23
  264. package/src/components/Preview.tsx +129 -101
  265. package/src/components/RoomSettingsModalContent.tsx +1 -138
  266. package/src/components/index.ts +0 -1
  267. package/src/hooks/useHmsInstance.ts +0 -1
  268. package/src/hooks-util-selectors.tsx +10 -0
  269. package/src/hooks-util.ts +155 -42
  270. package/src/redux/actionTypes.ts +6 -0
  271. package/src/redux/actions/index.ts +13 -2
  272. package/src/redux/reducers/appState.ts +9 -0
  273. package/src/redux/reducers/userState.ts +2 -2
  274. package/src/utils/theme.ts +1 -0
  275. package/src/utils/types.ts +3 -4
  276. package/src/utils.ts +2 -2
  277. package/lib/commonjs/components/HMSSpeakerSettings.js.map +0 -1
  278. package/lib/commonjs/components/ZoomableView.js +0 -84
  279. package/lib/commonjs/components/ZoomableView.js.map +0 -1
  280. package/lib/module/components/HMSSpeakerSettings.js.map +0 -1
  281. package/lib/module/components/ZoomableView.js +0 -76
  282. package/lib/module/components/ZoomableView.js.map +0 -1
  283. package/lib/typescript/components/HMSSpeakerSettings.d.ts +0 -3
  284. package/lib/typescript/components/HMSSpeakerSettings.d.ts.map +0 -1
  285. package/lib/typescript/components/ZoomableView.d.ts +0 -6
  286. package/lib/typescript/components/ZoomableView.d.ts.map +0 -1
  287. package/src/components/ZoomableView.tsx +0 -91
package/src/hooks-util.ts CHANGED
@@ -23,18 +23,27 @@ import type {
23
23
  HMSSessionStoreValue,
24
24
  } from '@100mslive/react-native-hms';
25
25
  import Toast from 'react-native-simple-toast';
26
- import { useRef, useCallback, useEffect, useState, useMemo } from 'react';
26
+ import {
27
+ useRef,
28
+ useCallback,
29
+ useEffect,
30
+ useState,
31
+ useMemo,
32
+ useContext,
33
+ } from 'react';
27
34
 
28
35
  import { ModalTypes, PipModes } from './utils/types';
29
36
  import type { PeerTrackNode } from './utils/types';
30
37
  import { createPeerTrackNode, parseMetadata } from './utils/functions';
31
- import { useDispatch, useSelector, useStore } from 'react-redux';
38
+ import { batch, useDispatch, useSelector, useStore } from 'react-redux';
32
39
  import type { RootState } from './redux';
33
40
  import {
34
41
  addMessage,
35
42
  addPinnedMessage,
36
43
  addToPreviewPeersList,
44
+ changeMeetingState,
37
45
  changePipModeStatus,
46
+ changeStartingHLSStream,
38
47
  clearStore,
39
48
  removeFromPreviewPeersList,
40
49
  saveUserData,
@@ -61,7 +70,7 @@ import {
61
70
  LayoutAnimation,
62
71
  Platform,
63
72
  } from 'react-native';
64
- import { useNavigation } from '@react-navigation/native';
73
+ import { NavigationContext } from '@react-navigation/native';
65
74
  import {
66
75
  useIsLandscapeOrientation,
67
76
  useIsPortraitOrientation,
@@ -70,33 +79,24 @@ import {
70
79
  useSafeAreaFrame,
71
80
  useSafeAreaInsets,
72
81
  } from 'react-native-safe-area-context';
73
- import { selectIsHLSViewer } from './hooks-util-selectors';
82
+ import { selectIsHLSViewer, selectShouldGoLive } from './hooks-util-selectors';
74
83
 
75
84
  export const useHMSListeners = (
76
- meetingState: MeetingState,
77
- setPeerTrackNodes: React.Dispatch<React.SetStateAction<PeerTrackNode[]>>,
78
- setMeetingState: React.Dispatch<React.SetStateAction<MeetingState>>
85
+ setPeerTrackNodes: React.Dispatch<React.SetStateAction<PeerTrackNode[]>>
79
86
  ) => {
80
87
  const hmsInstance = useHMSInstance();
81
88
  const updateLocalPeer = useUpdateHMSLocalPeer(hmsInstance);
82
89
 
83
- useHMSRoomUpdate(hmsInstance, setMeetingState);
90
+ useHMSRoomUpdate(hmsInstance);
84
91
 
85
- useHMSPeersUpdate(
86
- meetingState,
87
- hmsInstance,
88
- updateLocalPeer,
89
- setPeerTrackNodes
90
- );
92
+ useHMSPeersUpdate(hmsInstance, updateLocalPeer, setPeerTrackNodes);
91
93
 
92
94
  useHMSTrackUpdate(hmsInstance, updateLocalPeer, setPeerTrackNodes);
93
95
  };
94
96
 
95
- const useHMSRoomUpdate = (
96
- hmsInstance: HMSSDK,
97
- setMeetingState: React.Dispatch<React.SetStateAction<MeetingState>>
98
- ) => {
97
+ const useHMSRoomUpdate = (hmsInstance: HMSSDK) => {
99
98
  const dispatch = useDispatch();
99
+ const reduxStore = useStore();
100
100
 
101
101
  useEffect(() => {
102
102
  const roomUpdateHandler = (data: {
@@ -112,12 +112,14 @@ const useHMSRoomUpdate = (
112
112
  * before ON_JOIN, if ON_ROOM comes then we can show Meeting screen to user, instead of Loader or Preview
113
113
  */
114
114
  if (room.localPeer.role?.name?.includes('hls-') ?? false) {
115
- dispatch(setHMSLocalPeerState(room.localPeer));
116
- setMeetingState((prevMeetingScreen) => {
117
- if (prevMeetingScreen !== MeetingState.IN_MEETING) {
118
- return MeetingState.IN_MEETING;
115
+ const meetingState = (reduxStore.getState() as RootState).app
116
+ .meetingState;
117
+
118
+ batch(() => {
119
+ dispatch(setHMSLocalPeerState(room.localPeer));
120
+ if (meetingState !== MeetingState.IN_MEETING) {
121
+ dispatch(changeMeetingState(MeetingState.IN_MEETING));
119
122
  }
120
- return prevMeetingScreen;
121
123
  });
122
124
  }
123
125
 
@@ -143,6 +145,8 @@ const useHMSRoomUpdate = (
143
145
  Toast.TOP
144
146
  );
145
147
  } else if (type === HMSRoomUpdate.HLS_STREAMING_STATE_UPDATED) {
148
+ dispatch(changeStartingHLSStream(false));
149
+
146
150
  let streaming = room?.hlsStreamingState?.running;
147
151
 
148
152
  Toast.showWithGravity(
@@ -212,13 +216,14 @@ type PeerUpdate = {
212
216
  };
213
217
 
214
218
  const useHMSPeersUpdate = (
215
- meetingState: MeetingState,
216
219
  hmsInstance: HMSSDK,
217
220
  updateLocalPeer: () => void,
218
221
  setPeerTrackNodes: React.Dispatch<React.SetStateAction<PeerTrackNode[]>>
219
222
  ) => {
220
223
  const dispatch = useDispatch();
221
- const inMeeting = meetingState === MeetingState.IN_MEETING;
224
+ const inMeeting = useSelector(
225
+ (state: RootState) => state.app.meetingState === MeetingState.IN_MEETING
226
+ );
222
227
 
223
228
  useEffect(() => {
224
229
  const peerUpdateHandler = ({ peer, type }: PeerUpdate) => {
@@ -739,7 +744,7 @@ export const useHMSPIPRoomLeave = () => {
739
744
  const hmsInstance = useHMSInstance();
740
745
  const dispatch = useDispatch();
741
746
  // TODO: What if this is undefined?
742
- const navigation = useNavigation();
747
+ const navigation = useContext(NavigationContext);
743
748
 
744
749
  useEffect(() => {
745
750
  const pipRoomLeaveHandler = () => {
@@ -767,13 +772,15 @@ export const useHMSPIPRoomLeave = () => {
767
772
  // dispatch(clearPeerData());
768
773
  // dispatch(clearHmsReference());
769
774
 
770
- // if (navigation.canGoBack()) {
771
- // navigation.goBack();
772
- // } else {
773
- // TODO: remove this later
774
- navigation.navigate('QRCodeScreen' as never);
775
- dispatch(clearStore());
776
- // }
775
+ if (navigation && navigation.canGoBack()) {
776
+ navigation.goBack();
777
+ dispatch(clearStore());
778
+ } else {
779
+ // TODO: call onLeave Callback if provided
780
+ // Otherwise default action is to show "Meeting Ended" screen
781
+ dispatch(clearStore()); // TODO: We need different clearStore for MeetingEnded
782
+ dispatch(changeMeetingState(MeetingState.MEETING_ENDED));
783
+ }
777
784
  })
778
785
  .catch((e) => {
779
786
  console.log(`Destroy HMS instance Error: ${e}`);
@@ -800,7 +807,7 @@ export const useHMSRemovedFromRoomUpdate = () => {
800
807
  const hmsInstance = useHMSInstance();
801
808
  const dispatch = useDispatch();
802
809
  // TODO: What if this is undefined?
803
- const navigation = useNavigation();
810
+ const navigation = useContext(NavigationContext);
804
811
 
805
812
  useEffect(() => {
806
813
  const removedFromRoomHandler = () => {
@@ -828,13 +835,15 @@ export const useHMSRemovedFromRoomUpdate = () => {
828
835
  // dispatch(clearPeerData());
829
836
  // dispatch(clearHmsReference());
830
837
 
831
- // if (navigation.canGoBack()) {
832
- // navigation.goBack();
833
- // } else {
834
- // TODO: remove this later
835
- navigation.navigate('QRCodeScreen' as never);
836
- dispatch(clearStore());
837
- // }
838
+ if (navigation && navigation.canGoBack()) {
839
+ navigation.goBack();
840
+ dispatch(clearStore());
841
+ } else {
842
+ // TODO: call onLeave Callback if provided
843
+ // Otherwise default action is to show "Meeting Ended" screen
844
+ dispatch(clearStore()); // TODO: We need different clearStore for MeetingEnded
845
+ dispatch(changeMeetingState(MeetingState.MEETING_ENDED));
846
+ }
838
847
  })
839
848
  .catch((e) => {
840
849
  console.log(`Destroy HMS instance Error: ${e}`);
@@ -1016,7 +1025,18 @@ export const useHMSConfig = () => {
1016
1025
  return hmsConfig;
1017
1026
  }, [hmsInstance]);
1018
1027
 
1019
- return { clearConfig, getConfig };
1028
+ const updateConfig = useCallback((data: Partial<HMSConfig>) => {
1029
+ if (!hmsConfig) {
1030
+ throw new Error('No HMSConfig is available to update!');
1031
+ }
1032
+
1033
+ Object.entries(data).forEach(([key, value]) => {
1034
+ // @ts-ignore
1035
+ hmsConfig[key] = value;
1036
+ });
1037
+ }, []);
1038
+
1039
+ return { clearConfig, updateConfig, getConfig };
1020
1040
  };
1021
1041
 
1022
1042
  export const useSafeDimensions = () => {
@@ -1152,3 +1172,96 @@ export const useFilteredParticipants = () => {
1152
1172
  setSearchText: setParticipantsSearchInput,
1153
1173
  };
1154
1174
  };
1175
+
1176
+ export const useShouldGoLive = () => {
1177
+ const shouldGoLive = useSelector(selectShouldGoLive);
1178
+
1179
+ return shouldGoLive;
1180
+ };
1181
+
1182
+ export const useLeaveMethods = () => {
1183
+ const navigation = useContext(NavigationContext);
1184
+ const hmsInstance = useHMSInstance();
1185
+ const dispatch = useDispatch();
1186
+
1187
+ const destroy = useCallback(async () => {
1188
+ try {
1189
+ const s = await hmsInstance.destroy();
1190
+ console.log('Destroy Success: ', s);
1191
+ // TODOS:
1192
+ // - If show `Meeting_Ended` is true, show Meeting screen by setting state to MEETING_ENDED
1193
+ // - Reset Redux States
1194
+ // - HMSInstance will not be available now
1195
+ // - When your presses "Re Join" Action button, restart process from root component
1196
+ // - When your presses "Done" Action button
1197
+ // - If we have callback fn, call it
1198
+ // - Otherwise try our best to navigate away from current screen
1199
+ //
1200
+ // - No screen to show
1201
+ // - No need to reset redux state?
1202
+ // - HMSInstance will be available till this point
1203
+ // - If we have callback fn, call it
1204
+ // - Otherwise try our best to navigate away from current screen
1205
+ // - When we are navigated away from screen, HMSInstance will be not available
1206
+
1207
+ // dispatch(clearMessageData());
1208
+ // dispatch(clearPeerData());
1209
+ // dispatch(clearHmsReference());
1210
+
1211
+ if (navigation && navigation.canGoBack()) {
1212
+ navigation.goBack();
1213
+ dispatch(clearStore());
1214
+ } else {
1215
+ // TODO: call onLeave Callback if provided
1216
+ // Otherwise default action is to show "Meeting Ended" screen
1217
+ dispatch(clearStore()); // TODO: We need different clearStore for MeetingEnded
1218
+ dispatch(changeMeetingState(MeetingState.MEETING_ENDED));
1219
+ }
1220
+ } catch (e) {
1221
+ console.log(`Destroy HMS instance Error: ${e}`);
1222
+ Toast.showWithGravity(
1223
+ `Destroy HMS instance Error: ${e}`,
1224
+ Toast.LONG,
1225
+ Toast.TOP
1226
+ );
1227
+ return Promise.reject(e);
1228
+ }
1229
+ }, [hmsInstance]);
1230
+
1231
+ const leave = useCallback(async () => {
1232
+ try {
1233
+ const d = await hmsInstance.leave();
1234
+ console.log('Leave Success: ', d);
1235
+ await destroy();
1236
+ } catch (e) {
1237
+ console.log(`Leave Room Error: ${e}`);
1238
+ Toast.showWithGravity(`Leave Room Error: ${e}`, Toast.LONG, Toast.TOP);
1239
+ }
1240
+ }, [destroy, hmsInstance]);
1241
+
1242
+ const goToPreview = useCallback(async () => {
1243
+ try {
1244
+ await hmsInstance.leave();
1245
+ await hmsInstance.destroy();
1246
+ dispatch(clearStore());
1247
+ } catch (error) {
1248
+ Toast.showWithGravity(
1249
+ `Unable to go to Preview: ${error}`,
1250
+ Toast.LONG,
1251
+ Toast.TOP
1252
+ );
1253
+ }
1254
+ }, [hmsInstance]);
1255
+
1256
+ const endRoom = useCallback(async () => {
1257
+ try {
1258
+ const d = await hmsInstance.endRoom('Host ended the room');
1259
+ console.log('EndRoom Success: ', d);
1260
+ await destroy();
1261
+ } catch (e) {
1262
+ console.log('EndRoom Error: ', e);
1263
+ }
1264
+ }, [destroy, hmsInstance]);
1265
+
1266
+ return { destroy, leave, endRoom, goToPreview };
1267
+ };
@@ -48,6 +48,10 @@ const SET_MODAL_TYPE = 'SET_MODAL_TYPE';
48
48
 
49
49
  const SET_PEER_TO_UPDATE = 'SET_PEER_TO_UPDATE';
50
50
 
51
+ const SET_MEETING_STATE = 'SET_MEETING_STATE';
52
+
53
+ const SET_STARTING_HLS_STREAM = 'SET_STARTING_HLS_STREAM';
54
+
51
55
  export default {
52
56
  ADD_PINNED_MESSAGE,
53
57
  ADD_MESSAGE,
@@ -69,6 +73,8 @@ export default {
69
73
  SET_RTC_STATS,
70
74
  SET_MODAL_TYPE,
71
75
  SET_PEER_TO_UPDATE,
76
+ SET_MEETING_STATE,
77
+ SET_STARTING_HLS_STREAM,
72
78
  };
73
79
 
74
80
  export enum HmsStateActionTypes {
@@ -11,12 +11,13 @@ import type {
11
11
  HMSSessionStore,
12
12
  } from '@100mslive/react-native-hms';
13
13
  import type {
14
- IOSBuildConfig,
14
+ HMSIOSScreenShareConfig,
15
15
  ModalTypes,
16
16
  PeerTrackNode,
17
17
  PipModes,
18
18
  } from '../../utils/types';
19
19
  import actionTypes, { HmsStateActionTypes } from '../actionTypes';
20
+ import { MeetingState } from '../../types';
20
21
 
21
22
  export const setPrebuiltData = (data: {
22
23
  roomCode: string;
@@ -28,7 +29,7 @@ export const setPrebuiltData = (data: {
28
29
  init: string;
29
30
  token: string;
30
31
  };
31
- ios?: IOSBuildConfig;
32
+ ios?: HMSIOSScreenShareConfig;
32
33
  };
33
34
  }) => ({
34
35
  type: HmsStateActionTypes.SET_PREBUILT_DATA,
@@ -204,3 +205,13 @@ export const removeFromPreviewPeersList = (peer: HMSPeer) => ({
204
205
  type: HmsStateActionTypes.REMOVE_FROM_PREVIEW_PEERS_LIST,
205
206
  peerId: peer.peerID,
206
207
  });
208
+
209
+ export const changeMeetingState = (meetingState: MeetingState) => ({
210
+ type: actionTypes.SET_MEETING_STATE,
211
+ payload: { meetingState },
212
+ });
213
+
214
+ export const changeStartingHLSStream = (startingHLSStream: boolean) => ({
215
+ type: actionTypes.SET_STARTING_HLS_STREAM,
216
+ payload: { startingHLSStream },
217
+ });
@@ -9,6 +9,7 @@ import {
9
9
  HMSRemoteAudioStats,
10
10
  HMSRemoteVideoStats,
11
11
  } from '@100mslive/react-native-hms';
12
+ import { MeetingState } from '../../types';
12
13
 
13
14
  type ActionType = {
14
15
  payload: { [key: string]: any };
@@ -37,6 +38,8 @@ type IntialStateType = {
37
38
  };
38
39
  modalType: ModalTypes;
39
40
  peerToUpdate: HMSPeer | null;
41
+ meetingState: MeetingState;
42
+ startingHLSStream: boolean;
40
43
  };
41
44
 
42
45
  const INITIAL_STATE: IntialStateType = {
@@ -54,6 +57,8 @@ const INITIAL_STATE: IntialStateType = {
54
57
  },
55
58
  modalType: ModalTypes.DEFAULT,
56
59
  peerToUpdate: null,
60
+ meetingState: MeetingState.NOT_JOINED,
61
+ startingHLSStream: false,
57
62
  };
58
63
 
59
64
  const appReducer = (
@@ -133,6 +138,10 @@ const appReducer = (
133
138
  [action.payload.trackId]: action.payload.stats,
134
139
  },
135
140
  };
141
+ case ActionTypes.SET_MEETING_STATE:
142
+ return { ...state, meetingState: action.payload.meetingState };
143
+ case ActionTypes.SET_STARTING_HLS_STREAM:
144
+ return { ...state, startingHLSStream: action.payload.startingHLSStream };
136
145
  case HmsStateActionTypes.CLEAR_STATES:
137
146
  return INITIAL_STATE;
138
147
  default:
@@ -5,7 +5,7 @@ import type {
5
5
  } from '@100mslive/react-native-hms';
6
6
  import { getMeetingCode, getMeetingUrl } from '../../utils/functions';
7
7
  import ActionTypes, { HmsStateActionTypes } from '../actionTypes';
8
- import type { IOSBuildConfig } from '../../utils/types';
8
+ import type { HMSIOSScreenShareConfig } from '../../utils/types';
9
9
 
10
10
  type ActionType = {
11
11
  payload: any;
@@ -24,7 +24,7 @@ type IntialStateType = {
24
24
  roomCode: string;
25
25
  isHLSFlow: boolean;
26
26
  roles: HMSRole[];
27
- iosBuildConfig: IOSBuildConfig | null;
27
+ iosBuildConfig: HMSIOSScreenShareConfig | null;
28
28
  };
29
29
 
30
30
  const INITIAL_STATE: IntialStateType = {
@@ -75,6 +75,7 @@ export const COLORS = {
75
75
  BLACK: '#000000',
76
76
  WHITE: '#FFFFFF',
77
77
  OVERLAY: 'rgba(34, 34, 34, 0.3)',
78
+ LOADING_BACKDROP: 'rgba(0, 0, 0, 0.7)',
78
79
  TEXT: {
79
80
  HIGH_EMPHASIS: 'rgba(245, 249, 255, 0.95)', // '#F5F9FF'
80
81
  MEDIUM_EMPHASIS: 'rgba(224, 236, 255, 0.80)', // '#E0ECFF'
@@ -48,7 +48,6 @@ export enum ModalTypes {
48
48
  ZOOM = 'zoom',
49
49
  PREVIEW = 'preview',
50
50
  PARTICIPANTS = 'participants',
51
- VOLUME = 'volume',
52
51
  AUDIO_MIXING_MODE = 'audioMixingMode',
53
52
  SET_AUDIO_SHARE_VOLUME = 'setAudioShareVolume',
54
53
  WELCOME_SETTINGS = 'welcomeSettings',
@@ -81,9 +80,9 @@ export enum Constants {
81
80
  MEET_URL = 'MEET_URL',
82
81
  }
83
82
 
84
- export type IOSBuildConfig = {
85
- appGroup?: string;
86
- preferredExtension?: string;
83
+ export type HMSIOSScreenShareConfig = {
84
+ appGroup: string;
85
+ preferredExtension: string;
87
86
  };
88
87
 
89
88
  export const SUPPORTED_ASPECT_RATIOS = [
package/src/utils.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  // @ts-nocheck
2
2
 
3
3
  const DEFAULT_JOINING_CONFIG = {
4
- mutedAudio: true,
5
- mutedVideo: true,
4
+ mutedAudio: false,
5
+ mutedVideo: false,
6
6
  skipPreview: false,
7
7
  audioMixer: false, // IOS only
8
8
  musicMode: false, // IOS only
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","_interopRequireWildcard","require","_reactNativeModal","_interopRequireDefault","_reactNative","_reactNativeSimpleToast","_reactRedux","_reactNativeHms","_Icons","_PressableIcon","_theme","_hooksUtil","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","HMSSpeakerSettings","hmsInstance","useHMSInstance","settingsModalVisible","setSettingsModalVisible","useState","currentAudioOutputDevice","setCurrentAudioOutputDevice","availableAudioOutputDevices","setAvailableAudioOutputDevices","debugMode","useSelector","state","user","useEffect","Platform","OS","ignore","getCurrentAudioOutputDevice","device","getAudioOutputRouteType","getAvailableAudioOutputDevices","devices","getAudioDevicesList","dismissModal","handleSpeakerChange","switchAudioOutputUsingIOSUI","length","then","setAudioDeviceChangeListener","data","Toast","showWithGravity","LONG","TOP","removeEventListener","HMSUpdateListenerActions","ON_AUDIO_DEVICE_CHANGED","handleSelectAudioDevice","switchAudioOutput","createElement","View","PressableIcon","onPress","SpeakerIcon","muted","getIcon","HMSAudioDevice","AUTOMATIC","isVisible","animationIn","animationOut","backdropColor","COLORS","BACKGROUND","DIM","backdropOpacity","onBackButtonPress","onBackdropPress","useNativeDriver","useNativeDriverForBackdrop","hideModalContentWhileAnimating","style","styles","modal","container","header","Text","headerText","TouchableOpacity","hitSlop","closeIconHitSlop","CloseIcon","emptyView","itemText","ScrollView","showsVerticalScrollIndicator","sort","map","Fragment","divider","audioDeviceItem","exports","StyleSheet","create","margin","justifyContent","backgroundColor","SURFACE","borderTopLeftRadius","borderTopRightRadius","paddingTop","paddingHorizontal","paddingBottom","flexDirection","alignItems","marginBottom","color","ON_SURFACE","HIGH","fontSize","fontFamily","fontWeight","lineHeight","letterSpacing","bottom","left","right","top","flex","marginHorizontal","height","paddingVertical","BORDER","DEFAULT","ofDevice","WaveIcon","BLUETOOTH","BluetoothIcon","EARPIECE","AnswerPhoneIcon","SPEAKER_PHONE","WIRED_HEADSET","HeadphonesIcon"],"sourceRoot":"../../../src","sources":["components/HMSSpeakerSettings.tsx"],"mappings":"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"}
@@ -1,84 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ZoomableView = void 0;
7
- var _react = _interopRequireWildcard(require("react"));
8
- var _reactNative = require("react-native");
9
- var _reactNativeGestureHandler = require("react-native-gesture-handler");
10
- var _theme = require("../utils/theme");
11
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
- const ZoomableView = _ref => {
14
- let {
15
- children
16
- } = _ref;
17
- const baseScale = (0, _react.useRef)(new _reactNative.Animated.Value(1)).current;
18
- const pinchScale = (0, _react.useRef)(new _reactNative.Animated.Value(1)).current;
19
- const scale = _reactNative.Animated.multiply(baseScale, pinchScale);
20
- let lastScale = 1;
21
- const translateX = (0, _react.useRef)(new _reactNative.Animated.Value(1)).current;
22
- const translateY = (0, _react.useRef)(new _reactNative.Animated.Value(1)).current;
23
- const handlePinch = _reactNative.Animated.event([{
24
- nativeEvent: {
25
- scale: pinchScale
26
- }
27
- }], {
28
- useNativeDriver: true
29
- });
30
- const handlePan = _reactNative.Animated.event([{
31
- nativeEvent: {
32
- translationX: translateX,
33
- translationY: translateY
34
- }
35
- }], {
36
- useNativeDriver: true
37
- });
38
- const onHandlerStateChange = (0, _react.useCallback)(() => {
39
- translateY.extractOffset();
40
- translateX.extractOffset();
41
- }, [translateX, translateY]);
42
- const onPinchHandlerStateChange = event => {
43
- if (event.nativeEvent.oldState === _reactNativeGestureHandler.State.ACTIVE) {
44
- lastScale *= event.nativeEvent.scale;
45
- baseScale.setValue(lastScale);
46
- pinchScale.setValue(1);
47
- }
48
- };
49
- return /*#__PURE__*/_react.default.createElement(_reactNativeGestureHandler.GestureHandlerRootView, {
50
- style: styles.container
51
- }, /*#__PURE__*/_react.default.createElement(_reactNativeGestureHandler.PanGestureHandler, {
52
- onGestureEvent: handlePan,
53
- onHandlerStateChange: onHandlerStateChange
54
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, null, /*#__PURE__*/_react.default.createElement(_reactNativeGestureHandler.PinchGestureHandler, {
55
- onGestureEvent: handlePinch,
56
- onHandlerStateChange: onPinchHandlerStateChange
57
- }, /*#__PURE__*/_react.default.createElement(_reactNative.Animated.View, {
58
- style: [styles.zoomableView, {
59
- transform: [{
60
- scale: scale
61
- }, {
62
- translateX
63
- }, {
64
- translateY
65
- }]
66
- }]
67
- }, children)))));
68
- };
69
- exports.ZoomableView = ZoomableView;
70
- const styles = _reactNative.StyleSheet.create({
71
- container: {
72
- backgroundColor: _theme.COLORS.BLACK
73
- },
74
- zoomableView: {
75
- width: '100%',
76
- marginVertical: 1,
77
- padding: 0.5,
78
- overflow: 'hidden',
79
- borderRadius: 10,
80
- justifyContent: 'center',
81
- alignSelf: 'center'
82
- }
83
- });
84
- //# sourceMappingURL=ZoomableView.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_reactNativeGestureHandler","_theme","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ZoomableView","_ref","children","baseScale","useRef","Animated","Value","current","pinchScale","scale","multiply","lastScale","translateX","translateY","handlePinch","event","nativeEvent","useNativeDriver","handlePan","translationX","translationY","onHandlerStateChange","useCallback","extractOffset","onPinchHandlerStateChange","oldState","State","ACTIVE","setValue","createElement","GestureHandlerRootView","style","styles","container","PanGestureHandler","onGestureEvent","View","PinchGestureHandler","zoomableView","transform","exports","StyleSheet","create","backgroundColor","COLORS","BLACK","width","marginVertical","padding","overflow","borderRadius","justifyContent","alignSelf"],"sourceRoot":"../../../src","sources":["components/ZoomableView.tsx"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","Modal","Platform","ScrollView","StyleSheet","Text","TouchableOpacity","View","Toast","useSelector","HMSUpdateListenerActions","HMSAudioDevice","AnswerPhoneIcon","BluetoothIcon","HeadphonesIcon","SpeakerIcon","WaveIcon","PressableIcon","COLORS","CloseIcon","useHMSInstance","HMSSpeakerSettings","hmsInstance","settingsModalVisible","setSettingsModalVisible","useState","currentAudioOutputDevice","setCurrentAudioOutputDevice","availableAudioOutputDevices","setAvailableAudioOutputDevices","debugMode","state","user","useEffect","OS","ignore","getCurrentAudioOutputDevice","device","getAudioOutputRouteType","getAvailableAudioOutputDevices","devices","getAudioDevicesList","dismissModal","handleSpeakerChange","switchAudioOutputUsingIOSUI","length","then","setAudioDeviceChangeListener","data","showWithGravity","LONG","TOP","removeEventListener","ON_AUDIO_DEVICE_CHANGED","handleSelectAudioDevice","switchAudioOutput","createElement","onPress","muted","getIcon","AUTOMATIC","isVisible","animationIn","animationOut","backdropColor","BACKGROUND","DIM","backdropOpacity","onBackButtonPress","onBackdropPress","useNativeDriver","useNativeDriverForBackdrop","hideModalContentWhileAnimating","style","styles","modal","container","header","headerText","hitSlop","closeIconHitSlop","emptyView","itemText","showsVerticalScrollIndicator","sort","map","Fragment","key","divider","audioDeviceItem","create","margin","justifyContent","backgroundColor","SURFACE","borderTopLeftRadius","borderTopRightRadius","paddingTop","paddingHorizontal","paddingBottom","flexDirection","alignItems","marginBottom","color","ON_SURFACE","HIGH","fontSize","fontFamily","fontWeight","lineHeight","letterSpacing","bottom","left","right","top","flex","marginHorizontal","height","paddingVertical","BORDER","DEFAULT","ofDevice","BLUETOOTH","EARPIECE","SPEAKER_PHONE","WIRED_HEADSET"],"sourceRoot":"../../../src","sources":["components/HMSSpeakerSettings.tsx"],"mappings":"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"}