@100mslive/react-native-hms 0.9.0 → 0.9.3

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 (206) hide show
  1. package/README.md +242 -21
  2. package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
  3. package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
  4. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  5. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  6. package/android/.gradle/checksums/checksums.lock +0 -0
  7. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  8. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  9. package/android/.idea/gradle.xml +13 -0
  10. package/android/.idea/misc.xml +9 -0
  11. package/android/.idea/modules/android.iml +18 -0
  12. package/android/.idea/modules.xml +8 -0
  13. package/android/.idea/sonarlint/issuestore/f/0/f07866736216be0ee2aba49e392191aeae700a35 +0 -0
  14. package/android/.idea/sonarlint/issuestore/index.pb +3 -0
  15. package/android/.idea/vcs.xml +6 -0
  16. package/android/build.gradle +2 -2
  17. package/android/local.properties +8 -0
  18. package/android/src/main/java/com/reactnativehmssdk/HmsDecoder.kt +53 -4
  19. package/android/src/main/java/com/reactnativehmssdk/HmsHelper.kt +138 -64
  20. package/android/src/main/java/com/reactnativehmssdk/HmsModule.kt +19 -5
  21. package/android/src/main/java/com/reactnativehmssdk/HmsSDK.kt +133 -109
  22. package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +11 -0
  23. package/android/src/main/java/com/reactnativehmssdk/HmsView.kt +3 -27
  24. package/android/src/main/java/com/reactnativehmssdk/HmssdkViewManager.kt +0 -2
  25. package/ios/HmsDecoder.swift +218 -137
  26. package/ios/HmsHelper.swift +51 -40
  27. package/ios/HmsManager.m +7 -1
  28. package/ios/HmsManager.swift +111 -68
  29. package/ios/HmsSDK.swift +345 -203
  30. package/ios/HmsView.swift +45 -31
  31. package/ios/VideoCollectionViewCell.swift +4 -4
  32. package/lib/commonjs/classes/HMSBrowserRecordingState.js +6 -0
  33. package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
  34. package/lib/commonjs/classes/HMSConfig.js +3 -0
  35. package/lib/commonjs/classes/HMSConfig.js.map +1 -1
  36. package/lib/commonjs/classes/HMSEncoder.js +196 -5
  37. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  38. package/lib/commonjs/classes/HMSHLSConfig.js +3 -0
  39. package/lib/commonjs/classes/HMSHLSConfig.js.map +1 -1
  40. package/lib/commonjs/classes/HMSHLSRecordingConfig.js +23 -0
  41. package/lib/commonjs/classes/HMSHLSRecordingConfig.js.map +1 -0
  42. package/lib/commonjs/classes/HMSHLSRecordingState.js +29 -0
  43. package/lib/commonjs/classes/HMSHLSRecordingState.js.map +1 -0
  44. package/lib/commonjs/classes/HMSHLSVariant.js.map +1 -1
  45. package/lib/commonjs/classes/HMSLocalAudioStats.js +26 -0
  46. package/lib/commonjs/classes/HMSLocalAudioStats.js.map +1 -0
  47. package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
  48. package/lib/commonjs/classes/HMSLocalVideoStats.js +32 -0
  49. package/lib/commonjs/classes/HMSLocalVideoStats.js.map +1 -0
  50. package/lib/commonjs/classes/HMSLogger.js +21 -21
  51. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  52. package/lib/commonjs/classes/HMSMessage.js +4 -1
  53. package/lib/commonjs/classes/HMSMessage.js.map +1 -1
  54. package/lib/commonjs/classes/HMSMessageRecipient.js +26 -0
  55. package/lib/commonjs/classes/HMSMessageRecipient.js.map +1 -0
  56. package/lib/commonjs/classes/HMSMessageRecipientType.js +15 -0
  57. package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -0
  58. package/lib/commonjs/classes/HMSNetworkQuality.js +20 -0
  59. package/lib/commonjs/classes/HMSNetworkQuality.js.map +1 -0
  60. package/lib/commonjs/classes/HMSPeer.js +3 -0
  61. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  62. package/lib/commonjs/classes/HMSPeerUpdate.js +2 -7
  63. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  64. package/lib/commonjs/classes/HMSPermissions.js +2 -2
  65. package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
  66. package/lib/commonjs/classes/HMSRTCStats.js +38 -0
  67. package/lib/commonjs/classes/HMSRTCStats.js.map +1 -0
  68. package/lib/commonjs/classes/HMSRTCStatsReport.js +26 -0
  69. package/lib/commonjs/classes/HMSRTCStatsReport.js.map +1 -0
  70. package/lib/commonjs/classes/HMSRemoteAudioStats.js +32 -0
  71. package/lib/commonjs/classes/HMSRemoteAudioStats.js.map +1 -0
  72. package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
  73. package/lib/commonjs/classes/HMSRemoteVideoStats.js +38 -0
  74. package/lib/commonjs/classes/HMSRemoteVideoStats.js.map +1 -0
  75. package/lib/commonjs/classes/HMSRoom.js +6 -0
  76. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  77. package/lib/commonjs/classes/HMSRoomUpdate.js +1 -0
  78. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  79. package/lib/commonjs/classes/HMSRtmpStreamingState.js +6 -0
  80. package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
  81. package/lib/commonjs/classes/HMSSDK.js +381 -114
  82. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  83. package/lib/commonjs/classes/HMSServerRecordingState.js +3 -0
  84. package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
  85. package/lib/commonjs/classes/HMSUpdateListenerActions.js +5 -0
  86. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  87. package/lib/commonjs/index.js +154 -0
  88. package/lib/commonjs/index.js.map +1 -1
  89. package/lib/module/classes/HMSBrowserRecordingState.js +6 -0
  90. package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
  91. package/lib/module/classes/HMSConfig.js +3 -0
  92. package/lib/module/classes/HMSConfig.js.map +1 -1
  93. package/lib/module/classes/HMSEncoder.js +187 -5
  94. package/lib/module/classes/HMSEncoder.js.map +1 -1
  95. package/lib/module/classes/HMSHLSConfig.js +3 -0
  96. package/lib/module/classes/HMSHLSConfig.js.map +1 -1
  97. package/lib/module/classes/HMSHLSRecordingConfig.js +14 -0
  98. package/lib/module/classes/HMSHLSRecordingConfig.js.map +1 -0
  99. package/lib/module/classes/HMSHLSRecordingState.js +20 -0
  100. package/lib/module/classes/HMSHLSRecordingState.js.map +1 -0
  101. package/lib/module/classes/HMSHLSVariant.js.map +1 -1
  102. package/lib/module/classes/HMSLocalAudioStats.js +17 -0
  103. package/lib/module/classes/HMSLocalAudioStats.js.map +1 -0
  104. package/lib/module/classes/HMSLocalPeer.js.map +1 -1
  105. package/lib/module/classes/HMSLocalVideoStats.js +23 -0
  106. package/lib/module/classes/HMSLocalVideoStats.js.map +1 -0
  107. package/lib/module/classes/HMSLogger.js +21 -21
  108. package/lib/module/classes/HMSLogger.js.map +1 -1
  109. package/lib/module/classes/HMSMessage.js +4 -1
  110. package/lib/module/classes/HMSMessage.js.map +1 -1
  111. package/lib/module/classes/HMSMessageRecipient.js +17 -0
  112. package/lib/module/classes/HMSMessageRecipient.js.map +1 -0
  113. package/lib/module/classes/HMSMessageRecipientType.js +8 -0
  114. package/lib/module/classes/HMSMessageRecipientType.js.map +1 -0
  115. package/lib/module/classes/HMSNetworkQuality.js +11 -0
  116. package/lib/module/classes/HMSNetworkQuality.js.map +1 -0
  117. package/lib/module/classes/HMSPeer.js +3 -0
  118. package/lib/module/classes/HMSPeer.js.map +1 -1
  119. package/lib/module/classes/HMSPeerUpdate.js +2 -7
  120. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  121. package/lib/module/classes/HMSPermissions.js +2 -2
  122. package/lib/module/classes/HMSPermissions.js.map +1 -1
  123. package/lib/module/classes/HMSRTCStats.js +29 -0
  124. package/lib/module/classes/HMSRTCStats.js.map +1 -0
  125. package/lib/module/classes/HMSRTCStatsReport.js +17 -0
  126. package/lib/module/classes/HMSRTCStatsReport.js.map +1 -0
  127. package/lib/module/classes/HMSRemoteAudioStats.js +23 -0
  128. package/lib/module/classes/HMSRemoteAudioStats.js.map +1 -0
  129. package/lib/module/classes/HMSRemotePeer.js.map +1 -1
  130. package/lib/module/classes/HMSRemoteVideoStats.js +29 -0
  131. package/lib/module/classes/HMSRemoteVideoStats.js.map +1 -0
  132. package/lib/module/classes/HMSRoom.js +6 -0
  133. package/lib/module/classes/HMSRoom.js.map +1 -1
  134. package/lib/module/classes/HMSRoomUpdate.js +1 -0
  135. package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
  136. package/lib/module/classes/HMSRtmpStreamingState.js +6 -0
  137. package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
  138. package/lib/module/classes/HMSSDK.js +368 -114
  139. package/lib/module/classes/HMSSDK.js.map +1 -1
  140. package/lib/module/classes/HMSServerRecordingState.js +3 -0
  141. package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
  142. package/lib/module/classes/HMSUpdateListenerActions.js +5 -0
  143. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  144. package/lib/module/index.js +11 -0
  145. package/lib/module/index.js.map +1 -1
  146. package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +4 -0
  147. package/lib/typescript/classes/HMSConfig.d.ts +2 -0
  148. package/lib/typescript/classes/HMSEncoder.d.ts +25 -0
  149. package/lib/typescript/classes/HMSHLSConfig.d.ts +5 -2
  150. package/lib/typescript/classes/HMSHLSRecordingConfig.d.ts +8 -0
  151. package/lib/typescript/classes/HMSHLSRecordingState.d.ts +12 -0
  152. package/lib/typescript/classes/HMSHLSVariant.d.ts +8 -8
  153. package/lib/typescript/classes/HMSLocalAudioStats.d.ts +10 -0
  154. package/lib/typescript/classes/HMSLocalPeer.d.ts +2 -0
  155. package/lib/typescript/classes/HMSLocalVideoStats.d.ts +15 -0
  156. package/lib/typescript/classes/HMSMessage.d.ts +8 -4
  157. package/lib/typescript/classes/HMSMessageRecipient.d.ts +13 -0
  158. package/lib/typescript/classes/HMSMessageRecipientType.d.ts +5 -0
  159. package/lib/typescript/classes/HMSNetworkQuality.d.ts +6 -0
  160. package/lib/typescript/classes/HMSPeer.d.ts +3 -0
  161. package/lib/typescript/classes/HMSPeerUpdate.d.ts +3 -8
  162. package/lib/typescript/classes/HMSPermissions.d.ts +2 -2
  163. package/lib/typescript/classes/HMSRTCStats.d.ts +18 -0
  164. package/lib/typescript/classes/HMSRTCStatsReport.d.ts +11 -0
  165. package/lib/typescript/classes/HMSRemoteAudioStats.d.ts +14 -0
  166. package/lib/typescript/classes/HMSRemotePeer.d.ts +2 -0
  167. package/lib/typescript/classes/HMSRemoteVideoStats.d.ts +19 -0
  168. package/lib/typescript/classes/HMSRoom.d.ts +5 -0
  169. package/lib/typescript/classes/HMSRoomUpdate.d.ts +2 -1
  170. package/lib/typescript/classes/HMSRtmpStreamingState.d.ts +4 -0
  171. package/lib/typescript/classes/HMSSDK.d.ts +310 -8
  172. package/lib/typescript/classes/HMSServerRecordingState.d.ts +2 -0
  173. package/lib/typescript/classes/HMSUpdateListenerActions.d.ts +6 -1
  174. package/lib/typescript/index.d.ts +11 -0
  175. package/package.json +1 -1
  176. package/react-native-hms.podspec +1 -1
  177. package/src/classes/HMSBrowserRecordingState.ts +10 -1
  178. package/src/classes/HMSConfig.ts +3 -0
  179. package/src/classes/HMSEncoder.ts +208 -5
  180. package/src/classes/HMSHLSConfig.ts +8 -2
  181. package/src/classes/HMSHLSRecordingConfig.ts +9 -0
  182. package/src/classes/HMSHLSRecordingState.ts +18 -0
  183. package/src/classes/HMSHLSVariant.ts +8 -8
  184. package/src/classes/HMSLocalAudioStats.ts +15 -0
  185. package/src/classes/HMSLocalPeer.ts +2 -0
  186. package/src/classes/HMSLocalVideoStats.ts +23 -0
  187. package/src/classes/HMSLogger.ts +3 -3
  188. package/src/classes/HMSMessage.ts +11 -5
  189. package/src/classes/HMSMessageRecipient.ts +19 -0
  190. package/src/classes/HMSMessageRecipientType.ts +5 -0
  191. package/src/classes/HMSNetworkQuality.ts +7 -0
  192. package/src/classes/HMSPeer.ts +4 -2
  193. package/src/classes/HMSPeerUpdate.ts +2 -7
  194. package/src/classes/HMSPermissions.ts +3 -3
  195. package/src/classes/HMSRTCStats.ts +27 -0
  196. package/src/classes/HMSRTCStatsReport.ts +17 -0
  197. package/src/classes/HMSRemoteAudioStats.ts +21 -0
  198. package/src/classes/HMSRemotePeer.ts +2 -0
  199. package/src/classes/HMSRemoteVideoStats.ts +29 -0
  200. package/src/classes/HMSRoom.ts +7 -0
  201. package/src/classes/HMSRoomUpdate.ts +1 -0
  202. package/src/classes/HMSRtmpStreamingState.ts +10 -1
  203. package/src/classes/HMSSDK.tsx +530 -18
  204. package/src/classes/HMSServerRecordingState.ts +7 -1
  205. package/src/classes/HMSUpdateListenerActions.ts +5 -0
  206. package/src/index.ts +11 -0
