@100mslive/react-native-hms 1.1.1 → 1.2.0

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 (101) hide show
  1. package/README.md +145 -340
  2. package/android/build.gradle +1 -1
  3. package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +205 -75
  4. package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +127 -127
  5. package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +153 -115
  6. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +147 -17
  7. package/android/src/main/java/com/reactnativehmssdk/HMSSDKViewManager.kt +7 -7
  8. package/ios/HMSDecoder.swift +205 -129
  9. package/ios/HMSHelper.swift +3 -3
  10. package/ios/HMSManager.m +3 -0
  11. package/ios/HMSManager.swift +22 -1
  12. package/ios/HMSRNSDK.swift +228 -79
  13. package/ios/HMSView.m +2 -0
  14. package/ios/HMSView.swift +35 -3
  15. package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcuserdata/yogesh.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  16. package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
  17. package/lib/commonjs/classes/HMSChangeTrackStateRequest.js.map +1 -1
  18. package/lib/commonjs/classes/HMSEncoder.js +133 -84
  19. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  20. package/lib/commonjs/classes/HMSHLSStreamingState.js.map +1 -1
  21. package/lib/commonjs/classes/HMSLocalVideoTrack.js +0 -2
  22. package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
  23. package/lib/commonjs/classes/HMSMessageRecipient.js +1 -1
  24. package/lib/commonjs/classes/HMSMessageRecipient.js.map +1 -1
  25. package/lib/commonjs/classes/HMSNativeEventEmitter.js +106 -0
  26. package/lib/commonjs/classes/HMSNativeEventEmitter.js.map +1 -0
  27. package/lib/commonjs/classes/HMSPeer.js +4 -0
  28. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  29. package/lib/commonjs/classes/HMSPublishSettings.js +0 -6
  30. package/lib/commonjs/classes/HMSPublishSettings.js.map +1 -1
  31. package/lib/commonjs/classes/HMSRole.js +0 -6
  32. package/lib/commonjs/classes/HMSRole.js.map +1 -1
  33. package/lib/commonjs/classes/HMSRoleChangeRequest.js +3 -1
  34. package/lib/commonjs/classes/HMSRoleChangeRequest.js.map +1 -1
  35. package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
  36. package/lib/commonjs/classes/HMSSDK.js +465 -137
  37. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  38. package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
  39. package/lib/commonjs/classes/HMSSubscribeSettings.js +0 -2
  40. package/lib/commonjs/classes/HMSSubscribeSettings.js.map +1 -1
  41. package/lib/commonjs/index.js.map +1 -1
  42. package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
  43. package/lib/module/classes/HMSChangeTrackStateRequest.js.map +1 -1
  44. package/lib/module/classes/HMSEncoder.js +133 -84
  45. package/lib/module/classes/HMSEncoder.js.map +1 -1
  46. package/lib/module/classes/HMSHLSStreamingState.js.map +1 -1
  47. package/lib/module/classes/HMSLocalVideoTrack.js +0 -2
  48. package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
  49. package/lib/module/classes/HMSMessageRecipient.js +1 -1
  50. package/lib/module/classes/HMSMessageRecipient.js.map +1 -1
  51. package/lib/module/classes/HMSNativeEventEmitter.js +99 -0
  52. package/lib/module/classes/HMSNativeEventEmitter.js.map +1 -0
  53. package/lib/module/classes/HMSPeer.js +4 -0
  54. package/lib/module/classes/HMSPeer.js.map +1 -1
  55. package/lib/module/classes/HMSPublishSettings.js +0 -6
  56. package/lib/module/classes/HMSPublishSettings.js.map +1 -1
  57. package/lib/module/classes/HMSRole.js +0 -6
  58. package/lib/module/classes/HMSRole.js.map +1 -1
  59. package/lib/module/classes/HMSRoleChangeRequest.js +3 -1
  60. package/lib/module/classes/HMSRoleChangeRequest.js.map +1 -1
  61. package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
  62. package/lib/module/classes/HMSSDK.js +466 -138
  63. package/lib/module/classes/HMSSDK.js.map +1 -1
  64. package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
  65. package/lib/module/classes/HMSSubscribeSettings.js +0 -2
  66. package/lib/module/classes/HMSSubscribeSettings.js.map +1 -1
  67. package/lib/module/index.js.map +1 -1
  68. package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +4 -4
  69. package/lib/typescript/classes/HMSChangeTrackStateRequest.d.ts +2 -2
  70. package/lib/typescript/classes/HMSEncoder.d.ts +3 -0
  71. package/lib/typescript/classes/HMSHLSStreamingState.d.ts +2 -2
  72. package/lib/typescript/classes/HMSLocalVideoTrack.d.ts +0 -2
  73. package/lib/typescript/classes/HMSMessageRecipient.d.ts +2 -2
  74. package/lib/typescript/classes/HMSNativeEventEmitter.d.ts +13 -0
  75. package/lib/typescript/classes/HMSPublishSettings.d.ts +8 -15
  76. package/lib/typescript/classes/HMSRole.d.ts +0 -6
  77. package/lib/typescript/classes/HMSRoleChangeRequest.d.ts +2 -2
  78. package/lib/typescript/classes/HMSRtmpStreamingState.d.ts +4 -4
  79. package/lib/typescript/classes/HMSSDK.d.ts +2 -12
  80. package/lib/typescript/classes/HMSServerRecordingState.d.ts +2 -2
  81. package/lib/typescript/classes/HMSSubscribeSettings.d.ts +0 -2
  82. package/lib/typescript/index.d.ts +1 -0
  83. package/package.json +5 -4
  84. package/react-native-hms.podspec +1 -1
  85. package/sdk-versions.json +3 -2
  86. package/src/classes/HMSBrowserRecordingState.ts +4 -4
  87. package/src/classes/HMSChangeTrackStateRequest.ts +2 -2
  88. package/src/classes/HMSEncoder.ts +186 -99
  89. package/src/classes/HMSHLSStreamingState.ts +2 -2
  90. package/src/classes/HMSLocalVideoTrack.ts +0 -2
  91. package/src/classes/HMSMessageRecipient.ts +3 -3
  92. package/src/classes/HMSNativeEventEmitter.ts +86 -0
  93. package/src/classes/HMSPeer.ts +4 -0
  94. package/src/classes/HMSPublishSettings.ts +8 -18
  95. package/src/classes/HMSRole.ts +0 -9
  96. package/src/classes/HMSRoleChangeRequest.ts +5 -3
  97. package/src/classes/HMSRtmpStreamingState.ts +4 -4
  98. package/src/classes/HMSSDK.tsx +629 -269
  99. package/src/classes/HMSServerRecordingState.ts +2 -2
  100. package/src/classes/HMSSubscribeSettings.ts +1 -7
  101. package/src/index.ts +1 -0
