@100mslive/react-native-hms 2.0.0-alpha.0 → 2.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (960) hide show
  1. package/README.md +21 -15
  2. package/android/build.gradle +95 -48
  3. package/android/src/main/java/com/reactnativehmssdk/HMSAudioshareActivity.kt +8 -10
  4. package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +177 -3
  5. package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayer.kt +149 -29
  6. package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayerManagerImpl.kt +185 -0
  7. package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +80 -20
  8. package/android/src/main/java/com/reactnativehmssdk/{HMSManager.kt → HMSManagerImpl.kt} +517 -145
  9. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +503 -312
  10. package/android/src/main/java/com/reactnativehmssdk/HMSReactNativeEvent.kt +29 -0
  11. package/android/src/main/java/com/reactnativehmssdk/HMSSDKViewManagerImpl.kt +119 -0
  12. package/android/src/main/java/com/reactnativehmssdk/HMSView.kt +64 -12
  13. package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +9 -9
  14. package/android/src/main/java/com/reactnativehmssdk/HmssdkPackage.kt +44 -8
  15. package/android/src/main/java/com/reactnativehmssdk/Interactivity/HMSInteractivityDecoder.kt +435 -0
  16. package/android/src/main/java/com/reactnativehmssdk/Interactivity/HMSInteractivityHelper.kt +353 -0
  17. package/android/src/main/java/com/reactnativehmssdk/Interactivity/HMSRNInteractivityCenter.kt +245 -0
  18. package/android/src/main/java/com/reactnativehmssdk/PipActionReceiver.kt +13 -3
  19. package/android/src/newarch/java/com/reactnativehmssdk/HMSHLSPlayerManager.kt +128 -0
  20. package/android/src/newarch/java/com/reactnativehmssdk/HMSManager.kt +332 -0
  21. package/android/src/newarch/java/com/reactnativehmssdk/HMSSDKViewManager.kt +102 -0
  22. package/android/src/oldarch/java/com/reactnativehmssdk/HMSHLSPlayerManager.kt +61 -0
  23. package/android/src/oldarch/java/com/reactnativehmssdk/HMSManager.kt +351 -0
  24. package/android/src/oldarch/java/com/reactnativehmssdk/HMSSDKViewManager.kt +87 -0
  25. package/ios/HMSConstants.swift +4 -0
  26. package/ios/HMSDecoder.swift +154 -18
  27. package/ios/HMSHLSPlayerComponentView.mm +325 -0
  28. package/ios/HMSHLSPlayerManager.m +16 -0
  29. package/ios/HMSHLSPlayerManager.swift +236 -70
  30. package/ios/HMSHelper.swift +126 -14
  31. package/ios/HMSInteractivityDecoder.swift +314 -0
  32. package/ios/HMSInteractivityHelper.swift +169 -0
  33. package/ios/HMSManager.m +203 -10
  34. package/ios/HMSManager.mm +365 -0
  35. package/ios/HMSManager.swift +431 -87
  36. package/ios/HMSRNInteractivityCenter.swift +161 -0
  37. package/ios/HMSRNSDK.swift +961 -134
  38. package/ios/HMSView.m +9 -0
  39. package/ios/HMSView.swift +45 -16
  40. package/ios/HMSViewComponentView.mm +229 -0
  41. package/ios/PIPMode/HMSPipModel.swift +18 -0
  42. package/ios/PIPMode/HMSPipView.swift +36 -0
  43. package/ios/PIPMode/HMSSampleBufferSwiftUIView.swift +45 -0
  44. package/lib/commonjs/classes/HMSAudioCodec.js +1 -2
  45. package/lib/commonjs/classes/HMSAudioCodec.js.map +1 -1
  46. package/lib/commonjs/classes/HMSAudioDevice.js +10 -2
  47. package/lib/commonjs/classes/HMSAudioDevice.js.map +1 -1
  48. package/lib/commonjs/classes/HMSAudioFilePlayerNode.js.map +1 -1
  49. package/lib/commonjs/classes/HMSAudioMixerSource.js +3 -3
  50. package/lib/commonjs/classes/HMSAudioMixerSource.js.map +1 -1
  51. package/lib/commonjs/classes/HMSAudioMixingMode.js +12 -2
  52. package/lib/commonjs/classes/HMSAudioMixingMode.js.map +1 -1
  53. package/lib/commonjs/classes/HMSAudioMode.js +1 -2
  54. package/lib/commonjs/classes/HMSAudioMode.js.map +1 -1
  55. package/lib/commonjs/classes/HMSAudioNode.js +3 -3
  56. package/lib/commonjs/classes/HMSAudioNode.js.map +1 -1
  57. package/lib/commonjs/classes/HMSAudioSettings.js +3 -3
  58. package/lib/commonjs/classes/HMSAudioSettings.js.map +1 -1
  59. package/lib/commonjs/classes/HMSAudioTrack.js +9 -0
  60. package/lib/commonjs/classes/HMSAudioTrack.js.map +1 -1
  61. package/lib/commonjs/classes/HMSAudioTrackSettings.js +12 -5
  62. package/lib/commonjs/classes/HMSAudioTrackSettings.js.map +1 -1
  63. package/lib/commonjs/classes/HMSBrowserRecordingState.js +5 -3
  64. package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
  65. package/lib/commonjs/classes/HMSCameraControl.js +3 -4
  66. package/lib/commonjs/classes/HMSCameraControl.js.map +1 -1
  67. package/lib/commonjs/classes/HMSCameraFacing.js +10 -2
  68. package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
  69. package/lib/commonjs/classes/HMSChangeTrackStateRequest.js +3 -3
  70. package/lib/commonjs/classes/HMSChangeTrackStateRequest.js.map +1 -1
  71. package/lib/commonjs/classes/HMSConfig.js +30 -3
  72. package/lib/commonjs/classes/HMSConfig.js.map +1 -1
  73. package/lib/commonjs/classes/HMSConstants.js +1 -2
  74. package/lib/commonjs/classes/HMSConstants.js.map +1 -1
  75. package/lib/commonjs/classes/HMSEncoder.js +57 -14
  76. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  77. package/lib/commonjs/classes/HMSEventEmitter.js +1 -2
  78. package/lib/commonjs/classes/HMSEventEmitter.js.map +1 -1
  79. package/lib/commonjs/classes/HMSException.js +21 -3
  80. package/lib/commonjs/classes/HMSException.js.map +1 -1
  81. package/lib/commonjs/classes/HMSHLSConfig.js +3 -3
  82. package/lib/commonjs/classes/HMSHLSConfig.js.map +1 -1
  83. package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js +3 -3
  84. package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  85. package/lib/commonjs/classes/HMSHLSPlaylistType.js +12 -0
  86. package/lib/commonjs/classes/HMSHLSPlaylistType.js.map +1 -0
  87. package/lib/commonjs/classes/HMSHLSRecordingConfig.js +3 -3
  88. package/lib/commonjs/classes/HMSHLSRecordingConfig.js.map +1 -1
  89. package/lib/commonjs/classes/HMSHLSRecordingState.js +7 -7
  90. package/lib/commonjs/classes/HMSHLSRecordingState.js.map +1 -1
  91. package/lib/commonjs/classes/HMSHLSStreamingState.js +9 -3
  92. package/lib/commonjs/classes/HMSHLSStreamingState.js.map +1 -1
  93. package/lib/commonjs/classes/HMSHLSTimedMetadata.js +2 -0
  94. package/lib/commonjs/classes/HMSHLSTimedMetadata.js.map +1 -0
  95. package/lib/commonjs/classes/HMSHLSVariant.js +5 -3
  96. package/lib/commonjs/classes/HMSHLSVariant.js.map +1 -1
  97. package/lib/commonjs/classes/HMSHelper.js.map +1 -1
  98. package/lib/commonjs/classes/HMSIOSAudioMode.js +16 -2
  99. package/lib/commonjs/classes/HMSIOSAudioMode.js.map +1 -1
  100. package/lib/commonjs/classes/HMSInteractivityCenter.js +174 -0
  101. package/lib/commonjs/classes/HMSInteractivityCenter.js.map +1 -0
  102. package/lib/commonjs/classes/HMSInteractivityEncoder.js +83 -0
  103. package/lib/commonjs/classes/HMSInteractivityEncoder.js.map +1 -0
  104. package/lib/commonjs/classes/HMSLayer.js +1 -2
  105. package/lib/commonjs/classes/HMSLayer.js.map +1 -1
  106. package/lib/commonjs/classes/HMSLocalAudioStats.js +3 -3
  107. package/lib/commonjs/classes/HMSLocalAudioStats.js.map +1 -1
  108. package/lib/commonjs/classes/HMSLocalAudioTrack.js +3 -3
  109. package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
  110. package/lib/commonjs/classes/HMSLocalPeer.js +3 -3
  111. package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
  112. package/lib/commonjs/classes/HMSLocalVideoStats.js +3 -3
  113. package/lib/commonjs/classes/HMSLocalVideoStats.js.map +1 -1
  114. package/lib/commonjs/classes/HMSLocalVideoTrack.js +3 -3
  115. package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
  116. package/lib/commonjs/classes/HMSLogAlarmManager.js +13 -2
  117. package/lib/commonjs/classes/HMSLogAlarmManager.js.map +1 -1
  118. package/lib/commonjs/classes/HMSLogLevel.js +13 -2
  119. package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
  120. package/lib/commonjs/classes/HMSLogSettings.js +17 -3
  121. package/lib/commonjs/classes/HMSLogSettings.js.map +1 -1
  122. package/lib/commonjs/classes/HMSLogger.js +4 -5
  123. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  124. package/lib/commonjs/classes/HMSMessage.js +3 -3
  125. package/lib/commonjs/classes/HMSMessage.js.map +1 -1
  126. package/lib/commonjs/classes/HMSMessageRecipient.js +3 -3
  127. package/lib/commonjs/classes/HMSMessageRecipient.js.map +1 -1
  128. package/lib/commonjs/classes/HMSMessageRecipientType.js +1 -2
  129. package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -1
  130. package/lib/commonjs/classes/HMSMicNode.js.map +1 -1
  131. package/lib/commonjs/classes/HMSNativeEventEmitter.js +4 -6
  132. package/lib/commonjs/classes/HMSNativeEventEmitter.js.map +1 -1
  133. package/lib/commonjs/classes/HMSNativeEventListener.js +3 -4
  134. package/lib/commonjs/classes/HMSNativeEventListener.js.map +1 -1
  135. package/lib/commonjs/classes/HMSNetworkQuality.js +14 -3
  136. package/lib/commonjs/classes/HMSNetworkQuality.js.map +1 -1
  137. package/lib/commonjs/classes/HMSNoiseCancellationPlugin.js +158 -0
  138. package/lib/commonjs/classes/HMSNoiseCancellationPlugin.js.map +1 -0
  139. package/lib/commonjs/classes/HMSPIPConfig.js +6 -0
  140. package/lib/commonjs/classes/HMSPIPConfig.js.map +1 -0
  141. package/lib/commonjs/classes/HMSPIPListenerActions.js +10 -2
  142. package/lib/commonjs/classes/HMSPIPListenerActions.js.map +1 -1
  143. package/lib/commonjs/classes/HMSPeer.js +186 -5
  144. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  145. package/lib/commonjs/classes/HMSPeerListIterator.js +25 -7
  146. package/lib/commonjs/classes/HMSPeerListIterator.js.map +1 -1
  147. package/lib/commonjs/classes/HMSPeerListIteratorOptions.js.map +1 -1
  148. package/lib/commonjs/classes/HMSPeerType.js +24 -0
  149. package/lib/commonjs/classes/HMSPeerType.js.map +1 -0
  150. package/lib/commonjs/classes/HMSPeerUpdate.js +2 -4
  151. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  152. package/lib/commonjs/classes/HMSPeersCache.js +6 -7
  153. package/lib/commonjs/classes/HMSPeersCache.js.map +1 -1
  154. package/lib/commonjs/classes/HMSPermissions.js +11 -3
  155. package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
  156. package/lib/commonjs/classes/HMSPollsListenerActions.js +11 -0
  157. package/lib/commonjs/classes/HMSPollsListenerActions.js.map +1 -0
  158. package/lib/commonjs/classes/HMSPublishSettings.js +3 -3
  159. package/lib/commonjs/classes/HMSPublishSettings.js.map +1 -1
  160. package/lib/commonjs/classes/HMSQualityLimitationReason.js +1 -2
  161. package/lib/commonjs/classes/HMSQualityLimitationReason.js.map +1 -1
  162. package/lib/commonjs/classes/HMSQualityLimitationReasons.js +3 -3
  163. package/lib/commonjs/classes/HMSQualityLimitationReasons.js.map +1 -1
  164. package/lib/commonjs/classes/HMSRTCStats.js +3 -3
  165. package/lib/commonjs/classes/HMSRTCStats.js.map +1 -1
  166. package/lib/commonjs/classes/HMSRTCStatsReport.js +3 -3
  167. package/lib/commonjs/classes/HMSRTCStatsReport.js.map +1 -1
  168. package/lib/commonjs/classes/HMSRTMPConfig.js +17 -3
  169. package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
  170. package/lib/commonjs/classes/HMSRecordingState.js +17 -0
  171. package/lib/commonjs/classes/HMSRecordingState.js.map +1 -0
  172. package/lib/commonjs/classes/HMSRemoteAudioStats.js +3 -3
  173. package/lib/commonjs/classes/HMSRemoteAudioStats.js.map +1 -1
  174. package/lib/commonjs/classes/HMSRemoteAudioTrack.js +3 -3
  175. package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
  176. package/lib/commonjs/classes/HMSRemotePeer.js +3 -3
  177. package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
  178. package/lib/commonjs/classes/HMSRemoteVideoStats.js +3 -3
  179. package/lib/commonjs/classes/HMSRemoteVideoStats.js.map +1 -1
  180. package/lib/commonjs/classes/HMSRemoteVideoTrack.js +3 -3
  181. package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
  182. package/lib/commonjs/classes/HMSRole.js +20 -3
  183. package/lib/commonjs/classes/HMSRole.js.map +1 -1
  184. package/lib/commonjs/classes/HMSRoleChangeRequest.js +3 -3
  185. package/lib/commonjs/classes/HMSRoleChangeRequest.js.map +1 -1
  186. package/lib/commonjs/classes/HMSRoom.js +17 -4
  187. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  188. package/lib/commonjs/classes/HMSRoomCache.js +13 -7
  189. package/lib/commonjs/classes/HMSRoomCache.js.map +1 -1
  190. package/lib/commonjs/classes/HMSRoomUpdate.js +2 -2
  191. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  192. package/lib/commonjs/classes/HMSRtmpStreamingState.js +5 -5
  193. package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
  194. package/lib/commonjs/classes/HMSRtmpVideoResolution.js +16 -3
  195. package/lib/commonjs/classes/HMSRtmpVideoResolution.js.map +1 -1
  196. package/lib/commonjs/classes/HMSSDK.js +1313 -327
  197. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  198. package/lib/commonjs/classes/HMSScreenBroadcastAudioReceiverNode.js.map +1 -1
  199. package/lib/commonjs/classes/HMSServerRecordingState.js +5 -3
  200. package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
  201. package/lib/commonjs/classes/HMSSessionStore.js +20 -23
  202. package/lib/commonjs/classes/HMSSessionStore.js.map +1 -1
  203. package/lib/commonjs/classes/HMSSimulcastLayerDefinition.js +3 -3
  204. package/lib/commonjs/classes/HMSSimulcastLayerDefinition.js.map +1 -1
  205. package/lib/commonjs/classes/HMSSimulcastLayerSettings.js +3 -3
  206. package/lib/commonjs/classes/HMSSimulcastLayerSettings.js.map +1 -1
  207. package/lib/commonjs/classes/HMSSimulcastLayerSettingsPolicy.js +3 -3
  208. package/lib/commonjs/classes/HMSSimulcastLayerSettingsPolicy.js.map +1 -1
  209. package/lib/commonjs/classes/HMSSimulcastSettings.js +3 -3
  210. package/lib/commonjs/classes/HMSSimulcastSettings.js.map +1 -1
  211. package/lib/commonjs/classes/HMSSimulcastSettingsPolicy.js +3 -3
  212. package/lib/commonjs/classes/HMSSimulcastSettingsPolicy.js.map +1 -1
  213. package/lib/commonjs/classes/HMSSpeaker.js +3 -3
  214. package/lib/commonjs/classes/HMSSpeaker.js.map +1 -1
  215. package/lib/commonjs/classes/HMSStreamingState.js +15 -0
  216. package/lib/commonjs/classes/HMSStreamingState.js.map +1 -0
  217. package/lib/commonjs/classes/HMSSubscribeDegradationPolicy.js +3 -3
  218. package/lib/commonjs/classes/HMSSubscribeDegradationPolicy.js.map +1 -1
  219. package/lib/commonjs/classes/HMSSubscribeSettings.js +3 -3
  220. package/lib/commonjs/classes/HMSSubscribeSettings.js.map +1 -1
  221. package/lib/commonjs/classes/HMSTrack.js +16 -3
  222. package/lib/commonjs/classes/HMSTrack.js.map +1 -1
  223. package/lib/commonjs/classes/HMSTrackSettings.js +13 -3
  224. package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
  225. package/lib/commonjs/classes/HMSTrackSettingsInitState.js +10 -2
  226. package/lib/commonjs/classes/HMSTrackSettingsInitState.js.map +1 -1
  227. package/lib/commonjs/classes/HMSTrackSource.js +11 -2
  228. package/lib/commonjs/classes/HMSTrackSource.js.map +1 -1
  229. package/lib/commonjs/classes/HMSTrackType.js +8 -2
  230. package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
  231. package/lib/commonjs/classes/HMSTrackUpdate.js +1 -2
  232. package/lib/commonjs/classes/HMSTrackUpdate.js.map +1 -1
  233. package/lib/commonjs/classes/HMSUpdateListenerActions.js +44 -5
  234. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  235. package/lib/commonjs/classes/HMSVideoCodec.js +1 -2
  236. package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
  237. package/lib/commonjs/classes/HMSVideoResolution.js +3 -3
  238. package/lib/commonjs/classes/HMSVideoResolution.js.map +1 -1
  239. package/lib/commonjs/classes/HMSVideoSettings.js +3 -3
  240. package/lib/commonjs/classes/HMSVideoSettings.js.map +1 -1
  241. package/lib/commonjs/classes/HMSVideoTrack.js +20 -3
  242. package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
  243. package/lib/commonjs/classes/HMSVideoTrackSettings.js +18 -7
  244. package/lib/commonjs/classes/HMSVideoTrackSettings.js.map +1 -1
  245. package/lib/commonjs/classes/HMSVideoViewMode.js +1 -2
  246. package/lib/commonjs/classes/HMSVideoViewMode.js.map +1 -1
  247. package/lib/commonjs/classes/HmsView.js +77 -28
  248. package/lib/commonjs/classes/HmsView.js.map +1 -1
  249. package/lib/commonjs/classes/polls/DecodedPollLeaderboardResponse.js +6 -0
  250. package/lib/commonjs/classes/polls/DecodedPollLeaderboardResponse.js.map +1 -0
  251. package/lib/commonjs/classes/polls/HMSPoll.js +6 -0
  252. package/lib/commonjs/classes/polls/HMSPoll.js.map +1 -0
  253. package/lib/commonjs/classes/polls/HMSPollCategory.js +12 -0
  254. package/lib/commonjs/classes/polls/HMSPollCategory.js.map +1 -0
  255. package/lib/commonjs/classes/polls/HMSPollCreateParams.js +6 -0
  256. package/lib/commonjs/classes/polls/HMSPollCreateParams.js.map +1 -0
  257. package/lib/commonjs/classes/polls/HMSPollLeaderboardEntry.js +6 -0
  258. package/lib/commonjs/classes/polls/HMSPollLeaderboardEntry.js.map +1 -0
  259. package/lib/commonjs/classes/polls/HMSPollLeaderboardSummary.js +2 -0
  260. package/lib/commonjs/classes/polls/HMSPollLeaderboardSummary.js.map +1 -0
  261. package/lib/commonjs/classes/polls/HMSPollQuestion.js +6 -0
  262. package/lib/commonjs/classes/polls/HMSPollQuestion.js.map +1 -0
  263. package/lib/commonjs/classes/polls/HMSPollQuestionAnswer.js +2 -0
  264. package/lib/commonjs/classes/polls/HMSPollQuestionAnswer.js.map +1 -0
  265. package/lib/commonjs/classes/polls/HMSPollQuestionCreateParams.js +6 -0
  266. package/lib/commonjs/classes/polls/HMSPollQuestionCreateParams.js.map +1 -0
  267. package/lib/commonjs/classes/polls/HMSPollQuestionOption.js +2 -0
  268. package/lib/commonjs/classes/polls/HMSPollQuestionOption.js.map +1 -0
  269. package/lib/commonjs/classes/polls/HMSPollQuestionOptionCreateParams.js +6 -0
  270. package/lib/commonjs/classes/polls/HMSPollQuestionOptionCreateParams.js.map +1 -0
  271. package/lib/commonjs/classes/polls/HMSPollQuestionQuizOptionCreateParams.js +6 -0
  272. package/lib/commonjs/classes/polls/HMSPollQuestionQuizOptionCreateParams.js.map +1 -0
  273. package/lib/commonjs/classes/polls/HMSPollQuestionResponse.js +6 -0
  274. package/lib/commonjs/classes/polls/HMSPollQuestionResponse.js.map +1 -0
  275. package/lib/commonjs/classes/polls/HMSPollQuestionResponseCreateParams.js +6 -0
  276. package/lib/commonjs/classes/polls/HMSPollQuestionResponseCreateParams.js.map +1 -0
  277. package/lib/commonjs/classes/polls/HMSPollQuestionResponseResult.js +2 -0
  278. package/lib/commonjs/classes/polls/HMSPollQuestionResponseResult.js.map +1 -0
  279. package/lib/commonjs/classes/polls/HMSPollQuestionResult.js +2 -0
  280. package/lib/commonjs/classes/polls/HMSPollQuestionResult.js.map +1 -0
  281. package/lib/commonjs/classes/polls/HMSPollQuestionType.js +14 -0
  282. package/lib/commonjs/classes/polls/HMSPollQuestionType.js.map +1 -0
  283. package/lib/commonjs/classes/polls/HMSPollResponsePeerInfo.js +2 -0
  284. package/lib/commonjs/classes/polls/HMSPollResponsePeerInfo.js.map +1 -0
  285. package/lib/commonjs/classes/polls/HMSPollResult.js +6 -0
  286. package/lib/commonjs/classes/polls/HMSPollResult.js.map +1 -0
  287. package/lib/commonjs/classes/polls/HMSPollState.js +13 -0
  288. package/lib/commonjs/classes/polls/HMSPollState.js.map +1 -0
  289. package/lib/commonjs/classes/polls/HMSPollType.js +12 -0
  290. package/lib/commonjs/classes/polls/HMSPollType.js.map +1 -0
  291. package/lib/commonjs/classes/polls/HMSPollUpdateType.js +13 -0
  292. package/lib/commonjs/classes/polls/HMSPollUpdateType.js.map +1 -0
  293. package/lib/commonjs/classes/polls/HMSPollUserTrackingMode.js +13 -0
  294. package/lib/commonjs/classes/polls/HMSPollUserTrackingMode.js.map +1 -0
  295. package/lib/commonjs/classes/polls/PollLeaderboardResponse.js +6 -0
  296. package/lib/commonjs/classes/polls/PollLeaderboardResponse.js.map +1 -0
  297. package/lib/commonjs/classes/transcriptions/HMSTranscript.js +6 -0
  298. package/lib/commonjs/classes/transcriptions/HMSTranscript.js.map +1 -0
  299. package/lib/commonjs/classes/transcriptions/OnTranscriptionError.js +2 -0
  300. package/lib/commonjs/classes/transcriptions/OnTranscriptionError.js.map +1 -0
  301. package/lib/commonjs/classes/transcriptions/TranscriptionState.js +14 -0
  302. package/lib/commonjs/classes/transcriptions/TranscriptionState.js.map +1 -0
  303. package/lib/commonjs/classes/transcriptions/Transcriptions.js +6 -0
  304. package/lib/commonjs/classes/transcriptions/Transcriptions.js.map +1 -0
  305. package/lib/commonjs/classes/transcriptions/TranscriptionsMode.js +12 -0
  306. package/lib/commonjs/classes/transcriptions/TranscriptionsMode.js.map +1 -0
  307. package/lib/commonjs/classes/transcriptions/index.js +61 -0
  308. package/lib/commonjs/classes/transcriptions/index.js.map +1 -0
  309. package/lib/commonjs/classes/whiteboard/HMSWhiteboard.js +6 -0
  310. package/lib/commonjs/classes/whiteboard/HMSWhiteboard.js.map +1 -0
  311. package/lib/commonjs/classes/whiteboard/HMSWhiteboardListenerActions.js +11 -0
  312. package/lib/commonjs/classes/whiteboard/HMSWhiteboardListenerActions.js.map +1 -0
  313. package/lib/commonjs/classes/whiteboard/HMSWhiteboardState.js +12 -0
  314. package/lib/commonjs/classes/whiteboard/HMSWhiteboardState.js.map +1 -0
  315. package/lib/commonjs/classes/whiteboard/HMSWhiteboardUpdateType.js +12 -0
  316. package/lib/commonjs/classes/whiteboard/HMSWhiteboardUpdateType.js.map +1 -0
  317. package/lib/commonjs/classes/whiteboard/index.js +39 -0
  318. package/lib/commonjs/classes/whiteboard/index.js.map +1 -0
  319. package/lib/commonjs/classes/whiteboard/registerCallbacks.js +26 -0
  320. package/lib/commonjs/classes/whiteboard/registerCallbacks.js.map +1 -0
  321. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js +155 -49
  322. package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
  323. package/lib/commonjs/components/HMSHLSPlayer/RCTHMSHLSPlayer.js +5 -6
  324. package/lib/commonjs/components/HMSHLSPlayer/RCTHMSHLSPlayer.js.map +1 -1
  325. package/lib/commonjs/components/HMSHLSPlayer/hooks.js +26 -16
  326. package/lib/commonjs/components/HMSHLSPlayer/hooks.js.map +1 -1
  327. package/lib/commonjs/components/HMSHLSPlayer/index.js +22 -1
  328. package/lib/commonjs/components/HMSHLSPlayer/index.js.map +1 -1
  329. package/lib/commonjs/hooks/hmsviews.js +17 -0
  330. package/lib/commonjs/hooks/hmsviews.js.map +1 -0
  331. package/lib/commonjs/hooks/polls.js +17 -0
  332. package/lib/commonjs/hooks/polls.js.map +1 -0
  333. package/lib/commonjs/hooks/useHMSPeerUpdates.js +3 -5
  334. package/lib/commonjs/hooks/useHMSPeerUpdates.js.map +1 -1
  335. package/lib/commonjs/index.js +233 -6
  336. package/lib/commonjs/index.js.map +1 -1
  337. package/lib/commonjs/modules/HMSManagerModule.js +10 -0
  338. package/lib/commonjs/modules/HMSManagerModule.js.map +1 -0
  339. package/lib/commonjs/specs/HMSHLSPlayerNativeComponent.js +75 -0
  340. package/lib/commonjs/specs/HMSHLSPlayerNativeComponent.js.map +1 -0
  341. package/lib/commonjs/specs/HMSViewNativeComponent.js +55 -0
  342. package/lib/commonjs/specs/HMSViewNativeComponent.js.map +1 -0
  343. package/lib/commonjs/specs/NativeHMSManager.js +38 -0
  344. package/lib/commonjs/specs/NativeHMSManager.js.map +1 -0
  345. package/lib/commonjs/stores/hls-player-playback-slice.js +10 -0
  346. package/lib/commonjs/stores/hls-player-playback-slice.js.map +1 -1
  347. package/lib/commonjs/stores/hls-player-stats-store.js +28 -17
  348. package/lib/commonjs/stores/hls-player-stats-store.js.map +1 -1
  349. package/lib/commonjs/stores/hms-interactivity-store.js +21 -0
  350. package/lib/commonjs/stores/hms-interactivity-store.js.map +1 -0
  351. package/lib/commonjs/stores/hms-polls-slice.js +19 -0
  352. package/lib/commonjs/stores/hms-polls-slice.js.map +1 -0
  353. package/lib/commonjs/stores/hms-store.js +5 -6
  354. package/lib/commonjs/stores/hms-store.js.map +1 -1
  355. package/lib/commonjs/stores/hmsviews-slice.js +19 -0
  356. package/lib/commonjs/stores/hmsviews-slice.js.map +1 -0
  357. package/lib/commonjs/stores/types.js.map +1 -1
  358. package/lib/commonjs/types.js +4 -7
  359. package/lib/commonjs/types.js.map +1 -1
  360. package/lib/commonjs/utils/emitter/EventEmitter.js +23 -7
  361. package/lib/commonjs/utils/emitter/EventEmitter.js.map +1 -1
  362. package/lib/commonjs/utils/emitter/_EmitterSubscription.js +3 -3
  363. package/lib/commonjs/utils/emitter/_EmitterSubscription.js.map +1 -1
  364. package/lib/commonjs/utils/emitter/_EventSubscription.js +3 -3
  365. package/lib/commonjs/utils/emitter/_EventSubscription.js.map +1 -1
  366. package/lib/commonjs/utils/emitter/_EventSubscriptionVendor.js +3 -4
  367. package/lib/commonjs/utils/emitter/_EventSubscriptionVendor.js.map +1 -1
  368. package/lib/commonjs/utils/index.js.map +1 -1
  369. package/lib/commonjs/utils/keyboard.js +46 -0
  370. package/lib/commonjs/utils/keyboard.js.map +1 -0
  371. package/lib/commonjs/utils/notification.js +13 -0
  372. package/lib/commonjs/utils/notification.js.map +1 -0
  373. package/lib/commonjs/utils/windowController.js +30 -0
  374. package/lib/commonjs/utils/windowController.js.map +1 -0
  375. package/lib/module/classes/HMSAudioCodec.js.map +1 -1
  376. package/lib/module/classes/HMSAudioDevice.js +9 -0
  377. package/lib/module/classes/HMSAudioDevice.js.map +1 -1
  378. package/lib/module/classes/HMSAudioFilePlayerNode.js.map +1 -1
  379. package/lib/module/classes/HMSAudioMixerSource.js +3 -3
  380. package/lib/module/classes/HMSAudioMixerSource.js.map +1 -1
  381. package/lib/module/classes/HMSAudioMixingMode.js +11 -0
  382. package/lib/module/classes/HMSAudioMixingMode.js.map +1 -1
  383. package/lib/module/classes/HMSAudioMode.js.map +1 -1
  384. package/lib/module/classes/HMSAudioNode.js +3 -3
  385. package/lib/module/classes/HMSAudioNode.js.map +1 -1
  386. package/lib/module/classes/HMSAudioSettings.js +3 -3
  387. package/lib/module/classes/HMSAudioSettings.js.map +1 -1
  388. package/lib/module/classes/HMSAudioTrack.js +9 -0
  389. package/lib/module/classes/HMSAudioTrack.js.map +1 -1
  390. package/lib/module/classes/HMSAudioTrackSettings.js +12 -5
  391. package/lib/module/classes/HMSAudioTrackSettings.js.map +1 -1
  392. package/lib/module/classes/HMSBrowserRecordingState.js +5 -3
  393. package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
  394. package/lib/module/classes/HMSCameraControl.js +2 -3
  395. package/lib/module/classes/HMSCameraControl.js.map +1 -1
  396. package/lib/module/classes/HMSCameraFacing.js +9 -0
  397. package/lib/module/classes/HMSCameraFacing.js.map +1 -1
  398. package/lib/module/classes/HMSChangeTrackStateRequest.js +3 -3
  399. package/lib/module/classes/HMSChangeTrackStateRequest.js.map +1 -1
  400. package/lib/module/classes/HMSConfig.js +30 -3
  401. package/lib/module/classes/HMSConfig.js.map +1 -1
  402. package/lib/module/classes/HMSConstants.js.map +1 -1
  403. package/lib/module/classes/HMSEncoder.js +56 -13
  404. package/lib/module/classes/HMSEncoder.js.map +1 -1
  405. package/lib/module/classes/HMSEventEmitter.js.map +1 -1
  406. package/lib/module/classes/HMSException.js +21 -3
  407. package/lib/module/classes/HMSException.js.map +1 -1
  408. package/lib/module/classes/HMSHLSConfig.js +3 -3
  409. package/lib/module/classes/HMSHLSConfig.js.map +1 -1
  410. package/lib/module/classes/HMSHLSMeetingURLVariant.js +3 -3
  411. package/lib/module/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  412. package/lib/module/classes/HMSHLSPlaylistType.js +6 -0
  413. package/lib/module/classes/HMSHLSPlaylistType.js.map +1 -0
  414. package/lib/module/classes/HMSHLSRecordingConfig.js +3 -3
  415. package/lib/module/classes/HMSHLSRecordingConfig.js.map +1 -1
  416. package/lib/module/classes/HMSHLSRecordingState.js +7 -7
  417. package/lib/module/classes/HMSHLSRecordingState.js.map +1 -1
  418. package/lib/module/classes/HMSHLSStreamingState.js +9 -3
  419. package/lib/module/classes/HMSHLSStreamingState.js.map +1 -1
  420. package/lib/module/classes/HMSHLSTimedMetadata.js +2 -0
  421. package/lib/module/classes/HMSHLSTimedMetadata.js.map +1 -0
  422. package/lib/module/classes/HMSHLSVariant.js +5 -3
  423. package/lib/module/classes/HMSHLSVariant.js.map +1 -1
  424. package/lib/module/classes/HMSHelper.js.map +1 -1
  425. package/lib/module/classes/HMSIOSAudioMode.js +15 -0
  426. package/lib/module/classes/HMSIOSAudioMode.js.map +1 -1
  427. package/lib/module/classes/HMSInteractivityCenter.js +166 -0
  428. package/lib/module/classes/HMSInteractivityCenter.js.map +1 -0
  429. package/lib/module/classes/HMSInteractivityEncoder.js +76 -0
  430. package/lib/module/classes/HMSInteractivityEncoder.js.map +1 -0
  431. package/lib/module/classes/HMSLayer.js.map +1 -1
  432. package/lib/module/classes/HMSLocalAudioStats.js +3 -3
  433. package/lib/module/classes/HMSLocalAudioStats.js.map +1 -1
  434. package/lib/module/classes/HMSLocalAudioTrack.js +3 -3
  435. package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
  436. package/lib/module/classes/HMSLocalPeer.js +3 -3
  437. package/lib/module/classes/HMSLocalPeer.js.map +1 -1
  438. package/lib/module/classes/HMSLocalVideoStats.js +3 -3
  439. package/lib/module/classes/HMSLocalVideoStats.js.map +1 -1
  440. package/lib/module/classes/HMSLocalVideoTrack.js +3 -3
  441. package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
  442. package/lib/module/classes/HMSLogAlarmManager.js +12 -0
  443. package/lib/module/classes/HMSLogAlarmManager.js.map +1 -1
  444. package/lib/module/classes/HMSLogLevel.js +12 -0
  445. package/lib/module/classes/HMSLogLevel.js.map +1 -1
  446. package/lib/module/classes/HMSLogSettings.js +17 -3
  447. package/lib/module/classes/HMSLogSettings.js.map +1 -1
  448. package/lib/module/classes/HMSLogger.js +3 -3
  449. package/lib/module/classes/HMSLogger.js.map +1 -1
  450. package/lib/module/classes/HMSMessage.js +3 -3
  451. package/lib/module/classes/HMSMessage.js.map +1 -1
  452. package/lib/module/classes/HMSMessageRecipient.js +3 -3
  453. package/lib/module/classes/HMSMessageRecipient.js.map +1 -1
  454. package/lib/module/classes/HMSMessageRecipientType.js.map +1 -1
  455. package/lib/module/classes/HMSMicNode.js.map +1 -1
  456. package/lib/module/classes/HMSNativeEventEmitter.js +4 -6
  457. package/lib/module/classes/HMSNativeEventEmitter.js.map +1 -1
  458. package/lib/module/classes/HMSNativeEventListener.js +1 -1
  459. package/lib/module/classes/HMSNativeEventListener.js.map +1 -1
  460. package/lib/module/classes/HMSNetworkQuality.js +14 -3
  461. package/lib/module/classes/HMSNetworkQuality.js.map +1 -1
  462. package/lib/module/classes/HMSNoiseCancellationPlugin.js +152 -0
  463. package/lib/module/classes/HMSNoiseCancellationPlugin.js.map +1 -0
  464. package/lib/module/classes/HMSPIPConfig.js +2 -0
  465. package/lib/module/classes/HMSPIPConfig.js.map +1 -0
  466. package/lib/module/classes/HMSPIPListenerActions.js +9 -0
  467. package/lib/module/classes/HMSPIPListenerActions.js.map +1 -1
  468. package/lib/module/classes/HMSPeer.js +187 -5
  469. package/lib/module/classes/HMSPeer.js.map +1 -1
  470. package/lib/module/classes/HMSPeerListIterator.js +24 -6
  471. package/lib/module/classes/HMSPeerListIterator.js.map +1 -1
  472. package/lib/module/classes/HMSPeerListIteratorOptions.js.map +1 -1
  473. package/lib/module/classes/HMSPeerType.js +18 -0
  474. package/lib/module/classes/HMSPeerType.js.map +1 -0
  475. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  476. package/lib/module/classes/HMSPeersCache.js +4 -4
  477. package/lib/module/classes/HMSPeersCache.js.map +1 -1
  478. package/lib/module/classes/HMSPermissions.js +11 -3
  479. package/lib/module/classes/HMSPermissions.js.map +1 -1
  480. package/lib/module/classes/HMSPollsListenerActions.js +5 -0
  481. package/lib/module/classes/HMSPollsListenerActions.js.map +1 -0
  482. package/lib/module/classes/HMSPublishSettings.js +3 -3
  483. package/lib/module/classes/HMSPublishSettings.js.map +1 -1
  484. package/lib/module/classes/HMSQualityLimitationReason.js.map +1 -1
  485. package/lib/module/classes/HMSQualityLimitationReasons.js +3 -3
  486. package/lib/module/classes/HMSQualityLimitationReasons.js.map +1 -1
  487. package/lib/module/classes/HMSRTCStats.js +3 -3
  488. package/lib/module/classes/HMSRTCStats.js.map +1 -1
  489. package/lib/module/classes/HMSRTCStatsReport.js +3 -3
  490. package/lib/module/classes/HMSRTCStatsReport.js.map +1 -1
  491. package/lib/module/classes/HMSRTMPConfig.js +17 -3
  492. package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
  493. package/lib/module/classes/HMSRecordingState.js +11 -0
  494. package/lib/module/classes/HMSRecordingState.js.map +1 -0
  495. package/lib/module/classes/HMSRemoteAudioStats.js +3 -3
  496. package/lib/module/classes/HMSRemoteAudioStats.js.map +1 -1
  497. package/lib/module/classes/HMSRemoteAudioTrack.js +3 -3
  498. package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
  499. package/lib/module/classes/HMSRemotePeer.js +3 -3
  500. package/lib/module/classes/HMSRemotePeer.js.map +1 -1
  501. package/lib/module/classes/HMSRemoteVideoStats.js +3 -3
  502. package/lib/module/classes/HMSRemoteVideoStats.js.map +1 -1
  503. package/lib/module/classes/HMSRemoteVideoTrack.js +3 -3
  504. package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
  505. package/lib/module/classes/HMSRole.js +20 -3
  506. package/lib/module/classes/HMSRole.js.map +1 -1
  507. package/lib/module/classes/HMSRoleChangeRequest.js +3 -3
  508. package/lib/module/classes/HMSRoleChangeRequest.js.map +1 -1
  509. package/lib/module/classes/HMSRoom.js +17 -4
  510. package/lib/module/classes/HMSRoom.js.map +1 -1
  511. package/lib/module/classes/HMSRoomCache.js +11 -4
  512. package/lib/module/classes/HMSRoomCache.js.map +1 -1
  513. package/lib/module/classes/HMSRoomUpdate.js +1 -0
  514. package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
  515. package/lib/module/classes/HMSRtmpStreamingState.js +5 -5
  516. package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
  517. package/lib/module/classes/HMSRtmpVideoResolution.js +16 -3
  518. package/lib/module/classes/HMSRtmpVideoResolution.js.map +1 -1
  519. package/lib/module/classes/HMSSDK.js +1314 -328
  520. package/lib/module/classes/HMSSDK.js.map +1 -1
  521. package/lib/module/classes/HMSScreenBroadcastAudioReceiverNode.js.map +1 -1
  522. package/lib/module/classes/HMSServerRecordingState.js +5 -3
  523. package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
  524. package/lib/module/classes/HMSSessionStore.js +19 -22
  525. package/lib/module/classes/HMSSessionStore.js.map +1 -1
  526. package/lib/module/classes/HMSSimulcastLayerDefinition.js +3 -3
  527. package/lib/module/classes/HMSSimulcastLayerDefinition.js.map +1 -1
  528. package/lib/module/classes/HMSSimulcastLayerSettings.js +3 -3
  529. package/lib/module/classes/HMSSimulcastLayerSettings.js.map +1 -1
  530. package/lib/module/classes/HMSSimulcastLayerSettingsPolicy.js +3 -3
  531. package/lib/module/classes/HMSSimulcastLayerSettingsPolicy.js.map +1 -1
  532. package/lib/module/classes/HMSSimulcastSettings.js +3 -3
  533. package/lib/module/classes/HMSSimulcastSettings.js.map +1 -1
  534. package/lib/module/classes/HMSSimulcastSettingsPolicy.js +3 -3
  535. package/lib/module/classes/HMSSimulcastSettingsPolicy.js.map +1 -1
  536. package/lib/module/classes/HMSSpeaker.js +3 -3
  537. package/lib/module/classes/HMSSpeaker.js.map +1 -1
  538. package/lib/module/classes/HMSStreamingState.js +9 -0
  539. package/lib/module/classes/HMSStreamingState.js.map +1 -0
  540. package/lib/module/classes/HMSSubscribeDegradationPolicy.js +3 -3
  541. package/lib/module/classes/HMSSubscribeDegradationPolicy.js.map +1 -1
  542. package/lib/module/classes/HMSSubscribeSettings.js +3 -3
  543. package/lib/module/classes/HMSSubscribeSettings.js.map +1 -1
  544. package/lib/module/classes/HMSTrack.js +16 -3
  545. package/lib/module/classes/HMSTrack.js.map +1 -1
  546. package/lib/module/classes/HMSTrackSettings.js +13 -3
  547. package/lib/module/classes/HMSTrackSettings.js.map +1 -1
  548. package/lib/module/classes/HMSTrackSettingsInitState.js +9 -0
  549. package/lib/module/classes/HMSTrackSettingsInitState.js.map +1 -1
  550. package/lib/module/classes/HMSTrackSource.js +10 -0
  551. package/lib/module/classes/HMSTrackSource.js.map +1 -1
  552. package/lib/module/classes/HMSTrackType.js +7 -0
  553. package/lib/module/classes/HMSTrackType.js.map +1 -1
  554. package/lib/module/classes/HMSTrackUpdate.js.map +1 -1
  555. package/lib/module/classes/HMSUpdateListenerActions.js +43 -3
  556. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  557. package/lib/module/classes/HMSVideoCodec.js.map +1 -1
  558. package/lib/module/classes/HMSVideoResolution.js +3 -3
  559. package/lib/module/classes/HMSVideoResolution.js.map +1 -1
  560. package/lib/module/classes/HMSVideoSettings.js +3 -3
  561. package/lib/module/classes/HMSVideoSettings.js.map +1 -1
  562. package/lib/module/classes/HMSVideoTrack.js +20 -3
  563. package/lib/module/classes/HMSVideoTrack.js.map +1 -1
  564. package/lib/module/classes/HMSVideoTrackSettings.js +18 -7
  565. package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
  566. package/lib/module/classes/HMSVideoViewMode.js.map +1 -1
  567. package/lib/module/classes/HmsView.js +77 -25
  568. package/lib/module/classes/HmsView.js.map +1 -1
  569. package/lib/module/classes/polls/DecodedPollLeaderboardResponse.js +2 -0
  570. package/lib/module/classes/polls/DecodedPollLeaderboardResponse.js.map +1 -0
  571. package/lib/module/classes/polls/HMSPoll.js +2 -0
  572. package/lib/module/classes/polls/HMSPoll.js.map +1 -0
  573. package/lib/module/classes/polls/HMSPollCategory.js +6 -0
  574. package/lib/module/classes/polls/HMSPollCategory.js.map +1 -0
  575. package/lib/module/classes/polls/HMSPollCreateParams.js +2 -0
  576. package/lib/module/classes/polls/HMSPollCreateParams.js.map +1 -0
  577. package/lib/module/classes/polls/HMSPollLeaderboardEntry.js +2 -0
  578. package/lib/module/classes/polls/HMSPollLeaderboardEntry.js.map +1 -0
  579. package/lib/module/classes/polls/HMSPollLeaderboardSummary.js +2 -0
  580. package/lib/module/classes/polls/HMSPollLeaderboardSummary.js.map +1 -0
  581. package/lib/module/classes/polls/HMSPollQuestion.js +2 -0
  582. package/lib/module/classes/polls/HMSPollQuestion.js.map +1 -0
  583. package/lib/module/classes/polls/HMSPollQuestionAnswer.js +2 -0
  584. package/lib/module/classes/polls/HMSPollQuestionAnswer.js.map +1 -0
  585. package/lib/module/classes/polls/HMSPollQuestionCreateParams.js +2 -0
  586. package/lib/module/classes/polls/HMSPollQuestionCreateParams.js.map +1 -0
  587. package/lib/module/classes/polls/HMSPollQuestionOption.js +2 -0
  588. package/lib/module/classes/polls/HMSPollQuestionOption.js.map +1 -0
  589. package/lib/module/classes/polls/HMSPollQuestionOptionCreateParams.js +2 -0
  590. package/lib/module/classes/polls/HMSPollQuestionOptionCreateParams.js.map +1 -0
  591. package/lib/module/classes/polls/HMSPollQuestionQuizOptionCreateParams.js +2 -0
  592. package/lib/module/classes/polls/HMSPollQuestionQuizOptionCreateParams.js.map +1 -0
  593. package/lib/module/classes/polls/HMSPollQuestionResponse.js +2 -0
  594. package/lib/module/classes/polls/HMSPollQuestionResponse.js.map +1 -0
  595. package/lib/module/classes/polls/HMSPollQuestionResponseCreateParams.js +2 -0
  596. package/lib/module/classes/polls/HMSPollQuestionResponseCreateParams.js.map +1 -0
  597. package/lib/module/classes/polls/HMSPollQuestionResponseResult.js +2 -0
  598. package/lib/module/classes/polls/HMSPollQuestionResponseResult.js.map +1 -0
  599. package/lib/module/classes/polls/HMSPollQuestionResult.js +2 -0
  600. package/lib/module/classes/polls/HMSPollQuestionResult.js.map +1 -0
  601. package/lib/module/classes/polls/HMSPollQuestionType.js +8 -0
  602. package/lib/module/classes/polls/HMSPollQuestionType.js.map +1 -0
  603. package/lib/module/classes/polls/HMSPollResponsePeerInfo.js +2 -0
  604. package/lib/module/classes/polls/HMSPollResponsePeerInfo.js.map +1 -0
  605. package/lib/module/classes/polls/HMSPollResult.js +2 -0
  606. package/lib/module/classes/polls/HMSPollResult.js.map +1 -0
  607. package/lib/module/classes/polls/HMSPollState.js +7 -0
  608. package/lib/module/classes/polls/HMSPollState.js.map +1 -0
  609. package/lib/module/classes/polls/HMSPollType.js +6 -0
  610. package/lib/module/classes/polls/HMSPollType.js.map +1 -0
  611. package/lib/module/classes/polls/HMSPollUpdateType.js +7 -0
  612. package/lib/module/classes/polls/HMSPollUpdateType.js.map +1 -0
  613. package/lib/module/classes/polls/HMSPollUserTrackingMode.js +7 -0
  614. package/lib/module/classes/polls/HMSPollUserTrackingMode.js.map +1 -0
  615. package/lib/module/classes/polls/PollLeaderboardResponse.js +2 -0
  616. package/lib/module/classes/polls/PollLeaderboardResponse.js.map +1 -0
  617. package/lib/module/classes/transcriptions/HMSTranscript.js +2 -0
  618. package/lib/module/classes/transcriptions/HMSTranscript.js.map +1 -0
  619. package/lib/module/classes/transcriptions/OnTranscriptionError.js +2 -0
  620. package/lib/module/classes/transcriptions/OnTranscriptionError.js.map +1 -0
  621. package/lib/module/classes/transcriptions/TranscriptionState.js +8 -0
  622. package/lib/module/classes/transcriptions/TranscriptionState.js.map +1 -0
  623. package/lib/module/classes/transcriptions/Transcriptions.js +2 -0
  624. package/lib/module/classes/transcriptions/Transcriptions.js.map +1 -0
  625. package/lib/module/classes/transcriptions/TranscriptionsMode.js +6 -0
  626. package/lib/module/classes/transcriptions/TranscriptionsMode.js.map +1 -0
  627. package/lib/module/classes/transcriptions/index.js +6 -0
  628. package/lib/module/classes/transcriptions/index.js.map +1 -0
  629. package/lib/module/classes/whiteboard/HMSWhiteboard.js +2 -0
  630. package/lib/module/classes/whiteboard/HMSWhiteboard.js.map +1 -0
  631. package/lib/module/classes/whiteboard/HMSWhiteboardListenerActions.js +5 -0
  632. package/lib/module/classes/whiteboard/HMSWhiteboardListenerActions.js.map +1 -0
  633. package/lib/module/classes/whiteboard/HMSWhiteboardState.js +6 -0
  634. package/lib/module/classes/whiteboard/HMSWhiteboardState.js.map +1 -0
  635. package/lib/module/classes/whiteboard/HMSWhiteboardUpdateType.js +6 -0
  636. package/lib/module/classes/whiteboard/HMSWhiteboardUpdateType.js.map +1 -0
  637. package/lib/module/classes/whiteboard/index.js +4 -0
  638. package/lib/module/classes/whiteboard/index.js.map +1 -0
  639. package/lib/module/classes/whiteboard/registerCallbacks.js +18 -0
  640. package/lib/module/classes/whiteboard/registerCallbacks.js.map +1 -0
  641. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js +157 -49
  642. package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
  643. package/lib/module/components/HMSHLSPlayer/RCTHMSHLSPlayer.js +3 -3
  644. package/lib/module/components/HMSHLSPlayer/RCTHMSHLSPlayer.js.map +1 -1
  645. package/lib/module/components/HMSHLSPlayer/hooks.js +16 -4
  646. package/lib/module/components/HMSHLSPlayer/hooks.js.map +1 -1
  647. package/lib/module/components/HMSHLSPlayer/index.js +1 -1
  648. package/lib/module/components/HMSHLSPlayer/index.js.map +1 -1
  649. package/lib/module/hooks/hmsviews.js +12 -0
  650. package/lib/module/hooks/hmsviews.js.map +1 -0
  651. package/lib/module/hooks/polls.js +12 -0
  652. package/lib/module/hooks/polls.js.map +1 -0
  653. package/lib/module/hooks/useHMSPeerUpdates.js +1 -2
  654. package/lib/module/hooks/useHMSPeerUpdates.js.map +1 -1
  655. package/lib/module/index.js +29 -2
  656. package/lib/module/index.js.map +1 -1
  657. package/lib/module/modules/HMSManagerModule.js +3 -0
  658. package/lib/module/modules/HMSManagerModule.js.map +1 -0
  659. package/lib/module/specs/HMSHLSPlayerNativeComponent.js +69 -0
  660. package/lib/module/specs/HMSHLSPlayerNativeComponent.js.map +1 -0
  661. package/lib/module/specs/HMSViewNativeComponent.js +49 -0
  662. package/lib/module/specs/HMSViewNativeComponent.js.map +1 -0
  663. package/lib/module/specs/NativeHMSManager.js +33 -0
  664. package/lib/module/specs/NativeHMSManager.js.map +1 -0
  665. package/lib/module/stores/hls-player-playback-slice.js +10 -0
  666. package/lib/module/stores/hls-player-playback-slice.js.map +1 -1
  667. package/lib/module/stores/hls-player-stats-store.js +27 -15
  668. package/lib/module/stores/hls-player-stats-store.js.map +1 -1
  669. package/lib/module/stores/hms-interactivity-store.js +15 -0
  670. package/lib/module/stores/hms-interactivity-store.js.map +1 -0
  671. package/lib/module/stores/hms-polls-slice.js +12 -0
  672. package/lib/module/stores/hms-polls-slice.js.map +1 -0
  673. package/lib/module/stores/hms-store.js +5 -5
  674. package/lib/module/stores/hms-store.js.map +1 -1
  675. package/lib/module/stores/hmsviews-slice.js +12 -0
  676. package/lib/module/stores/hmsviews-slice.js.map +1 -0
  677. package/lib/module/stores/types.js.map +1 -1
  678. package/lib/module/types.js +3 -1
  679. package/lib/module/types.js.map +1 -1
  680. package/lib/module/utils/emitter/EventEmitter.js +23 -7
  681. package/lib/module/utils/emitter/EventEmitter.js.map +1 -1
  682. package/lib/module/utils/emitter/_EmitterSubscription.js +3 -3
  683. package/lib/module/utils/emitter/_EmitterSubscription.js.map +1 -1
  684. package/lib/module/utils/emitter/_EventSubscription.js +3 -3
  685. package/lib/module/utils/emitter/_EventSubscription.js.map +1 -1
  686. package/lib/module/utils/emitter/_EventSubscriptionVendor.js +3 -4
  687. package/lib/module/utils/emitter/_EventSubscriptionVendor.js.map +1 -1
  688. package/lib/module/utils/index.js.map +1 -1
  689. package/lib/module/utils/keyboard.js +38 -0
  690. package/lib/module/utils/keyboard.js.map +1 -0
  691. package/lib/module/utils/notification.js +5 -0
  692. package/lib/module/utils/notification.js.map +1 -0
  693. package/lib/module/utils/windowController.js +22 -0
  694. package/lib/module/utils/windowController.js.map +1 -0
  695. package/lib/typescript/classes/HMSAudioDevice.d.ts +14 -0
  696. package/lib/typescript/classes/HMSAudioMixingMode.d.ts +11 -0
  697. package/lib/typescript/classes/HMSAudioTrack.d.ts +9 -0
  698. package/lib/typescript/classes/HMSAudioTrackSettings.d.ts +9 -0
  699. package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +3 -0
  700. package/lib/typescript/classes/HMSCameraFacing.d.ts +11 -0
  701. package/lib/typescript/classes/HMSConfig.d.ts +27 -0
  702. package/lib/typescript/classes/HMSEncoder.d.ts +5 -0
  703. package/lib/typescript/classes/HMSException.d.ts +18 -0
  704. package/lib/typescript/classes/HMSHLSPlaylistType.d.ts +4 -0
  705. package/lib/typescript/classes/HMSHLSRecordingState.d.ts +6 -4
  706. package/lib/typescript/classes/HMSHLSStreamingState.d.ts +8 -0
  707. package/lib/typescript/classes/HMSHLSTimedMetadata.d.ts +16 -0
  708. package/lib/typescript/classes/HMSHLSVariant.d.ts +3 -0
  709. package/lib/typescript/classes/HMSIOSAudioMode.d.ts +15 -0
  710. package/lib/typescript/classes/HMSInteractivityCenter.d.ts +62 -0
  711. package/lib/typescript/classes/HMSInteractivityEncoder.d.ts +9 -0
  712. package/lib/typescript/classes/HMSLogAlarmManager.d.ts +12 -0
  713. package/lib/typescript/classes/HMSLogLevel.d.ts +12 -0
  714. package/lib/typescript/classes/HMSLogSettings.d.ts +14 -0
  715. package/lib/typescript/classes/HMSNetworkQuality.d.ts +11 -0
  716. package/lib/typescript/classes/HMSNoiseCancellationPlugin.d.ts +87 -0
  717. package/lib/typescript/classes/HMSPIPConfig.d.ts +47 -0
  718. package/lib/typescript/classes/HMSPIPListenerActions.d.ts +17 -0
  719. package/lib/typescript/classes/HMSPeer.d.ts +144 -1
  720. package/lib/typescript/classes/HMSPeerListIterator.d.ts +3 -1
  721. package/lib/typescript/classes/HMSPeerListIteratorOptions.d.ts +19 -0
  722. package/lib/typescript/classes/HMSPeerType.d.ts +16 -0
  723. package/lib/typescript/classes/HMSPeersCache.d.ts +2 -0
  724. package/lib/typescript/classes/HMSPermissions.d.ts +18 -0
  725. package/lib/typescript/classes/HMSPollsListenerActions.d.ts +3 -0
  726. package/lib/typescript/classes/HMSRTMPConfig.d.ts +14 -0
  727. package/lib/typescript/classes/HMSRecordingState.d.ts +9 -0
  728. package/lib/typescript/classes/HMSRole.d.ts +17 -0
  729. package/lib/typescript/classes/HMSRoom.d.ts +3 -0
  730. package/lib/typescript/classes/HMSRoomUpdate.d.ts +2 -1
  731. package/lib/typescript/classes/HMSRtmpStreamingState.d.ts +3 -2
  732. package/lib/typescript/classes/HMSRtmpVideoResolution.d.ts +13 -0
  733. package/lib/typescript/classes/HMSSDK.d.ts +1123 -249
  734. package/lib/typescript/classes/HMSServerRecordingState.d.ts +3 -0
  735. package/lib/typescript/classes/HMSSessionStore.d.ts +23 -22
  736. package/lib/typescript/classes/HMSStreamingState.d.ts +7 -0
  737. package/lib/typescript/classes/HMSTrack.d.ts +13 -0
  738. package/lib/typescript/classes/HMSTrackSettings.d.ts +10 -0
  739. package/lib/typescript/classes/HMSTrackSettingsInitState.d.ts +11 -0
  740. package/lib/typescript/classes/HMSTrackSource.d.ts +10 -0
  741. package/lib/typescript/classes/HMSTrackType.d.ts +7 -0
  742. package/lib/typescript/classes/HMSUpdateListenerActions.d.ts +290 -3
  743. package/lib/typescript/classes/HMSVideoTrack.d.ts +17 -0
  744. package/lib/typescript/classes/HMSVideoTrackSettings.d.ts +23 -2
  745. package/lib/typescript/classes/HmsView.d.ts +16 -0
  746. package/lib/typescript/classes/polls/DecodedPollLeaderboardResponse.d.ts +37 -0
  747. package/lib/typescript/classes/polls/HMSPoll.d.ts +73 -0
  748. package/lib/typescript/classes/polls/HMSPollCategory.d.ts +10 -0
  749. package/lib/typescript/classes/polls/HMSPollCreateParams.d.ts +6 -0
  750. package/lib/typescript/classes/polls/HMSPollLeaderboardEntry.d.ts +9 -0
  751. package/lib/typescript/classes/polls/HMSPollLeaderboardSummary.d.ts +7 -0
  752. package/lib/typescript/classes/polls/HMSPollQuestion.d.ts +61 -0
  753. package/lib/typescript/classes/polls/HMSPollQuestionAnswer.d.ts +17 -0
  754. package/lib/typescript/classes/polls/HMSPollQuestionCreateParams.d.ts +25 -0
  755. package/lib/typescript/classes/polls/HMSPollQuestionOption.d.ts +21 -0
  756. package/lib/typescript/classes/polls/HMSPollQuestionOptionCreateParams.d.ts +3 -0
  757. package/lib/typescript/classes/polls/HMSPollQuestionQuizOptionCreateParams.d.ts +4 -0
  758. package/lib/typescript/classes/polls/HMSPollQuestionResponse.d.ts +47 -0
  759. package/lib/typescript/classes/polls/HMSPollQuestionResponseCreateParams.d.ts +2 -0
  760. package/lib/typescript/classes/polls/HMSPollQuestionResponseResult.d.ts +17 -0
  761. package/lib/typescript/classes/polls/HMSPollQuestionResult.d.ts +29 -0
  762. package/lib/typescript/classes/polls/HMSPollQuestionType.d.ts +18 -0
  763. package/lib/typescript/classes/polls/HMSPollResponsePeerInfo.d.ts +21 -0
  764. package/lib/typescript/classes/polls/HMSPollResult.d.ts +22 -0
  765. package/lib/typescript/classes/polls/HMSPollState.d.ts +14 -0
  766. package/lib/typescript/classes/polls/HMSPollType.d.ts +4 -0
  767. package/lib/typescript/classes/polls/HMSPollUpdateType.d.ts +5 -0
  768. package/lib/typescript/classes/polls/HMSPollUserTrackingMode.d.ts +14 -0
  769. package/lib/typescript/classes/polls/PollLeaderboardResponse.d.ts +7 -0
  770. package/lib/typescript/classes/transcriptions/HMSTranscript.d.ts +8 -0
  771. package/lib/typescript/classes/transcriptions/OnTranscriptionError.d.ts +4 -0
  772. package/lib/typescript/classes/transcriptions/TranscriptionState.d.ts +6 -0
  773. package/lib/typescript/classes/transcriptions/Transcriptions.d.ts +12 -0
  774. package/lib/typescript/classes/transcriptions/TranscriptionsMode.d.ts +4 -0
  775. package/lib/typescript/classes/transcriptions/index.d.ts +5 -0
  776. package/lib/typescript/classes/whiteboard/HMSWhiteboard.d.ts +10 -0
  777. package/lib/typescript/classes/whiteboard/HMSWhiteboardListenerActions.d.ts +3 -0
  778. package/lib/typescript/classes/whiteboard/HMSWhiteboardState.d.ts +4 -0
  779. package/lib/typescript/classes/whiteboard/HMSWhiteboardUpdateType.d.ts +4 -0
  780. package/lib/typescript/classes/whiteboard/index.d.ts +3 -0
  781. package/lib/typescript/classes/whiteboard/registerCallbacks.d.ts +8 -0
  782. package/lib/typescript/components/HMSHLSPlayer/HMSHLSPlayer.d.ts +6 -0
  783. package/lib/typescript/components/HMSHLSPlayer/RCTHMSHLSPlayer.d.ts +11 -9
  784. package/lib/typescript/components/HMSHLSPlayer/hooks.d.ts +5 -0
  785. package/lib/typescript/components/HMSHLSPlayer/index.d.ts +1 -1
  786. package/lib/typescript/hooks/hmsviews.d.ts +3 -0
  787. package/lib/typescript/hooks/polls.d.ts +3 -0
  788. package/lib/typescript/index.d.ts +29 -2
  789. package/lib/typescript/specs/HMSHLSPlayerNativeComponent.d.ts +115 -0
  790. package/lib/typescript/specs/HMSViewNativeComponent.d.ts +97 -0
  791. package/lib/typescript/specs/NativeHMSManager.d.ts +147 -0
  792. package/lib/typescript/stores/hls-player-stats-store.d.ts +4 -3
  793. package/lib/typescript/stores/hms-interactivity-store.d.ts +9 -0
  794. package/lib/typescript/stores/hms-polls-slice.d.ts +5 -0
  795. package/lib/typescript/stores/hms-store.d.ts +4 -3
  796. package/lib/typescript/stores/hmsviews-slice.d.ts +5 -0
  797. package/lib/typescript/stores/types.d.ts +27 -3
  798. package/lib/typescript/types.d.ts +18 -5
  799. package/lib/typescript/utils/emitter/EventEmitter.d.ts +7 -0
  800. package/lib/typescript/utils/keyboard.d.ts +16 -0
  801. package/lib/typescript/utils/notification.d.ts +5 -0
  802. package/lib/typescript/utils/windowController.d.ts +10 -0
  803. package/package.json +49 -7
  804. package/react-native-hms.podspec +56 -2
  805. package/sdk-versions.json +4 -3
  806. package/src/classes/HMSAudioDevice.ts +18 -0
  807. package/src/classes/HMSAudioMixingMode.ts +11 -0
  808. package/src/classes/HMSAudioTrack.ts +9 -0
  809. package/src/classes/HMSAudioTrackSettings.ts +11 -0
  810. package/src/classes/HMSBrowserRecordingState.ts +4 -0
  811. package/src/classes/HMSCameraControl.ts +1 -1
  812. package/src/classes/HMSCameraFacing.ts +11 -0
  813. package/src/classes/HMSConfig.ts +27 -0
  814. package/src/classes/HMSEncoder.ts +57 -4
  815. package/src/classes/HMSException.ts +18 -0
  816. package/src/classes/HMSHLSPlaylistType.ts +4 -0
  817. package/src/classes/HMSHLSRecordingState.ts +9 -7
  818. package/src/classes/HMSHLSStreamingState.ts +15 -1
  819. package/src/classes/HMSHLSTimedMetadata.ts +16 -0
  820. package/src/classes/HMSHLSVariant.ts +5 -0
  821. package/src/classes/HMSIOSAudioMode.ts +15 -0
  822. package/src/classes/HMSInteractivityCenter.ts +246 -0
  823. package/src/classes/HMSInteractivityEncoder.ts +92 -0
  824. package/src/classes/HMSLogAlarmManager.ts +12 -0
  825. package/src/classes/HMSLogLevel.ts +12 -0
  826. package/src/classes/HMSLogSettings.ts +14 -0
  827. package/src/classes/HMSNativeEventEmitter.ts +1 -7
  828. package/src/classes/HMSNativeEventListener.ts +1 -1
  829. package/src/classes/HMSNetworkQuality.ts +11 -0
  830. package/src/classes/HMSNoiseCancellationPlugin.ts +162 -0
  831. package/src/classes/HMSPIPConfig.ts +54 -0
  832. package/src/classes/HMSPIPListenerActions.ts +18 -0
  833. package/src/classes/HMSPeer.ts +193 -3
  834. package/src/classes/HMSPeerListIterator.ts +29 -7
  835. package/src/classes/HMSPeerListIteratorOptions.ts +21 -0
  836. package/src/classes/HMSPeerType.ts +20 -0
  837. package/src/classes/HMSPeersCache.ts +3 -1
  838. package/src/classes/HMSPermissions.ts +25 -0
  839. package/src/classes/HMSPollsListenerActions.ts +3 -0
  840. package/src/classes/HMSRTMPConfig.ts +14 -0
  841. package/src/classes/HMSRecordingState.ts +9 -0
  842. package/src/classes/HMSRole.ts +17 -0
  843. package/src/classes/HMSRoom.ts +27 -0
  844. package/src/classes/HMSRoomCache.ts +10 -1
  845. package/src/classes/HMSRoomUpdate.ts +1 -0
  846. package/src/classes/HMSRtmpStreamingState.ts +4 -3
  847. package/src/classes/HMSRtmpVideoResolution.ts +13 -0
  848. package/src/classes/HMSSDK.tsx +1379 -345
  849. package/src/classes/HMSServerRecordingState.ts +4 -0
  850. package/src/classes/HMSSessionStore.ts +34 -45
  851. package/src/classes/HMSStreamingState.ts +7 -0
  852. package/src/classes/HMSTrack.ts +13 -0
  853. package/src/classes/HMSTrackSettings.ts +10 -0
  854. package/src/classes/HMSTrackSettingsInitState.ts +11 -0
  855. package/src/classes/HMSTrackSource.ts +10 -0
  856. package/src/classes/HMSTrackType.ts +7 -0
  857. package/src/classes/HMSUpdateListenerActions.ts +313 -3
  858. package/src/classes/HMSVideoTrack.ts +17 -0
  859. package/src/classes/HMSVideoTrackSettings.ts +27 -2
  860. package/src/classes/HmsView.tsx +92 -57
  861. package/src/classes/polls/DecodedPollLeaderboardResponse.ts +43 -0
  862. package/src/classes/polls/HMSPoll.ts +99 -0
  863. package/src/classes/polls/HMSPollCategory.ts +11 -0
  864. package/src/classes/polls/HMSPollCreateParams.ts +19 -0
  865. package/src/classes/polls/HMSPollLeaderboardEntry.ts +10 -0
  866. package/src/classes/polls/HMSPollLeaderboardSummary.ts +7 -0
  867. package/src/classes/polls/HMSPollQuestion.ts +92 -0
  868. package/src/classes/polls/HMSPollQuestionAnswer.ts +29 -0
  869. package/src/classes/polls/HMSPollQuestionCreateParams.ts +36 -0
  870. package/src/classes/polls/HMSPollQuestionOption.ts +24 -0
  871. package/src/classes/polls/HMSPollQuestionOptionCreateParams.ts +8 -0
  872. package/src/classes/polls/HMSPollQuestionQuizOptionCreateParams.ts +6 -0
  873. package/src/classes/polls/HMSPollQuestionResponse.ts +72 -0
  874. package/src/classes/polls/HMSPollQuestionResponseCreateParams.ts +6 -0
  875. package/src/classes/polls/HMSPollQuestionResponseResult.ts +19 -0
  876. package/src/classes/polls/HMSPollQuestionResult.ts +41 -0
  877. package/src/classes/polls/HMSPollQuestionType.ts +21 -0
  878. package/src/classes/polls/HMSPollResponsePeerInfo.ts +24 -0
  879. package/src/classes/polls/HMSPollResult.ts +26 -0
  880. package/src/classes/polls/HMSPollState.ts +16 -0
  881. package/src/classes/polls/HMSPollType.ts +4 -0
  882. package/src/classes/polls/HMSPollUpdateType.ts +5 -0
  883. package/src/classes/polls/HMSPollUserTrackingMode.ts +16 -0
  884. package/src/classes/polls/PollLeaderboardResponse.ts +8 -0
  885. package/src/classes/transcriptions/HMSTranscript.ts +13 -0
  886. package/src/classes/transcriptions/OnTranscriptionError.ts +5 -0
  887. package/src/classes/transcriptions/TranscriptionState.ts +6 -0
  888. package/src/classes/transcriptions/Transcriptions.ts +19 -0
  889. package/src/classes/transcriptions/TranscriptionsMode.ts +4 -0
  890. package/src/classes/transcriptions/index.ts +5 -0
  891. package/src/classes/whiteboard/HMSWhiteboard.tsx +16 -0
  892. package/src/classes/whiteboard/HMSWhiteboardListenerActions.ts +3 -0
  893. package/src/classes/whiteboard/HMSWhiteboardState.tsx +4 -0
  894. package/src/classes/whiteboard/HMSWhiteboardUpdateType.tsx +4 -0
  895. package/src/classes/whiteboard/index.ts +3 -0
  896. package/src/classes/whiteboard/registerCallbacks.ts +34 -0
  897. package/src/components/HMSHLSPlayer/HMSHLSPlayer.tsx +176 -92
  898. package/src/components/HMSHLSPlayer/RCTHMSHLSPlayer.ts +20 -13
  899. package/src/components/HMSHLSPlayer/hooks.ts +22 -4
  900. package/src/components/HMSHLSPlayer/index.ts +3 -0
  901. package/src/hooks/hmsviews.ts +15 -0
  902. package/src/hooks/polls.ts +14 -0
  903. package/src/index.ts +38 -3
  904. package/src/modules/HMSManagerModule.ts +5 -0
  905. package/src/specs/HMSHLSPlayerNativeComponent.ts +203 -0
  906. package/src/specs/HMSViewNativeComponent.ts +119 -0
  907. package/src/specs/NativeHMSManager.ts +307 -0
  908. package/src/stores/hls-player-playback-slice.ts +11 -0
  909. package/src/stores/hls-player-stats-store.ts +28 -18
  910. package/src/stores/hms-interactivity-store.ts +18 -0
  911. package/src/stores/hms-polls-slice.ts +20 -0
  912. package/src/stores/hms-store.ts +2 -0
  913. package/src/stores/hmsviews-slice.ts +20 -0
  914. package/src/stores/types.ts +50 -4
  915. package/src/types.ts +28 -3
  916. package/src/utils/emitter/EventEmitter.ts +26 -0
  917. package/src/utils/keyboard.ts +37 -0
  918. package/src/utils/notification.ts +10 -0
  919. package/src/utils/windowController.ts +23 -0
  920. package/android/.gradle/6.7.1/executionHistory/executionHistory.lock +0 -0
  921. package/android/.gradle/6.7.1/fileChanges/last-build.bin +0 -0
  922. package/android/.gradle/6.7.1/fileHashes/fileHashes.lock +0 -0
  923. package/android/.gradle/6.7.1/gc.properties +0 -0
  924. package/android/.gradle/6.9/executionHistory/executionHistory.bin +0 -0
  925. package/android/.gradle/6.9/executionHistory/executionHistory.lock +0 -0
  926. package/android/.gradle/6.9/fileChanges/last-build.bin +0 -0
  927. package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
  928. package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
  929. package/android/.gradle/6.9/fileHashes/resourceHashesCache.bin +0 -0
  930. package/android/.gradle/6.9/gc.properties +0 -0
  931. package/android/.gradle/6.9/javaCompile/classAnalysis.bin +0 -0
  932. package/android/.gradle/6.9/javaCompile/jarAnalysis.bin +0 -0
  933. package/android/.gradle/6.9/javaCompile/javaCompile.lock +0 -0
  934. package/android/.gradle/6.9/javaCompile/taskHistory.bin +0 -0
  935. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  936. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  937. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  938. package/android/.gradle/checksums/checksums.lock +0 -0
  939. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  940. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  941. package/android/.gradle/configuration-cache/gc.properties +0 -0
  942. package/android/.gradle/vcs-1/gc.properties +0 -0
  943. package/android/.idea/compiler.xml +0 -6
  944. package/android/.idea/gradle.xml +0 -18
  945. package/android/.idea/jarRepositories.xml +0 -45
  946. package/android/.idea/misc.xml +0 -10
  947. package/android/.idea/vcs.xml +0 -6
  948. package/android/local.properties +0 -8
  949. package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayerManager.kt +0 -114
  950. package/android/src/main/java/com/reactnativehmssdk/HMSSDKViewManager.kt +0 -115
  951. package/ios/Hmssdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  952. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  953. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcuserdata/jatinnagar.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  954. package/ios/Hmssdk.xcodeproj/xcuserdata/jatinnagar.xcuserdatad/xcschemes/xcschememanagement.plist +0 -14
  955. package/lib/commonjs/classes/HMSManagerModule.js +0 -18
  956. package/lib/commonjs/classes/HMSManagerModule.js.map +0 -1
  957. package/lib/module/classes/HMSManagerModule.js +0 -11
  958. package/lib/module/classes/HMSManagerModule.js.map +0 -1
  959. package/src/classes/HMSManagerModule.ts +0 -18
  960. /package/lib/typescript/{classes → modules}/HMSManagerModule.d.ts +0 -0
