@100mslive/react-native-hms 1.7.2 → 1.9.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/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 +43 -15
- 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 +75 -21
- package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +483 -184
- package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +587 -177
- 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/HMSHelper.swift +33 -4
- package/ios/HMSManager.m +256 -73
- package/ios/HMSManager.swift +47 -3
- package/ios/HMSRNSDK.swift +224 -140
- 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/HMSAudioCodec.js +1 -2
- package/lib/commonjs/classes/HMSAudioCodec.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioDevice.js +1 -2
- package/lib/commonjs/classes/HMSAudioDevice.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioMixingMode.js +1 -2
- package/lib/commonjs/classes/HMSAudioMixingMode.js.map +1 -1
- package/lib/commonjs/classes/HMSAudioMode.js +1 -2
- package/lib/commonjs/classes/HMSAudioMode.js.map +1 -1
- package/lib/commonjs/classes/HMSCameraFacing.js +1 -2
- package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
- package/lib/commonjs/classes/HMSConstants.js +1 -2
- package/lib/commonjs/classes/HMSConstants.js.map +1 -1
- package/lib/commonjs/classes/HMSEncoder.js +6 -0
- package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
- package/lib/commonjs/classes/HMSEventEmitter.js +1 -2
- package/lib/commonjs/classes/HMSEventEmitter.js.map +1 -1
- package/lib/commonjs/classes/HMSIOSAudioMode.js +1 -2
- package/lib/commonjs/classes/HMSIOSAudioMode.js.map +1 -1
- package/lib/commonjs/classes/HMSLayer.js +1 -2
- package/lib/commonjs/classes/HMSLayer.js.map +1 -1
- package/lib/commonjs/classes/HMSLogAlarmManager.js +1 -2
- package/lib/commonjs/classes/HMSLogAlarmManager.js.map +1 -1
- package/lib/commonjs/classes/HMSLogLevel.js +1 -2
- package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
- package/lib/commonjs/classes/HMSLogger.js +1 -2
- package/lib/commonjs/classes/HMSLogger.js.map +1 -1
- package/lib/commonjs/classes/HMSManagerModule.js +1 -2
- package/lib/commonjs/classes/HMSManagerModule.js.map +1 -1
- package/lib/commonjs/classes/HMSMessageRecipientType.js +1 -2
- package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -1
- package/lib/commonjs/classes/HMSNativeEventListener.js +1 -2
- package/lib/commonjs/classes/HMSNativeEventListener.js.map +1 -1
- package/lib/commonjs/classes/HMSPIPListenerActions.js +2 -2
- 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 +64 -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 +3 -4
- package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSPeersCache.js +8 -2
- package/lib/commonjs/classes/HMSPeersCache.js.map +1 -1
- package/lib/commonjs/classes/HMSQualityLimitationReason.js +1 -2
- package/lib/commonjs/classes/HMSQualityLimitationReason.js.map +1 -1
- package/lib/commonjs/classes/HMSRoomCache.js +1 -2
- package/lib/commonjs/classes/HMSRoomCache.js.map +1 -1
- package/lib/commonjs/classes/HMSRoomUpdate.js +1 -2
- package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSSDK.js +192 -32
- package/lib/commonjs/classes/HMSSDK.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackSettingsInitState.js +1 -2
- package/lib/commonjs/classes/HMSTrackSettingsInitState.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackSource.js +1 -2
- package/lib/commonjs/classes/HMSTrackSource.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackType.js +1 -2
- package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackUpdate.js +1 -2
- package/lib/commonjs/classes/HMSTrackUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSUpdateListenerActions.js +2 -2
- package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoCodec.js +1 -2
- package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoViewMode.js +1 -2
- package/lib/commonjs/classes/HMSVideoViewMode.js.map +1 -1
- package/lib/commonjs/classes/HmsView.js +3 -4
- package/lib/commonjs/classes/HmsView.js.map +1 -1
- package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js +13 -9
- package/lib/commonjs/components/HMSHLSPlayer/HMSHLSPlayer.js.map +1 -1
- package/lib/commonjs/components/HMSHLSPlayer/RCTHMSHLSPlayer.js +2 -4
- package/lib/commonjs/components/HMSHLSPlayer/RCTHMSHLSPlayer.js.map +1 -1
- package/lib/commonjs/components/HMSHLSPlayer/hooks.js +5 -10
- package/lib/commonjs/components/HMSHLSPlayer/hooks.js.map +1 -1
- package/lib/commonjs/hooks/useHMSPeerUpdates.js +2 -2
- package/lib/commonjs/hooks/useHMSPeerUpdates.js.map +1 -1
- package/lib/commonjs/index.js +1 -2
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/stores/hls-player-stats-store.js +1 -2
- package/lib/commonjs/stores/hls-player-stats-store.js.map +1 -1
- package/lib/commonjs/stores/hms-store.js +1 -2
- package/lib/commonjs/stores/hms-store.js.map +1 -1
- package/lib/commonjs/types.js +4 -6
- 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 +58 -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 +193 -33
- 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 +9 -0
- package/lib/typescript/classes/HMSPeerListIteratorOptions.d.ts +24 -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 +69 -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 +60 -0
- package/src/classes/HMSPeerListIteratorOptions.ts +26 -0
- package/src/classes/HMSPeerUpdate.ts +2 -0
- package/src/classes/HMSPeersCache.ts +7 -0
- package/src/classes/HMSSDK.tsx +235 -28
- 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
- package/android/.gradle/6.7.1/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/6.7.1/fileChanges/last-build.bin +0 -0
- package/android/.gradle/6.7.1/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/6.7.1/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/6.7.1/gc.properties +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/fileChanges/last-build.bin +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.9/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
- 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/.gradle/configuration-cache/gc.properties +0 -0
- package/android/.gradle/vcs-1/gc.properties +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<String, 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,42 +1104,49 @@ 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,
|
|
977
1114
|
arrayOf(Pair("peerId", "String"), Pair("reason", "String")),
|
|
978
1115
|
)
|
|
979
1116
|
if (requiredKeys === null) {
|
|
980
|
-
|
|
981
|
-
|
|
1117
|
+
HMSCoroutineScope.launch {
|
|
1118
|
+
val peerId = data.getString("peerId")
|
|
982
1119
|
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1120
|
+
val peer = HMSHelper.getRemotePeerFromPeerId(peerId, hmsSDK)
|
|
1121
|
+
|
|
1122
|
+
if (peer != null) {
|
|
1123
|
+
hmsSDK?.removePeerRequest(
|
|
1124
|
+
peer,
|
|
1125
|
+
data.getString("reason") as String,
|
|
1126
|
+
object : HMSActionResultListener {
|
|
1127
|
+
override fun onSuccess() {
|
|
1128
|
+
callback?.resolve(emitHMSSuccess())
|
|
1129
|
+
}
|
|
1130
|
+
|
|
1131
|
+
override fun onError(error: HMSException) {
|
|
1132
|
+
callback?.reject(error.code.toString(), error.message)
|
|
1133
|
+
}
|
|
1134
|
+
},
|
|
1135
|
+
)
|
|
1136
|
+
} else {
|
|
1137
|
+
callback?.reject("101", "PEER_NOT_FOUND")
|
|
1138
|
+
}
|
|
1000
1139
|
}
|
|
1001
1140
|
} else {
|
|
1002
1141
|
val errorMessage = "removePeer: $requiredKeys"
|
|
1003
|
-
self.emitRequiredKeysError(errorMessage)
|
|
1004
1142
|
rejectCallback(callback, errorMessage)
|
|
1005
1143
|
}
|
|
1006
1144
|
}
|
|
1007
1145
|
|
|
1008
|
-
fun endRoom(
|
|
1146
|
+
fun endRoom(
|
|
1147
|
+
data: ReadableMap,
|
|
1148
|
+
callback: Promise?,
|
|
1149
|
+
) {
|
|
1009
1150
|
val requiredKeys =
|
|
1010
1151
|
HMSHelper.getUnavailableRequiredKey(
|
|
1011
1152
|
data,
|
|
@@ -1020,8 +1161,8 @@ class HMSRNSDK(
|
|
|
1020
1161
|
callback?.resolve(emitHMSSuccess())
|
|
1021
1162
|
cleanup() // resetting states and doing data cleanup
|
|
1022
1163
|
}
|
|
1164
|
+
|
|
1023
1165
|
override fun onError(error: HMSException) {
|
|
1024
|
-
self.emitHMSError(error)
|
|
1025
1166
|
callback?.reject(error.code.toString(), error.message)
|
|
1026
1167
|
}
|
|
1027
1168
|
},
|
|
@@ -1033,6 +1174,60 @@ class HMSRNSDK(
|
|
|
1033
1174
|
}
|
|
1034
1175
|
}
|
|
1035
1176
|
|
|
1177
|
+
fun previewForRole(
|
|
1178
|
+
data: ReadableMap,
|
|
1179
|
+
callback: Promise?,
|
|
1180
|
+
) {
|
|
1181
|
+
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("role", "String")))
|
|
1182
|
+
if (requiredKeys === null) {
|
|
1183
|
+
val roleString = data.getString("role")
|
|
1184
|
+
val role = HMSHelper.getRoleFromRoleName(roleString, hmsSDK?.getRoles())
|
|
1185
|
+
if (role == null) {
|
|
1186
|
+
callback?.reject("4000", "ROLE_NOT_FOUND")
|
|
1187
|
+
return
|
|
1188
|
+
}
|
|
1189
|
+
hmsSDK?.preview(
|
|
1190
|
+
role,
|
|
1191
|
+
object : RolePreviewListener {
|
|
1192
|
+
override fun onError(error: HMSException) {
|
|
1193
|
+
callback?.reject(error.code.toString(), error.message)
|
|
1194
|
+
}
|
|
1195
|
+
|
|
1196
|
+
override fun onTracks(localTracks: Array<HMSTrack>) {
|
|
1197
|
+
val tracks = HMSDecoder.getPreviewTracks(localTracks)
|
|
1198
|
+
|
|
1199
|
+
localTracks.forEach { track ->
|
|
1200
|
+
// /Assigning values to preview for role tracks
|
|
1201
|
+
if (track.type == HMSTrackType.AUDIO) {
|
|
1202
|
+
previewForRoleAudioTrack = track as HMSLocalAudioTrack
|
|
1203
|
+
} else if (track.type == HMSTrackType.VIDEO && track.source == "regular") {
|
|
1204
|
+
previewForRoleVideoTrack = track as HMSLocalVideoTrack
|
|
1205
|
+
}
|
|
1206
|
+
}
|
|
1207
|
+
|
|
1208
|
+
val data: WritableMap = Arguments.createMap()
|
|
1209
|
+
|
|
1210
|
+
data.putArray("tracks", tracks)
|
|
1211
|
+
data.putBoolean("success", true)
|
|
1212
|
+
|
|
1213
|
+
callback?.resolve(data)
|
|
1214
|
+
}
|
|
1215
|
+
},
|
|
1216
|
+
)
|
|
1217
|
+
} else {
|
|
1218
|
+
val errorMessage = "Missing required keys for previewForRole: $requiredKeys"
|
|
1219
|
+
self.emitRequiredKeysError(errorMessage)
|
|
1220
|
+
rejectCallback(callback, errorMessage)
|
|
1221
|
+
}
|
|
1222
|
+
}
|
|
1223
|
+
|
|
1224
|
+
fun cancelPreview(callback: Promise?) {
|
|
1225
|
+
hmsSDK?.cancelPreview()
|
|
1226
|
+
previewForRoleAudioTrack = null
|
|
1227
|
+
previewForRoleVideoTrack = null
|
|
1228
|
+
callback?.resolve(emitHMSSuccess())
|
|
1229
|
+
}
|
|
1230
|
+
|
|
1036
1231
|
fun acceptRoleChange(callback: Promise?) {
|
|
1037
1232
|
if (recentRoleChangeRequest !== null) {
|
|
1038
1233
|
hmsSDK?.acceptChangeRole(
|
|
@@ -1041,13 +1236,15 @@ class HMSRNSDK(
|
|
|
1041
1236
|
override fun onSuccess() {
|
|
1042
1237
|
callback?.resolve(emitHMSSuccess())
|
|
1043
1238
|
}
|
|
1239
|
+
|
|
1044
1240
|
override fun onError(error: HMSException) {
|
|
1045
|
-
self.emitHMSError(error)
|
|
1046
1241
|
callback?.reject(error.code.toString(), error.message)
|
|
1047
1242
|
}
|
|
1048
1243
|
},
|
|
1049
1244
|
)
|
|
1050
1245
|
recentRoleChangeRequest = null
|
|
1246
|
+
previewForRoleAudioTrack = null
|
|
1247
|
+
previewForRoleVideoTrack = null
|
|
1051
1248
|
} else {
|
|
1052
1249
|
val errorMessage = "acceptRoleChange: recentRoleChangeRequest not found"
|
|
1053
1250
|
self.emitRequiredKeysError(errorMessage)
|
|
@@ -1065,6 +1262,7 @@ class HMSRNSDK(
|
|
|
1065
1262
|
true,
|
|
1066
1263
|
object : HMSActionResultListener {
|
|
1067
1264
|
override fun onSuccess() {}
|
|
1265
|
+
|
|
1068
1266
|
override fun onError(error: HMSException) {
|
|
1069
1267
|
customError = error
|
|
1070
1268
|
}
|
|
@@ -1084,13 +1282,10 @@ class HMSRNSDK(
|
|
|
1084
1282
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("mute", "Boolean")))
|
|
1085
1283
|
if (requiredKeys === null) {
|
|
1086
1284
|
val mute = data.getBoolean("mute")
|
|
1087
|
-
val
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
val peer = HMSHelper.getRemotePeerFromPeerId(peerId, hmsSDK?.getRoom())
|
|
1092
|
-
peer?.audioTrack?.isPlaybackAllowed = !mute
|
|
1093
|
-
}
|
|
1285
|
+
val remotePeers = hmsSDK?.getRemotePeers()
|
|
1286
|
+
|
|
1287
|
+
remotePeers?.forEach() {
|
|
1288
|
+
it.audioTrack?.isPlaybackAllowed = !mute
|
|
1094
1289
|
}
|
|
1095
1290
|
} else {
|
|
1096
1291
|
val errorMessage = "setPlaybackForAllAudio: $requiredKeys"
|
|
@@ -1120,7 +1315,10 @@ class HMSRNSDK(
|
|
|
1120
1315
|
}
|
|
1121
1316
|
}
|
|
1122
1317
|
|
|
1123
|
-
fun isPlaybackAllowed(
|
|
1318
|
+
fun isPlaybackAllowed(
|
|
1319
|
+
data: ReadableMap,
|
|
1320
|
+
callback: Promise?,
|
|
1321
|
+
) {
|
|
1124
1322
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String")))
|
|
1125
1323
|
if (requiredKeys === null) {
|
|
1126
1324
|
val trackId = data.getString("trackId")
|
|
@@ -1209,7 +1407,10 @@ class HMSRNSDK(
|
|
|
1209
1407
|
}
|
|
1210
1408
|
}
|
|
1211
1409
|
|
|
1212
|
-
fun getVolume(
|
|
1410
|
+
fun getVolume(
|
|
1411
|
+
data: ReadableMap,
|
|
1412
|
+
callback: Promise?,
|
|
1413
|
+
) {
|
|
1213
1414
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String")))
|
|
1214
1415
|
if (requiredKeys === null) {
|
|
1215
1416
|
val trackId = data.getString("trackId")
|
|
@@ -1229,7 +1430,10 @@ class HMSRNSDK(
|
|
|
1229
1430
|
}
|
|
1230
1431
|
}
|
|
1231
1432
|
|
|
1232
|
-
fun changeMetadata(
|
|
1433
|
+
fun changeMetadata(
|
|
1434
|
+
data: ReadableMap,
|
|
1435
|
+
callback: Promise?,
|
|
1436
|
+
) {
|
|
1233
1437
|
val requiredKeys =
|
|
1234
1438
|
HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("metadata", "String")))
|
|
1235
1439
|
if (requiredKeys === null) {
|
|
@@ -1242,9 +1446,9 @@ class HMSRNSDK(
|
|
|
1242
1446
|
override fun onSuccess() {
|
|
1243
1447
|
callback?.resolve(emitHMSSuccess())
|
|
1244
1448
|
}
|
|
1449
|
+
|
|
1245
1450
|
override fun onError(error: HMSException) {
|
|
1246
1451
|
callback?.reject(error.code.toString(), error.message)
|
|
1247
|
-
self.emitHMSError(error)
|
|
1248
1452
|
}
|
|
1249
1453
|
},
|
|
1250
1454
|
)
|
|
@@ -1256,7 +1460,10 @@ class HMSRNSDK(
|
|
|
1256
1460
|
}
|
|
1257
1461
|
}
|
|
1258
1462
|
|
|
1259
|
-
fun startRTMPOrRecording(
|
|
1463
|
+
fun startRTMPOrRecording(
|
|
1464
|
+
data: ReadableMap,
|
|
1465
|
+
callback: Promise?,
|
|
1466
|
+
) {
|
|
1260
1467
|
val requiredKeys =
|
|
1261
1468
|
HMSHelper.getUnavailableRequiredKey(
|
|
1262
1469
|
data,
|
|
@@ -1275,9 +1482,9 @@ class HMSRNSDK(
|
|
|
1275
1482
|
override fun onSuccess() {
|
|
1276
1483
|
callback?.resolve(emitHMSSuccess())
|
|
1277
1484
|
}
|
|
1485
|
+
|
|
1278
1486
|
override fun onError(error: HMSException) {
|
|
1279
1487
|
callback?.reject(error.code.toString(), error.message)
|
|
1280
|
-
self.emitHMSError(error)
|
|
1281
1488
|
}
|
|
1282
1489
|
},
|
|
1283
1490
|
)
|
|
@@ -1295,9 +1502,9 @@ class HMSRNSDK(
|
|
|
1295
1502
|
override fun onSuccess() {
|
|
1296
1503
|
callback?.resolve(emitHMSSuccess())
|
|
1297
1504
|
}
|
|
1505
|
+
|
|
1298
1506
|
override fun onError(error: HMSException) {
|
|
1299
1507
|
callback?.reject(error.code.toString(), error.message)
|
|
1300
|
-
self.emitHMSError(error)
|
|
1301
1508
|
}
|
|
1302
1509
|
},
|
|
1303
1510
|
)
|
|
@@ -1323,8 +1530,8 @@ class HMSRNSDK(
|
|
|
1323
1530
|
override fun onError(error: HMSException) {
|
|
1324
1531
|
screenshareCallback = null
|
|
1325
1532
|
callback?.reject(error.code.toString(), error.message)
|
|
1326
|
-
self.emitHMSError(error)
|
|
1327
1533
|
}
|
|
1534
|
+
|
|
1328
1535
|
override fun onSuccess() {
|
|
1329
1536
|
screenshareCallback = null
|
|
1330
1537
|
callback?.resolve(emitHMSSuccess())
|
|
@@ -1333,7 +1540,10 @@ class HMSRNSDK(
|
|
|
1333
1540
|
)
|
|
1334
1541
|
}
|
|
1335
1542
|
|
|
1336
|
-
fun startHLSStreaming(
|
|
1543
|
+
fun startHLSStreaming(
|
|
1544
|
+
data: ReadableMap,
|
|
1545
|
+
callback: Promise?,
|
|
1546
|
+
) {
|
|
1337
1547
|
val hlsConfig = HMSHelper.getHLSConfig(data)
|
|
1338
1548
|
hmsSDK?.startHLSStreaming(
|
|
1339
1549
|
hlsConfig,
|
|
@@ -1341,9 +1551,9 @@ class HMSRNSDK(
|
|
|
1341
1551
|
override fun onSuccess() {
|
|
1342
1552
|
callback?.resolve(emitHMSSuccess())
|
|
1343
1553
|
}
|
|
1554
|
+
|
|
1344
1555
|
override fun onError(error: HMSException) {
|
|
1345
1556
|
callback?.reject(error.code.toString(), error.message)
|
|
1346
|
-
self.emitHMSError(error)
|
|
1347
1557
|
}
|
|
1348
1558
|
},
|
|
1349
1559
|
)
|
|
@@ -1356,9 +1566,9 @@ class HMSRNSDK(
|
|
|
1356
1566
|
override fun onSuccess() {
|
|
1357
1567
|
callback?.resolve(emitHMSSuccess())
|
|
1358
1568
|
}
|
|
1569
|
+
|
|
1359
1570
|
override fun onError(error: HMSException) {
|
|
1360
1571
|
callback?.reject(error.code.toString(), error.message)
|
|
1361
|
-
self.emitHMSError(error)
|
|
1362
1572
|
}
|
|
1363
1573
|
},
|
|
1364
1574
|
)
|
|
@@ -1384,7 +1594,10 @@ class HMSRNSDK(
|
|
|
1384
1594
|
}
|
|
1385
1595
|
}
|
|
1386
1596
|
|
|
1387
|
-
fun changeName(
|
|
1597
|
+
fun changeName(
|
|
1598
|
+
data: ReadableMap,
|
|
1599
|
+
callback: Promise?,
|
|
1600
|
+
) {
|
|
1388
1601
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("name", "String")))
|
|
1389
1602
|
if (requiredKeys === null) {
|
|
1390
1603
|
val name = data.getString("name")
|
|
@@ -1398,7 +1611,6 @@ class HMSRNSDK(
|
|
|
1398
1611
|
|
|
1399
1612
|
override fun onError(error: HMSException) {
|
|
1400
1613
|
callback?.reject(error.code.toString(), error.message)
|
|
1401
|
-
self.emitHMSError(error)
|
|
1402
1614
|
}
|
|
1403
1615
|
},
|
|
1404
1616
|
)
|
|
@@ -1476,7 +1688,10 @@ class HMSRNSDK(
|
|
|
1476
1688
|
)
|
|
1477
1689
|
}
|
|
1478
1690
|
|
|
1479
|
-
fun startAudioshare(
|
|
1691
|
+
fun startAudioshare(
|
|
1692
|
+
data: ReadableMap,
|
|
1693
|
+
callback: Promise?,
|
|
1694
|
+
) {
|
|
1480
1695
|
val requiredKeys =
|
|
1481
1696
|
HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("audioMixingMode", "String")))
|
|
1482
1697
|
if (requiredKeys === null) {
|
|
@@ -1505,8 +1720,8 @@ class HMSRNSDK(
|
|
|
1505
1720
|
override fun onError(error: HMSException) {
|
|
1506
1721
|
audioshareCallback = null
|
|
1507
1722
|
callback?.reject(error.code.toString(), error.message)
|
|
1508
|
-
self.emitHMSError(error)
|
|
1509
1723
|
}
|
|
1724
|
+
|
|
1510
1725
|
override fun onSuccess() {
|
|
1511
1726
|
isAudioSharing = false
|
|
1512
1727
|
audioshareCallback = null
|
|
@@ -1520,7 +1735,10 @@ class HMSRNSDK(
|
|
|
1520
1735
|
return audioMixingMode
|
|
1521
1736
|
}
|
|
1522
1737
|
|
|
1523
|
-
fun setAudioMixingMode(
|
|
1738
|
+
fun setAudioMixingMode(
|
|
1739
|
+
data: ReadableMap,
|
|
1740
|
+
callback: Promise?,
|
|
1741
|
+
) {
|
|
1524
1742
|
val requiredKeys =
|
|
1525
1743
|
HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("audioMixingMode", "String")))
|
|
1526
1744
|
if (requiredKeys === null) {
|
|
@@ -1573,6 +1791,9 @@ class HMSRNSDK(
|
|
|
1573
1791
|
"role" -> {
|
|
1574
1792
|
result.putMap("role", HMSDecoder.getHmsRole(peer.hmsRole))
|
|
1575
1793
|
}
|
|
1794
|
+
"isHandRaised" -> {
|
|
1795
|
+
result.putBoolean("isHandRaised", peer.isHandRaised)
|
|
1796
|
+
}
|
|
1576
1797
|
"customerUserID" -> {
|
|
1577
1798
|
if (peer.customerUserID !== null) {
|
|
1578
1799
|
result.putString("customerUserID", peer.customerUserID)
|
|
@@ -1665,7 +1886,10 @@ class HMSRNSDK(
|
|
|
1665
1886
|
return null
|
|
1666
1887
|
}
|
|
1667
1888
|
|
|
1668
|
-
fun enableEvent(
|
|
1889
|
+
fun enableEvent(
|
|
1890
|
+
data: ReadableMap,
|
|
1891
|
+
promise: Promise?,
|
|
1892
|
+
) {
|
|
1669
1893
|
val requiredKeys =
|
|
1670
1894
|
HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("eventType", "String")))
|
|
1671
1895
|
if (requiredKeys === null) {
|
|
@@ -1682,7 +1906,10 @@ class HMSRNSDK(
|
|
|
1682
1906
|
}
|
|
1683
1907
|
}
|
|
1684
1908
|
|
|
1685
|
-
fun disableEvent(
|
|
1909
|
+
fun disableEvent(
|
|
1910
|
+
data: ReadableMap,
|
|
1911
|
+
promise: Promise?,
|
|
1912
|
+
) {
|
|
1686
1913
|
val requiredKeys =
|
|
1687
1914
|
HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("eventType", "String")))
|
|
1688
1915
|
if (requiredKeys === null) {
|
|
@@ -1699,7 +1926,10 @@ class HMSRNSDK(
|
|
|
1699
1926
|
}
|
|
1700
1927
|
}
|
|
1701
1928
|
|
|
1702
|
-
fun restrictData(
|
|
1929
|
+
fun restrictData(
|
|
1930
|
+
data: ReadableMap,
|
|
1931
|
+
promise: Promise?,
|
|
1932
|
+
) {
|
|
1703
1933
|
val requiredKeys =
|
|
1704
1934
|
HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("roleName", "String")))
|
|
1705
1935
|
if (requiredKeys === null) {
|
|
@@ -1715,7 +1945,10 @@ class HMSRNSDK(
|
|
|
1715
1945
|
}
|
|
1716
1946
|
}
|
|
1717
1947
|
|
|
1718
|
-
fun getRemoteVideoTrackFromTrackId(
|
|
1948
|
+
fun getRemoteVideoTrackFromTrackId(
|
|
1949
|
+
data: ReadableMap,
|
|
1950
|
+
promise: Promise,
|
|
1951
|
+
) {
|
|
1719
1952
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String")))
|
|
1720
1953
|
if (requiredKeys === null) {
|
|
1721
1954
|
val trackId = data.getString("trackId")
|
|
@@ -1732,7 +1965,10 @@ class HMSRNSDK(
|
|
|
1732
1965
|
}
|
|
1733
1966
|
}
|
|
1734
1967
|
|
|
1735
|
-
fun getRemoteAudioTrackFromTrackId(
|
|
1968
|
+
fun getRemoteAudioTrackFromTrackId(
|
|
1969
|
+
data: ReadableMap,
|
|
1970
|
+
promise: Promise,
|
|
1971
|
+
) {
|
|
1736
1972
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String")))
|
|
1737
1973
|
if (requiredKeys === null) {
|
|
1738
1974
|
val trackId = data.getString("trackId")
|
|
@@ -1749,7 +1985,10 @@ class HMSRNSDK(
|
|
|
1749
1985
|
}
|
|
1750
1986
|
}
|
|
1751
1987
|
|
|
1752
|
-
fun getVideoTrackLayer(
|
|
1988
|
+
fun getVideoTrackLayer(
|
|
1989
|
+
data: ReadableMap,
|
|
1990
|
+
promise: Promise,
|
|
1991
|
+
) {
|
|
1753
1992
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String")))
|
|
1754
1993
|
if (requiredKeys === null) {
|
|
1755
1994
|
val trackId = data.getString("trackId")
|
|
@@ -1767,7 +2006,10 @@ class HMSRNSDK(
|
|
|
1767
2006
|
}
|
|
1768
2007
|
}
|
|
1769
2008
|
|
|
1770
|
-
fun getVideoTrackLayerDefinition(
|
|
2009
|
+
fun getVideoTrackLayerDefinition(
|
|
2010
|
+
data: ReadableMap,
|
|
2011
|
+
promise: Promise,
|
|
2012
|
+
) {
|
|
1771
2013
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String")))
|
|
1772
2014
|
if (requiredKeys === null) {
|
|
1773
2015
|
val trackId = data.getString("trackId")
|
|
@@ -1786,7 +2028,10 @@ class HMSRNSDK(
|
|
|
1786
2028
|
}
|
|
1787
2029
|
}
|
|
1788
2030
|
|
|
1789
|
-
fun setVideoTrackLayer(
|
|
2031
|
+
fun setVideoTrackLayer(
|
|
2032
|
+
data: ReadableMap,
|
|
2033
|
+
promise: Promise?,
|
|
2034
|
+
) {
|
|
1790
2035
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String"), Pair("layer", "String")))
|
|
1791
2036
|
if (requiredKeys === null) {
|
|
1792
2037
|
val trackId = data.getString("trackId")
|
|
@@ -1815,33 +2060,42 @@ class HMSRNSDK(
|
|
|
1815
2060
|
}
|
|
1816
2061
|
}
|
|
1817
2062
|
|
|
1818
|
-
fun captureImageAtMaxSupportedResolution(
|
|
2063
|
+
fun captureImageAtMaxSupportedResolution(
|
|
2064
|
+
data: ReadableMap,
|
|
2065
|
+
promise: Promise?,
|
|
2066
|
+
) {
|
|
1819
2067
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("flash", "Boolean")))
|
|
1820
2068
|
if (requiredKeys === null) {
|
|
1821
|
-
val localPeer =
|
|
1822
|
-
|
|
1823
|
-
|
|
1824
|
-
|
|
1825
|
-
|
|
1826
|
-
|
|
2069
|
+
val localPeer =
|
|
2070
|
+
hmsSDK?.getLocalPeer().let {
|
|
2071
|
+
if (it == null) {
|
|
2072
|
+
promise?.reject("6004", "An instance of Local Peer could not be found! Please check if a Room is joined.")
|
|
2073
|
+
return
|
|
2074
|
+
} else {
|
|
2075
|
+
it
|
|
2076
|
+
}
|
|
1827
2077
|
}
|
|
1828
|
-
|
|
1829
|
-
|
|
1830
|
-
|
|
1831
|
-
|
|
1832
|
-
|
|
1833
|
-
|
|
1834
|
-
|
|
2078
|
+
val localVideoTrack =
|
|
2079
|
+
localPeer.videoTrack.let {
|
|
2080
|
+
if (it == null) {
|
|
2081
|
+
promise?.reject(
|
|
2082
|
+
"6004",
|
|
2083
|
+
"Video Track of Local Peer could not be found! Please check if the Local Peer has permission to publish video & video is unmuted currently.",
|
|
2084
|
+
)
|
|
2085
|
+
return
|
|
2086
|
+
} else {
|
|
2087
|
+
it
|
|
2088
|
+
}
|
|
1835
2089
|
}
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
2090
|
+
val cameraControl =
|
|
2091
|
+
localVideoTrack.getCameraControl().let {
|
|
2092
|
+
if (it == null) {
|
|
2093
|
+
promise?.reject("6004", "Camera Controls not available!")
|
|
2094
|
+
return
|
|
2095
|
+
} else {
|
|
2096
|
+
it
|
|
2097
|
+
}
|
|
1843
2098
|
}
|
|
1844
|
-
}
|
|
1845
2099
|
|
|
1846
2100
|
val flashSupported = cameraControl.isFlashSupported()
|
|
1847
2101
|
var flashActionOnSuccess = 0 // 0 - Do nothing on success, 1 - set flash on, 2 - set flash off
|
|
@@ -1896,7 +2150,10 @@ class HMSRNSDK(
|
|
|
1896
2150
|
|
|
1897
2151
|
// Mark: Session Store
|
|
1898
2152
|
|
|
1899
|
-
fun setSessionMetadataForKey(
|
|
2153
|
+
fun setSessionMetadataForKey(
|
|
2154
|
+
data: ReadableMap,
|
|
2155
|
+
promise: Promise?,
|
|
2156
|
+
) {
|
|
1900
2157
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("key", "String")))
|
|
1901
2158
|
if (requiredKeys === null) {
|
|
1902
2159
|
val key = data.getString("key")!!
|
|
@@ -1916,6 +2173,7 @@ class HMSRNSDK(
|
|
|
1916
2173
|
override fun onError(error: HMSException) {
|
|
1917
2174
|
promise?.reject(error.code.toString(), error.message)
|
|
1918
2175
|
}
|
|
2176
|
+
|
|
1919
2177
|
override fun onSuccess() {
|
|
1920
2178
|
val result: WritableMap = Arguments.createMap()
|
|
1921
2179
|
result.putBoolean("success", true)
|
|
@@ -1931,7 +2189,10 @@ class HMSRNSDK(
|
|
|
1931
2189
|
}
|
|
1932
2190
|
}
|
|
1933
2191
|
|
|
1934
|
-
fun getSessionMetadataForKey(
|
|
2192
|
+
fun getSessionMetadataForKey(
|
|
2193
|
+
data: ReadableMap,
|
|
2194
|
+
promise: Promise?,
|
|
2195
|
+
) {
|
|
1935
2196
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("key", "String")))
|
|
1936
2197
|
if (requiredKeys === null) {
|
|
1937
2198
|
val key = data.getString("key")!!
|
|
@@ -1974,7 +2235,10 @@ class HMSRNSDK(
|
|
|
1974
2235
|
}
|
|
1975
2236
|
}
|
|
1976
2237
|
|
|
1977
|
-
fun addKeyChangeListener(
|
|
2238
|
+
fun addKeyChangeListener(
|
|
2239
|
+
data: ReadableMap,
|
|
2240
|
+
promise: Promise?,
|
|
2241
|
+
) {
|
|
1978
2242
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("keys", "Array"), Pair("uniqueId", "String")))
|
|
1979
2243
|
if (requiredKeys === null) {
|
|
1980
2244
|
val keys = ArrayList(data.getArray("keys")!!.toArrayList().map { it.toString() })
|
|
@@ -1987,39 +2251,45 @@ class HMSRNSDK(
|
|
|
1987
2251
|
return
|
|
1988
2252
|
}
|
|
1989
2253
|
|
|
1990
|
-
val keyChangeListener =
|
|
1991
|
-
|
|
1992
|
-
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
} else if (sm.isJsonNull) {
|
|
2254
|
+
val keyChangeListener =
|
|
2255
|
+
object : HMSKeyChangeListener {
|
|
2256
|
+
override fun onKeyChanged(
|
|
2257
|
+
key: String,
|
|
2258
|
+
value: JsonElement?,
|
|
2259
|
+
) {
|
|
2260
|
+
val map = Arguments.createMap()
|
|
2261
|
+
map.putString("id", id)
|
|
2262
|
+
map.putString("key", key)
|
|
2263
|
+
|
|
2264
|
+
value.let { sm ->
|
|
2265
|
+
if (sm == null) {
|
|
2003
2266
|
map.putString("value", null)
|
|
2004
2267
|
} else {
|
|
2005
|
-
|
|
2268
|
+
if (sm.isJsonPrimitive) {
|
|
2269
|
+
map.putString("value", sm.asString)
|
|
2270
|
+
} else if (sm.isJsonNull) {
|
|
2271
|
+
map.putString("value", null)
|
|
2272
|
+
} else {
|
|
2273
|
+
map.putString("value", sm.toString())
|
|
2274
|
+
}
|
|
2006
2275
|
}
|
|
2007
2276
|
}
|
|
2008
|
-
}
|
|
2009
2277
|
|
|
2010
|
-
|
|
2278
|
+
delegate.emitEvent("ON_SESSION_STORE_CHANGED", map)
|
|
2279
|
+
}
|
|
2011
2280
|
}
|
|
2012
|
-
}
|
|
2013
2281
|
|
|
2014
|
-
val actionResultListener =
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
2282
|
+
val actionResultListener =
|
|
2283
|
+
object : HMSActionResultListener {
|
|
2284
|
+
override fun onError(error: HMSException) {
|
|
2285
|
+
promise?.reject(error.code.toString(), error.message)
|
|
2286
|
+
}
|
|
2287
|
+
|
|
2288
|
+
override fun onSuccess() {
|
|
2289
|
+
keyChangeObservers[uniqueId] = keyChangeListener
|
|
2290
|
+
promise?.resolve(true)
|
|
2291
|
+
}
|
|
2021
2292
|
}
|
|
2022
|
-
}
|
|
2023
2293
|
|
|
2024
2294
|
it.addKeyChangeListener(
|
|
2025
2295
|
keys,
|
|
@@ -2033,7 +2303,10 @@ class HMSRNSDK(
|
|
|
2033
2303
|
}
|
|
2034
2304
|
}
|
|
2035
2305
|
|
|
2036
|
-
fun removeKeyChangeListener(
|
|
2306
|
+
fun removeKeyChangeListener(
|
|
2307
|
+
data: ReadableMap,
|
|
2308
|
+
promise: Promise?,
|
|
2309
|
+
) {
|
|
2037
2310
|
val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("uniqueId", "String")))
|
|
2038
2311
|
if (requiredKeys === null) {
|
|
2039
2312
|
val uniqueId = data.getString("uniqueId")!!
|
|
@@ -2062,7 +2335,10 @@ class HMSRNSDK(
|
|
|
2062
2335
|
}
|
|
2063
2336
|
}
|
|
2064
2337
|
|
|
2065
|
-
fun getRoomLayout(
|
|
2338
|
+
fun getRoomLayout(
|
|
2339
|
+
data: ReadableMap,
|
|
2340
|
+
promise: Promise?,
|
|
2341
|
+
) {
|
|
2066
2342
|
val unavailableKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("authToken", "String")))
|
|
2067
2343
|
|
|
2068
2344
|
if (unavailableKeys != null) {
|
|
@@ -2074,9 +2350,10 @@ class HMSRNSDK(
|
|
|
2074
2350
|
val authToken = data.getString("authToken")!!
|
|
2075
2351
|
val endpoint = data.getString("endpoint")
|
|
2076
2352
|
|
|
2077
|
-
val layoutRequestOptions =
|
|
2078
|
-
|
|
2079
|
-
|
|
2353
|
+
val layoutRequestOptions =
|
|
2354
|
+
endpoint?.let {
|
|
2355
|
+
LayoutRequestOptions(endpoint)
|
|
2356
|
+
}
|
|
2080
2357
|
|
|
2081
2358
|
hmsSDK?.getRoomLayout(
|
|
2082
2359
|
authToken,
|
|
@@ -2092,4 +2369,137 @@ class HMSRNSDK(
|
|
|
2092
2369
|
},
|
|
2093
2370
|
)
|
|
2094
2371
|
}
|
|
2372
|
+
|
|
2373
|
+
fun raiseLocalPeerHand(
|
|
2374
|
+
data: ReadableMap,
|
|
2375
|
+
promise: Promise?,
|
|
2376
|
+
) {
|
|
2377
|
+
hmsSDK?.raiseLocalPeerHand(
|
|
2378
|
+
object : HMSActionResultListener {
|
|
2379
|
+
override fun onError(error: HMSException) {
|
|
2380
|
+
promise?.reject(error.code.toString(), error.message)
|
|
2381
|
+
}
|
|
2382
|
+
|
|
2383
|
+
override fun onSuccess() {
|
|
2384
|
+
promise?.resolve(true)
|
|
2385
|
+
}
|
|
2386
|
+
},
|
|
2387
|
+
)
|
|
2388
|
+
}
|
|
2389
|
+
|
|
2390
|
+
fun lowerLocalPeerHand(
|
|
2391
|
+
data: ReadableMap,
|
|
2392
|
+
promise: Promise?,
|
|
2393
|
+
) {
|
|
2394
|
+
hmsSDK?.lowerLocalPeerHand(
|
|
2395
|
+
object : HMSActionResultListener {
|
|
2396
|
+
override fun onError(error: HMSException) {
|
|
2397
|
+
promise?.reject(error.code.toString(), error.message)
|
|
2398
|
+
}
|
|
2399
|
+
|
|
2400
|
+
override fun onSuccess() {
|
|
2401
|
+
promise?.resolve(true)
|
|
2402
|
+
}
|
|
2403
|
+
},
|
|
2404
|
+
)
|
|
2405
|
+
}
|
|
2406
|
+
|
|
2407
|
+
fun lowerRemotePeerHand(
|
|
2408
|
+
data: ReadableMap,
|
|
2409
|
+
promise: Promise?,
|
|
2410
|
+
) {
|
|
2411
|
+
val peerId = data.getString("peerId")
|
|
2412
|
+
peerId?.let { peerID ->
|
|
2413
|
+
hmsSDK?.getRoom()?.let { room ->
|
|
2414
|
+
val peer = HMSHelper.getPeerFromPeerId(peerID, room)
|
|
2415
|
+
peer?.let { peer ->
|
|
2416
|
+
hmsSDK?.lowerRemotePeerHand(
|
|
2417
|
+
forPeer = peer,
|
|
2418
|
+
object : HMSActionResultListener {
|
|
2419
|
+
override fun onError(error: HMSException) {
|
|
2420
|
+
promise?.reject(error.code.toString(), error.message)
|
|
2421
|
+
}
|
|
2422
|
+
|
|
2423
|
+
override fun onSuccess() {
|
|
2424
|
+
promise?.resolve(true)
|
|
2425
|
+
}
|
|
2426
|
+
},
|
|
2427
|
+
)
|
|
2428
|
+
}
|
|
2429
|
+
}
|
|
2430
|
+
}
|
|
2431
|
+
}
|
|
2432
|
+
|
|
2433
|
+
fun getPeerListIterator(data: ReadableMap): WritableMap? {
|
|
2434
|
+
val uniqueId = data.getString("uniqueId")
|
|
2435
|
+
if (uniqueId == null) {
|
|
2436
|
+
print("Error in getPeerListIterator: uniqueId is not available")
|
|
2437
|
+
return null
|
|
2438
|
+
}
|
|
2439
|
+
|
|
2440
|
+
val options = HMSHelper.getPeerListIteratorOptions(data)
|
|
2441
|
+
|
|
2442
|
+
hmsSDK?.let {
|
|
2443
|
+
val iterator = it.getPeerListIterator(options)
|
|
2444
|
+
|
|
2445
|
+
peerListIterators[uniqueId] = iterator
|
|
2446
|
+
val map = Arguments.createMap()
|
|
2447
|
+
map.putBoolean("success", true)
|
|
2448
|
+
map.putString("uniqueId", uniqueId)
|
|
2449
|
+
return map
|
|
2450
|
+
}
|
|
2451
|
+
print("Error in getPeerListIterator: HMS SDK is not available")
|
|
2452
|
+
return null
|
|
2453
|
+
}
|
|
2454
|
+
|
|
2455
|
+
fun peerListIteratorHasNext(
|
|
2456
|
+
data: ReadableMap,
|
|
2457
|
+
promise: Promise?,
|
|
2458
|
+
) {
|
|
2459
|
+
val uniqueId = data.getString("uniqueId")
|
|
2460
|
+
|
|
2461
|
+
peerListIterators[uniqueId]?.let {
|
|
2462
|
+
promise?.resolve(it.hasNext())
|
|
2463
|
+
return
|
|
2464
|
+
}
|
|
2465
|
+
promise?.reject("101", "PeerListIterator is not available")
|
|
2466
|
+
}
|
|
2467
|
+
|
|
2468
|
+
fun peerListIteratorNext(
|
|
2469
|
+
data: ReadableMap,
|
|
2470
|
+
promise: Promise?,
|
|
2471
|
+
) {
|
|
2472
|
+
val uniqueId = data.getString("uniqueId")
|
|
2473
|
+
|
|
2474
|
+
val peerListIterator = peerListIterators[uniqueId]
|
|
2475
|
+
|
|
2476
|
+
if (peerListIterator == null) {
|
|
2477
|
+
promise?.reject("101", "PeerListIterator is not available")
|
|
2478
|
+
return
|
|
2479
|
+
}
|
|
2480
|
+
|
|
2481
|
+
peerListIterator.next(
|
|
2482
|
+
object : PeerListResultListener {
|
|
2483
|
+
override fun onError(error: HMSException) {
|
|
2484
|
+
promise?.reject(error.code.toString(), error.message)
|
|
2485
|
+
}
|
|
2486
|
+
|
|
2487
|
+
override fun onSuccess(result: ArrayList<HMSPeer>) {
|
|
2488
|
+
val resultData: WritableMap = Arguments.createMap()
|
|
2489
|
+
|
|
2490
|
+
resultData.putInt("totalCount", peerListIterator.totalCount)
|
|
2491
|
+
|
|
2492
|
+
val array: WritableArray = Arguments.createArray()
|
|
2493
|
+
for (peer in result) {
|
|
2494
|
+
val hmsPeer = HMSDecoder.getHmsPeer(peer)
|
|
2495
|
+
array.pushMap(hmsPeer)
|
|
2496
|
+
}
|
|
2497
|
+
|
|
2498
|
+
resultData.putArray("peers", array)
|
|
2499
|
+
|
|
2500
|
+
promise?.resolve(resultData)
|
|
2501
|
+
}
|
|
2502
|
+
},
|
|
2503
|
+
)
|
|
2504
|
+
}
|
|
2095
2505
|
}
|