@@ -11,6 +11,7 @@ import live.hms.video.media.settings.HMSVideoTrackSettings
11
11
  import live.hms.video.media.tracks.*
12
12
  import live.hms.video.sdk.models.*
13
13
  import live.hms.video.sdk.models.role.*
14
+ import live.hms.video.utils.HmsUtilities
14
15
 
15
16
  object HmsHelper {
16
17
 
@@ -47,24 +48,16 @@ object HmsHelper {
47
48
  return true
48
49
  }
49
50
 
50
- fun getPeerFromPeerId(peerId: String?, peers: Array<HMSPeer>?): HMSPeer? {
51
- if (peerId != null && peers != null) {
52
- for (peer in peers) {
53
- if (peerId == peer.peerID) {
54
- return peer
55
- }
56
- }
51
+ fun getPeerFromPeerId(peerId: String?, room: HMSRoom?): HMSPeer? {
52
+ if (peerId != null && room != null) {
53
+ return HmsUtilities.getPeer(peerId, room)
57
54
  }
58
55
  return null
59
56
  }
60
57
 
61
- fun getRemotePeerFromPeerId(peerId: String?, peers: Array<HMSRemotePeer>?): HMSRemotePeer? {
62
- if (peerId != null && peers != null) {
63
- for (peer in peers) {
64
- if (peerId == peer.peerID) {
65
- return peer
66
- }
67
- }
58
+ fun getRemotePeerFromPeerId(peerId: String?, room: HMSRoom?): HMSRemotePeer? {
59
+ if (peerId != null && room != null) {
60
+ return HmsUtilities.getPeer(peerId, room) as? HMSRemotePeer
68
61
  }
69
62
  return null
70
63
  }
@@ -98,64 +91,23 @@ object HmsHelper {
98
91
  return null
99
92
  }
100
93
 
101
- fun getRemoteAudioTrackFromTrackId(
102
- trackId: String?,
103
- remotePeers: Array<HMSRemotePeer>?
104
- ): HMSRemoteAudioTrack? {
105
- if (trackId != null && remotePeers != null) {
106
- for (remotePeer in remotePeers) {
107
- if (remotePeer.audioTrack?.trackId == trackId) {
108
- return remotePeer.audioTrack as HMSRemoteAudioTrack
109
- }
110
- }
94
+ fun getRemoteAudioTrackFromTrackId(trackId: String?, room: HMSRoom?): HMSRemoteAudioTrack? {
95
+ if (trackId != null && room != null) {
96
+ return HmsUtilities.getAudioTrack(trackId, room) as? HMSRemoteAudioTrack
111
97
  }
112
98
  return null
113
99
  }
114
100
 
115
- fun getRemoteVideoTrackFromTrackId(
116
- trackId: String?,
117
- remotePeers: Array<HMSRemotePeer>?
118
- ): HMSRemoteVideoTrack? {
119
- if (trackId != null && remotePeers != null) {
120
- for (remotePeer in remotePeers) {
121
- if (remotePeer.videoTrack?.trackId == trackId) {
122
- return remotePeer.videoTrack as HMSRemoteVideoTrack
123
- }
124
- }
101
+ fun getRemoteVideoTrackFromTrackId(trackId: String?, room: HMSRoom?): HMSRemoteVideoTrack? {
102
+ if (trackId != null && room != null) {
103
+ return HmsUtilities.getVideoTrack(trackId, room) as? HMSRemoteVideoTrack
125
104
  }
126
105
  return null
127
106
  }
128
107
 
129
- fun getTrackFromTrackId(trackId: String?, remotePeers: Array<HMSRemotePeer>?): HMSTrack? {
130
- if (trackId != null && remotePeers != null) {
131
- for (remotePeer in remotePeers) {
132
- if (remotePeer.audioTrack?.trackId == trackId) {
133
- return remotePeer.audioTrack as HMSTrack
134
- }
135
-
136
- if (remotePeer.videoTrack?.trackId == trackId) {
137
- return remotePeer.videoTrack as HMSTrack
138
- }
139
- }
140
- }
141
- return null
142
- }
143
-
144
- fun getLocalTrackFromTrackId(trackId: String?, localPeer: HMSLocalPeer?): HMSTrack? {
145
- if (trackId != null && localPeer != null) {
146
- if (localPeer.audioTrack?.trackId == trackId) {
147
- return localPeer.audioTrack as HMSTrack
148
- }
149
-
150
- if (localPeer.videoTrack?.trackId == trackId) {
151
- return localPeer.videoTrack as HMSTrack
152
- }
153
-
154
- for (auxTrack in localPeer.auxiliaryTracks) {
155
- if (auxTrack.trackId == trackId) {
156
- return auxTrack
157
- }
158
- }
108
+ fun getTrackFromTrackId(trackId: String?, room: HMSRoom?): HMSTrack? {
109
+ if (trackId != null && room != null) {
110
+ return HmsUtilities.getTrack(trackId, room)
159
111
  }
160
112
  return null
161
113
  }
@@ -318,6 +270,32 @@ object HmsHelper {
318
270
  return meetingURLVariants
319
271
  }
320
272
 
273
+ fun getHlsRecordingConfig(data: ReadableMap): HMSHlsRecordingConfig? {
274
+ if (areAllRequiredKeysAvailable(data, arrayOf(Pair("hlsRecordingConfig", "Map")))) {
275
+ val hmsHlsRecordingConfig = data.getMap("hlsRecordingConfig")
276
+ if (hmsHlsRecordingConfig != null) {
277
+ var singleFilePerLayer = false
278
+ var videoOnDemand = false
279
+ if (areAllRequiredKeysAvailable(
280
+ hmsHlsRecordingConfig,
281
+ arrayOf(Pair("singleFilePerLayer", "Boolean"))
282
+ )
283
+ ) {
284
+ singleFilePerLayer = hmsHlsRecordingConfig.getBoolean("singleFilePerLayer")
285
+ }
286
+ if (areAllRequiredKeysAvailable(
287
+ hmsHlsRecordingConfig,
288
+ arrayOf(Pair("videoOnDemand", "Boolean"))
289
+ )
290
+ ) {
291
+ videoOnDemand = hmsHlsRecordingConfig.getBoolean("videoOnDemand")
292
+ }
293
+ return HMSHlsRecordingConfig(singleFilePerLayer, videoOnDemand)
294
+ }
295
+ }
296
+ return null
297
+ }
298
+
321
299
  private fun getHMSHLSMeetingURLVariant(
322
300
  hmsMeetingURLVariant: HashMap<String, String>?
323
301
  ): HMSHLSMeetingURLVariant {
@@ -329,4 +307,100 @@ object HmsHelper {
329
307
  }
330
308
  return meetingURLVariant
331
309
  }
310
+
311
+ fun getHmsConfig(credentials: ReadableMap): HMSConfig {
312
+ var config =
313
+ HMSConfig(
314
+ credentials.getString("username") as String,
315
+ credentials.getString("authToken") as String,
316
+ )
317
+
318
+ when {
319
+ areAllRequiredKeysAvailable(
320
+ credentials,
321
+ arrayOf(
322
+ Pair("endpoint", "String"),
323
+ Pair("metadata", "String"),
324
+ Pair("captureNetworkQualityInPreview", "Boolean")
325
+ )
326
+ ) -> {
327
+ config =
328
+ HMSConfig(
329
+ credentials.getString("username") as String,
330
+ credentials.getString("authToken") as String,
331
+ initEndpoint = credentials.getString("endpoint") as String,
332
+ metadata = credentials.getString("metadata") as String,
333
+ captureNetworkQualityInPreview =
334
+ credentials.getBoolean("captureNetworkQualityInPreview"),
335
+ )
336
+ }
337
+ areAllRequiredKeysAvailable(
338
+ credentials,
339
+ arrayOf(Pair("endpoint", "String"), Pair("metadata", "String"))
340
+ ) -> {
341
+ config =
342
+ HMSConfig(
343
+ credentials.getString("username") as String,
344
+ credentials.getString("authToken") as String,
345
+ initEndpoint = credentials.getString("endpoint") as String,
346
+ metadata = credentials.getString("metadata") as String,
347
+ )
348
+ }
349
+ areAllRequiredKeysAvailable(
350
+ credentials,
351
+ arrayOf(Pair("endpoint", "String"), Pair("captureNetworkQualityInPreview", "Boolean"))
352
+ ) -> {
353
+ config =
354
+ HMSConfig(
355
+ credentials.getString("username") as String,
356
+ credentials.getString("authToken") as String,
357
+ initEndpoint = credentials.getString("endpoint") as String,
358
+ captureNetworkQualityInPreview =
359
+ credentials.getBoolean("captureNetworkQualityInPreview"),
360
+ )
361
+ }
362
+ areAllRequiredKeysAvailable(
363
+ credentials,
364
+ arrayOf(Pair("metadata", "String"), Pair("captureNetworkQualityInPreview", "Boolean"))
365
+ ) -> {
366
+ config =
367
+ HMSConfig(
368
+ credentials.getString("username") as String,
369
+ credentials.getString("authToken") as String,
370
+ metadata = credentials.getString("metadata") as String,
371
+ captureNetworkQualityInPreview =
372
+ credentials.getBoolean("captureNetworkQualityInPreview"),
373
+ )
374
+ }
375
+ areAllRequiredKeysAvailable(credentials, arrayOf(Pair("endpoint", "String"))) -> {
376
+ config =
377
+ HMSConfig(
378
+ credentials.getString("username") as String,
379
+ credentials.getString("authToken") as String,
380
+ initEndpoint = credentials.getString("endpoint") as String,
381
+ )
382
+ }
383
+ areAllRequiredKeysAvailable(credentials, arrayOf(Pair("metadata", "String"))) -> {
384
+ config =
385
+ HMSConfig(
386
+ credentials.getString("username") as String,
387
+ credentials.getString("authToken") as String,
388
+ metadata = credentials.getString("metadata") as String,
389
+ )
390
+ }
391
+ areAllRequiredKeysAvailable(
392
+ credentials,
393
+ arrayOf(Pair("captureNetworkQualityInPreview", "Boolean"))
394
+ ) -> {
395
+ config =
396
+ HMSConfig(
397
+ credentials.getString("username") as String,
398
+ credentials.getString("authToken") as String,
399
+ captureNetworkQualityInPreview =
400
+ credentials.getBoolean("captureNetworkQualityInPreview")
401
+ )
402
+ }
403
+ }
404
+ return config
405
+ }
332
406
  }
@@ -195,10 +195,17 @@ class HmsModule(reactContext: ReactApplicationContext) :
195
195
  }
196
196
 
197
197
  @ReactMethod
198
- fun muteAllPeersAudio(data: ReadableMap) {
198
+ fun setPlaybackForAllAudio(data: ReadableMap) {
199
199
  val hms = HmsHelper.getHms(data, hmsCollection)
200
200
 
201
- hms?.muteAllPeersAudio(data)
201
+ hms?.setPlaybackForAllAudio(data)
202
+ }
203
+
204
+ @ReactMethod
205
+ fun remoteMuteAllAudio(data: ReadableMap) {
206
+ val hms = HmsHelper.getHms(data, hmsCollection)
207
+
208
+ hms?.remoteMuteAllAudio()
202
209
  }
203
210
 
204
211
  @ReactMethod
@@ -209,11 +216,11 @@ class HmsModule(reactContext: ReactApplicationContext) :
209
216
  }
210
217
 
211
218
  @ReactMethod
212
- fun startScreenshare(data: ReadableMap) {
219
+ fun startScreenshare(data: ReadableMap, callback: Promise?) {
213
220
  currentActivity?.application?.registerActivityLifecycleCallbacks(this)
214
221
  val hms = HmsHelper.getHms(data, hmsCollection)
215
222
 
216
- hms?.startScreenshare()
223
+ hms?.startScreenshare(callback)
217
224
  }
218
225
 
219
226
  @ReactMethod
@@ -266,6 +273,13 @@ class HmsModule(reactContext: ReactApplicationContext) :
266
273
  hms?.resetVolume()
267
274
  }
268
275
 
276
+ @ReactMethod
277
+ fun changeName(data: ReadableMap, callback: Promise?) {
278
+ val hms = HmsHelper.getHms(data, hmsCollection)
279
+
280
+ hms?.changeName(data, callback)
281
+ }
282
+
269
283
  fun emitEvent(event: String, data: WritableMap) {
270
284
  reactApplicationContext
271
285
  .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
@@ -294,7 +308,7 @@ class HmsModule(reactContext: ReactApplicationContext) :
294
308
  }
295
309
  }
296
310
  currentActivity?.application?.unregisterActivityLifecycleCallbacks(this)
297
- hmsCollection = mutableMapOf<String, HmsSDK>()
311
+ hmsCollection = mutableMapOf()
298
312
  }
299
313
  } catch (e: Exception) {
300
314
  // Log.d("error", e.message)