@@ -8,27 +8,55 @@ import android.content.pm.PackageManager
8
8
  import android.content.res.Configuration
9
9
  import android.os.Build
10
10
  import android.os.Bundle
11
+ import android.util.Log
11
12
  import android.util.Rational
13
+ import android.view.WindowManager
12
14
  import androidx.annotation.RequiresApi
15
+ import androidx.core.app.NotificationManagerCompat
16
+ import androidx.core.view.WindowCompat
17
+ import androidx.core.view.WindowInsetsCompat
13
18
  import com.facebook.react.bridge.*
14
19
  import com.facebook.react.module.annotations.ReactModule
15
20
  import com.facebook.react.modules.core.DeviceEventManagerModule
16
- import com.reactnativehmssdk.HMSManager.Companion.REACT_CLASS
21
+ import live.hms.video.error.HMSException
22
+ import live.hms.video.factories.noisecancellation.AvailabilityStatus
23
+ import live.hms.video.sdk.HMSActionResultListener
17
24
  import java.util.UUID
18
-
19
- @ReactModule(name = REACT_CLASS)
20
- class HMSManager(reactContext: ReactApplicationContext) :
21
- ReactContextBaseJavaModule(reactContext), Application.ActivityLifecycleCallbacks {
25
+ import java.util.concurrent.ConcurrentHashMap
26
+
27
+ /**
28
+ * HMSManagerImpl — shared SDK business logic for the HMSManager native module.
29
+ *
30
+ * Phase 1 / 1C-2 of the New Architecture migration. This class holds all
31
+ * the actual SDK code; arch-specific wrappers live at:
32
+ * - android/src/oldarch/.../HMSManager.kt — extends ReactContextBaseJavaModule
33
+ * - android/src/newarch/.../HMSManager.kt — extends NativeHMSManagerSpec
34
+ * Both wrappers instantiate this Impl and forward every method call to it.
35
+ *
36
+ * Note on `reactApplicationContext`: previously inherited from
37
+ * ReactContextBaseJavaModule. Now stored as a constructor property with the
38
+ * same name so the existing 1,728-line method bodies don't need rewriting.
39
+ */
40
+ class HMSManagerImpl(
41
+ val reactApplicationContext: ReactApplicationContext,
42
+ ) : Application.ActivityLifecycleCallbacks {
22
43
  companion object {
23
44
  const val REACT_CLASS = "HMSManager"
24
- var hmsCollection = mutableMapOf<String, HMSRNSDK>()
25
-
45
+ // ConcurrentHashMap so concurrent reads/writes from the JS thread,
46
+ // UI thread (view managers / lifecycle callbacks), and any background
47
+ // SDK callbacks don't race. The previous `mutableMapOf` was a plain
48
+ // HashMap and would throw ConcurrentModificationException under
49
+ // concurrent iteration + write.
50
+ var hmsCollection: MutableMap<String, HMSRNSDK> = ConcurrentHashMap()
51
+
52
+ var startingScreenShare = false
53
+ private var isInPIPMode = false
26
54
  var reactAppContext: ReactApplicationContext? = null
27
- var pipParamConfig: PipParamConfig? = null;
28
- var pipParamsUntyped: Any? = null;
55
+ var pipParamConfig: PipParamConfig? = null
56
+ var pipParamsUntyped: Any? = null
29
57
  var emitter: DeviceEventManagerModule.RCTDeviceEventEmitter? = null
30
58
 
31
- fun onPictureInPictureModeChanged(isInPictureInPictureMode: Boolean, newConfig: Configuration) {
59
+ private fun emitPipEvent(isInPictureInPictureMode: Boolean) {
32
60
  emitter?.let {
33
61
  val data = Arguments.createMap()
34
62
  data.putBoolean("isInPictureInPictureMode", isInPictureInPictureMode)
@@ -37,104 +65,122 @@ class HMSManager(reactContext: ReactApplicationContext) :
37
65
  }
38
66
  }
39
67
 
68
+ fun onPictureInPictureModeChanged(
69
+ isInPictureInPictureMode: Boolean,
70
+ newConfig: Configuration,
71
+ ) {
72
+ if (isInPictureInPictureMode) {
73
+ isInPIPMode = true
74
+ }
75
+ }
76
+
77
+ fun onResume() {
78
+ if (isInPIPMode) {
79
+ isInPIPMode = false
80
+ reactAppContext?.currentActivity?.window?.clearFlags(WindowManager.LayoutParams.FLAG_SECURE)
81
+ emitPipEvent(false)
82
+ }
83
+ }
84
+
40
85
  fun onUserLeaveHint() {
41
86
  val pipParams = pipParamsUntyped
42
87
  if (
88
+ !startingScreenShare &&
43
89
  Build.VERSION.SDK_INT >= Build.VERSION_CODES.O &&
44
- Build.VERSION.SDK_INT < Build.VERSION_CODES.S &&
45
90
  pipParamConfig?.autoEnterPipMode == true &&
46
91
  pipParams is android.app.PictureInPictureParams
47
92
  ) {
48
- reactAppContext?.currentActivity?.enterPictureInPictureMode(pipParams)
93
+ reactAppContext?.currentActivity?.window?.addFlags(WindowManager.LayoutParams.FLAG_SECURE)
94
+ emitPipEvent(true)
95
+ val success = reactAppContext?.currentActivity?.enterPictureInPictureMode(pipParams)
96
+ success?.let {
97
+ if (!it) {
98
+ reactAppContext?.currentActivity?.window?.clearFlags(WindowManager.LayoutParams.FLAG_SECURE)
99
+ emitPipEvent(false)
100
+ }
101
+ }
49
102
  }
50
103
  }
51
104
  }
52
105
 
53
- override fun getName(): String {
54
- return "HMSManager"
55
- }
56
106
 
57
- fun getHmsInstance(): MutableMap<String, HMSRNSDK> {
58
- return hmsCollection
59
- }
107
+ fun getHmsInstance(): MutableMap<String, HMSRNSDK> = hmsCollection
60
108
 
61
109
  private fun setupPip() {
62
110
  if (emitter == null) {
63
111
  reactAppContext = reactApplicationContext
64
112
 
65
113
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
66
- currentActivity?.let {
67
- pipReceiver?.register(it)
114
+ reactApplicationContext?.currentActivity?.let {
115
+ pipReceiver?.register(it)
68
116
  }
69
117
  }
70
118
 
71
- emitter = reactApplicationContext
72
- .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
119
+ emitter =
120
+ reactApplicationContext
121
+ .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
73
122
  }
74
123
  }
75
124
 
76
125
  // Example method
77
126
  // See https://reactnative.dev/docs/native-modules-android
78
- @ReactMethod
79
127
  fun build(
80
128
  data: ReadableMap?,
81
129
  callback: Promise?,
82
130
  ) {
83
- val hasItem = hmsCollection.containsKey("12345")
84
- if (hasItem) {
85
- val uuid = UUID.randomUUID()
86
- val randomUUIDString = uuid.toString()
87
- val sdkInstance = HMSRNSDK(data, this, randomUUIDString, reactApplicationContext)
131
+ try {
132
+ val hasItem = hmsCollection.containsKey("12345")
133
+ if (hasItem) {
134
+ val uuid = UUID.randomUUID()
135
+ val randomUUIDString = uuid.toString()
136
+ val sdkInstance = HMSRNSDK(data, this, randomUUIDString, reactApplicationContext)
88
137
 
89
- hmsCollection[randomUUIDString] = sdkInstance
138
+ hmsCollection[randomUUIDString] = sdkInstance
90
139
 
91
- callback?.resolve(randomUUIDString)
92
- } else {
93
- val randomUUIDString = "12345"
94
- val sdkInstance = HMSRNSDK(data, this, randomUUIDString, reactApplicationContext)
140
+ callback?.resolve(randomUUIDString)
141
+ } else {
142
+ val randomUUIDString = "12345"
143
+ val sdkInstance = HMSRNSDK(data, this, randomUUIDString, reactApplicationContext)
95
144
 
96
- hmsCollection[randomUUIDString] = sdkInstance
145
+ hmsCollection[randomUUIDString] = sdkInstance
97
146
 
98
- callback?.resolve(randomUUIDString)
147
+ callback?.resolve(randomUUIDString)
148
+ }
149
+ } catch (e: HMSException) {
150
+ callback?.reject(e.code.toString(), e.description)
99
151
  }
100
152
  }
101
153
 
102
- @ReactMethod
103
154
  fun preview(credentials: ReadableMap) {
104
155
  val hms = HMSHelper.getHms(credentials, hmsCollection)
105
156
 
106
157
  hms?.preview(credentials)
107
158
  }
108
159
 
109
- @ReactMethod
110
160
  fun join(credentials: ReadableMap) {
111
161
  val hms = HMSHelper.getHms(credentials, hmsCollection)
112
162
 
113
163
  hms?.join(credentials)
114
164
  }
115
165
 
116
- @ReactMethod
117
166
  fun setLocalMute(data: ReadableMap) {
118
167
  val hms = HMSHelper.getHms(data, hmsCollection)
119
168
 
120
169
  hms?.setLocalMute(data)
121
170
  }
122
171
 
123
- @ReactMethod
124
172
  fun setLocalVideoMute(data: ReadableMap) {
125
173
  val hms = HMSHelper.getHms(data, hmsCollection)
126
174
 
127
175
  hms?.setLocalVideoMute(data)
128
176
  }
129
177
 
130
- @ReactMethod
131
178
  fun switchCamera(data: ReadableMap) {
132
179
  val hms = HMSHelper.getHms(data, hmsCollection)
133
180
 
134
181
  hms?.switchCamera()
135
182
  }
136
183
 
137
- @ReactMethod
138
184
  fun leave(
139
185
  data: ReadableMap,
140
186
  callback: Promise?,
@@ -144,7 +190,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
144
190
  hms?.leave(callback)
145
191
  }
146
192
 
147
- @ReactMethod
148
193
  fun sendBroadcastMessage(
149
194
  data: ReadableMap,
150
195
  callback: Promise?,
@@ -154,7 +199,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
154
199
  hms?.sendBroadcastMessage(data, callback)
155
200
  }
156
201
 
157
- @ReactMethod
158
202
  fun sendGroupMessage(
159
203
  data: ReadableMap,
160
204
  callback: Promise?,
@@ -164,7 +208,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
164
208
  hms?.sendGroupMessage(data, callback)
165
209
  }
166
210
 
167
- @ReactMethod
168
211
  fun sendDirectMessage(
169
212
  data: ReadableMap,
170
213
  callback: Promise?,
@@ -175,7 +218,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
175
218
  }
176
219
 
177
220
  @kotlin.Deprecated("Use #Function changeRoleOfPeer instead")
178
- @ReactMethod
179
221
  fun changeRole(
180
222
  data: ReadableMap,
181
223
  callback: Promise?,
@@ -185,7 +227,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
185
227
  hms?.changeRole(data, callback)
186
228
  }
187
229
 
188
- @ReactMethod
189
230
  fun changeRoleOfPeer(
190
231
  data: ReadableMap,
191
232
  promise: Promise?,
@@ -195,7 +236,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
195
236
  hms?.changeRoleOfPeer(data, promise)
196
237
  }
197
238
 
198
- @ReactMethod
199
239
  fun changeRoleOfPeersWithRoles(
200
240
  data: ReadableMap,
201
241
  promise: Promise?,
@@ -205,7 +245,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
205
245
  hms?.changeRoleOfPeersWithRoles(data, promise)
206
246
  }
207
247
 
208
- @ReactMethod
209
248
  fun changeTrackState(
210
249
  data: ReadableMap,
211
250
  callback: Promise?,
@@ -215,7 +254,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
215
254
  hms?.changeTrackState(data, callback)
216
255
  }
217
256
 
218
- @ReactMethod
219
257
  fun changeTrackStateForRoles(
220
258
  data: ReadableMap,
221
259
  callback: Promise?,
@@ -225,7 +263,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
225
263
  hms?.changeTrackStateForRoles(data, callback)
226
264
  }
227
265
 
228
- @ReactMethod
229
266
  fun isMute(
230
267
  data: ReadableMap,
231
268
  callback: Promise?,
@@ -235,7 +272,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
235
272
  hms?.isMute(data, callback)
236
273
  }
237
274
 
238
- @ReactMethod
239
275
  fun removePeer(
240
276
  data: ReadableMap,
241
277
  callback: Promise?,
@@ -245,7 +281,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
245
281
  hms?.removePeer(data, callback)
246
282
  }
247
283
 
248
- @ReactMethod
249
284
  fun isPlaybackAllowed(
250
285
  data: ReadableMap,
251
286
  callback: Promise?,
@@ -255,7 +290,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
255
290
  hms?.isPlaybackAllowed(data, callback)
256
291
  }
257
292
 
258
- @ReactMethod
259
293
  fun getRoom(
260
294
  data: ReadableMap,
261
295
  callback: Promise?,
@@ -265,7 +299,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
265
299
  hms?.getRoom(callback)
266
300
  }
267
301
 
268
- @ReactMethod
269
302
  fun getLocalPeer(
270
303
  data: ReadableMap,
271
304
  callback: Promise?,
@@ -275,7 +308,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
275
308
  hms?.getLocalPeer(callback)
276
309
  }
277
310
 
278
- @ReactMethod
279
311
  fun getRemotePeers(
280
312
  data: ReadableMap,
281
313
  callback: Promise?,
@@ -285,7 +317,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
285
317
  hms?.getRemotePeers(callback)
286
318
  }
287
319
 
288
- @ReactMethod
289
320
  fun getRoles(
290
321
  data: ReadableMap,
291
322
  callback: Promise?,
@@ -295,14 +326,15 @@ class HMSManager(reactContext: ReactApplicationContext) :
295
326
  hms?.getRoles(callback)
296
327
  }
297
328
 
298
- @ReactMethod
299
- fun setPlaybackAllowed(data: ReadableMap) {
329
+ fun setPlaybackAllowed(
330
+ data: ReadableMap,
331
+ callback: Promise?,
332
+ ) {
300
333
  val hms = HMSHelper.getHms(data, hmsCollection)
301
334
 
302
- hms?.setPlaybackAllowed(data)
335
+ hms?.setPlaybackAllowed(data, callback)
303
336
  }
304
337
 
305
- @ReactMethod
306
338
  fun endRoom(
307
339
  data: ReadableMap,
308
340
  callback: Promise?,
@@ -312,7 +344,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
312
344
  hms?.endRoom(data, callback)
313
345
  }
314
346
 
315
- @ReactMethod
316
347
  fun previewForRole(
317
348
  data: ReadableMap,
318
349
  callback: Promise?,
@@ -322,7 +353,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
322
353
  hms?.previewForRole(data, callback)
323
354
  }
324
355
 
325
- @ReactMethod
326
356
  fun cancelPreview(
327
357
  data: ReadableMap,
328
358
  callback: Promise?,
@@ -332,7 +362,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
332
362
  hms?.cancelPreview(callback)
333
363
  }
334
364
 
335
- @ReactMethod
336
365
  fun acceptRoleChange(
337
366
  data: ReadableMap,
338
367
  callback: Promise?,
@@ -342,14 +371,15 @@ class HMSManager(reactContext: ReactApplicationContext) :
342
371
  hms?.acceptRoleChange(callback)
343
372
  }
344
373
 
345
- @ReactMethod
346
- fun setVolume(data: ReadableMap) {
374
+ fun setVolume(
375
+ data: ReadableMap,
376
+ callback: Promise?,
377
+ ) {
347
378
  val hms = HMSHelper.getHms(data, hmsCollection)
348
379
 
349
- hms?.setVolume(data)
380
+ hms?.setVolume(data, callback)
350
381
  }
351
382
 
352
- @ReactMethod
353
383
  fun getVolume(
354
384
  data: ReadableMap,
355
385
  callback: Promise?,
@@ -359,14 +389,15 @@ class HMSManager(reactContext: ReactApplicationContext) :
359
389
  hms?.getVolume(data, callback)
360
390
  }
361
391
 
362
- @ReactMethod
363
- fun setPlaybackForAllAudio(data: ReadableMap) {
392
+ fun setPlaybackForAllAudio(
393
+ data: ReadableMap,
394
+ callback: Promise?,
395
+ ) {
364
396
  val hms = HMSHelper.getHms(data, hmsCollection)
365
397
 
366
- hms?.setPlaybackForAllAudio(data)
398
+ hms?.setPlaybackForAllAudio(data, callback)
367
399
  }
368
400
 
369
- @ReactMethod
370
401
  fun remoteMuteAllAudio(
371
402
  data: ReadableMap,
372
403
  callback: Promise?,
@@ -376,7 +407,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
376
407
  hms?.remoteMuteAllAudio(callback)
377
408
  }
378
409
 
379
- @ReactMethod
380
410
  fun changeMetadata(
381
411
  data: ReadableMap,
382
412
  callback: Promise?,
@@ -386,18 +416,16 @@ class HMSManager(reactContext: ReactApplicationContext) :
386
416
  hms?.changeMetadata(data, callback)
387
417
  }
388
418
 
389
- @ReactMethod
390
419
  fun startScreenshare(
391
420
  data: ReadableMap,
392
421
  callback: Promise?,
393
422
  ) {
394
- currentActivity?.application?.registerActivityLifecycleCallbacks(this)
423
+ reactApplicationContext?.currentActivity?.application?.registerActivityLifecycleCallbacks(this)
395
424
  val hms = HMSHelper.getHms(data, hmsCollection)
396
425
 
397
426
  hms?.startScreenshare(callback)
398
427
  }
399
428
 
400
- @ReactMethod
401
429
  fun isScreenShared(
402
430
  data: ReadableMap,
403
431
  callback: Promise?,
@@ -407,29 +435,26 @@ class HMSManager(reactContext: ReactApplicationContext) :
407
435
  hms?.isScreenShared(callback)
408
436
  }
409
437
 
410
- @ReactMethod
411
438
  fun stopScreenshare(
412
439
  data: ReadableMap,
413
440
  callback: Promise?,
414
441
  ) {
415
442
  val hms = HMSHelper.getHms(data, hmsCollection)
416
443
 
417
- currentActivity?.application?.unregisterActivityLifecycleCallbacks(this)
444
+ reactApplicationContext?.currentActivity?.application?.unregisterActivityLifecycleCallbacks(this)
418
445
  hms?.stopScreenshare(callback)
419
446
  }
420
447
 
421
- @ReactMethod
422
448
  fun startAudioshare(
423
449
  data: ReadableMap,
424
450
  callback: Promise?,
425
451
  ) {
426
- currentActivity?.application?.registerActivityLifecycleCallbacks(this)
452
+ reactApplicationContext?.currentActivity?.application?.registerActivityLifecycleCallbacks(this)
427
453
  val hms = HMSHelper.getHms(data, hmsCollection)
428
454
 
429
455
  hms?.startAudioshare(data, callback)
430
456
  }
431
457
 
432
- @ReactMethod
433
458
  fun isAudioShared(
434
459
  data: ReadableMap,
435
460
  callback: Promise?,
@@ -439,18 +464,16 @@ class HMSManager(reactContext: ReactApplicationContext) :
439
464
  hms?.isAudioShared(callback)
440
465
  }
441
466
 
442
- @ReactMethod
443
467
  fun stopAudioshare(
444
468
  data: ReadableMap,
445
469
  callback: Promise?,
446
470
  ) {
447
471
  val hms = HMSHelper.getHms(data, hmsCollection)
448
472
 
449
- currentActivity?.application?.unregisterActivityLifecycleCallbacks(this)
473
+ reactApplicationContext?.currentActivity?.application?.unregisterActivityLifecycleCallbacks(this)
450
474
  hms?.stopAudioshare(callback)
451
475
  }
452
476
 
453
- @ReactMethod
454
477
  fun getAudioMixingMode(
455
478
  data: ReadableMap,
456
479
  callback: Promise?,
@@ -460,7 +483,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
460
483
  callback?.resolve(hms?.getAudioMixingMode()?.name)
461
484
  }
462
485
 
463
- @ReactMethod
464
486
  fun setAudioMixingMode(
465
487
  data: ReadableMap,
466
488
  callback: Promise?,
@@ -470,7 +492,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
470
492
  hms?.setAudioMixingMode(data, callback)
471
493
  }
472
494
 
473
- @ReactMethod
474
495
  fun startRTMPOrRecording(
475
496
  data: ReadableMap,
476
497
  callback: Promise?,
@@ -480,7 +501,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
480
501
  hms?.startRTMPOrRecording(data, callback)
481
502
  }
482
503
 
483
- @ReactMethod
484
504
  fun stopRtmpAndRecording(
485
505
  data: ReadableMap,
486
506
  callback: Promise?,
@@ -490,7 +510,8 @@ class HMSManager(reactContext: ReactApplicationContext) :
490
510
  hms?.stopRtmpAndRecording(callback)
491
511
  }
492
512
 
493
- @ReactMethod
513
+ // region - HLS Streaming
514
+
494
515
  fun startHLSStreaming(
495
516
  data: ReadableMap,
496
517
  callback: Promise?,
@@ -500,7 +521,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
500
521
  hms?.startHLSStreaming(data, callback)
501
522
  }
502
523
 
503
- @ReactMethod
504
524
  fun stopHLSStreaming(
505
525
  data: ReadableMap,
506
526
  callback: Promise?,
@@ -510,14 +530,23 @@ class HMSManager(reactContext: ReactApplicationContext) :
510
530
  hms?.stopHLSStreaming(callback)
511
531
  }
512
532
 
513
- @ReactMethod
514
- fun resetVolume(data: ReadableMap) {
515
- val hms = HMSHelper.getHms(data, hmsCollection)
516
-
517
- hms?.resetVolume()
533
+ fun sendHLSTimedMetadata(
534
+ data: ReadableMap,
535
+ callback: Promise?,
536
+ ) {
537
+ val rnSDK = HMSHelper.getHms(data, hmsCollection)
538
+ rnSDK?.let { sdk ->
539
+ sdk.sendHLSTimedMetadata(data, callback)
540
+ return
541
+ }
542
+ callback?.reject(
543
+ "6004",
544
+ "HMS SDK not initialized",
545
+ )
518
546
  }
519
547
 
520
- @ReactMethod
548
+ // endregion
549
+
521
550
  fun changeName(
522
551
  data: ReadableMap,
523
552
  callback: Promise?,
@@ -527,7 +556,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
527
556
  hms?.changeName(data, callback)
528
557
  }
529
558
 
530
- @ReactMethod
531
559
  fun destroy(
532
560
  data: ReadableMap,
533
561
  callback: Promise?,
@@ -540,21 +568,18 @@ class HMSManager(reactContext: ReactApplicationContext) :
540
568
  callback?.resolve(result)
541
569
  }
542
570
 
543
- @ReactMethod
544
571
  fun enableNetworkQualityUpdates(data: ReadableMap) {
545
572
  val hms = HMSHelper.getHms(data, hmsCollection)
546
573
 
547
574
  hms?.enableNetworkQualityUpdates()
548
575
  }
549
576
 
550
- @ReactMethod
551
577
  fun disableNetworkQualityUpdates(data: ReadableMap) {
552
578
  val hms = HMSHelper.getHms(data, hmsCollection)
553
579
 
554
580
  hms?.disableNetworkQualityUpdates()
555
581
  }
556
582
 
557
- @ReactMethod
558
583
  fun getAudioDevicesList(
559
584
  data: ReadableMap,
560
585
  callback: Promise?,
@@ -564,7 +589,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
564
589
  hms?.getAudioDevicesList(callback)
565
590
  }
566
591
 
567
- @ReactMethod
568
592
  fun getAudioOutputRouteType(
569
593
  data: ReadableMap,
570
594
  callback: Promise?,
@@ -574,42 +598,42 @@ class HMSManager(reactContext: ReactApplicationContext) :
574
598
  hms?.getAudioOutputRouteType(callback)
575
599
  }
576
600
 
577
- @ReactMethod
578
- fun switchAudioOutput(data: ReadableMap) {
601
+ fun switchAudioOutput(
602
+ data: ReadableMap,
603
+ callback: Promise?,
604
+ ) {
579
605
  val hms = HMSHelper.getHms(data, hmsCollection)
580
606
 
581
- hms?.switchAudioOutput(data)
607
+ hms?.switchAudioOutput(data, callback)
582
608
  }
583
609
 
584
- @ReactMethod
585
- fun setAudioMode(data: ReadableMap) {
610
+ fun setAudioMode(
611
+ data: ReadableMap,
612
+ callback: Promise?,
613
+ ) {
586
614
  val hms = HMSHelper.getHms(data, hmsCollection)
587
615
 
588
- hms?.setAudioMode(data)
616
+ hms?.setAudioMode(data, callback)
589
617
  }
590
618
 
591
- @ReactMethod
592
619
  fun setAudioDeviceChangeListener(data: ReadableMap) {
593
620
  val hms = HMSHelper.getHms(data, hmsCollection)
594
621
 
595
622
  hms?.setAudioDeviceChangeListener()
596
623
  }
597
624
 
598
- @ReactMethod(isBlockingSynchronousMethod = true)
599
625
  fun getPeerProperty(data: ReadableMap): WritableMap? {
600
626
  val hms = HMSHelper.getHms(data, hmsCollection) ?: return null
601
627
 
602
628
  return hms.getPeerProperty(data)
603
629
  }
604
630
 
605
- @ReactMethod(isBlockingSynchronousMethod = true)
606
631
  fun getRoomProperty(data: ReadableMap): WritableMap? {
607
632
  val hms = HMSHelper.getHms(data, hmsCollection) ?: return null
608
633
 
609
634
  return hms.getRoomProperty(data)
610
635
  }
611
636
 
612
- @ReactMethod
613
637
  fun enableEvent(
614
638
  data: ReadableMap,
615
639
  promise: Promise?,
@@ -619,7 +643,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
619
643
  hms?.enableEvent(data, promise)
620
644
  }
621
645
 
622
- @ReactMethod
623
646
  fun disableEvent(
624
647
  data: ReadableMap,
625
648
  promise: Promise?,
@@ -629,7 +652,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
629
652
  hms?.disableEvent(data, promise)
630
653
  }
631
654
 
632
- @ReactMethod()
633
655
  fun restrictData(
634
656
  data: ReadableMap,
635
657
  promise: Promise?,
@@ -639,7 +661,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
639
661
  hms?.restrictData(data, promise)
640
662
  }
641
663
 
642
- @ReactMethod()
643
664
  fun getAuthTokenByRoomCode(
644
665
  data: ReadableMap,
645
666
  promise: Promise,
@@ -649,7 +670,7 @@ class HMSManager(reactContext: ReactApplicationContext) :
649
670
  hms?.getAuthTokenByRoomCode(data, promise)
650
671
  }
651
672
 
652
- // region Person-In-Person Mode Action handing
673
+ // region Picture-In-Picture Mode Action handing
653
674
  private val pipReceiver by lazy {
654
675
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
655
676
  PipActionReceiver(
@@ -718,7 +739,7 @@ class HMSManager(reactContext: ReactApplicationContext) :
718
739
  return
719
740
  }
720
741
 
721
- val activity = currentActivity
742
+ val activity = reactApplicationContext?.currentActivity
722
743
 
723
744
  if (activity !== null) {
724
745
  val hmssdk = getHmsInstance()[PipActionReceiver.sdkIdForPIP!!]?.hmsSDK
@@ -741,7 +762,9 @@ class HMSManager(reactContext: ReactApplicationContext) :
741
762
  PendingIntent.getBroadcast(
742
763
  reactApplicationContext,
743
764
  PipActionReceiver.PIPActions.localAudio.requestCode,
744
- Intent(PipActionReceiver.PIP_INTENT_ACTION).putExtra(PipActionReceiver.PIPActions.localAudio.title, PipActionReceiver.PIPActions.localAudio.requestCode),
765
+ Intent(
766
+ PipActionReceiver.PIP_INTENT_ACTION,
767
+ ).putExtra(PipActionReceiver.PIPActions.localAudio.title, PipActionReceiver.PIPActions.localAudio.requestCode),
745
768
  PendingIntent.FLAG_IMMUTABLE,
746
769
  ),
747
770
  )
@@ -766,7 +789,9 @@ class HMSManager(reactContext: ReactApplicationContext) :
766
789
  PendingIntent.getBroadcast(
767
790
  reactApplicationContext,
768
791
  PipActionReceiver.PIPActions.localVideo.requestCode,
769
- Intent(PipActionReceiver.PIP_INTENT_ACTION).putExtra(PipActionReceiver.PIPActions.localVideo.title, PipActionReceiver.PIPActions.localVideo.requestCode),
792
+ Intent(
793
+ PipActionReceiver.PIP_INTENT_ACTION,
794
+ ).putExtra(PipActionReceiver.PIPActions.localVideo.title, PipActionReceiver.PIPActions.localVideo.requestCode),
770
795
  PendingIntent.FLAG_IMMUTABLE,
771
796
  ),
772
797
  )
@@ -793,7 +818,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
793
818
  val showAudioButton: Boolean,
794
819
  )
795
820
 
796
- @ReactMethod
797
821
  fun handlePipActions(
798
822
  action: String,
799
823
  data: ReadableMap,
@@ -853,9 +877,13 @@ class HMSManager(reactContext: ReactApplicationContext) :
853
877
  }
854
878
 
855
879
  if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
856
- it.setAutoEnterEnabled(config.autoEnterPipMode)
880
+ it.setSeamlessResizeEnabled(false)
857
881
  }
858
882
 
883
+ // if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
884
+ // it.setAutoEnterEnabled(config.autoEnterPipMode)
885
+ // }
886
+
859
887
  // region Setting RemoteActions on PictureInPictureParams
860
888
  val hmssdk = getHmsInstance()[PipActionReceiver.sdkIdForPIP!!]?.hmsSDK
861
889
 
@@ -888,7 +916,8 @@ class HMSManager(reactContext: ReactApplicationContext) :
888
916
  if (config.showEndButton) {
889
917
  pipRemoteActionsList.add(
890
918
  android.app.RemoteAction(
891
- android.graphics.drawable.Icon.createWithResource(reactApplicationContext, R.drawable.ic_call_end_24),
919
+ android.graphics.drawable.Icon
920
+ .createWithResource(reactApplicationContext, R.drawable.ic_call_end_24),
892
921
  PipActionReceiver.PIPActions.endMeet.title,
893
922
  PipActionReceiver.PIPActions.endMeet.description,
894
923
  PendingIntent.getBroadcast(
@@ -1010,7 +1039,7 @@ class HMSManager(reactContext: ReactApplicationContext) :
1010
1039
  throw Throwable(message = "PIP Mode is not supported!")
1011
1040
  }
1012
1041
 
1013
- val activity = currentActivity ?: return false
1042
+ val activity = reactApplicationContext?.currentActivity ?: return false
1014
1043
  val pipParamConfig = readableMapToPipParamConfig(data) ?: return false
1015
1044
  val pipParams = buildPipParams(pipParamConfig) ?: return false
1016
1045
 
@@ -1018,13 +1047,14 @@ class HMSManager(reactContext: ReactApplicationContext) :
1018
1047
  return false
1019
1048
  }
1020
1049
 
1021
- HMSManager.pipParamConfig = pipParamConfig
1022
- HMSManager.pipParamsUntyped = pipParams
1050
+ Companion.pipParamConfig = pipParamConfig
1051
+ Companion.pipParamsUntyped = pipParams
1023
1052
 
1024
1053
  activity.setPictureInPictureParams(pipParams)
1025
1054
  return true
1026
1055
  } catch (e: Exception) {
1027
- throw e
1056
+ Log.e("HMSManager", "Error setting PictureInPictureParams: ${e.message}")
1057
+ return false
1028
1058
  }
1029
1059
  }
1030
1060
 
@@ -1046,7 +1076,7 @@ class HMSManager(reactContext: ReactApplicationContext) :
1046
1076
  throw Throwable(message = "PIP Mode is not supported!")
1047
1077
  }
1048
1078
 
1049
- val activity = currentActivity ?: return false
1079
+ val activity = reactApplicationContext?.currentActivity ?: return false
1050
1080
  val pipParamConfig = readableMapToPipParamConfig(data) ?: return false
1051
1081
  val pipParams = buildPipParams(pipParamConfig) ?: return false
1052
1082
 
@@ -1054,16 +1084,15 @@ class HMSManager(reactContext: ReactApplicationContext) :
1054
1084
  return false
1055
1085
  }
1056
1086
 
1057
- HMSManager.pipParamConfig = pipParamConfig
1058
- HMSManager.pipParamsUntyped = pipParams
1087
+ Companion.pipParamConfig = pipParamConfig
1088
+ Companion.pipParamsUntyped = pipParams
1059
1089
 
1060
1090
  return activity.enterPictureInPictureMode(pipParams)
1061
1091
  } catch (e: Exception) {
1062
- throw e
1092
+ return false
1063
1093
  }
1064
1094
  }
1065
1095
 
1066
- @ReactMethod
1067
1096
  fun getRemoteVideoTrackFromTrackId(
1068
1097
  data: ReadableMap,
1069
1098
  promise: Promise,
@@ -1073,7 +1102,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
1073
1102
  hms?.getRemoteVideoTrackFromTrackId(data, promise)
1074
1103
  }
1075
1104
 
1076
- @ReactMethod
1077
1105
  fun getRemoteAudioTrackFromTrackId(
1078
1106
  data: ReadableMap,
1079
1107
  promise: Promise,
@@ -1083,7 +1111,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
1083
1111
  hms?.getRemoteAudioTrackFromTrackId(data, promise)
1084
1112
  }
1085
1113
 
1086
- @ReactMethod
1087
1114
  fun getVideoTrackLayer(
1088
1115
  data: ReadableMap,
1089
1116
  promise: Promise,
@@ -1093,7 +1120,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
1093
1120
  hms?.getVideoTrackLayer(data, promise)
1094
1121
  }
1095
1122
 
1096
- @ReactMethod
1097
1123
  fun getVideoTrackLayerDefinition(
1098
1124
  data: ReadableMap,
1099
1125
  promise: Promise,
@@ -1103,7 +1129,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
1103
1129
  hms?.getVideoTrackLayerDefinition(data, promise)
1104
1130
  }
1105
1131
 
1106
- @ReactMethod
1107
1132
  fun setVideoTrackLayer(
1108
1133
  data: ReadableMap,
1109
1134
  promise: Promise?,
@@ -1113,7 +1138,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
1113
1138
  hms?.setVideoTrackLayer(data, promise)
1114
1139
  }
1115
1140
 
1116
- @ReactMethod
1117
1141
  fun captureImageAtMaxSupportedResolution(
1118
1142
  data: ReadableMap,
1119
1143
  promise: Promise?,
@@ -1123,7 +1147,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
1123
1147
  hms?.captureImageAtMaxSupportedResolution(data, promise)
1124
1148
  }
1125
1149
 
1126
- @ReactMethod
1127
1150
  fun setSessionMetadataForKey(
1128
1151
  data: ReadableMap,
1129
1152
  promise: Promise?,
@@ -1133,7 +1156,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
1133
1156
  hms?.setSessionMetadataForKey(data, promise)
1134
1157
  }
1135
1158
 
1136
- @ReactMethod
1137
1159
  fun getSessionMetadataForKey(
1138
1160
  data: ReadableMap,
1139
1161
  promise: Promise?,
@@ -1143,7 +1165,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
1143
1165
  hms?.getSessionMetadataForKey(data, promise)
1144
1166
  }
1145
1167
 
1146
- @ReactMethod
1147
1168
  fun addKeyChangeListener(
1148
1169
  data: ReadableMap,
1149
1170
  promise: Promise?,
@@ -1153,7 +1174,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
1153
1174
  hms?.addKeyChangeListener(data, promise)
1154
1175
  }
1155
1176
 
1156
- @ReactMethod
1157
1177
  fun removeKeyChangeListener(
1158
1178
  data: ReadableMap,
1159
1179
  promise: Promise?,
@@ -1163,7 +1183,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
1163
1183
  hms?.removeKeyChangeListener(data, promise)
1164
1184
  }
1165
1185
 
1166
- @ReactMethod
1167
1186
  fun getRoomLayout(
1168
1187
  data: ReadableMap,
1169
1188
  promise: Promise?,
@@ -1173,7 +1192,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
1173
1192
  hms?.getRoomLayout(data, promise)
1174
1193
  }
1175
1194
 
1176
- @ReactMethod
1177
1195
  fun raiseLocalPeerHand(
1178
1196
  data: ReadableMap,
1179
1197
  promise: Promise?,
@@ -1182,7 +1200,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
1182
1200
  hms?.raiseLocalPeerHand(data, promise)
1183
1201
  }
1184
1202
 
1185
- @ReactMethod
1186
1203
  fun lowerLocalPeerHand(
1187
1204
  data: ReadableMap,
1188
1205
  promise: Promise?,
@@ -1199,13 +1216,11 @@ class HMSManager(reactContext: ReactApplicationContext) :
1199
1216
  hms?.lowerRemotePeerHand(data, promise)
1200
1217
  }
1201
1218
 
1202
- @ReactMethod(isBlockingSynchronousMethod = true)
1203
1219
  fun getPeerListIterator(data: ReadableMap): WritableMap? {
1204
1220
  val hms = HMSHelper.getHms(data, hmsCollection) ?: return null
1205
1221
  return hms.getPeerListIterator(data)
1206
1222
  }
1207
1223
 
1208
- @ReactMethod
1209
1224
  fun peerListIteratorHasNext(
1210
1225
  data: ReadableMap,
1211
1226
  promise: Promise?,
@@ -1214,7 +1229,6 @@ class HMSManager(reactContext: ReactApplicationContext) :
1214
1229
  hms?.peerListIteratorHasNext(data, promise)
1215
1230
  }
1216
1231
 
1217
- @ReactMethod
1218
1232
  fun peerListIteratorNext(
1219
1233
  data: ReadableMap,
1220
1234
  promise: Promise?,
@@ -1223,6 +1237,82 @@ class HMSManager(reactContext: ReactApplicationContext) :
1223
1237
  hms?.peerListIteratorNext(data, promise)
1224
1238
  }
1225
1239
 
1240
+ fun checkNotifications(promise: Promise?) {
1241
+ val reactApplicationContext = reactApplicationContext
1242
+
1243
+ if (reactApplicationContext == null) {
1244
+ promise?.reject(Throwable("`reactApplicationContext` is not available!"))
1245
+ return
1246
+ }
1247
+ val enabled = NotificationManagerCompat.from(reactApplicationContext).areNotificationsEnabled()
1248
+ val data: WritableMap = Arguments.createMap()
1249
+
1250
+ data.putString("status", if (enabled) "granted" else "blocked")
1251
+ val settings: WritableMap = Arguments.createMap()
1252
+ data.putMap("settings", settings)
1253
+
1254
+ promise?.resolve(data)
1255
+ }
1256
+
1257
+ fun setSoftInputMode(inputMode: Int): Int {
1258
+ val window = reactApplicationContext?.currentActivity?.window ?: return -1
1259
+ UiThreadUtil.runOnUiThread {
1260
+ window.setSoftInputMode(inputMode)
1261
+ }
1262
+ return 0
1263
+ }
1264
+
1265
+ fun getSoftInputMode(): Int {
1266
+ val attributes = reactApplicationContext?.currentActivity?.window?.attributes ?: return -1
1267
+ return attributes.softInputMode
1268
+ }
1269
+
1270
+ fun hideSystemBars() {
1271
+ val window = reactApplicationContext?.currentActivity?.window
1272
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P && window != null) {
1273
+ UiThreadUtil.runOnUiThread {
1274
+ window.attributes.layoutInDisplayCutoutMode =
1275
+ WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES
1276
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
1277
+ window.insetsController?.hide(WindowInsetsCompat.Type.systemBars())
1278
+ }
1279
+ WindowCompat.setDecorFitsSystemWindows(window, false)
1280
+ }
1281
+ }
1282
+ }
1283
+
1284
+ fun showSystemBars() {
1285
+ val window = reactApplicationContext?.currentActivity?.window
1286
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P && window != null) {
1287
+ UiThreadUtil.runOnUiThread {
1288
+ window.attributes.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT
1289
+ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
1290
+ window.insetsController?.show(WindowInsetsCompat.Type.systemBars())
1291
+ }
1292
+ WindowCompat.setDecorFitsSystemWindows(window, true)
1293
+ }
1294
+ }
1295
+ }
1296
+
1297
+ fun setAlwaysScreenOn(
1298
+ data: ReadableMap,
1299
+ promise: Promise?,
1300
+ ) {
1301
+ val window = reactApplicationContext?.currentActivity?.window
1302
+ if (window == null) {
1303
+ promise?.reject(Throwable("`window` is not available!"))
1304
+ return
1305
+ }
1306
+ UiThreadUtil.runOnUiThread {
1307
+ if (data.getBoolean("enabled")) {
1308
+ window.addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
1309
+ } else {
1310
+ window.clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON)
1311
+ }
1312
+ promise?.resolve(null)
1313
+ }
1314
+ }
1315
+
1226
1316
  fun emitEvent(
1227
1317
  event: String,
1228
1318
  data: WritableMap,
@@ -1232,6 +1322,287 @@ class HMSManager(reactContext: ReactApplicationContext) :
1232
1322
  .emit(event, data)
1233
1323
  }
