@100mslive/react-native-hms 1.7.2 → 2.0.0-alpha.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.
- package/android/.gradle/6.7.1/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/6.7.1/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/6.9/executionHistory/executionHistory.bin +0 -0
- package/android/.gradle/6.9/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/{6.7.1/fileHashes/fileHashes.bin → 6.9/fileHashes/resourceHashesCache.bin} +0 -0
- package/android/.gradle/6.9/javaCompile/classAnalysis.bin +0 -0
- package/android/.gradle/6.9/javaCompile/jarAnalysis.bin +0 -0
- package/android/.gradle/6.9/javaCompile/javaCompile.lock +0 -0
- package/android/.gradle/6.9/javaCompile/taskHistory.bin +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +1 -1
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.gradle/checksums/checksums.lock +0 -0
- package/android/.gradle/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/checksums/sha1-checksums.bin +0 -0
- package/android/.idea/compiler.xml +6 -0
- package/android/.idea/gradle.xml +18 -0
- package/android/.idea/jarRepositories.xml +45 -0
- package/android/.idea/misc.xml +10 -0
- package/android/.idea/vcs.xml +6 -0
- package/android/build.gradle +3 -3
- package/android/local.properties +8 -1
- package/android/src/main/java/com/reactnativehmssdk/HMSAudioshareActivity.kt +1 -0
- package/android/src/main/java/com/reactnativehmssdk/HMSDecoder.kt +42 -14
- package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayer.kt +113 -68
- package/android/src/main/java/com/reactnativehmssdk/HMSHLSPlayerManager.kt +17 -4
- package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +46 -18
- package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +483 -184
- package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +551 -151
- package/android/src/main/java/com/reactnativehmssdk/HMSSDKViewManager.kt +26 -7
- package/android/src/main/java/com/reactnativehmssdk/HMSView.kt +32 -12
- package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +1 -0
- package/android/src/main/java/com/reactnativehmssdk/PipActionReceiver.kt +10 -6
- package/android/src/main/res/layout/player_view.xml +3 -2
- package/ios/HMSConstants.swift +1 -0
- package/ios/HMSDecoder.swift +18 -7
- package/ios/HMSHLSPlayerManager.swift +18 -2
- package/ios/HMSManager.m +239 -70
- package/ios/HMSManager.swift +24 -3
- package/ios/HMSRNSDK.swift +129 -126
- package/ios/HMSView.swift +17 -3
- package/ios/Hmssdk.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/ios/Hmssdk.xcodeproj/project.xcworkspace/xcuserdata/jatinnagar.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/Hmssdk.xcodeproj/xcuserdata/jatinnagar.xcuserdatad/xcschemes/xcschememanagement.plist +14 -0
- package/lib/commonjs/classes/HMSEncoder.js +6 -0
- package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
- package/lib/commonjs/classes/HMSPIPListenerActions.js +1 -0
- package/lib/commonjs/classes/HMSPIPListenerActions.js.map +1 -1
- package/lib/commonjs/classes/HMSPeer.js +15 -0
- package/lib/commonjs/classes/HMSPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSPeerListIterator.js +46 -0
- package/lib/commonjs/classes/HMSPeerListIterator.js.map +1 -0
- package/lib/commonjs/classes/HMSPeerListIteratorOptions.js +2 -0
- package/lib/commonjs/classes/HMSPeerListIteratorOptions.js.map +1 -0
- package/lib/commonjs/classes/HMSPeerUpdate.js +2 -1
- package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSPeersCache.js +7 -0
- package/lib/commonjs/classes/HMSPeersCache.js.map +1 -1
- package/lib/commonjs/classes/HMSSDK.js +162 -29
- package/lib/commonjs/classes/HMSSDK.js.map +1 -1
- package/lib/commonjs/classes/HMSUpdateListenerActions.js +1 -0
- package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
- package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js +10 -5
- package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/types.js +1 -0
- package/lib/commonjs/types.js.map +1 -1
- package/lib/module/classes/HMSEncoder.js +6 -0
- package/lib/module/classes/HMSEncoder.js.map +1 -1
- package/lib/module/classes/HMSPIPListenerActions.js +1 -0
- package/lib/module/classes/HMSPIPListenerActions.js.map +1 -1
- package/lib/module/classes/HMSPeer.js +15 -0
- package/lib/module/classes/HMSPeer.js.map +1 -1
- package/lib/module/classes/HMSPeerListIterator.js +40 -0
- package/lib/module/classes/HMSPeerListIterator.js.map +1 -0
- package/lib/module/classes/HMSPeerListIteratorOptions.js +2 -0
- package/lib/module/classes/HMSPeerListIteratorOptions.js.map +1 -0
- package/lib/module/classes/HMSPeerUpdate.js +2 -1
- package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
- package/lib/module/classes/HMSPeersCache.js +7 -0
- package/lib/module/classes/HMSPeersCache.js.map +1 -1
- package/lib/module/classes/HMSSDK.js +162 -30
- package/lib/module/classes/HMSSDK.js.map +1 -1
- package/lib/module/classes/HMSUpdateListenerActions.js +1 -0
- package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
- package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js +11 -6
- package/lib/module/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.js +1 -0
- package/lib/module/types.js.map +1 -1
- package/lib/typescript/classes/HMSEncoder.d.ts +1 -0
- package/lib/typescript/classes/HMSPIPListenerActions.d.ts +1 -0
- package/lib/typescript/classes/HMSPeer.d.ts +3 -0
- package/lib/typescript/classes/HMSPeerListIterator.d.ts +7 -0
- package/lib/typescript/classes/HMSPeerListIteratorOptions.d.ts +5 -0
- package/lib/typescript/classes/HMSPeerUpdate.d.ts +2 -1
- package/lib/typescript/classes/HMSPeersCache.d.ts +1 -0
- package/lib/typescript/classes/HMSSDK.d.ts +46 -13
- package/lib/typescript/classes/HMSUpdateListenerActions.d.ts +2 -1
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/types.d.ts +3 -1
- package/package.json +1 -1
- package/sdk-versions.json +2 -2
- package/src/classes/HMSEncoder.ts +9 -0
- package/src/classes/HMSPIPListenerActions.ts +1 -0
- package/src/classes/HMSPeer.ts +25 -0
- package/src/classes/HMSPeerListIterator.ts +40 -0
- package/src/classes/HMSPeerListIteratorOptions.ts +5 -0
- package/src/classes/HMSPeerUpdate.ts +2 -0
- package/src/classes/HMSPeersCache.ts +7 -0
- package/src/classes/HMSSDK.tsx +202 -26
- package/src/classes/HMSUpdateListenerActions.ts +1 -0
- package/src/components/HMSHLSPlayer/HMSHLSPlayer.tsx +15 -13
- package/src/index.ts +4 -1
- package/src/types.ts +2 -0
- package/android/.gradle/6.7.1/executionHistory/executionHistory.bin +0 -0
|
@@ -12,6 +12,7 @@ import live.hms.video.error.HMSException
|
|
|
12
12
|
import live.hms.video.media.settings.HMSLayer
|
|
13
13
|
import live.hms.video.media.tracks.*
|
|
14
14
|
import live.hms.video.sdk.*
|
|
15
|
+
import live.hms.video.sdk.listeners.PeerListResultListener
|
|
15
16
|
import live.hms.video.sdk.models.*
|
|
16
17
|
import live.hms.video.sdk.models.enums.AudioMixingMode
|
|
17
18
|
import live.hms.video.sdk.models.enums.HMSPeerUpdate
|
|
@@ -37,6 +38,8 @@ class HMSRNSDK(
|
|
|
37
38
|
var audioshareCallback: Promise? = null
|
|
38
39
|
var isAudioSharing: Boolean = false
|
|
39
40
|
var delegate: HMSManager = HmsDelegate
|
|
41
|
+
var previewForRoleVideoTrack: HMSLocalVideoTrack? = null
|
|
42
|
+
var previewForRoleAudioTrack: HMSLocalAudioTrack? = null
|
|
40
43
|
private var recentRoleChangeRequest: HMSRoleChangeRequest? = null
|
|
41
44
|
private var context: ReactApplicationContext = reactApplicationContext
|
|
42
45
|
private var previewInProgress: Boolean = false
|
|
@@ -48,6 +51,7 @@ class HMSRNSDK(
|
|
|
48
51
|
private var eventsEnableStatus = mutableMapOf<String, Boolean>()
|
|
49
52
|
private var sessionStore: HmsSessionStore? = null
|
|
50
53
|
private val keyChangeObservers = mutableMapOf<String, HMSKeyChangeListener?>()
|
|
54
|
+
private val peerListIterators = mutableMapOf<Int, PeerListIterator>()
|
|
51
55
|
|
|
52
56
|
init {
|
|
53
57
|
val builder = HMSSDK.Builder(reactApplicationContext)
|
|
@@ -110,7 +114,10 @@ class HMSRNSDK(
|
|
|
110
114
|
delegate.emitEvent("ON_ERROR", data)
|
|
111
115
|
}
|
|
112
116
|
|
|
113
|
-
private fun rejectCallback(
|
|
117
|
+
private fun rejectCallback(
|
|
118
|
+
callback: Promise?,
|
|
119
|
+
message: String,
|
|
120
|
+
) {
|
|
114
121
|
callback?.reject("6002", message)
|
|
115
122
|
}
|
|
116
123
|
|
|
@@ -126,6 +133,7 @@ class HMSRNSDK(
|
|
|
126
133
|
eventsEnableStatus.clear()
|
|
127
134
|
sessionStore = null
|
|
128
135
|
keyChangeObservers.clear()
|
|
136
|
+
peerListIterators.clear()
|
|
129
137
|
HMSDecoder.clearRestrictDataStates()
|
|
130
138
|
}
|
|
131
139
|
|
|
@@ -180,7 +188,10 @@ class HMSRNSDK(
|
|
|
180
188
|
self.emitHMSError(error)
|
|
181
189
|
}
|
|
182
190
|
|
|
183
|
-
override fun onPeerUpdate(
|
|
191
|
+
override fun onPeerUpdate(
|
|
192
|
+
type: HMSPeerUpdate,
|
|
193
|
+
peer: HMSPeer,
|
|
194
|
+
) {
|
|
184
195
|
if (eventsEnableStatus["3"] != true) {
|
|
185
196
|
return
|
|
186
197
|
}
|
|
@@ -197,7 +208,10 @@ class HMSRNSDK(
|
|
|
197
208
|
delegate.emitEvent("3", hmsPeer)
|
|
198
209
|
}
|
|
199
210
|
|
|
200
|
-
override fun onRoomUpdate(
|
|
211
|
+
override fun onRoomUpdate(
|
|
212
|
+
type: HMSRoomUpdate,
|
|
213
|
+
hmsRoom: HMSRoom,
|
|
214
|
+
) {
|
|
201
215
|
if (eventsEnableStatus["ON_ROOM_UPDATE"] != true) {
|
|
202
216
|
return
|
|
203
217
|
}
|
|
@@ -213,7 +227,10 @@ class HMSRNSDK(
|
|
|
213
227
|
delegate.emitEvent("ON_ROOM_UPDATE", data)
|
|
214
228
|
}
|
|
215
229
|
|
|
216
|
-
override fun onPreview(
|
|
230
|
+
override fun onPreview(
|
|
231
|
+
room: HMSRoom,
|
|
232
|
+
localTracks: Array<HMSTrack>,
|
|
233
|
+
) {
|
|
217
234
|
previewInProgress = false
|
|
218
235
|
if (eventsEnableStatus["ON_PREVIEW"] != true) {
|
|
219
236
|
return
|
|
@@ -227,6 +244,34 @@ class HMSRNSDK(
|
|
|
227
244
|
data.putString("id", id)
|
|
228
245
|
delegate.emitEvent("ON_PREVIEW", data)
|
|
229
246
|
}
|
|
247
|
+
|
|
248
|
+
/*
|
|
249
|
+
override fun peerListUpdated(addedPeers: ArrayList<HMSPeer>?, removedPeers: ArrayList<HMSPeer>?) {
|
|
250
|
+
|
|
251
|
+
if (eventsEnableStatus["ON_PEER_LIST_UPDATED"] != true) {
|
|
252
|
+
return
|
|
253
|
+
}
|
|
254
|
+
val data: WritableMap = Arguments.createMap()
|
|
255
|
+
val addedPeersArray: WritableArray = Arguments.createArray()
|
|
256
|
+
val removedPeersArray: WritableArray = Arguments.createArray()
|
|
257
|
+
|
|
258
|
+
if (addedPeers != null) {
|
|
259
|
+
for (peer in addedPeers) {
|
|
260
|
+
addedPeersArray.pushMap(HMSDecoder.getHmsPeerSubset(peer))
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
if (removedPeers != null) {
|
|
265
|
+
for (peer in removedPeers) {
|
|
266
|
+
removedPeersArray.pushMap(HMSDecoder.getHmsPeerSubset(peer))
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
data.putArray("addedPeers", addedPeersArray)
|
|
271
|
+
data.putArray("removedPeers", removedPeersArray)
|
|
272
|
+
delegate.emitEvent("ON_PEER_LIST_UPDATED", data)
|
|
273
|
+
}
|
|
274
|
+
*/
|
|
230
275
|
},
|
|
231
276
|
)
|
|
232
277
|
} else {
|
|
@@ -307,7 +352,10 @@ class HMSRNSDK(
|
|
|
307
352
|
delegate.emitEvent("ON_JOIN", data)
|
|
308
353
|
}
|
|
309
354
|
|
|
310
|
-
override fun onPeerUpdate(
|
|
355
|
+
override fun onPeerUpdate(
|
|
356
|
+
type: HMSPeerUpdate,
|
|
357
|
+
peer: HMSPeer,
|
|
358
|
+
) {
|
|
311
359
|
if (eventsEnableStatus["3"] != true) {
|
|
312
360
|
return
|
|
313
361
|
}
|
|
@@ -325,7 +373,10 @@ class HMSRNSDK(
|
|
|
325
373
|
delegate.emitEvent("3", hmsPeer)
|
|
326
374
|
}
|
|
327
375
|
|
|
328
|
-
override fun onRoomUpdate(
|
|
376
|
+
override fun onRoomUpdate(
|
|
377
|
+
type: HMSRoomUpdate,
|
|
378
|
+
hmsRoom: HMSRoom,
|
|
379
|
+
) {
|
|
329
380
|
if (eventsEnableStatus["ON_ROOM_UPDATE"] != true) {
|
|
330
381
|
return
|
|
331
382
|
}
|
|
@@ -341,7 +392,11 @@ class HMSRNSDK(
|
|
|
341
392
|
delegate.emitEvent("ON_ROOM_UPDATE", data)
|
|
342
393
|
}
|
|
343
394
|
|
|
344
|
-
override fun onTrackUpdate(
|
|
395
|
+
override fun onTrackUpdate(
|
|
396
|
+
type: HMSTrackUpdate,
|
|
397
|
+
track: HMSTrack,
|
|
398
|
+
peer: HMSPeer,
|
|
399
|
+
) {
|
|
345
400
|
if (eventsEnableStatus["ON_TRACK_UPDATE"] != true) {
|
|
346
401
|
return
|
|
347
402
|
}
|
|
@@ -416,6 +471,35 @@ class HMSRNSDK(
|
|
|
416
471
|
data.putString("id", id)
|
|
417
472
|
delegate.emitEvent("ON_SESSION_STORE_AVAILABLE", data)
|
|
418
473
|
}
|
|
474
|
+
|
|
475
|
+
override fun peerListUpdated(
|
|
476
|
+
addedPeers: ArrayList<HMSPeer>?,
|
|
477
|
+
removedPeers: ArrayList<HMSPeer>?,
|
|
478
|
+
) {
|
|
479
|
+
if (eventsEnableStatus["ON_PEER_LIST_UPDATED"] != true) {
|
|
480
|
+
return
|
|
481
|
+
}
|
|
482
|
+
val data: WritableMap = Arguments.createMap()
|
|
483
|
+
val addedPeersArray: WritableArray = Arguments.createArray()
|
|
484
|
+
val removedPeersArray: WritableArray = Arguments.createArray()
|
|
485
|
+
|
|
486
|
+
if (addedPeers != null) {
|
|
487
|
+
for (peer in addedPeers) {
|
|
488
|
+
addedPeersArray.pushMap(HMSDecoder.getHmsPeerSubset(peer))
|
|
489
|
+
}
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
if (removedPeers != null) {
|
|
493
|
+
for (peer in removedPeers) {
|
|
494
|
+
removedPeersArray.pushMap(HMSDecoder.getHmsPeerSubset(peer))
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
data.putString("id", id)
|
|
499
|
+
data.putArray("addedPeers", addedPeersArray)
|
|
500
|
+
data.putArray("removedPeers", removedPeersArray)
|
|
501
|
+
delegate.emitEvent("ON_PEER_LIST_UPDATED", data)
|
|
502
|
+
}
|
|
419
503
|
},
|
|
420
504
|
)
|
|
421
505
|
} catch (e: HMSException) {
|
|
@@ -478,7 +562,10 @@ class HMSRNSDK(
|
|
|
478
562
|
if (eventsEnableStatus["ON_LOCAL_VIDEO_STATS"] != true || hmsPeer == null || hmsTrack == null) {
|
|
479
563
|
return
|
|
480
564
|
}
|
|
481
|
-
val localVideoStats =
|
|
565
|
+
val localVideoStats =
|
|
566
|
+
HMSDecoder.getLocalVideoStats(
|
|
567
|
+
videoStats,
|
|
568
|
+
) // List<[bitrate, bytesSent, roundTripTime, frameRate, resolution]>
|
|
482
569
|
val track = HMSDecoder.getHmsLocalVideoTrack(hmsTrack as HMSLocalVideoTrack)
|
|
483
570
|
val peer = HMSDecoder.getHmsPeerSubset(hmsPeer)
|
|
484
571
|
|
|
@@ -494,9 +581,18 @@ class HMSRNSDK(
|
|
|
494
581
|
if (eventsEnableStatus["ON_RTC_STATS"] != true) {
|
|
495
582
|
return
|
|
496
583
|
}
|
|
497
|
-
val video =
|
|
498
|
-
|
|
499
|
-
|
|
584
|
+
val video =
|
|
585
|
+
HMSDecoder.getHMSRTCStats(
|
|
586
|
+
rtcStats.video,
|
|
587
|
+
) // [bitrateReceived, bitrateSent, bytesReceived, bytesSent, packetsLost, packetsReceived, roundTripTime]
|
|
588
|
+
val audio =
|
|
589
|
+
HMSDecoder.getHMSRTCStats(
|
|
590
|
+
rtcStats.audio,
|
|
591
|
+
) // [bitrateReceived, bitrateSent, bytesReceived, bytesSent, packetsLost, packetsReceived, roundTripTime]
|
|
592
|
+
val combined =
|
|
593
|
+
HMSDecoder.getHMSRTCStats(
|
|
594
|
+
rtcStats.combined,
|
|
595
|
+
) // [bitrateReceived, bitrateSent, bytesReceived, bytesSent, packetsLost, packetsReceived, roundTripTime]
|
|
500
596
|
|
|
501
597
|
val data: WritableMap = Arguments.createMap()
|
|
502
598
|
data.putArray("video", video)
|
|
@@ -514,7 +610,10 @@ class HMSRNSDK(
|
|
|
514
610
|
if (eventsEnableStatus["ON_REMOTE_AUDIO_STATS"] != true || hmsPeer == null || hmsTrack == null) {
|
|
515
611
|
return
|
|
516
612
|
}
|
|
517
|
-
val remoteAudioStats =
|
|
613
|
+
val remoteAudioStats =
|
|
614
|
+
HMSDecoder.getRemoteAudioStats(
|
|
615
|
+
audioStats,
|
|
616
|
+
) // [bitrate, bytesReceived, jitter, packetsLost, packetsReceived]
|
|
518
617
|
val track = HMSDecoder.getHmsRemoteAudioTrack(hmsTrack as HMSRemoteAudioTrack)
|
|
519
618
|
val peer = HMSDecoder.getHmsPeerSubset(hmsPeer)
|
|
520
619
|
|
|
@@ -534,7 +633,10 @@ class HMSRNSDK(
|
|
|
534
633
|
if (eventsEnableStatus["ON_REMOTE_VIDEO_STATS"] != true || hmsPeer == null || hmsTrack == null) {
|
|
535
634
|
return
|
|
536
635
|
}
|
|
537
|
-
val remoteVideoStats =
|
|
636
|
+
val remoteVideoStats =
|
|
637
|
+
HMSDecoder.getRemoteVideoStats(
|
|
638
|
+
videoStats,
|
|
639
|
+
) // [bitrate, bytesReceived, frameRate, jitter, packetsLost, packetsReceived, resolution]
|
|
538
640
|
val track = HMSDecoder.getHmsRemoteVideoTrack(hmsTrack as HMSRemoteVideoTrack)
|
|
539
641
|
val peer = HMSDecoder.getHmsPeerSubset(hmsPeer)
|
|
540
642
|
|
|
@@ -554,7 +656,10 @@ class HMSRNSDK(
|
|
|
554
656
|
}
|
|
555
657
|
}
|
|
556
658
|
|
|
557
|
-
fun getAuthTokenByRoomCode(
|
|
659
|
+
fun getAuthTokenByRoomCode(
|
|
660
|
+
data: ReadableMap,
|
|
661
|
+
promise: Promise,
|
|
662
|
+
) {
|
|
558
663
|
val requiredKeys =
|
|
559
664
|
HMSHelper.getUnavailableRequiredKey(
|
|
560
665
|
data,
|
|
@@ -591,60 +696,65 @@ class HMSRNSDK(
|
|
|
591
696
|
|
|
592
697
|
fun setLocalMute(data: ReadableMap) {
|
|
593
698
|
val isMute = data.getBoolean("isMute")
|
|
594
|
-
hmsSDK?.getLocalPeer()?.audioTrack
|
|
699
|
+
val localAudioTrack = hmsSDK?.getLocalPeer()?.audioTrack ?: previewForRoleAudioTrack
|
|
700
|
+
localAudioTrack?.let {
|
|
701
|
+
it.setMute(isMute)
|
|
702
|
+
}
|
|
595
703
|
}
|
|
596
704
|
|
|
597
705
|
fun setLocalVideoMute(data: ReadableMap) {
|
|
598
706
|
val isMute = data.getBoolean("isMute")
|
|
599
|
-
hmsSDK?.getLocalPeer()?.videoTrack
|
|
707
|
+
val localVideoTrack = hmsSDK?.getLocalPeer()?.videoTrack ?: previewForRoleVideoTrack
|
|
708
|
+
localVideoTrack?.let {
|
|
709
|
+
it.setMute(isMute)
|
|
710
|
+
}
|
|
600
711
|
}
|
|
601
712
|
|
|
602
713
|
fun switchCamera() {
|
|
603
|
-
|
|
604
|
-
|
|
714
|
+
val localVideoTrack = hmsSDK?.getLocalPeer()?.videoTrack ?: previewForRoleVideoTrack
|
|
715
|
+
localVideoTrack?.let {
|
|
716
|
+
if (!it.isMute) {
|
|
717
|
+
HMSCoroutineScope.launch { it.switchCamera() }
|
|
718
|
+
}
|
|
605
719
|
}
|
|
606
720
|
}
|
|
607
721
|
|
|
608
|
-
fun leave(
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
} else {
|
|
618
|
-
hmsSDK?.leave(
|
|
619
|
-
object : HMSActionResultListener {
|
|
620
|
-
override fun onSuccess() {
|
|
621
|
-
if (fromPIP) {
|
|
622
|
-
context.currentActivity?.moveTaskToBack(false)
|
|
722
|
+
fun leave(
|
|
723
|
+
callback: Promise?,
|
|
724
|
+
fromPIP: Boolean = false,
|
|
725
|
+
) {
|
|
726
|
+
hmsSDK?.leave(
|
|
727
|
+
object : HMSActionResultListener {
|
|
728
|
+
override fun onSuccess() {
|
|
729
|
+
if (fromPIP) {
|
|
730
|
+
context.currentActivity?.moveTaskToBack(false)
|
|
623
731
|
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
}
|
|
627
|
-
val map: WritableMap = Arguments.createMap()
|
|
628
|
-
map.putString("id", id)
|
|
629
|
-
delegate.emitEvent("ON_PIP_ROOM_LEAVE", map)
|
|
630
|
-
} else {
|
|
631
|
-
callback?.resolve(emitHMSSuccess())
|
|
732
|
+
if (eventsEnableStatus["ON_PIP_ROOM_LEAVE"] != true) {
|
|
733
|
+
return
|
|
632
734
|
}
|
|
633
|
-
|
|
735
|
+
val map: WritableMap = Arguments.createMap()
|
|
736
|
+
map.putString("id", id)
|
|
737
|
+
delegate.emitEvent("ON_PIP_ROOM_LEAVE", map)
|
|
738
|
+
} else {
|
|
739
|
+
callback?.resolve(emitHMSSuccess())
|
|
634
740
|
}
|
|
741
|
+
cleanup() // resetting states and doing data cleanup
|
|
742
|
+
}
|
|
635
743
|
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
}
|
|
640
|
-
self.emitHMSError(error)
|
|
744
|
+
override fun onError(error: HMSException) {
|
|
745
|
+
if (!fromPIP) {
|
|
746
|
+
callback?.reject(error.code.toString(), error.message)
|
|
641
747
|
}
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
748
|
+
self.emitHMSError(error)
|
|
749
|
+
}
|
|
750
|
+
},
|
|
751
|
+
)
|
|
645
752
|
}
|
|
646
753
|
|
|
647
|
-
fun sendBroadcastMessage(
|
|
754
|
+
fun sendBroadcastMessage(
|
|
755
|
+
data: ReadableMap,
|
|
756
|
+
callback: Promise?,
|
|
757
|
+
) {
|
|
648
758
|
val requiredKeys =
|
|
649
759
|
HMSHelper.getUnavailableRequiredKey(
|
|
650
760
|
data,
|
|
@@ -656,9 +766,9 @@ class HMSRNSDK(
|
|
|
656
766
|
data.getString("type") as String,
|
|
657
767
|
object : HMSMessageResultListener {
|
|
658
768
|
override fun onError(error: HMSException) {
|
|
659
|
-
self.emitHMSError(error)
|
|
660
769
|
callback?.reject(error.code.toString(), error.message)
|
|
661
770
|
}
|
|
771
|
+
|
|
662
772
|
override fun onSuccess(hmsMessage: HMSMessage) {
|
|
663
773
|
callback?.resolve(emitHMSMessageSuccess(hmsMessage))
|
|
664
774
|
}
|
|
@@ -671,7 +781,10 @@ class HMSRNSDK(
|
|
|
671
781
|
}
|
|
672
782
|
}
|
|
673
783
|
|
|
674
|
-
fun sendGroupMessage(
|
|
784
|
+
fun sendGroupMessage(
|
|
785
|
+
data: ReadableMap,
|
|
786
|
+
callback: Promise?,
|
|
787
|
+
) {
|
|
675
788
|
val requiredKeys =
|
|
676
789
|
HMSHelper.getUnavailableRequiredKey(
|
|
677
790
|
data,
|
|
@@ -688,9 +801,9 @@ class HMSRNSDK(
|
|
|
688
801
|
encodedTargetedRoles,
|
|
689
802
|
object : HMSMessageResultListener {
|
|
690
803
|
override fun onError(error: HMSException) {
|
|
691
|
-
self.emitHMSError(error)
|
|
692
804
|
callback?.reject(error.code.toString(), error.message)
|
|
693
805
|
}
|
|
806
|
+
|
|
694
807
|
override fun onSuccess(hmsMessage: HMSMessage) {
|
|
695
808
|
callback?.resolve(emitHMSMessageSuccess(hmsMessage))
|
|
696
809
|
}
|
|
@@ -703,7 +816,10 @@ class HMSRNSDK(
|
|
|
703
816
|
}
|
|
704
817
|
}
|
|
705
818
|
|
|
706
|
-
fun sendDirectMessage(
|
|
819
|
+
fun sendDirectMessage(
|
|
820
|
+
data: ReadableMap,
|
|
821
|
+
callback: Promise?,
|
|
822
|
+
) {
|
|
707
823
|
val requiredKeys =
|
|
708
824
|
HMSHelper.getUnavailableRequiredKey(
|
|
709
825
|
data,
|
|
@@ -719,9 +835,9 @@ class HMSRNSDK(
|
|
|
719
835
|
peer,
|
|
720
836
|
object : HMSMessageResultListener {
|
|
721
837
|
override fun onError(error: HMSException) {
|
|
722
|
-
self.emitHMSError(error)
|
|
723
838
|
callback?.reject(error.code.toString(), error.message)
|
|
724
839
|
}
|
|
840
|
+
|
|
725
841
|
override fun onSuccess(hmsMessage: HMSMessage) {
|
|
726
842
|
callback?.resolve(emitHMSMessageSuccess(hmsMessage))
|
|
727
843
|
}
|
|
@@ -739,7 +855,10 @@ class HMSRNSDK(
|
|
|
739
855
|
}
|
|
740
856
|
|
|
741
857
|
@kotlin.Deprecated("Use #Function changeRoleOfPeer instead")
|
|
742
|
-
fun changeRole(
|
|
858
|
+
fun changeRole(
|
|
859
|
+
data: ReadableMap,
|
|
860
|
+
callback: Promise?,
|
|
861
|
+
) {
|
|
743
862
|
val requiredKeys =
|
|
744
863
|
HMSHelper.getUnavailableRequiredKey(
|
|
745
864
|
data,
|
|
@@ -770,8 +889,8 @@ class HMSRNSDK(
|
|
|
770
889
|
override fun onSuccess() {
|
|
771
890
|
callback?.resolve(emitHMSSuccess())
|
|
772
891
|
}
|
|
892
|
+
|
|
773
893
|
override fun onError(error: HMSException) {
|
|
774
|
-
self.emitHMSError(error)
|
|
775
894
|
callback?.reject(error.code.toString(), error.message)
|
|
776
895
|
}
|
|
777
896
|
},
|
|
@@ -784,7 +903,10 @@ class HMSRNSDK(
|
|
|
784
903
|
}
|
|
785
904
|
}
|
|
786
905
|
|
|
787
|
-
fun changeRoleOfPeer(
|
|
906
|
+
fun changeRoleOfPeer(
|
|
907
|
+
data: ReadableMap,
|
|
908
|
+
promise: Promise?,
|
|
909
|
+
) {
|
|
788
910
|
val requiredKeys =
|
|
789
911
|
HMSHelper.getUnavailableRequiredKey(
|
|
790
912
|
data,
|
|
@@ -815,8 +937,8 @@ class HMSRNSDK(
|
|
|
815
937
|
override fun onSuccess() {
|
|
816
938
|
promise?.resolve(emitHMSSuccess())
|
|
817
939
|
}
|
|
940
|
+
|
|
818
941
|
override fun onError(error: HMSException) {
|
|
819
|
-
self.emitHMSError(error)
|
|
820
942
|
promise?.reject(error.code.toString(), error.message)
|
|
821
943
|
}
|
|
822
944
|
},
|
|
@@ -829,7 +951,10 @@ class HMSRNSDK(
|
|
|
829
951
|
}
|
|
830
952
|
}
|
|
831
953
|
|
|
832
|
-
fun changeRoleOfPeersWithRoles(
|
|
954
|
+
fun changeRoleOfPeersWithRoles(
|
|
955
|
+
data: ReadableMap,
|
|
956
|
+
promise: Promise?,
|
|
957
|
+
) {
|
|
833
958
|
val requiredKeys =
|
|
834
959
|
HMSHelper.getUnavailableRequiredKey(
|
|
835
960
|
data,
|
|
@@ -855,8 +980,8 @@ class HMSRNSDK(
|
|
|
855
980
|
override fun onSuccess() {
|
|
856
981
|
promise?.resolve(emitHMSSuccess())
|
|
857
982
|
}
|
|
983
|
+
|
|
858
984
|
override fun onError(error: HMSException) {
|
|
859
|
-
self.emitHMSError(error)
|
|
860
985
|
promise?.reject(error.code.toString(), error.message)
|
|
861
986
|
}
|
|
862
987
|
},
|
|
@@ -870,7 +995,10 @@ class HMSRNSDK(
|
|
|
870
995
|
}
|
|
871
996
|
}
|
|
872
997
|
|
|
873
|
-
fun changeTrackState(
|
|
998
|
+
fun changeTrackState(
|
|
999
|
+
data: ReadableMap,
|
|
1000
|
+
callback: Promise?,
|
|
1001
|
+
) {
|
|
874
1002
|
val requiredKeys =
|
|
875
1003
|
HMSHelper.getUnavailableRequiredKey(
|
|
876
1004
|
data,
|
|
@@ -888,8 +1016,8 @@ class HMSRNSDK(
|
|
|
888
1016
|
override fun onSuccess() {
|
|
889
1017
|
callback?.resolve(emitHMSSuccess())
|
|
890
1018
|
}
|
|
1019
|
+
|
|
891
1020
|
override fun onError(error: HMSException) {
|
|
892
|
-
self.emitHMSError(error)
|
|
893
1021
|
callback?.reject(error.code.toString(), error.message)
|
|
894
1022
|
}
|
|
895
1023
|
},
|
|
@@ -902,7 +1030,10 @@ class HMSRNSDK(
|
|
|
902
1030
|
}
|
|
903
1031
|
}
|
|
904
1032
|
|
|
905
|
-
fun changeTrackStateForRoles(
|
|
1033
|
+
fun changeTrackStateForRoles(
|
|
1034
|
+
data: ReadableMap,
|
|
1035
|
+
callback: Promise?,
|
|
1036
|
+
) {
|
|
906
1037
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("mute", "Boolean")))
|
|
907
1038
|
if (requiredKeys === null) {
|
|
908
1039
|
val mute: Boolean = data.getBoolean("mute")
|
|
@@ -939,8 +1070,8 @@ class HMSRNSDK(
|
|
|
939
1070
|
override fun onSuccess() {
|
|
940
1071
|
callback?.resolve(emitHMSSuccess())
|
|
941
1072
|
}
|
|
1073
|
+
|
|
942
1074
|
override fun onError(error: HMSException) {
|
|
943
|
-
self.emitHMSError(error)
|
|
944
1075
|
callback?.reject(error.code.toString(), error.message)
|
|
945
1076
|
}
|
|
946
1077
|
},
|
|
@@ -952,7 +1083,10 @@ class HMSRNSDK(
|
|
|
952
1083
|
}
|
|
953
1084
|
}
|
|
954
1085
|
|
|
955
|
-
fun isMute(
|
|
1086
|
+
fun isMute(
|
|
1087
|
+
data: ReadableMap,
|
|
1088
|
+
callback: Promise?,
|
|
1089
|
+
) {
|
|
956
1090
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String")))
|
|
957
1091
|
if (requiredKeys === null) {
|
|
958
1092
|
val trackId = data.getString("trackId")
|
|
@@ -970,7 +1104,10 @@ class HMSRNSDK(
|
|
|
970
1104
|
}
|
|
971
1105
|
}
|
|
972
1106
|
|
|
973
|
-
fun removePeer(
|
|
1107
|
+
fun removePeer(
|
|
1108
|
+
data: ReadableMap,
|
|
1109
|
+
callback: Promise?,
|
|
1110
|
+
) {
|
|
974
1111
|
val requiredKeys =
|
|
975
1112
|
HMSHelper.getUnavailableRequiredKey(
|
|
976
1113
|
data,
|
|
@@ -988,8 +1125,8 @@ class HMSRNSDK(
|
|
|
988
1125
|
override fun onSuccess() {
|
|
989
1126
|
callback?.resolve(emitHMSSuccess())
|
|
990
1127
|
}
|
|
1128
|
+
|
|
991
1129
|
override fun onError(error: HMSException) {
|
|
992
|
-
self.emitHMSError(error)
|
|
993
1130
|
callback?.reject(error.code.toString(), error.message)
|
|
994
1131
|
}
|
|
995
1132
|
},
|
|
@@ -1005,7 +1142,10 @@ class HMSRNSDK(
|
|
|
1005
1142
|
}
|
|
1006
1143
|
}
|
|
1007
1144
|
|
|
1008
|
-
fun endRoom(
|
|
1145
|
+
fun endRoom(
|
|
1146
|
+
data: ReadableMap,
|
|
1147
|
+
callback: Promise?,
|
|
1148
|
+
) {
|
|
1009
1149
|
val requiredKeys =
|
|
1010
1150
|
HMSHelper.getUnavailableRequiredKey(
|
|
1011
1151
|
data,
|
|
@@ -1020,8 +1160,8 @@ class HMSRNSDK(
|
|
|
1020
1160
|
callback?.resolve(emitHMSSuccess())
|
|
1021
1161
|
cleanup() // resetting states and doing data cleanup
|
|
1022
1162
|
}
|
|
1163
|
+
|
|
1023
1164
|
override fun onError(error: HMSException) {
|
|
1024
|
-
self.emitHMSError(error)
|
|
1025
1165
|
callback?.reject(error.code.toString(), error.message)
|
|
1026
1166
|
}
|
|
1027
1167
|
},
|
|
@@ -1033,6 +1173,60 @@ class HMSRNSDK(
|
|
|
1033
1173
|
}
|
|
1034
1174
|
}
|
|
1035
1175
|
|
|
1176
|
+
fun previewForRole(
|
|
1177
|
+
data: ReadableMap,
|
|
1178
|
+
callback: Promise?,
|
|
1179
|
+
) {
|
|
1180
|
+
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("role", "String")))
|
|
1181
|
+
if (requiredKeys === null) {
|
|
1182
|
+
val roleString = data.getString("role")
|
|
1183
|
+
val role = HMSHelper.getRoleFromRoleName(roleString, hmsSDK?.getRoles())
|
|
1184
|
+
if (role == null) {
|
|
1185
|
+
callback?.reject("4000", "ROLE_NOT_FOUND")
|
|
1186
|
+
return
|
|
1187
|
+
}
|
|
1188
|
+
hmsSDK?.preview(
|
|
1189
|
+
role,
|
|
1190
|
+
object : RolePreviewListener {
|
|
1191
|
+
override fun onError(error: HMSException) {
|
|
1192
|
+
callback?.reject(error.code.toString(), error.message)
|
|
1193
|
+
}
|
|
1194
|
+
|
|
1195
|
+
override fun onTracks(localTracks: Array<HMSTrack>) {
|
|
1196
|
+
val tracks = HMSDecoder.getPreviewTracks(localTracks)
|
|
1197
|
+
|
|
1198
|
+
localTracks.forEach { track ->
|
|
1199
|
+
// /Assigning values to preview for role tracks
|
|
1200
|
+
if (track.type == HMSTrackType.AUDIO) {
|
|
1201
|
+
previewForRoleAudioTrack = track as HMSLocalAudioTrack
|
|
1202
|
+
} else if (track.type == HMSTrackType.VIDEO && track.source == "regular") {
|
|
1203
|
+
previewForRoleVideoTrack = track as HMSLocalVideoTrack
|
|
1204
|
+
}
|
|
1205
|
+
}
|
|
1206
|
+
|
|
1207
|
+
val data: WritableMap = Arguments.createMap()
|
|
1208
|
+
|
|
1209
|
+
data.putArray("tracks", tracks)
|
|
1210
|
+
data.putBoolean("success", true)
|
|
1211
|
+
|
|
1212
|
+
callback?.resolve(data)
|
|
1213
|
+
}
|
|
1214
|
+
},
|
|
1215
|
+
)
|
|
1216
|
+
} else {
|
|
1217
|
+
val errorMessage = "Missing required keys for previewForRole: $requiredKeys"
|
|
1218
|
+
self.emitRequiredKeysError(errorMessage)
|
|
1219
|
+
rejectCallback(callback, errorMessage)
|
|
1220
|
+
}
|
|
1221
|
+
}
|
|
1222
|
+
|
|
1223
|
+
fun cancelPreview(callback: Promise?) {
|
|
1224
|
+
hmsSDK?.cancelPreview()
|
|
1225
|
+
previewForRoleAudioTrack = null
|
|
1226
|
+
previewForRoleVideoTrack = null
|
|
1227
|
+
callback?.resolve(emitHMSSuccess())
|
|
1228
|
+
}
|
|
1229
|
+
|
|
1036
1230
|
fun acceptRoleChange(callback: Promise?) {
|
|
1037
1231
|
if (recentRoleChangeRequest !== null) {
|
|
1038
1232
|
hmsSDK?.acceptChangeRole(
|
|
@@ -1041,13 +1235,15 @@ class HMSRNSDK(
|
|
|
1041
1235
|
override fun onSuccess() {
|
|
1042
1236
|
callback?.resolve(emitHMSSuccess())
|
|
1043
1237
|
}
|
|
1238
|
+
|
|
1044
1239
|
override fun onError(error: HMSException) {
|
|
1045
|
-
self.emitHMSError(error)
|
|
1046
1240
|
callback?.reject(error.code.toString(), error.message)
|
|
1047
1241
|
}
|
|
1048
1242
|
},
|
|
1049
1243
|
)
|
|
1050
1244
|
recentRoleChangeRequest = null
|
|
1245
|
+
previewForRoleAudioTrack = null
|
|
1246
|
+
previewForRoleVideoTrack = null
|
|
1051
1247
|
} else {
|
|
1052
1248
|
val errorMessage = "acceptRoleChange: recentRoleChangeRequest not found"
|
|
1053
1249
|
self.emitRequiredKeysError(errorMessage)
|
|
@@ -1065,6 +1261,7 @@ class HMSRNSDK(
|
|
|
1065
1261
|
true,
|
|
1066
1262
|
object : HMSActionResultListener {
|
|
1067
1263
|
override fun onSuccess() {}
|
|
1264
|
+
|
|
1068
1265
|
override fun onError(error: HMSException) {
|
|
1069
1266
|
customError = error
|
|
1070
1267
|
}
|
|
@@ -1120,7 +1317,10 @@ class HMSRNSDK(
|
|
|
1120
1317
|
}
|
|
1121
1318
|
}
|
|
1122
1319
|
|
|
1123
|
-
fun isPlaybackAllowed(
|
|
1320
|
+
fun isPlaybackAllowed(
|
|
1321
|
+
data: ReadableMap,
|
|
1322
|
+
callback: Promise?,
|
|
1323
|
+
) {
|
|
1124
1324
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String")))
|
|
1125
1325
|
if (requiredKeys === null) {
|
|
1126
1326
|
val trackId = data.getString("trackId")
|
|
@@ -1209,7 +1409,10 @@ class HMSRNSDK(
|
|
|
1209
1409
|
}
|
|
1210
1410
|
}
|
|
1211
1411
|
|
|
1212
|
-
fun getVolume(
|
|
1412
|
+
fun getVolume(
|
|
1413
|
+
data: ReadableMap,
|
|
1414
|
+
callback: Promise?,
|
|
1415
|
+
) {
|
|
1213
1416
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String")))
|
|
1214
1417
|
if (requiredKeys === null) {
|
|
1215
1418
|
val trackId = data.getString("trackId")
|
|
@@ -1229,7 +1432,10 @@ class HMSRNSDK(
|
|
|
1229
1432
|
}
|
|
1230
1433
|
}
|
|
1231
1434
|
|
|
1232
|
-
fun changeMetadata(
|
|
1435
|
+
fun changeMetadata(
|
|
1436
|
+
data: ReadableMap,
|
|
1437
|
+
callback: Promise?,
|
|
1438
|
+
) {
|
|
1233
1439
|
val requiredKeys =
|
|
1234
1440
|
HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("metadata", "String")))
|
|
1235
1441
|
if (requiredKeys === null) {
|
|
@@ -1242,9 +1448,9 @@ class HMSRNSDK(
|
|
|
1242
1448
|
override fun onSuccess() {
|
|
1243
1449
|
callback?.resolve(emitHMSSuccess())
|
|
1244
1450
|
}
|
|
1451
|
+
|
|
1245
1452
|
override fun onError(error: HMSException) {
|
|
1246
1453
|
callback?.reject(error.code.toString(), error.message)
|
|
1247
|
-
self.emitHMSError(error)
|
|
1248
1454
|
}
|
|
1249
1455
|
},
|
|
1250
1456
|
)
|
|
@@ -1256,7 +1462,10 @@ class HMSRNSDK(
|
|
|
1256
1462
|
}
|
|
1257
1463
|
}
|
|
1258
1464
|
|
|
1259
|
-
fun startRTMPOrRecording(
|
|
1465
|
+
fun startRTMPOrRecording(
|
|
1466
|
+
data: ReadableMap,
|
|
1467
|
+
callback: Promise?,
|
|
1468
|
+
) {
|
|
1260
1469
|
val requiredKeys =
|
|
1261
1470
|
HMSHelper.getUnavailableRequiredKey(
|
|
1262
1471
|
data,
|
|
@@ -1275,9 +1484,9 @@ class HMSRNSDK(
|
|
|
1275
1484
|
override fun onSuccess() {
|
|
1276
1485
|
callback?.resolve(emitHMSSuccess())
|
|
1277
1486
|
}
|
|
1487
|
+
|
|
1278
1488
|
override fun onError(error: HMSException) {
|
|
1279
1489
|
callback?.reject(error.code.toString(), error.message)
|
|
1280
|
-
self.emitHMSError(error)
|
|
1281
1490
|
}
|
|
1282
1491
|
},
|
|
1283
1492
|
)
|
|
@@ -1295,9 +1504,9 @@ class HMSRNSDK(
|
|
|
1295
1504
|
override fun onSuccess() {
|
|
1296
1505
|
callback?.resolve(emitHMSSuccess())
|
|
1297
1506
|
}
|
|
1507
|
+
|
|
1298
1508
|
override fun onError(error: HMSException) {
|
|
1299
1509
|
callback?.reject(error.code.toString(), error.message)
|
|
1300
|
-
self.emitHMSError(error)
|
|
1301
1510
|
}
|
|
1302
1511
|
},
|
|
1303
1512
|
)
|
|
@@ -1323,8 +1532,8 @@ class HMSRNSDK(
|
|
|
1323
1532
|
override fun onError(error: HMSException) {
|
|
1324
1533
|
screenshareCallback = null
|
|
1325
1534
|
callback?.reject(error.code.toString(), error.message)
|
|
1326
|
-
self.emitHMSError(error)
|
|
1327
1535
|
}
|
|
1536
|
+
|
|
1328
1537
|
override fun onSuccess() {
|
|
1329
1538
|
screenshareCallback = null
|
|
1330
1539
|
callback?.resolve(emitHMSSuccess())
|
|
@@ -1333,7 +1542,10 @@ class HMSRNSDK(
|
|
|
1333
1542
|
)
|
|
1334
1543
|
}
|
|
1335
1544
|
|
|
1336
|
-
fun startHLSStreaming(
|
|
1545
|
+
fun startHLSStreaming(
|
|
1546
|
+
data: ReadableMap,
|
|
1547
|
+
callback: Promise?,
|
|
1548
|
+
) {
|
|
1337
1549
|
val hlsConfig = HMSHelper.getHLSConfig(data)
|
|
1338
1550
|
hmsSDK?.startHLSStreaming(
|
|
1339
1551
|
hlsConfig,
|
|
@@ -1341,9 +1553,9 @@ class HMSRNSDK(
|
|
|
1341
1553
|
override fun onSuccess() {
|
|
1342
1554
|
callback?.resolve(emitHMSSuccess())
|
|
1343
1555
|
}
|
|
1556
|
+
|
|
1344
1557
|
override fun onError(error: HMSException) {
|
|
1345
1558
|
callback?.reject(error.code.toString(), error.message)
|
|
1346
|
-
self.emitHMSError(error)
|
|
1347
1559
|
}
|
|
1348
1560
|
},
|
|
1349
1561
|
)
|
|
@@ -1356,9 +1568,9 @@ class HMSRNSDK(
|
|
|
1356
1568
|
override fun onSuccess() {
|
|
1357
1569
|
callback?.resolve(emitHMSSuccess())
|
|
1358
1570
|
}
|
|
1571
|
+
|
|
1359
1572
|
override fun onError(error: HMSException) {
|
|
1360
1573
|
callback?.reject(error.code.toString(), error.message)
|
|
1361
|
-
self.emitHMSError(error)
|
|
1362
1574
|
}
|
|
1363
1575
|
},
|
|
1364
1576
|
)
|
|
@@ -1384,7 +1596,10 @@ class HMSRNSDK(
|
|
|
1384
1596
|
}
|
|
1385
1597
|
}
|
|
1386
1598
|
|
|
1387
|
-
fun changeName(
|
|
1599
|
+
fun changeName(
|
|
1600
|
+
data: ReadableMap,
|
|
1601
|
+
callback: Promise?,
|
|
1602
|
+
) {
|
|
1388
1603
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("name", "String")))
|
|
1389
1604
|
if (requiredKeys === null) {
|
|
1390
1605
|
val name = data.getString("name")
|
|
@@ -1398,7 +1613,6 @@ class HMSRNSDK(
|
|
|
1398
1613
|
|
|
1399
1614
|
override fun onError(error: HMSException) {
|
|
1400
1615
|
callback?.reject(error.code.toString(), error.message)
|
|
1401
|
-
self.emitHMSError(error)
|
|
1402
1616
|
}
|
|
1403
1617
|
},
|
|
1404
1618
|
)
|
|
@@ -1476,7 +1690,10 @@ class HMSRNSDK(
|
|
|
1476
1690
|
)
|
|
1477
1691
|
}
|
|
1478
1692
|
|
|
1479
|
-
fun startAudioshare(
|
|
1693
|
+
fun startAudioshare(
|
|
1694
|
+
data: ReadableMap,
|
|
1695
|
+
callback: Promise?,
|
|
1696
|
+
) {
|
|
1480
1697
|
val requiredKeys =
|
|
1481
1698
|
HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("audioMixingMode", "String")))
|
|
1482
1699
|
if (requiredKeys === null) {
|
|
@@ -1505,8 +1722,8 @@ class HMSRNSDK(
|
|
|
1505
1722
|
override fun onError(error: HMSException) {
|
|
1506
1723
|
audioshareCallback = null
|
|
1507
1724
|
callback?.reject(error.code.toString(), error.message)
|
|
1508
|
-
self.emitHMSError(error)
|
|
1509
1725
|
}
|
|
1726
|
+
|
|
1510
1727
|
override fun onSuccess() {
|
|
1511
1728
|
isAudioSharing = false
|
|
1512
1729
|
audioshareCallback = null
|
|
@@ -1520,7 +1737,10 @@ class HMSRNSDK(
|
|
|
1520
1737
|
return audioMixingMode
|
|
1521
1738
|
}
|
|
1522
1739
|
|
|
1523
|
-
fun setAudioMixingMode(
|
|
1740
|
+
fun setAudioMixingMode(
|
|
1741
|
+
data: ReadableMap,
|
|
1742
|
+
callback: Promise?,
|
|
1743
|
+
) {
|
|
1524
1744
|
val requiredKeys =
|
|
1525
1745
|
HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("audioMixingMode", "String")))
|
|
1526
1746
|
if (requiredKeys === null) {
|
|
@@ -1573,6 +1793,9 @@ class HMSRNSDK(
|
|
|
1573
1793
|
"role" -> {
|
|
1574
1794
|
result.putMap("role", HMSDecoder.getHmsRole(peer.hmsRole))
|
|
1575
1795
|
}
|
|
1796
|
+
"isHandRaised" -> {
|
|
1797
|
+
result.putBoolean("isHandRaised", peer.isHandRaised)
|
|
1798
|
+
}
|
|
1576
1799
|
"customerUserID" -> {
|
|
1577
1800
|
if (peer.customerUserID !== null) {
|
|
1578
1801
|
result.putString("customerUserID", peer.customerUserID)
|
|
@@ -1665,7 +1888,10 @@ class HMSRNSDK(
|
|
|
1665
1888
|
return null
|
|
1666
1889
|
}
|
|
1667
1890
|
|
|
1668
|
-
fun enableEvent(
|
|
1891
|
+
fun enableEvent(
|
|
1892
|
+
data: ReadableMap,
|
|
1893
|
+
promise: Promise?,
|
|
1894
|
+
) {
|
|
1669
1895
|
val requiredKeys =
|
|
1670
1896
|
HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("eventType", "String")))
|
|
1671
1897
|
if (requiredKeys === null) {
|
|
@@ -1682,7 +1908,10 @@ class HMSRNSDK(
|
|
|
1682
1908
|
}
|
|
1683
1909
|
}
|
|
1684
1910
|
|
|
1685
|
-
fun disableEvent(
|
|
1911
|
+
fun disableEvent(
|
|
1912
|
+
data: ReadableMap,
|
|
1913
|
+
promise: Promise?,
|
|
1914
|
+
) {
|
|
1686
1915
|
val requiredKeys =
|
|
1687
1916
|
HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("eventType", "String")))
|
|
1688
1917
|
if (requiredKeys === null) {
|
|
@@ -1699,7 +1928,10 @@ class HMSRNSDK(
|
|
|
1699
1928
|
}
|
|
1700
1929
|
}
|
|
1701
1930
|
|
|
1702
|
-
fun restrictData(
|
|
1931
|
+
fun restrictData(
|
|
1932
|
+
data: ReadableMap,
|
|
1933
|
+
promise: Promise?,
|
|
1934
|
+
) {
|
|
1703
1935
|
val requiredKeys =
|
|
1704
1936
|
HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("roleName", "String")))
|
|
1705
1937
|
if (requiredKeys === null) {
|
|
@@ -1715,7 +1947,10 @@ class HMSRNSDK(
|
|
|
1715
1947
|
}
|
|
1716
1948
|
}
|
|
1717
1949
|
|
|
1718
|
-
fun getRemoteVideoTrackFromTrackId(
|
|
1950
|
+
fun getRemoteVideoTrackFromTrackId(
|
|
1951
|
+
data: ReadableMap,
|
|
1952
|
+
promise: Promise,
|
|
1953
|
+
) {
|
|
1719
1954
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String")))
|
|
1720
1955
|
if (requiredKeys === null) {
|
|
1721
1956
|
val trackId = data.getString("trackId")
|
|
@@ -1732,7 +1967,10 @@ class HMSRNSDK(
|
|
|
1732
1967
|
}
|
|
1733
1968
|
}
|
|
1734
1969
|
|
|
1735
|
-
fun getRemoteAudioTrackFromTrackId(
|
|
1970
|
+
fun getRemoteAudioTrackFromTrackId(
|
|
1971
|
+
data: ReadableMap,
|
|
1972
|
+
promise: Promise,
|
|
1973
|
+
) {
|
|
1736
1974
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String")))
|
|
1737
1975
|
if (requiredKeys === null) {
|
|
1738
1976
|
val trackId = data.getString("trackId")
|
|
@@ -1749,7 +1987,10 @@ class HMSRNSDK(
|
|
|
1749
1987
|
}
|
|
1750
1988
|
}
|
|
1751
1989
|
|
|
1752
|
-
fun getVideoTrackLayer(
|
|
1990
|
+
fun getVideoTrackLayer(
|
|
1991
|
+
data: ReadableMap,
|
|
1992
|
+
promise: Promise,
|
|
1993
|
+
) {
|
|
1753
1994
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String")))
|
|
1754
1995
|
if (requiredKeys === null) {
|
|
1755
1996
|
val trackId = data.getString("trackId")
|
|
@@ -1767,7 +2008,10 @@ class HMSRNSDK(
|
|
|
1767
2008
|
}
|
|
1768
2009
|
}
|
|
1769
2010
|
|
|
1770
|
-
fun getVideoTrackLayerDefinition(
|
|
2011
|
+
fun getVideoTrackLayerDefinition(
|
|
2012
|
+
data: ReadableMap,
|
|
2013
|
+
promise: Promise,
|
|
2014
|
+
) {
|
|
1771
2015
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String")))
|
|
1772
2016
|
if (requiredKeys === null) {
|
|
1773
2017
|
val trackId = data.getString("trackId")
|
|
@@ -1786,7 +2030,10 @@ class HMSRNSDK(
|
|
|
1786
2030
|
}
|
|
1787
2031
|
}
|
|
1788
2032
|
|
|
1789
|
-
fun setVideoTrackLayer(
|
|
2033
|
+
fun setVideoTrackLayer(
|
|
2034
|
+
data: ReadableMap,
|
|
2035
|
+
promise: Promise?,
|
|
2036
|
+
) {
|
|
1790
2037
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String"), Pair("layer", "String")))
|
|
1791
2038
|
if (requiredKeys === null) {
|
|
1792
2039
|
val trackId = data.getString("trackId")
|
|
@@ -1815,33 +2062,42 @@ class HMSRNSDK(
|
|
|
1815
2062
|
}
|
|
1816
2063
|
}
|
|
1817
2064
|
|
|
1818
|
-
fun captureImageAtMaxSupportedResolution(
|
|
2065
|
+
fun captureImageAtMaxSupportedResolution(
|
|
2066
|
+
data: ReadableMap,
|
|
2067
|
+
promise: Promise?,
|
|
2068
|
+
) {
|
|
1819
2069
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("flash", "Boolean")))
|
|
1820
2070
|
if (requiredKeys === null) {
|
|
1821
|
-
val localPeer =
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
2071
|
+
val localPeer =
|
|
2072
|
+
hmsSDK?.getLocalPeer().let {
|
|
2073
|
+
if (it == null) {
|
|
2074
|
+
promise?.reject("6004", "An instance of Local Peer could not be found! Please check if a Room is joined.")
|
|
2075
|
+
return
|
|
2076
|
+
} else {
|
|
2077
|
+
it
|
|
2078
|
+
}
|
|
1827
2079
|
}
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
2080
|
+
val localVideoTrack =
|
|
2081
|
+
localPeer.videoTrack.let {
|
|
2082
|
+
if (it == null) {
|
|
2083
|
+
promise?.reject(
|
|
2084
|
+
"6004",
|
|
2085
|
+
"Video Track of Local Peer could not be found! Please check if the Local Peer has permission to publish video & video is unmuted currently.",
|
|
2086
|
+
)
|
|
2087
|
+
return
|
|
2088
|
+
} else {
|
|
2089
|
+
it
|
|
2090
|
+
}
|
|
1835
2091
|
}
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
2092
|
+
val cameraControl =
|
|
2093
|
+
localVideoTrack.getCameraControl().let {
|
|
2094
|
+
if (it == null) {
|
|
2095
|
+
promise?.reject("6004", "Camera Controls not available!")
|
|
2096
|
+
return
|
|
2097
|
+
} else {
|
|
2098
|
+
it
|
|
2099
|
+
}
|
|
1843
2100
|
}
|
|
1844
|
-
}
|
|
1845
2101
|
|
|
1846
2102
|
val flashSupported = cameraControl.isFlashSupported()
|
|
1847
2103
|
var flashActionOnSuccess = 0 // 0 - Do nothing on success, 1 - set flash on, 2 - set flash off
|
|
@@ -1896,7 +2152,10 @@ class HMSRNSDK(
|
|
|
1896
2152
|
|
|
1897
2153
|
// Mark: Session Store
|
|
1898
2154
|
|
|
1899
|
-
fun setSessionMetadataForKey(
|
|
2155
|
+
fun setSessionMetadataForKey(
|
|
2156
|
+
data: ReadableMap,
|
|
2157
|
+
promise: Promise?,
|
|
2158
|
+
) {
|
|
1900
2159
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("key", "String")))
|
|
1901
2160
|
if (requiredKeys === null) {
|
|
1902
2161
|
val key = data.getString("key")!!
|
|
@@ -1916,6 +2175,7 @@ class HMSRNSDK(
|
|
|
1916
2175
|
override fun onError(error: HMSException) {
|
|
1917
2176
|
promise?.reject(error.code.toString(), error.message)
|
|
1918
2177
|
}
|
|
2178
|
+
|
|
1919
2179
|
override fun onSuccess() {
|
|
1920
2180
|
val result: WritableMap = Arguments.createMap()
|
|
1921
2181
|
result.putBoolean("success", true)
|
|
@@ -1931,7 +2191,10 @@ class HMSRNSDK(
|
|
|
1931
2191
|
}
|
|
1932
2192
|
}
|
|
1933
2193
|
|
|
1934
|
-
fun getSessionMetadataForKey(
|
|
2194
|
+
fun getSessionMetadataForKey(
|
|
2195
|
+
data: ReadableMap,
|
|
2196
|
+
promise: Promise?,
|
|
2197
|
+
) {
|
|
1935
2198
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("key", "String")))
|
|
1936
2199
|
if (requiredKeys === null) {
|
|
1937
2200
|
val key = data.getString("key")!!
|
|
@@ -1974,7 +2237,10 @@ class HMSRNSDK(
|
|
|
1974
2237
|
}
|
|
1975
2238
|
}
|
|
1976
2239
|
|
|
1977
|
-
fun addKeyChangeListener(
|
|
2240
|
+
fun addKeyChangeListener(
|
|
2241
|
+
data: ReadableMap,
|
|
2242
|
+
promise: Promise?,
|
|
2243
|
+
) {
|
|
1978
2244
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("keys", "Array"), Pair("uniqueId", "String")))
|
|
1979
2245
|
if (requiredKeys === null) {
|
|
1980
2246
|
val keys = ArrayList(data.getArray("keys")!!.toArrayList().map { it.toString() })
|
|
@@ -1987,39 +2253,45 @@ class HMSRNSDK(
|
|
|
1987
2253
|
return
|
|
1988
2254
|
}
|
|
1989
2255
|
|
|
1990
|
-
val keyChangeListener =
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
} else if (sm.isJsonNull) {
|
|
2256
|
+
val keyChangeListener =
|
|
2257
|
+
object : HMSKeyChangeListener {
|
|
2258
|
+
override fun onKeyChanged(
|
|
2259
|
+
key: String,
|
|
2260
|
+
value: JsonElement?,
|
|
2261
|
+
) {
|
|
2262
|
+
val map = Arguments.createMap()
|
|
2263
|
+
map.putString("id", id)
|
|
2264
|
+
map.putString("key", key)
|
|
2265
|
+
|
|
2266
|
+
value.let { sm ->
|
|
2267
|
+
if (sm == null) {
|
|
2003
2268
|
map.putString("value", null)
|
|
2004
2269
|
} else {
|
|
2005
|
-
|
|
2270
|
+
if (sm.isJsonPrimitive) {
|
|
2271
|
+
map.putString("value", sm.asString)
|
|
2272
|
+
} else if (sm.isJsonNull) {
|
|
2273
|
+
map.putString("value", null)
|
|
2274
|
+
} else {
|
|
2275
|
+
map.putString("value", sm.toString())
|
|
2276
|
+
}
|
|
2006
2277
|
}
|
|
2007
2278
|
}
|
|
2008
|
-
}
|
|
2009
2279
|
|
|
2010
|
-
|
|
2280
|
+
delegate.emitEvent("ON_SESSION_STORE_CHANGED", map)
|
|
2281
|
+
}
|
|
2011
2282
|
}
|
|
2012
|
-
}
|
|
2013
2283
|
|
|
2014
|
-
val actionResultListener =
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2284
|
+
val actionResultListener =
|
|
2285
|
+
object : HMSActionResultListener {
|
|
2286
|
+
override fun onError(error: HMSException) {
|
|
2287
|
+
promise?.reject(error.code.toString(), error.message)
|
|
2288
|
+
}
|
|
2289
|
+
|
|
2290
|
+
override fun onSuccess() {
|
|
2291
|
+
keyChangeObservers[uniqueId] = keyChangeListener
|
|
2292
|
+
promise?.resolve(true)
|
|
2293
|
+
}
|
|
2021
2294
|
}
|
|
2022
|
-
}
|
|
2023
2295
|
|
|
2024
2296
|
it.addKeyChangeListener(
|
|
2025
2297
|
keys,
|
|
@@ -2033,7 +2305,10 @@ class HMSRNSDK(
|
|
|
2033
2305
|
}
|
|
2034
2306
|
}
|
|
2035
2307
|
|
|
2036
|
-
fun removeKeyChangeListener(
|
|
2308
|
+
fun removeKeyChangeListener(
|
|
2309
|
+
data: ReadableMap,
|
|
2310
|
+
promise: Promise?,
|
|
2311
|
+
) {
|
|
2037
2312
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("uniqueId", "String")))
|
|
2038
2313
|
if (requiredKeys === null) {
|
|
2039
2314
|
val uniqueId = data.getString("uniqueId")!!
|
|
@@ -2062,7 +2337,10 @@ class HMSRNSDK(
|
|
|
2062
2337
|
}
|
|
2063
2338
|
}
|
|
2064
2339
|
|
|
2065
|
-
fun getRoomLayout(
|
|
2340
|
+
fun getRoomLayout(
|
|
2341
|
+
data: ReadableMap,
|
|
2342
|
+
promise: Promise?,
|
|
2343
|
+
) {
|
|
2066
2344
|
val unavailableKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("authToken", "String")))
|
|
2067
2345
|
|
|
2068
2346
|
if (unavailableKeys != null) {
|
|
@@ -2074,9 +2352,10 @@ class HMSRNSDK(
|
|
|
2074
2352
|
val authToken = data.getString("authToken")!!
|
|
2075
2353
|
val endpoint = data.getString("endpoint")
|
|
2076
2354
|
|
|
2077
|
-
val layoutRequestOptions =
|
|
2078
|
-
|
|
2079
|
-
|
|
2355
|
+
val layoutRequestOptions =
|
|
2356
|
+
endpoint?.let {
|
|
2357
|
+
LayoutRequestOptions(endpoint)
|
|
2358
|
+
}
|
|
2080
2359
|
|
|
2081
2360
|
hmsSDK?.getRoomLayout(
|
|
2082
2361
|
authToken,
|
|
@@ -2092,4 +2371,125 @@ class HMSRNSDK(
|
|
|
2092
2371
|
},
|
|
2093
2372
|
)
|
|
2094
2373
|
}
|
|
2374
|
+
|
|
2375
|
+
fun raiseLocalPeerHand(
|
|
2376
|
+
data: ReadableMap,
|
|
2377
|
+
promise: Promise?,
|
|
2378
|
+
) {
|
|
2379
|
+
hmsSDK?.raiseLocalPeerHand(
|
|
2380
|
+
object : HMSActionResultListener {
|
|
2381
|
+
override fun onError(error: HMSException) {
|
|
2382
|
+
promise?.reject(error.code.toString(), error.message)
|
|
2383
|
+
}
|
|
2384
|
+
|
|
2385
|
+
override fun onSuccess() {
|
|
2386
|
+
promise?.resolve(true)
|
|
2387
|
+
}
|
|
2388
|
+
},
|
|
2389
|
+
)
|
|
2390
|
+
}
|
|
2391
|
+
|
|
2392
|
+
fun lowerLocalPeerHand(
|
|
2393
|
+
data: ReadableMap,
|
|
2394
|
+
promise: Promise?,
|
|
2395
|
+
) {
|
|
2396
|
+
hmsSDK?.lowerLocalPeerHand(
|
|
2397
|
+
object : HMSActionResultListener {
|
|
2398
|
+
override fun onError(error: HMSException) {
|
|
2399
|
+
promise?.reject(error.code.toString(), error.message)
|
|
2400
|
+
}
|
|
2401
|
+
|
|
2402
|
+
override fun onSuccess() {
|
|
2403
|
+
promise?.resolve(true)
|
|
2404
|
+
}
|
|
2405
|
+
},
|
|
2406
|
+
)
|
|
2407
|
+
}
|
|
2408
|
+
|
|
2409
|
+
fun lowerRemotePeerHand(
|
|
2410
|
+
data: ReadableMap,
|
|
2411
|
+
promise: Promise?,
|
|
2412
|
+
) {
|
|
2413
|
+
val peerId = data.getString("peerId")
|
|
2414
|
+
peerId?.let { peerID ->
|
|
2415
|
+
hmsSDK?.getRoom()?.let { room ->
|
|
2416
|
+
val peer = HMSHelper.getPeerFromPeerId(peerID, room)
|
|
2417
|
+
peer?.let { peer ->
|
|
2418
|
+
hmsSDK?.lowerRemotePeerHand(
|
|
2419
|
+
forPeer = peer,
|
|
2420
|
+
object : HMSActionResultListener {
|
|
2421
|
+
override fun onError(error: HMSException) {
|
|
2422
|
+
promise?.reject(error.code.toString(), error.message)
|
|
2423
|
+
}
|
|
2424
|
+
|
|
2425
|
+
override fun onSuccess() {
|
|
2426
|
+
promise?.resolve(true)
|
|
2427
|
+
}
|
|
2428
|
+
},
|
|
2429
|
+
)
|
|
2430
|
+
}
|
|
2431
|
+
}
|
|
2432
|
+
}
|
|
2433
|
+
}
|
|
2434
|
+
|
|
2435
|
+
fun getPeerListIterator(data: ReadableMap): WritableMap? {
|
|
2436
|
+
val uniqueId = data.getInt("uniqueId")
|
|
2437
|
+
val options = HMSHelper.getPeerListIteratorOptions(data)
|
|
2438
|
+
|
|
2439
|
+
hmsSDK?.let {
|
|
2440
|
+
val iterator = it.getPeerListIterator(options)
|
|
2441
|
+
|
|
2442
|
+
peerListIterators[uniqueId] = iterator
|
|
2443
|
+
val map = Arguments.createMap()
|
|
2444
|
+
map.putBoolean("success", true)
|
|
2445
|
+
map.putInt("uniqueId", uniqueId)
|
|
2446
|
+
return map
|
|
2447
|
+
}
|
|
2448
|
+
print("Error in getPeerListIterator: HMS SDK is not available")
|
|
2449
|
+
return null
|
|
2450
|
+
}
|
|
2451
|
+
|
|
2452
|
+
fun peerListIteratorHasNext(
|
|
2453
|
+
data: ReadableMap,
|
|
2454
|
+
promise: Promise?,
|
|
2455
|
+
) {
|
|
2456
|
+
val uniqueId = data.getInt("uniqueId")
|
|
2457
|
+
|
|
2458
|
+
peerListIterators[uniqueId]?.let {
|
|
2459
|
+
promise?.resolve(it.hasNext())
|
|
2460
|
+
return
|
|
2461
|
+
}
|
|
2462
|
+
promise?.reject("101", "PeerListIterator is not available")
|
|
2463
|
+
}
|
|
2464
|
+
|
|
2465
|
+
fun peerListIteratorNext(
|
|
2466
|
+
data: ReadableMap,
|
|
2467
|
+
promise: Promise?,
|
|
2468
|
+
) {
|
|
2469
|
+
val uniqueId = data.getInt("uniqueId")
|
|
2470
|
+
|
|
2471
|
+
val peerListIterator = peerListIterators[uniqueId]
|
|
2472
|
+
|
|
2473
|
+
if (peerListIterator == null) {
|
|
2474
|
+
promise?.reject("101", "PeerListIterator is not available")
|
|
2475
|
+
return
|
|
2476
|
+
}
|
|
2477
|
+
|
|
2478
|
+
peerListIterator.next(
|
|
2479
|
+
object : PeerListResultListener {
|
|
2480
|
+
override fun onError(error: HMSException) {
|
|
2481
|
+
promise?.reject(error.code.toString(), error.message)
|
|
2482
|
+
}
|
|
2483
|
+
|
|
2484
|
+
override fun onSuccess(result: ArrayList<HMSPeer>) {
|
|
2485
|
+
val array = Arguments.createArray()
|
|
2486
|
+
for (peer in result) {
|
|
2487
|
+
val hmsPeer = HMSDecoder.getHmsPeerSubset(peer, null)
|
|
2488
|
+
array.pushMap(hmsPeer)
|
|
2489
|
+
}
|
|
2490
|
+
promise?.resolve(array)
|
|
2491
|
+
}
|
|
2492
|
+
},
|
|
2493
|
+
)
|
|
2494
|
+
}
|
|
2095
2495
|
}
|