@@ -39,6 +39,7 @@ class HMSRNSDK(
39
39
  private var audioMixingMode: AudioMixingMode = AudioMixingMode.TALK_AND_MUSIC
40
40
  private var id: String = sdkId
41
41
  private var self = this
42
+ private var eventsEnableStatus = mutableMapOf<String, Boolean>()
42
43
 
43
44
  init {
44
45
  val builder = HMSSDK.Builder(reactApplicationContext)
@@ -71,6 +72,9 @@ class HMSRNSDK(
71
72
  }
72
73
 
73
74
  private fun emitCustomError(message: String) {
75
+ if (eventsEnableStatus["ON_ERROR"] != true) {
76
+ return
77
+ }
74
78
  val data: WritableMap = Arguments.createMap()
75
79
  val hmsError = HMSException(6002, message, message, message, message, null, false)
76
80
  data.putString("id", id)
@@ -79,6 +83,9 @@ class HMSRNSDK(
79
83
  }
80
84
 
81
85
  private fun emitRequiredKeysError(message: String) {
86
+ if (eventsEnableStatus["ON_ERROR"] != true) {
87
+ return
88
+ }
82
89
  val data: WritableMap = Arguments.createMap()
83
90
  val hmsError =
84
91
  HMSException(
@@ -100,6 +107,9 @@ class HMSRNSDK(
100
107
  }
101
108
 
102
109
  fun emitHMSError(error: HMSException) {
110
+ if (eventsEnableStatus["ON_ERROR"] != true) {
111
+ return
112
+ }
103
113
  val data: WritableMap = Arguments.createMap()
104
114
  data.putString("id", id)
105
115
  data.putMap("error", HMSDecoder.getError(error))
@@ -133,11 +143,17 @@ class HMSRNSDK(
133
143
  config,
134
144
  object : HMSPreviewListener {
135
145
  override fun onError(error: HMSException) {
136
- self.emitHMSError(error)
137
146
  previewInProgress = false
147
+ if (eventsEnableStatus["ON_ERROR"] != true) {
148
+ return
149
+ }
150
+ self.emitHMSError(error)
138
151
  }
139
152
 
140
153
  override fun onPeerUpdate(type: HMSPeerUpdate, peer: HMSPeer) {
154
+ if (eventsEnableStatus["ON_PEER_UPDATE"] != true) {
155
+ return
156
+ }
141
157
  if (type === HMSPeerUpdate.AUDIO_TOGGLED ||
142
158
  type === HMSPeerUpdate.VIDEO_TOGGLED ||
143
159
  type === HMSPeerUpdate.BECAME_DOMINANT_SPEAKER ||
@@ -164,6 +180,13 @@ class HMSRNSDK(
164
180
  }
165
181
 
166
182
  override fun onRoomUpdate(type: HMSRoomUpdate, hmsRoom: HMSRoom) {
183
+ if (eventsEnableStatus["ON_ROOM_UPDATE"] != true) {
184
+ return
185
+ }
186
+ if (type == HMSRoomUpdate.ROOM_PEER_COUNT_UPDATED) {
187
+ return
188
+ }
189
+
167
190
  val updateType = type.name
168
191
  val roomData = HMSDecoder.getHmsRoom(hmsRoom)
169
192
 
@@ -176,6 +199,10 @@ class HMSRNSDK(
176
199
  }
177
200
 
178
201
  override fun onPreview(room: HMSRoom, localTracks: Array<HMSTrack>) {
202
+ previewInProgress = false
203
+ if (eventsEnableStatus["ON_PREVIEW"] != true) {
204
+ return
205
+ }
179
206
  val previewTracks = HMSDecoder.getPreviewTracks(localTracks)
180
207
  val hmsRoom = HMSDecoder.getHmsRoom(room)
181
208
  val data: WritableMap = Arguments.createMap()
@@ -184,7 +211,6 @@ class HMSRNSDK(
184
211
  data.putMap("room", hmsRoom)
185
212
  data.putString("id", id)
186
213
  delegate.emitEvent("ON_PREVIEW", data)
187
- previewInProgress = false
188
214
  }
189
215
  }
190
216
  )
@@ -214,6 +240,9 @@ class HMSRNSDK(
214
240
  config,
215
241
  object : HMSUpdateListener {
216
242
  override fun onChangeTrackStateRequest(details: HMSChangeTrackStateRequest) {
243
+ if (eventsEnableStatus["ON_CHANGE_TRACK_STATE_REQUEST"] != true) {
244
+ return
245
+ }
217
246
  val decodedChangeTrackStateRequest =
218
247
  HMSDecoder.getHmsChangeTrackStateRequest(details, id)
219
248
  delegate.emitEvent(
@@ -225,6 +254,10 @@ class HMSRNSDK(
225
254
  override fun onRemovedFromRoom(notification: HMSRemovedFromRoom) {
226
255
  super.onRemovedFromRoom(notification)
227
256
 
257
+ HMSDecoder.clearRestrictDataStates()
258
+ if (eventsEnableStatus["ON_REMOVED_FROM_ROOM"] != true) {
259
+ return
260
+ }
228
261
  val data: WritableMap = Arguments.createMap()
229
262
  val requestedBy =
230
263
  HMSDecoder.getHmsRemotePeer(notification.peerWhoRemoved as HMSRemotePeer?)
@@ -240,10 +273,16 @@ class HMSRNSDK(
240
273
  }
241
274
 
242
275
  override fun onError(error: HMSException) {
276
+ if (eventsEnableStatus["ON_ERROR"] != true) {
277
+ return
278
+ }
243
279
  self.emitHMSError(error)
244
280
  }
245
281
 
246
282
  override fun onJoin(room: HMSRoom) {
283
+ if (eventsEnableStatus["ON_JOIN"] != true) {
284
+ return
285
+ }
247
286
  val roomData = HMSDecoder.getHmsRoom(room)
248
287
 
249
288
  val data: WritableMap = Arguments.createMap()
@@ -254,6 +293,9 @@ class HMSRNSDK(
254
293
  }
255
294
 
256
295
  override fun onPeerUpdate(type: HMSPeerUpdate, peer: HMSPeer) {
296
+ if (eventsEnableStatus["ON_PEER_UPDATE"] != true) {
297
+ return
298
+ }
257
299
  if (type === HMSPeerUpdate.AUDIO_TOGGLED ||
258
300
  type === HMSPeerUpdate.VIDEO_TOGGLED ||
259
301
  type === HMSPeerUpdate.BECAME_DOMINANT_SPEAKER ||
@@ -281,6 +323,13 @@ class HMSRNSDK(
281
323
  }
282
324
 
283
325
  override fun onRoomUpdate(type: HMSRoomUpdate, hmsRoom: HMSRoom) {
326
+ if (eventsEnableStatus["ON_ROOM_UPDATE"] != true) {
327
+ return
328
+ }
329
+ if (type == HMSRoomUpdate.ROOM_PEER_COUNT_UPDATED) {
330
+ return
331
+ }
332
+
284
333
  val updateType = type.name
285
334
  val roomData = HMSDecoder.getHmsRoom(hmsRoom)
286
335
 
@@ -293,6 +342,9 @@ class HMSRNSDK(
293
342
  }
294
343
 
295
344
  override fun onTrackUpdate(type: HMSTrackUpdate, track: HMSTrack, peer: HMSPeer) {
345
+ if (eventsEnableStatus["ON_TRACK_UPDATE"] != true) {
346
+ return
347
+ }
296
348
  val updateType = type.name
297
349
  val hmsPeer = HMSDecoder.getHmsPeer(peer)
298
350
  val hmsTrack = HMSDecoder.getHmsTrack(track)
@@ -307,6 +359,9 @@ class HMSRNSDK(
307
359
  }
308
360
 
309
361
  override fun onMessageReceived(message: HMSMessage) {
362
+ if (eventsEnableStatus["ON_MESSAGE"] != true) {
363
+ return
364
+ }
310
365
  val data: WritableMap = Arguments.createMap()
311
366
 
312
367
  data.putMap("sender", HMSDecoder.getHmsPeer(message.sender))
@@ -321,6 +376,9 @@ class HMSRNSDK(
321
376
 
322
377
  override fun onReconnected() {
323
378
  reconnectingStage = false
379
+ if (eventsEnableStatus["RECONNECTED"] != true) {
380
+ return
381
+ }
324
382
  val data: WritableMap = Arguments.createMap()
325
383
  data.putString("event", "RECONNECTED")
326
384
  data.putString("id", id)
@@ -329,6 +387,9 @@ class HMSRNSDK(
329
387
 
330
388
  override fun onReconnecting(error: HMSException) {
331
389
  reconnectingStage = true
390
+ if (eventsEnableStatus["RECONNECTING"] != true) {
391
+ return
392
+ }
332
393
  val data: WritableMap = Arguments.createMap()
333
394
  data.putMap("error", HMSDecoder.getError(error))
334
395
  data.putString("event", "RECONNECTING")
@@ -337,9 +398,12 @@ class HMSRNSDK(
337
398
  }
338
399
 
339
400
  override fun onRoleChangeRequest(request: HMSRoleChangeRequest) {
401
+ recentRoleChangeRequest = request
402
+ if (eventsEnableStatus["ON_ROLE_CHANGE_REQUEST"] != true) {
403
+ return
404
+ }
340
405
  val decodedChangeRoleRequest = HMSDecoder.getHmsRoleChangeRequest(request, id)
341
406
  delegate.emitEvent("ON_ROLE_CHANGE_REQUEST", decodedChangeRoleRequest)
342
- recentRoleChangeRequest = request
343
407
  }
344
408
  }
345
409
  )
@@ -350,15 +414,18 @@ class HMSRNSDK(
350
414
  hmsSDK?.addAudioObserver(
351
415
  object : HMSAudioListener {
352
416
  override fun onAudioLevelUpdate(speakers: Array<HMSSpeaker>) {
417
+ if (eventsEnableStatus["ON_SPEAKER"] != true) {
418
+ return
419
+ }
353
420
  val data: WritableMap = Arguments.createMap()
354
421
  data.putString("event", "ON_SPEAKER")
355
422
 
356
423
  val peers: WritableArray = Arguments.createArray()
357
424
  for (speaker in speakers) {
358
- speaker.peer?.let {
425
+ if (speaker.peer != null && speaker.hmsTrack != null) {
359
426
  val speakerArray: WritableMap = Arguments.createMap()
360
- speakerArray.putMap("peer", HMSDecoder.getHmsPeer(it))
361
427
  speakerArray.putInt("level", speaker.level)
428
+ speakerArray.putMap("peer", HMSDecoder.getHmsPeer(speaker.peer))
362
429
  speakerArray.putMap("track", HMSDecoder.getHmsTrack(speaker.hmsTrack))
363
430
  peers.pushMap(speakerArray)
364
431
  }
@@ -377,6 +444,9 @@ class HMSRNSDK(
377
444
  hmsTrack: HMSTrack?,
378
445
  hmsPeer: HMSPeer?
379
446
  ) {
447
+ if (eventsEnableStatus["ON_LOCAL_AUDIO_STATS"] != true) {
448
+ return
449
+ }
380
450
  if (!rtcStatsAttached) {
381
451
  return
382
452
  }
@@ -393,11 +463,14 @@ class HMSRNSDK(
393
463
  }
394
464
 
395
465
  override fun onLocalVideoStats(
396
- videoStats: HMSLocalVideoStats,
466
+ videoStats: List<HMSLocalVideoStats>,
397
467
  hmsTrack: HMSTrack?,
398
468
  hmsPeer: HMSPeer?
399
469
  ) {
400
- if (!rtcStatsAttached) {
470
+ if (eventsEnableStatus["ON_LOCAL_VIDEO_STATS"] != true) {
471
+ return
472
+ }
473
+ if (!rtcStatsAttached && hmsPeer != null && hmsTrack != null) {
401
474
  return
402
475
  }
403
476
 
@@ -406,7 +479,7 @@ class HMSRNSDK(
406
479
  val peer = HMSDecoder.getHmsPeer(hmsPeer)
407
480
 
408
481
  val data: WritableMap = Arguments.createMap()
409
- data.putMap("localVideoStats", localVideoStats)
482
+ data.putArray("localVideoStats", localVideoStats)
410
483
  data.putMap("track", track)
411
484
  data.putMap("peer", peer)
412
485
  data.putString("id", id)
@@ -414,6 +487,9 @@ class HMSRNSDK(
414
487
  }
415
488
 
416
489
  override fun onRTCStats(rtcStats: HMSRTCStatsReport) {
490
+ if (eventsEnableStatus["ON_RTC_STATS"] != true) {
491
+ return
492
+ }
417
493
  if (!rtcStatsAttached) {
418
494
  return
419
495
  }
@@ -434,6 +510,9 @@ class HMSRNSDK(
434
510
  hmsTrack: HMSTrack?,
435
511
  hmsPeer: HMSPeer?
436
512
  ) {
513
+ if (eventsEnableStatus["ON_REMOTE_AUDIO_STATS"] != true) {
514
+ return
515
+ }
437
516
  if (!rtcStatsAttached) {
438
517
  return
439
518
  }
@@ -455,6 +534,9 @@ class HMSRNSDK(
455
534
  hmsTrack: HMSTrack?,
456
535
  hmsPeer: HMSPeer?
457
536
  ) {
537
+ if (eventsEnableStatus["ON_REMOTE_VIDEO_STATS"] != true) {
538
+ return
539
+ }
458
540
  if (!rtcStatsAttached) {
459
541
  return
460
542
  }
@@ -513,9 +595,13 @@ class HMSRNSDK(
513
595
  audioshareCallback = null
514
596
  networkQualityUpdatesAttached = false
515
597
  rtcStatsAttached = false
598
+ HMSDecoder.clearRestrictDataStates()
516
599
  if (fromPIP) {
517
600
  context.currentActivity?.moveTaskToBack(false)
518
601
 
602
+ if (eventsEnableStatus["ON_PIP_ROOM_LEAVE"] != true) {
603
+ return
604
+ }
519
605
  val map: WritableMap = Arguments.createMap()
520
606
  map.putString("id", id)
521
607
  delegate.emitEvent("ON_PIP_ROOM_LEAVE", map)
@@ -969,15 +1055,6 @@ class HMSRNSDK(
969
1055
  val peer = HMSHelper.getRemotePeerFromPeerId(peerId, hmsSDK?.getRoom())
970
1056
  peer?.audioTrack?.isPlaybackAllowed = !mute
971
1057
  }
972
- val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
973
- val remotePeerData = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
974
-
975
- val map: WritableMap = Arguments.createMap()
976
-
977
- map.putMap("localPeer", localPeerData)
978
- map.putArray("remotePeers", remotePeerData)
979
- map.putString("id", id)
980
- delegate.emitEvent("ON_PEER_UPDATE", map)
981
1058
  }
982
1059
  } else {
983
1060
  val errorMessage = "setPlaybackForAllAudio: $requiredKeys"
@@ -1354,6 +1431,9 @@ class HMSRNSDK(
1354
1431
  device: HMSAudioManager.AudioDevice?,
1355
1432
  audioDevicesList: Set<HMSAudioManager.AudioDevice>?
1356
1433
  ) {
1434
+ if (eventsEnableStatus["ON_AUDIO_DEVICE_CHANGED"] != true) {
1435
+ return
1436
+ }
1357
1437
  val data: WritableMap = Arguments.createMap()
1358
1438
  data.putString("device", device?.name)
1359
1439
  data.putArray("audioDevicesList", HMSHelper.getAudioDevicesSet(audioDevicesList))
@@ -1464,4 +1544,54 @@ class HMSRNSDK(
1464
1544
  }
1465
1545
  )
1466
1546
  }
1547
+
1548
+ fun enableEvent(data: ReadableMap, promise: Promise?) {
1549
+ val requiredKeys =
1550
+ HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("eventType", "String")))
1551
+ if (requiredKeys === null) {
1552
+ val eventType = data.getString("eventType")
1553
+
1554
+ if (eventType != null) {
1555
+ eventsEnableStatus[eventType] = true
1556
+ promise?.resolve(emitHMSSuccess())
1557
+ }
1558
+ } else {
1559
+ val errorMessage = "enableEvent: $requiredKeys"
1560
+ self.emitRequiredKeysError(errorMessage)
1561
+ rejectCallback(promise, errorMessage)
1562
+ }
1563
+ }
1564
+
1565
+ fun disableEvent(data: ReadableMap, promise: Promise?) {
1566
+ val requiredKeys =
1567
+ HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("eventType", "String")))
1568
+ if (requiredKeys === null) {
1569
+ val eventType = data.getString("eventType")
1570
+
1571
+ if (eventType != null) {
1572
+ eventsEnableStatus[eventType] = false
1573
+ promise?.resolve(emitHMSSuccess())
1574
+ }
1575
+ } else {
1576
+ val errorMessage = "disableEvent: $requiredKeys"
1577
+ self.emitRequiredKeysError(errorMessage)
1578
+ rejectCallback(promise, errorMessage)
1579
+ }
1580
+ }
1581
+
1582
+ fun restrictData(data: ReadableMap, promise: Promise?) {
1583
+ val requiredKeys =
1584
+ HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("roleName", "String")))
1585
+ if (requiredKeys === null) {
1586
+ val roleName = data.getString("roleName")
1587
+ if (roleName != null) {
1588
+ HMSDecoder.setRestrictRoleData(roleName, true)
1589
+ promise?.resolve(emitHMSSuccess())
1590
+ }
1591
+ } else {
1592
+ val errorMessage = "restrictData: $requiredKeys"
1593
+ self.emitRequiredKeysError(errorMessage)
1594
+ rejectCallback(promise, errorMessage)
1595
+ }
1596
+ }
1467
1597
  }
@@ -26,17 +26,17 @@ class HMSSDKViewManager : SimpleViewManager<HMSView>() {
26
26
 
27
27
  override fun getExportedCustomBubblingEventTypeConstants(): MutableMap<String, Any>? {
28
28
  return MapBuilder.builder<String, Any>()
29
- .put(
30
- "topChange",
31
- MapBuilder.of("phasedRegistrationNames", MapBuilder.of("bubbled", "onChange"))
32
- )
33
- .build()
29
+ .put(
30
+ "topChange",
31
+ MapBuilder.of("phasedRegistrationNames", MapBuilder.of("bubbled", "onChange"))
32
+ )
33
+ .build()
34
34
  }
35
35
 
36
36
  override fun getExportedCustomDirectEventTypeConstants(): MutableMap<String, Any>? {
37
37
  return MapBuilder.of(
38
- "captureFrame",
39
- MapBuilder.of("registrationName", "onDataReturned"),
38
+ "captureFrame",
39
+ MapBuilder.of("registrationName", "onDataReturned")
40
40
  )
41
41
  }
42
42