1234
1324
 
1325
+ // region Polls
1326
+ fun quickStartPoll(
1327
+ data: ReadableMap,
1328
+ promise: Promise?,
1329
+ ) {
1330
+ val rnSDK = HMSHelper.getHms(data, hmsCollection)
1331
+ rnSDK?.let { sdk ->
1332
+ sdk.interactivityCenter?.let { center ->
1333
+ center.quickStartPoll(data, promise)
1334
+ return
1335
+ }
1336
+ }
1337
+ promise?.reject(
1338
+ "6004",
1339
+ "HMS SDK not initialized",
1340
+ )
1341
+ }
1342
+
1343
+ fun addResponseOnPollQuestion(
1344
+ data: ReadableMap,
1345
+ promise: Promise?,
1346
+ ) {
1347
+ val rnSDK = HMSHelper.getHms(data, hmsCollection)
1348
+ rnSDK?.let { sdk ->
1349
+ sdk.interactivityCenter?.let { center ->
1350
+ center.addResponseOnPollQuestion(data, promise)
1351
+ return
1352
+ }
1353
+ }
1354
+ promise?.reject(
1355
+ "6004",
1356
+ "HMS SDK not initialized",
1357
+ )
1358
+ }
1359
+
1360
+ fun stopPoll(
1361
+ data: ReadableMap,
1362
+ promise: Promise?,
1363
+ ) {
1364
+ val rnSDK = HMSHelper.getHms(data, hmsCollection)
1365
+ rnSDK?.let { sdk ->
1366
+ sdk.interactivityCenter?.let { center ->
1367
+ center.stop(data, promise)
1368
+ return
1369
+ }
1370
+ }
1371
+ promise?.reject(
1372
+ "6004",
1373
+ "HMS SDK not initialized",
1374
+ )
1375
+ }
1376
+
1377
+ fun fetchLeaderboard(
1378
+ data: ReadableMap,
1379
+ promise: Promise?,
1380
+ ) {
1381
+ val rnSDK = HMSHelper.getHms(data, hmsCollection)
1382
+ rnSDK?.let { sdk ->
1383
+ sdk.interactivityCenter?.let { center ->
1384
+ center.fetchLeaderboard(data, promise)
1385
+ return
1386
+ }
1387
+ }
1388
+ promise?.reject(
1389
+ "6004",
1390
+ "HMS SDK not initialized",
1391
+ )
1392
+ }
1393
+ // endregion
1394
+
1395
+ //region Whiteboard
1396
+ fun startWhiteboard(
1397
+ data: ReadableMap,
1398
+ promise: Promise?,
1399
+ ) {
1400
+ val rnSDK = HMSHelper.getHms(data, hmsCollection)
1401
+ rnSDK?.let { sdk ->
1402
+ sdk.interactivityCenter?.let { center ->
1403
+ center.startWhiteboard(data, promise)
1404
+ return
1405
+ }
1406
+ }
1407
+ promise?.reject(
1408
+ "6004",
1409
+ "HMS SDK not initialized",
1410
+ )
1411
+ }
1412
+
1413
+ fun stopWhiteboard(
1414
+ data: ReadableMap,
1415
+ promise: Promise?,
1416
+ ) {
1417
+ val rnSDK = HMSHelper.getHms(data, hmsCollection)
1418
+ rnSDK?.let { sdk ->
1419
+ sdk.interactivityCenter?.let { center ->
1420
+ center.stopWhiteboard(promise)
1421
+ return
1422
+ }
1423
+ }
1424
+ promise?.reject(
1425
+ "6004",
1426
+ "HMS SDK not initialized",
1427
+ )
1428
+ }
1429
+ //endregion
1430
+
1431
+ // region Noise Cancellation Plugin
1432
+ fun enableNoiseCancellationPlugin(
1433
+ data: ReadableMap,
1434
+ promise: Promise?,
1435
+ ) {
1436
+ val rnSDK =
1437
+ HMSHelper.getHms(data, hmsCollection) ?: run {
1438
+ promise?.reject(
1439
+ "6004",
1440
+ "RN HMS SDK not initialized",
1441
+ )
1442
+ return
1443
+ }
1444
+ val hmsSdk =
1445
+ rnSDK.hmsSDK ?: run {
1446
+ promise?.reject(
1447
+ "6004",
1448
+ "HMS SDK not initialized",
1449
+ )
1450
+ return
1451
+ }
1452
+
1453
+ hmsSdk.enableNoiseCancellation(
1454
+ true,
1455
+ object : HMSActionResultListener {
1456
+ override fun onError(error: HMSException) {
1457
+ promise?.reject(error.code.toString(), error.message)
1458
+ }
1459
+
1460
+ override fun onSuccess() {
1461
+ promise?.resolve(true)
1462
+ }
1463
+ },
1464
+ )
1465
+ }
1466
+
1467
+ fun disableNoiseCancellationPlugin(
1468
+ data: ReadableMap,
1469
+ promise: Promise?,
1470
+ ) {
1471
+ val rnSDK =
1472
+ HMSHelper.getHms(data, hmsCollection) ?: run {
1473
+ promise?.reject(
1474
+ "6004",
1475
+ "RN HMS SDK not initialized",
1476
+ )
1477
+ return
1478
+ }
1479
+ val hmsSdk =
1480
+ rnSDK.hmsSDK ?: run {
1481
+ promise?.reject(
1482
+ "6004",
1483
+ "HMS SDK not initialized",
1484
+ )
1485
+ return
1486
+ }
1487
+ hmsSdk.enableNoiseCancellation(
1488
+ false,
1489
+ object : HMSActionResultListener {
1490
+ override fun onError(error: HMSException) {
1491
+ promise?.reject(error.code.toString(), error.message)
1492
+ }
1493
+
1494
+ override fun onSuccess() {
1495
+ promise?.resolve(true)
1496
+ }
1497
+ },
1498
+ )
1499
+ }
1500
+
1501
+ fun isNoiseCancellationPluginEnabled(
1502
+ data: ReadableMap,
1503
+ promise: Promise?,
1504
+ ) {
1505
+ val rnSDK =
1506
+ HMSHelper.getHms(data, hmsCollection) ?: run {
1507
+ promise?.reject(
1508
+ "6004",
1509
+ "RN HMS SDK not initialized",
1510
+ )
1511
+ return
1512
+ }
1513
+ val hmsSdk =
1514
+ rnSDK.hmsSDK ?: run {
1515
+ promise?.reject(
1516
+ "6004",
1517
+ "HMS SDK not initialized",
1518
+ )
1519
+ return
1520
+ }
1521
+ val isEnabled = hmsSdk.isNoiseCancellationEnabled()
1522
+ promise?.resolve(isEnabled)
1523
+ }
1524
+
1525
+ fun isNoiseCancellationPluginAvailable(
1526
+ data: ReadableMap,
1527
+ promise: Promise?,
1528
+ ) {
1529
+ val rnSDK =
1530
+ HMSHelper.getHms(data, hmsCollection) ?: run {
1531
+ promise?.reject(
1532
+ "6004",
1533
+ "RN HMS SDK not initialized",
1534
+ )
1535
+ return
1536
+ }
1537
+ val hmsSdk =
1538
+ rnSDK.hmsSDK ?: run {
1539
+ promise?.reject(
1540
+ "6004",
1541
+ "HMS SDK not initialized",
1542
+ )
1543
+ return
1544
+ }
1545
+
1546
+ val availability: AvailabilityStatus = hmsSdk.isNoiseCancellationSupported()
1547
+ val isAvailable =
1548
+ if (availability == AvailabilityStatus.Available) {
1549
+ true
1550
+ } else {
1551
+ val reason = (availability as AvailabilityStatus.NotAvailable).reason
1552
+ Log.d("HMSManager", "NoiseCancellation Not available because of $reason")
1553
+ false
1554
+ }
1555
+ promise?.resolve(isAvailable)
1556
+ }
1557
+ // endregion
1558
+
1559
+ // region Webrtc Transcriptions
1560
+ fun handleRealTimeTranscription(
1561
+ data: ReadableMap,
1562
+ promise: Promise?,
1563
+ ) {
1564
+ val rnSDK =
1565
+ HMSHelper.getHms(data, hmsCollection) ?: run {
1566
+ promise?.reject(
1567
+ "6004",
1568
+ "RN HMS SDK not initialized",
1569
+ )
1570
+ return
1571
+ }
1572
+ rnSDK.handleRealTimeTranscription(data, promise)
1573
+ }
1574
+ // endregion
1575
+
1576
+ fun setPermissionsAccepted(
1577
+ data: ReadableMap,
1578
+ promise: Promise?,
1579
+ ) {
1580
+ val rnSDK =
1581
+ HMSHelper.getHms(data, hmsCollection) ?: run {
1582
+ promise?.reject(
1583
+ "6004",
1584
+ "RN HMS SDK not initialized",
1585
+ )
1586
+ return
1587
+ }
1588
+ rnSDK.hmsSDK?.setPermissionsAccepted()
1589
+ promise?.resolve(null)
1590
+ }
1591
+
1592
+ // region Warning on JS side
1593
+ fun addListener(eventName: String) {
1594
+ // Keep: Required for RN built in Event Emitter Calls.
1595
+ // Fixes Warning - `new NativeEventEmitter()` was called with a non-null argument without the required `addListener` method.
1596
+ }
1597
+
1598
+ fun removeListeners(count: Int) {
1599
+ // Keep: Required for RN built in Event Emitter Calls.
1600
+ // Fixes Warning - `new NativeEventEmitter()` was called with a non-null argument without the required `removeListeners` method.
1601
+ }
1602
+ // endregion
1603
+
1604
+ // region ActivityLifecycleCallbacks
1605
+
1235
1606
  override fun onActivityCreated(
1236
1607
  activity: Activity,
1237
1608
  savedInstanceState: Bundle?,
@@ -1259,7 +1630,7 @@ class HMSManager(reactContext: ReactApplicationContext) :
1259
1630
  hmsCollection[key]?.leave(null)
1260
1631
  }
1261
1632
  }
1262
- currentActivity?.application?.unregisterActivityLifecycleCallbacks(this)
1633
+ reactApplicationContext?.currentActivity?.application?.unregisterActivityLifecycleCallbacks(this)
1263
1634
  hmsCollection = mutableMapOf()
1264
1635
  // unregistering pip actions on activity destroy.
1265
1636
  if (pipReceiver !== null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
@@ -1267,7 +1638,8 @@ class HMSManager(reactContext: ReactApplicationContext) :
1267
1638
  }
1268
1639
  }
1269
1640
  } catch (e: Exception) {
1270
- // Log.d("error", e.message)
1271
1641
  }
1272
1642
  }
1643
+
1644
+ // endregion
1273
1645
  }