@100mslive/react-native-hms 0.8.4 → 0.9.2
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/README.md +247 -26
- package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- 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/gradle.xml +13 -0
- package/android/.idea/misc.xml +9 -0
- package/android/.idea/modules/android.iml +18 -0
- package/android/.idea/modules.xml +8 -0
- package/android/.idea/sonarlint/issuestore/f/0/f07866736216be0ee2aba49e392191aeae700a35 +0 -0
- package/android/.idea/sonarlint/issuestore/index.pb +3 -0
- package/android/.idea/vcs.xml +6 -0
- package/android/build.gradle +4 -2
- package/android/local.properties +8 -0
- package/android/src/main/java/com/reactnativehmssdk/HmsDecoder.kt +67 -5
- package/android/src/main/java/com/reactnativehmssdk/HmsHelper.kt +67 -64
- package/android/src/main/java/com/reactnativehmssdk/HmsModule.kt +97 -6
- package/android/src/main/java/com/reactnativehmssdk/HmsSDK.kt +302 -118
- package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +77 -0
- package/android/src/main/java/com/reactnativehmssdk/HmsView.kt +28 -3
- package/android/src/main/java/com/reactnativehmssdk/HmssdkViewManager.kt +10 -1
- package/android/src/main/res/layout/hms_view.xml +19 -0
- package/ios/HmsDecoder.swift +250 -123
- package/ios/HmsHelper.swift +70 -38
- package/ios/HmsManager.m +11 -3
- package/ios/HmsManager.swift +123 -66
- package/ios/HmsSDK.swift +384 -195
- package/ios/HmsView.swift +50 -68
- package/ios/VideoCollectionViewCell.swift +4 -4
- package/lib/commonjs/classes/HMSBrowserRecordingState.js +6 -0
- package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
- package/lib/commonjs/classes/HMSEncoder.js +180 -3
- package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSConfig.js +23 -0
- package/lib/commonjs/classes/HMSHLSConfig.js.map +1 -0
- package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js +23 -0
- package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js.map +1 -0
- package/lib/commonjs/classes/HMSHLSRecordingConfig.js +23 -0
- package/lib/commonjs/classes/HMSHLSRecordingConfig.js.map +1 -0
- package/lib/commonjs/classes/HMSHLSRecordingState.js +29 -0
- package/lib/commonjs/classes/HMSHLSRecordingState.js.map +1 -0
- package/lib/commonjs/classes/HMSHLSStreamingState.js +23 -0
- package/lib/commonjs/classes/HMSHLSStreamingState.js.map +1 -0
- package/lib/commonjs/classes/HMSHLSVariant.js +29 -0
- package/lib/commonjs/classes/HMSHLSVariant.js.map +1 -0
- package/lib/commonjs/classes/HMSLocalAudioStats.js +26 -0
- package/lib/commonjs/classes/HMSLocalAudioStats.js.map +1 -0
- package/lib/commonjs/classes/HMSLocalVideoStats.js +32 -0
- package/lib/commonjs/classes/HMSLocalVideoStats.js.map +1 -0
- package/lib/commonjs/classes/HMSLogger.js +48 -21
- package/lib/commonjs/classes/HMSLogger.js.map +1 -1
- package/lib/commonjs/classes/HMSMessage.js +4 -1
- package/lib/commonjs/classes/HMSMessage.js.map +1 -1
- package/lib/commonjs/classes/HMSMessageRecipient.js +26 -0
- package/lib/commonjs/classes/HMSMessageRecipient.js.map +1 -0
- package/lib/commonjs/classes/HMSMessageRecipientType.js +15 -0
- package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -0
- package/lib/commonjs/classes/HMSPeerUpdate.js +1 -7
- package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSPermissions.js +2 -2
- package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
- package/lib/commonjs/classes/HMSRTCStats.js +38 -0
- package/lib/commonjs/classes/HMSRTCStats.js.map +1 -0
- package/lib/commonjs/classes/HMSRTCStatsReport.js +26 -0
- package/lib/commonjs/classes/HMSRTCStatsReport.js.map +1 -0
- package/lib/commonjs/classes/HMSRemoteAudioStats.js +32 -0
- package/lib/commonjs/classes/HMSRemoteAudioStats.js.map +1 -0
- package/lib/commonjs/classes/HMSRemoteVideoStats.js +38 -0
- package/lib/commonjs/classes/HMSRemoteVideoStats.js.map +1 -0
- package/lib/commonjs/classes/HMSRoom.js +9 -0
- package/lib/commonjs/classes/HMSRoom.js.map +1 -1
- package/lib/commonjs/classes/HMSRoomUpdate.js +7 -0
- package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSRtmpStreamingState.js +6 -0
- package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
- package/lib/commonjs/classes/HMSSDK.js +488 -114
- package/lib/commonjs/classes/HMSSDK.js.map +1 -1
- package/lib/commonjs/classes/HMSServerRecordingState.js +3 -0
- package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
- package/lib/commonjs/classes/HMSUpdateListenerActions.js +5 -0
- package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
- package/lib/commonjs/classes/HmsView.js +26 -4
- package/lib/commonjs/classes/HmsView.js.map +1 -1
- package/lib/commonjs/index.js +196 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/classes/HMSBrowserRecordingState.js +6 -0
- package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
- package/lib/module/classes/HMSEncoder.js +172 -3
- package/lib/module/classes/HMSEncoder.js.map +1 -1
- package/lib/module/classes/HMSHLSConfig.js +14 -0
- package/lib/module/classes/HMSHLSConfig.js.map +1 -0
- package/lib/module/classes/HMSHLSMeetingURLVariant.js +14 -0
- package/lib/module/classes/HMSHLSMeetingURLVariant.js.map +1 -0
- package/lib/module/classes/HMSHLSRecordingConfig.js +14 -0
- package/lib/module/classes/HMSHLSRecordingConfig.js.map +1 -0
- package/lib/module/classes/HMSHLSRecordingState.js +20 -0
- package/lib/module/classes/HMSHLSRecordingState.js.map +1 -0
- package/lib/module/classes/HMSHLSStreamingState.js +14 -0
- package/lib/module/classes/HMSHLSStreamingState.js.map +1 -0
- package/lib/module/classes/HMSHLSVariant.js +20 -0
- package/lib/module/classes/HMSHLSVariant.js.map +1 -0
- package/lib/module/classes/HMSLocalAudioStats.js +17 -0
- package/lib/module/classes/HMSLocalAudioStats.js.map +1 -0
- package/lib/module/classes/HMSLocalVideoStats.js +23 -0
- package/lib/module/classes/HMSLocalVideoStats.js.map +1 -0
- package/lib/module/classes/HMSLogger.js +48 -21
- package/lib/module/classes/HMSLogger.js.map +1 -1
- package/lib/module/classes/HMSMessage.js +4 -1
- package/lib/module/classes/HMSMessage.js.map +1 -1
- package/lib/module/classes/HMSMessageRecipient.js +17 -0
- package/lib/module/classes/HMSMessageRecipient.js.map +1 -0
- package/lib/module/classes/HMSMessageRecipientType.js +8 -0
- package/lib/module/classes/HMSMessageRecipientType.js.map +1 -0
- package/lib/module/classes/HMSPeerUpdate.js +1 -7
- package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
- package/lib/module/classes/HMSPermissions.js +2 -2
- package/lib/module/classes/HMSPermissions.js.map +1 -1
- package/lib/module/classes/HMSRTCStats.js +29 -0
- package/lib/module/classes/HMSRTCStats.js.map +1 -0
- package/lib/module/classes/HMSRTCStatsReport.js +17 -0
- package/lib/module/classes/HMSRTCStatsReport.js.map +1 -0
- package/lib/module/classes/HMSRemoteAudioStats.js +23 -0
- package/lib/module/classes/HMSRemoteAudioStats.js.map +1 -0
- package/lib/module/classes/HMSRemoteVideoStats.js +29 -0
- package/lib/module/classes/HMSRemoteVideoStats.js.map +1 -0
- package/lib/module/classes/HMSRoom.js +9 -0
- package/lib/module/classes/HMSRoom.js.map +1 -1
- package/lib/module/classes/HMSRoomUpdate.js +7 -0
- package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
- package/lib/module/classes/HMSRtmpStreamingState.js +6 -0
- package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
- package/lib/module/classes/HMSSDK.js +476 -115
- package/lib/module/classes/HMSSDK.js.map +1 -1
- package/lib/module/classes/HMSServerRecordingState.js +3 -0
- package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
- package/lib/module/classes/HMSUpdateListenerActions.js +5 -0
- package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
- package/lib/module/classes/HmsView.js +23 -4
- package/lib/module/classes/HmsView.js.map +1 -1
- package/lib/module/index.js +14 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +4 -0
- package/lib/typescript/classes/HMSEncoder.d.ts +23 -0
- package/lib/typescript/classes/HMSHLSConfig.d.ts +10 -0
- package/lib/typescript/classes/HMSHLSMeetingURLVariant.d.ts +8 -0
- package/lib/typescript/classes/HMSHLSRecordingConfig.d.ts +8 -0
- package/lib/typescript/classes/HMSHLSRecordingState.d.ts +12 -0
- package/lib/typescript/classes/HMSHLSStreamingState.d.ts +9 -0
- package/lib/typescript/classes/HMSHLSVariant.d.ts +12 -0
- package/lib/typescript/classes/HMSLocalAudioStats.d.ts +10 -0
- package/lib/typescript/classes/HMSLocalVideoStats.d.ts +15 -0
- package/lib/typescript/classes/HMSLogger.d.ts +2 -0
- package/lib/typescript/classes/HMSMessage.d.ts +8 -4
- package/lib/typescript/classes/HMSMessageRecipient.d.ts +13 -0
- package/lib/typescript/classes/HMSMessageRecipientType.d.ts +5 -0
- package/lib/typescript/classes/HMSPeerUpdate.d.ts +2 -8
- package/lib/typescript/classes/HMSPermissions.d.ts +2 -2
- package/lib/typescript/classes/HMSRTCStats.d.ts +18 -0
- package/lib/typescript/classes/HMSRTCStatsReport.d.ts +11 -0
- package/lib/typescript/classes/HMSRemoteAudioStats.d.ts +14 -0
- package/lib/typescript/classes/HMSRemoteVideoStats.d.ts +19 -0
- package/lib/typescript/classes/HMSRoom.d.ts +8 -0
- package/lib/typescript/classes/HMSRoomUpdate.d.ts +8 -1
- package/lib/typescript/classes/HMSRtmpStreamingState.d.ts +4 -0
- package/lib/typescript/classes/HMSSDK.d.ts +325 -14
- package/lib/typescript/classes/HMSServerRecordingState.d.ts +2 -0
- package/lib/typescript/classes/HMSUpdateListenerActions.d.ts +6 -1
- package/lib/typescript/index.d.ts +14 -0
- package/package.json +1 -2
- package/react-native-hms.podspec +1 -1
- package/src/classes/HMSBrowserRecordingState.ts +10 -1
- package/src/classes/HMSEncoder.ts +193 -3
- package/src/classes/HMSHLSConfig.ts +15 -0
- package/src/classes/HMSHLSMeetingURLVariant.ts +9 -0
- package/src/classes/HMSHLSRecordingConfig.ts +9 -0
- package/src/classes/HMSHLSRecordingState.ts +18 -0
- package/src/classes/HMSHLSStreamingState.ts +11 -0
- package/src/classes/HMSHLSVariant.ts +18 -0
- package/src/classes/HMSLocalAudioStats.ts +15 -0
- package/src/classes/HMSLocalVideoStats.ts +23 -0
- package/src/classes/HMSLogger.ts +17 -3
- package/src/classes/HMSMessage.ts +11 -5
- package/src/classes/HMSMessageRecipient.ts +19 -0
- package/src/classes/HMSMessageRecipientType.ts +5 -0
- package/src/classes/HMSPeerUpdate.ts +1 -7
- package/src/classes/HMSPermissions.ts +3 -3
- package/src/classes/HMSRTCStats.ts +27 -0
- package/src/classes/HMSRTCStatsReport.ts +17 -0
- package/src/classes/HMSRemoteAudioStats.ts +21 -0
- package/src/classes/HMSRemoteVideoStats.ts +29 -0
- package/src/classes/HMSRoom.ts +11 -0
- package/src/classes/HMSRoomUpdate.ts +7 -0
- package/src/classes/HMSRtmpStreamingState.ts +10 -1
- package/src/classes/HMSSDK.tsx +618 -30
- package/src/classes/HMSServerRecordingState.ts +7 -1
- package/src/classes/HMSUpdateListenerActions.ts +5 -0
- package/src/classes/HmsView.tsx +32 -4
- package/src/index.ts +14 -0
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
package com.reactnativehmssdk
|
|
2
2
|
|
|
3
|
+
import android.content.Intent
|
|
4
|
+
import android.content.Intent.FLAG_ACTIVITY_NEW_TASK
|
|
3
5
|
import com.facebook.react.bridge.*
|
|
6
|
+
import com.facebook.react.bridge.UiThreadUtil.runOnUiThread
|
|
4
7
|
import java.util.*
|
|
5
8
|
import kotlinx.coroutines.launch
|
|
6
9
|
import live.hms.video.error.HMSException
|
|
7
|
-
import live.hms.video.media.tracks
|
|
10
|
+
import live.hms.video.media.tracks.HMSRemoteAudioTrack
|
|
11
|
+
import live.hms.video.media.tracks.HMSTrack
|
|
12
|
+
import live.hms.video.media.tracks.HMSTrackType
|
|
8
13
|
import live.hms.video.sdk.*
|
|
9
14
|
import live.hms.video.sdk.models.*
|
|
10
|
-
import live.hms.video.sdk.models.HMSConfig
|
|
11
15
|
import live.hms.video.sdk.models.enums.HMSPeerUpdate
|
|
12
16
|
import live.hms.video.sdk.models.enums.HMSRoomUpdate
|
|
13
17
|
import live.hms.video.sdk.models.enums.HMSTrackUpdate
|
|
14
18
|
import live.hms.video.sdk.models.trackchangerequest.HMSChangeTrackStateRequest
|
|
15
19
|
import live.hms.video.utils.HMSCoroutineScope
|
|
20
|
+
import live.hms.video.utils.HmsUtilities
|
|
16
21
|
|
|
17
22
|
class HmsSDK(
|
|
18
23
|
data: ReadableMap?,
|
|
@@ -21,9 +26,11 @@ class HmsSDK(
|
|
|
21
26
|
reactApplicationContext: ReactApplicationContext
|
|
22
27
|
) {
|
|
23
28
|
var hmsSDK: HMSSDK? = null
|
|
29
|
+
var screenshareCallback: Promise? = null
|
|
30
|
+
var delegate: HmsModule = HmsDelegate
|
|
24
31
|
private var recentRoleChangeRequest: HMSRoleChangeRequest? = null
|
|
32
|
+
private var context: ReactApplicationContext = reactApplicationContext
|
|
25
33
|
private var previewInProgress: Boolean = false
|
|
26
|
-
private var delegate: HmsModule = HmsDelegate
|
|
27
34
|
private var id: String = sdkId
|
|
28
35
|
private var self = this
|
|
29
36
|
|
|
@@ -38,14 +45,7 @@ class HmsSDK(
|
|
|
38
45
|
|
|
39
46
|
private fun emitCustomError(message: String) {
|
|
40
47
|
val data: WritableMap = Arguments.createMap()
|
|
41
|
-
val hmsError =
|
|
42
|
-
HMSException(
|
|
43
|
-
102,
|
|
44
|
-
message,
|
|
45
|
-
message,
|
|
46
|
-
message,
|
|
47
|
-
message
|
|
48
|
-
)
|
|
48
|
+
val hmsError = HMSException(102, message, message, message, message)
|
|
49
49
|
data.putString("event", "ON_ERROR")
|
|
50
50
|
data.putString("id", id)
|
|
51
51
|
data.putMap("error", HmsDecoder.getError(hmsError))
|
|
@@ -86,7 +86,7 @@ class HmsSDK(
|
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
fun preview(credentials: ReadableMap) {
|
|
89
|
-
if(previewInProgress){
|
|
89
|
+
if (previewInProgress) {
|
|
90
90
|
self.emitCustomError("PREVIEW_ALREADY_IN_PROGRESS")
|
|
91
91
|
return
|
|
92
92
|
}
|
|
@@ -142,6 +142,50 @@ class HmsSDK(
|
|
|
142
142
|
previewInProgress = false
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
+
override fun onPeerUpdate(type: HMSPeerUpdate, peer: HMSPeer) {
|
|
146
|
+
if (type === HMSPeerUpdate.AUDIO_TOGGLED ||
|
|
147
|
+
type === HMSPeerUpdate.VIDEO_TOGGLED ||
|
|
148
|
+
type === HMSPeerUpdate.BECAME_DOMINANT_SPEAKER ||
|
|
149
|
+
type === HMSPeerUpdate.NO_DOMINANT_SPEAKER ||
|
|
150
|
+
type === HMSPeerUpdate.RESIGNED_DOMINANT_SPEAKER ||
|
|
151
|
+
type === HMSPeerUpdate.STARTED_SPEAKING ||
|
|
152
|
+
type === HMSPeerUpdate.STOPPED_SPEAKING
|
|
153
|
+
) {
|
|
154
|
+
return
|
|
155
|
+
}
|
|
156
|
+
val updateType = type.name
|
|
157
|
+
val roomData = HmsDecoder.getHmsRoom(hmsSDK?.getRoom())
|
|
158
|
+
val localPeerData = HmsDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
|
|
159
|
+
val remotePeerData = HmsDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
|
|
160
|
+
val hmsPeer = HmsDecoder.getHmsPeer(peer)
|
|
161
|
+
|
|
162
|
+
val data: WritableMap = Arguments.createMap()
|
|
163
|
+
|
|
164
|
+
data.putMap("peer", hmsPeer)
|
|
165
|
+
data.putMap("room", roomData)
|
|
166
|
+
data.putString("type", updateType)
|
|
167
|
+
data.putMap("localPeer", localPeerData)
|
|
168
|
+
data.putArray("remotePeers", remotePeerData)
|
|
169
|
+
data.putString("id", id)
|
|
170
|
+
delegate.emitEvent("ON_PEER_UPDATE", data)
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
override fun onRoomUpdate(type: HMSRoomUpdate, hmsRoom: HMSRoom) {
|
|
174
|
+
val updateType = type.name
|
|
175
|
+
val roomData = HmsDecoder.getHmsRoom(hmsRoom)
|
|
176
|
+
val localPeerData = HmsDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
|
|
177
|
+
val remotePeerData = HmsDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
|
|
178
|
+
|
|
179
|
+
val data: WritableMap = Arguments.createMap()
|
|
180
|
+
|
|
181
|
+
data.putString("type", updateType)
|
|
182
|
+
data.putMap("room", roomData)
|
|
183
|
+
data.putMap("localPeer", localPeerData)
|
|
184
|
+
data.putArray("remotePeers", remotePeerData)
|
|
185
|
+
data.putString("id", id)
|
|
186
|
+
delegate.emitEvent("ON_ROOM_UPDATE", data)
|
|
187
|
+
}
|
|
188
|
+
|
|
145
189
|
override fun onPreview(room: HMSRoom, localTracks: Array<HMSTrack>) {
|
|
146
190
|
val previewTracks = HmsDecoder.getPreviewTracks(localTracks)
|
|
147
191
|
val hmsRoom = HmsDecoder.getHmsRoom(room)
|
|
@@ -163,7 +207,7 @@ class HmsSDK(
|
|
|
163
207
|
}
|
|
164
208
|
|
|
165
209
|
fun join(credentials: ReadableMap) {
|
|
166
|
-
if(previewInProgress){
|
|
210
|
+
if (previewInProgress) {
|
|
167
211
|
self.emitCustomError("PREVIEW_IS_IN_PROGRESS")
|
|
168
212
|
return
|
|
169
213
|
}
|
|
@@ -262,6 +306,16 @@ class HmsSDK(
|
|
|
262
306
|
}
|
|
263
307
|
|
|
264
308
|
override fun onPeerUpdate(type: HMSPeerUpdate, peer: HMSPeer) {
|
|
309
|
+
if (type === HMSPeerUpdate.AUDIO_TOGGLED ||
|
|
310
|
+
type === HMSPeerUpdate.VIDEO_TOGGLED ||
|
|
311
|
+
type === HMSPeerUpdate.BECAME_DOMINANT_SPEAKER ||
|
|
312
|
+
type === HMSPeerUpdate.NO_DOMINANT_SPEAKER ||
|
|
313
|
+
type === HMSPeerUpdate.RESIGNED_DOMINANT_SPEAKER ||
|
|
314
|
+
type === HMSPeerUpdate.STARTED_SPEAKING ||
|
|
315
|
+
type === HMSPeerUpdate.STOPPED_SPEAKING
|
|
316
|
+
) {
|
|
317
|
+
return
|
|
318
|
+
}
|
|
265
319
|
val updateType = type.name
|
|
266
320
|
val roomData = HmsDecoder.getHmsRoom(hmsSDK?.getRoom())
|
|
267
321
|
val localPeerData = HmsDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
|
|
@@ -318,12 +372,12 @@ class HmsSDK(
|
|
|
318
372
|
override fun onMessageReceived(message: HMSMessage) {
|
|
319
373
|
val data: WritableMap = Arguments.createMap()
|
|
320
374
|
|
|
321
|
-
data.
|
|
375
|
+
data.putMap("sender", HmsDecoder.getHmsPeer(message.sender))
|
|
322
376
|
data.putString("message", message.message)
|
|
323
377
|
data.putString("type", message.type)
|
|
324
378
|
data.putString("time", message.serverReceiveTime.toString())
|
|
325
379
|
data.putString("id", id)
|
|
326
|
-
data.
|
|
380
|
+
data.putMap("recipient", HmsDecoder.getHmsMessageRecipient(message.recipient))
|
|
327
381
|
|
|
328
382
|
delegate.emitEvent("ON_MESSAGE", data)
|
|
329
383
|
}
|
|
@@ -383,19 +437,6 @@ class HmsSDK(
|
|
|
383
437
|
fun setLocalMute(data: ReadableMap) {
|
|
384
438
|
val isMute = data.getBoolean("isMute")
|
|
385
439
|
hmsSDK?.getLocalPeer()?.audioTrack?.setMute(isMute)
|
|
386
|
-
val type = if (isMute) "TRACK_MUTED" else "TRACK_UNMUTED"
|
|
387
|
-
val localPeerData = HmsDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
|
|
388
|
-
val remotePeerData = HmsDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
|
|
389
|
-
val roomData = HmsDecoder.getHmsRoom(hmsSDK?.getRoom())
|
|
390
|
-
|
|
391
|
-
val map: WritableMap = Arguments.createMap()
|
|
392
|
-
|
|
393
|
-
map.putMap("room", roomData)
|
|
394
|
-
map.putString("type", type)
|
|
395
|
-
map.putMap("localPeer", localPeerData)
|
|
396
|
-
map.putArray("remotePeers", remotePeerData)
|
|
397
|
-
map.putString("id", id)
|
|
398
|
-
delegate.emitEvent("ON_TRACK_UPDATE", map)
|
|
399
440
|
}
|
|
400
441
|
|
|
401
442
|
fun setLocalVideoMute(data: ReadableMap) {
|
|
@@ -413,6 +454,7 @@ class HmsSDK(
|
|
|
413
454
|
hmsSDK?.leave(
|
|
414
455
|
object : HMSActionResultListener {
|
|
415
456
|
override fun onSuccess() {
|
|
457
|
+
screenshareCallback = null
|
|
416
458
|
callback?.resolve(emitHMSSuccess())
|
|
417
459
|
}
|
|
418
460
|
|
|
@@ -426,15 +468,14 @@ class HmsSDK(
|
|
|
426
468
|
|
|
427
469
|
fun sendBroadcastMessage(data: ReadableMap, callback: Promise?) {
|
|
428
470
|
val requiredKeys =
|
|
429
|
-
HmsHelper.areAllRequiredKeysAvailable(
|
|
471
|
+
HmsHelper.areAllRequiredKeysAvailable(
|
|
472
|
+
data,
|
|
473
|
+
arrayOf(Pair("message", "String"), Pair("type", "String"))
|
|
474
|
+
)
|
|
430
475
|
if (requiredKeys) {
|
|
431
|
-
val type =
|
|
432
|
-
if (HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("type", "String"))))
|
|
433
|
-
data.getString("type")
|
|
434
|
-
else "chat"
|
|
435
476
|
hmsSDK?.sendBroadcastMessage(
|
|
436
477
|
data.getString("message") as String,
|
|
437
|
-
type as String,
|
|
478
|
+
data.getString("type") as String,
|
|
438
479
|
object : HMSMessageResultListener {
|
|
439
480
|
override fun onError(error: HMSException) {
|
|
440
481
|
self.emitHMSError(error)
|
|
@@ -455,34 +496,27 @@ class HmsSDK(
|
|
|
455
496
|
val requiredKeys =
|
|
456
497
|
HmsHelper.areAllRequiredKeysAvailable(
|
|
457
498
|
data,
|
|
458
|
-
arrayOf(Pair("message", "String"), Pair("roles", "Array"))
|
|
499
|
+
arrayOf(Pair("message", "String"), Pair("roles", "Array"), Pair("type", "String"))
|
|
459
500
|
)
|
|
460
501
|
if (requiredKeys) {
|
|
461
|
-
val type =
|
|
462
|
-
if (HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("type", "String"))))
|
|
463
|
-
data.getString("type")
|
|
464
|
-
else "chat"
|
|
465
|
-
val message = data.getString("message")
|
|
466
502
|
val targetedRoles = data.getArray("roles")?.toArrayList() as? ArrayList<String>
|
|
467
503
|
val roles = hmsSDK?.getRoles()
|
|
468
504
|
val encodedTargetedRoles = HmsHelper.getRolesFromRoleNames(targetedRoles, roles)
|
|
469
505
|
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
callback?.reject(error.code.toString(), error.message)
|
|
479
|
-
}
|
|
480
|
-
override fun onSuccess(hmsMessage: HMSMessage) {
|
|
481
|
-
callback?.resolve(emitHMSSuccess(hmsMessage))
|
|
482
|
-
}
|
|
506
|
+
hmsSDK?.sendGroupMessage(
|
|
507
|
+
data.getString("message") as String,
|
|
508
|
+
data.getString("type") as String,
|
|
509
|
+
encodedTargetedRoles,
|
|
510
|
+
object : HMSMessageResultListener {
|
|
511
|
+
override fun onError(error: HMSException) {
|
|
512
|
+
self.emitHMSError(error)
|
|
513
|
+
callback?.reject(error.code.toString(), error.message)
|
|
483
514
|
}
|
|
484
|
-
|
|
485
|
-
|
|
515
|
+
override fun onSuccess(hmsMessage: HMSMessage) {
|
|
516
|
+
callback?.resolve(emitHMSSuccess(hmsMessage))
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
)
|
|
486
520
|
} else {
|
|
487
521
|
self.emitRequiredKeysError()
|
|
488
522
|
callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
|
|
@@ -493,21 +527,15 @@ class HmsSDK(
|
|
|
493
527
|
val requiredKeys =
|
|
494
528
|
HmsHelper.areAllRequiredKeysAvailable(
|
|
495
529
|
data,
|
|
496
|
-
arrayOf(Pair("message", "String"), Pair("peerId", "String"))
|
|
530
|
+
arrayOf(Pair("message", "String"), Pair("peerId", "String"), Pair("type", "String"))
|
|
497
531
|
)
|
|
498
532
|
if (requiredKeys) {
|
|
499
|
-
val type =
|
|
500
|
-
if (HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("type", "String"))))
|
|
501
|
-
data.getString("type")
|
|
502
|
-
else "chat"
|
|
503
|
-
val message = data.getString("message")
|
|
504
533
|
val peerId = data.getString("peerId")
|
|
505
|
-
val
|
|
506
|
-
|
|
507
|
-
if (message != null && peer != null) {
|
|
534
|
+
val peer = HmsHelper.getPeerFromPeerId(peerId, hmsSDK?.getRoom())
|
|
535
|
+
if (peer != null) {
|
|
508
536
|
hmsSDK?.sendDirectMessage(
|
|
509
|
-
message,
|
|
510
|
-
type as String,
|
|
537
|
+
data.getString("message") as String,
|
|
538
|
+
data.getString("type") as String,
|
|
511
539
|
peer,
|
|
512
540
|
object : HMSMessageResultListener {
|
|
513
541
|
override fun onError(error: HMSException) {
|
|
@@ -519,6 +547,9 @@ class HmsSDK(
|
|
|
519
547
|
}
|
|
520
548
|
}
|
|
521
549
|
)
|
|
550
|
+
} else {
|
|
551
|
+
self.emitCustomError("PEER_NOT_FOUND")
|
|
552
|
+
callback?.reject("101", "PEER_NOT_FOUND")
|
|
522
553
|
}
|
|
523
554
|
} else {
|
|
524
555
|
self.emitRequiredKeysError()
|
|
@@ -538,7 +569,7 @@ class HmsSDK(
|
|
|
538
569
|
val force = data.getBoolean("force")
|
|
539
570
|
|
|
540
571
|
if (peerId !== null && role !== null) {
|
|
541
|
-
val hmsPeer = HmsHelper.getPeerFromPeerId(peerId, hmsSDK?.
|
|
572
|
+
val hmsPeer = HmsHelper.getPeerFromPeerId(peerId, hmsSDK?.getRoom())
|
|
542
573
|
val hmsRole = HmsHelper.getRoleFromRoleName(role, hmsSDK?.getRoles())
|
|
543
574
|
|
|
544
575
|
if (hmsRole != null && hmsPeer != null) {
|
|
@@ -573,8 +604,7 @@ class HmsSDK(
|
|
|
573
604
|
if (requiredKeys) {
|
|
574
605
|
val trackId = data.getString("trackId")
|
|
575
606
|
val mute = data.getBoolean("mute")
|
|
576
|
-
val
|
|
577
|
-
val track = HmsHelper.getTrackFromTrackId(trackId, remotePeers)
|
|
607
|
+
val track = HmsHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
|
|
578
608
|
if (track != null) {
|
|
579
609
|
hmsSDK?.changeTrackState(
|
|
580
610
|
track,
|
|
@@ -596,24 +626,35 @@ class HmsSDK(
|
|
|
596
626
|
}
|
|
597
627
|
}
|
|
598
628
|
|
|
599
|
-
fun
|
|
629
|
+
fun changeTrackStateForRoles(data: ReadableMap, callback: Promise?) {
|
|
600
630
|
val requiredKeys =
|
|
601
631
|
HmsHelper.areAllRequiredKeysAvailable(
|
|
602
632
|
data,
|
|
603
633
|
arrayOf(
|
|
604
|
-
Pair("source", "String"),
|
|
605
634
|
Pair("mute", "Boolean"),
|
|
606
|
-
Pair("type", "String"),
|
|
607
|
-
Pair("roles", "Array")
|
|
608
635
|
)
|
|
609
636
|
)
|
|
610
637
|
if (requiredKeys) {
|
|
611
638
|
val mute: Boolean = data.getBoolean("mute")
|
|
612
639
|
val type =
|
|
613
|
-
if (
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
640
|
+
if (HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("type", "String")))) {
|
|
641
|
+
if (data.getString("type") == HMSTrackType.AUDIO.toString()) HMSTrackType.AUDIO
|
|
642
|
+
else HMSTrackType.VIDEO
|
|
643
|
+
} else {
|
|
644
|
+
null
|
|
645
|
+
}
|
|
646
|
+
val source =
|
|
647
|
+
if (HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("source", "String")))) {
|
|
648
|
+
data.getString("source")
|
|
649
|
+
} else {
|
|
650
|
+
null
|
|
651
|
+
}
|
|
652
|
+
val targetedRoles =
|
|
653
|
+
if (HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("roles", "Array")))) {
|
|
654
|
+
data.getArray("roles")?.toArrayList() as? ArrayList<String>
|
|
655
|
+
} else {
|
|
656
|
+
null
|
|
657
|
+
}
|
|
617
658
|
val roles = hmsSDK?.getRoles()
|
|
618
659
|
val encodedTargetedRoles = HmsHelper.getRolesFromRoleNames(targetedRoles, roles)
|
|
619
660
|
hmsSDK?.changeTrackState(
|
|
@@ -642,11 +683,9 @@ class HmsSDK(
|
|
|
642
683
|
HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("trackId", "String")))
|
|
643
684
|
if (requiredKeys) {
|
|
644
685
|
val trackId = data.getString("trackId")
|
|
645
|
-
val
|
|
646
|
-
val localPeer = hmsSDK?.getLocalPeer()
|
|
647
|
-
val localTrack = HmsHelper.getLocalTrackFromTrackId(trackId, localPeer)
|
|
686
|
+
val localTrack = HmsHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
|
|
648
687
|
if (localTrack == null) {
|
|
649
|
-
val track = HmsHelper.getTrackFromTrackId(trackId,
|
|
688
|
+
val track = HmsHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
|
|
650
689
|
if (track != null) {
|
|
651
690
|
val mute = track.isMute
|
|
652
691
|
callback?.resolve(mute)
|
|
@@ -664,23 +703,18 @@ class HmsSDK(
|
|
|
664
703
|
|
|
665
704
|
fun removePeer(data: ReadableMap, callback: Promise?) {
|
|
666
705
|
val requiredKeys =
|
|
667
|
-
HmsHelper.areAllRequiredKeysAvailable(
|
|
706
|
+
HmsHelper.areAllRequiredKeysAvailable(
|
|
707
|
+
data,
|
|
708
|
+
arrayOf(Pair("peerId", "String"), Pair("reason", "String"))
|
|
709
|
+
)
|
|
668
710
|
if (requiredKeys) {
|
|
669
711
|
val peerId = data.getString("peerId")
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
if (reason == null) {
|
|
673
|
-
reason = ""
|
|
674
|
-
}
|
|
675
|
-
|
|
676
|
-
val peers = hmsSDK?.getRemotePeers()
|
|
677
|
-
|
|
678
|
-
val peer = HmsHelper.getRemotePeerFromPeerId(peerId, peers)
|
|
712
|
+
val peer = HmsHelper.getRemotePeerFromPeerId(peerId, hmsSDK?.getRoom())
|
|
679
713
|
|
|
680
714
|
if (peer != null) {
|
|
681
715
|
hmsSDK?.removePeerRequest(
|
|
682
716
|
peer,
|
|
683
|
-
reason,
|
|
717
|
+
data.getString("reason") as String,
|
|
684
718
|
object : HMSActionResultListener {
|
|
685
719
|
override fun onSuccess() {
|
|
686
720
|
callback?.resolve(emitHMSSuccess())
|
|
@@ -692,6 +726,7 @@ class HmsSDK(
|
|
|
692
726
|
}
|
|
693
727
|
)
|
|
694
728
|
} else {
|
|
729
|
+
self.emitCustomError("PEER_NOT_FOUND")
|
|
695
730
|
callback?.reject("101", "PEER_NOT_FOUND")
|
|
696
731
|
}
|
|
697
732
|
} else {
|
|
@@ -701,25 +736,29 @@ class HmsSDK(
|
|
|
701
736
|
}
|
|
702
737
|
|
|
703
738
|
fun endRoom(data: ReadableMap, callback: Promise?) {
|
|
704
|
-
val
|
|
705
|
-
|
|
706
|
-
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
710
|
-
|
|
711
|
-
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
719
|
-
|
|
739
|
+
val requiredKeys =
|
|
740
|
+
HmsHelper.areAllRequiredKeysAvailable(
|
|
741
|
+
data,
|
|
742
|
+
arrayOf(Pair("lock", "Boolean"), Pair("reason", "String"))
|
|
743
|
+
)
|
|
744
|
+
if (requiredKeys) {
|
|
745
|
+
hmsSDK?.endRoom(
|
|
746
|
+
data.getString("reason") as String,
|
|
747
|
+
data.getBoolean("lock"),
|
|
748
|
+
object : HMSActionResultListener {
|
|
749
|
+
override fun onSuccess() {
|
|
750
|
+
callback?.resolve(emitHMSSuccess())
|
|
751
|
+
}
|
|
752
|
+
override fun onError(error: HMSException) {
|
|
753
|
+
self.emitHMSError(error)
|
|
754
|
+
callback?.reject(error.code.toString(), error.message)
|
|
755
|
+
}
|
|
720
756
|
}
|
|
721
|
-
|
|
722
|
-
|
|
757
|
+
)
|
|
758
|
+
} else {
|
|
759
|
+
self.emitRequiredKeysError()
|
|
760
|
+
callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
|
|
761
|
+
}
|
|
723
762
|
}
|
|
724
763
|
|
|
725
764
|
fun acceptRoleChange(callback: Promise?) {
|
|
@@ -742,7 +781,29 @@ class HmsSDK(
|
|
|
742
781
|
}
|
|
743
782
|
}
|
|
744
783
|
|
|
745
|
-
fun
|
|
784
|
+
fun remoteMuteAllAudio() {
|
|
785
|
+
val allAudioTracks = hmsSDK?.getRoom()?.let { HmsUtilities.getAllAudioTracks(it) }
|
|
786
|
+
if (allAudioTracks != null) {
|
|
787
|
+
var customError: HMSException? = null
|
|
788
|
+
for (audioTrack in allAudioTracks) {
|
|
789
|
+
hmsSDK?.changeTrackState(
|
|
790
|
+
audioTrack,
|
|
791
|
+
true,
|
|
792
|
+
object : HMSActionResultListener {
|
|
793
|
+
override fun onSuccess() {}
|
|
794
|
+
override fun onError(error: HMSException) {
|
|
795
|
+
customError = error
|
|
796
|
+
}
|
|
797
|
+
}
|
|
798
|
+
)
|
|
799
|
+
}
|
|
800
|
+
if (customError != null) {
|
|
801
|
+
self.emitHMSError(customError!!)
|
|
802
|
+
}
|
|
803
|
+
}
|
|
804
|
+
}
|
|
805
|
+
|
|
806
|
+
fun setPlaybackForAllAudio(data: ReadableMap) {
|
|
746
807
|
val requiredKeys = HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("mute", "Boolean")))
|
|
747
808
|
if (requiredKeys) {
|
|
748
809
|
val mute = data.getBoolean("mute")
|
|
@@ -750,7 +811,7 @@ class HmsSDK(
|
|
|
750
811
|
if (peers != null) {
|
|
751
812
|
for (remotePeer in peers) {
|
|
752
813
|
val peerId = remotePeer.peerID
|
|
753
|
-
val peer = HmsHelper.getRemotePeerFromPeerId(peerId,
|
|
814
|
+
val peer = HmsHelper.getRemotePeerFromPeerId(peerId, hmsSDK?.getRoom())
|
|
754
815
|
peer?.audioTrack?.isPlaybackAllowed = !mute
|
|
755
816
|
}
|
|
756
817
|
val localPeerData = HmsDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
|
|
@@ -777,9 +838,8 @@ class HmsSDK(
|
|
|
777
838
|
if (requiredKeys) {
|
|
778
839
|
val trackId = data.getString("trackId")
|
|
779
840
|
val playbackAllowed = data.getBoolean("playbackAllowed")
|
|
780
|
-
val
|
|
781
|
-
val
|
|
782
|
-
val remoteVideoTrack = HmsHelper.getRemoteVideoTrackFromTrackId(trackId, remotePeers)
|
|
841
|
+
val remoteAudioTrack = HmsHelper.getRemoteAudioTrackFromTrackId(trackId, hmsSDK?.getRoom())
|
|
842
|
+
val remoteVideoTrack = HmsHelper.getRemoteVideoTrackFromTrackId(trackId, hmsSDK?.getRoom())
|
|
783
843
|
if (remoteAudioTrack != null) {
|
|
784
844
|
remoteAudioTrack.isPlaybackAllowed = playbackAllowed
|
|
785
845
|
} else if (remoteVideoTrack != null) {
|
|
@@ -795,9 +855,8 @@ class HmsSDK(
|
|
|
795
855
|
HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("trackId", "String")))
|
|
796
856
|
if (requiredKeys) {
|
|
797
857
|
val trackId = data.getString("trackId")
|
|
798
|
-
val
|
|
799
|
-
val
|
|
800
|
-
val remoteVideoTrack = HmsHelper.getRemoteVideoTrackFromTrackId(trackId, remotePeers)
|
|
858
|
+
val remoteAudioTrack = HmsHelper.getRemoteAudioTrackFromTrackId(trackId, hmsSDK?.getRoom())
|
|
859
|
+
val remoteVideoTrack = HmsHelper.getRemoteVideoTrackFromTrackId(trackId, hmsSDK?.getRoom())
|
|
801
860
|
when {
|
|
802
861
|
remoteAudioTrack != null -> {
|
|
803
862
|
val isPlaybackAllowed = remoteAudioTrack.isPlaybackAllowed
|
|
@@ -854,6 +913,9 @@ class HmsSDK(
|
|
|
854
913
|
}
|
|
855
914
|
}
|
|
856
915
|
}
|
|
916
|
+
this.emitCustomError("TRACKID_NOT_MATCHED")
|
|
917
|
+
} else {
|
|
918
|
+
this.emitCustomError("REMOTE_PEERS_NOT_FOUND")
|
|
857
919
|
}
|
|
858
920
|
} else {
|
|
859
921
|
this.emitRequiredKeysError()
|
|
@@ -953,4 +1015,126 @@ class HmsSDK(
|
|
|
953
1015
|
}
|
|
954
1016
|
)
|
|
955
1017
|
}
|
|
1018
|
+
|
|
1019
|
+
fun startScreenshare(callback: Promise?) {
|
|
1020
|
+
screenshareCallback = callback
|
|
1021
|
+
runOnUiThread {
|
|
1022
|
+
val intent = Intent(context, HmsScreenshareActivity::class.java)
|
|
1023
|
+
intent.flags = FLAG_ACTIVITY_NEW_TASK
|
|
1024
|
+
intent.putExtra("id", id)
|
|
1025
|
+
context.startActivity(intent)
|
|
1026
|
+
}
|
|
1027
|
+
}
|
|
1028
|
+
|
|
1029
|
+
fun isScreenShared(callback: Promise?) {
|
|
1030
|
+
callback?.resolve(hmsSDK?.isScreenShared())
|
|
1031
|
+
}
|
|
1032
|
+
|
|
1033
|
+
fun stopScreenshare(callback: Promise?) {
|
|
1034
|
+
hmsSDK?.stopScreenshare(
|
|
1035
|
+
object : HMSActionResultListener {
|
|
1036
|
+
override fun onError(error: HMSException) {
|
|
1037
|
+
screenshareCallback = null
|
|
1038
|
+
callback?.reject(error.code.toString(), error.message)
|
|
1039
|
+
self.emitHMSError(error)
|
|
1040
|
+
}
|
|
1041
|
+
override fun onSuccess() {
|
|
1042
|
+
screenshareCallback = null
|
|
1043
|
+
callback?.resolve(emitHMSSuccess())
|
|
1044
|
+
}
|
|
1045
|
+
}
|
|
1046
|
+
)
|
|
1047
|
+
}
|
|
1048
|
+
|
|
1049
|
+
fun startHLSStreaming(data: ReadableMap, callback: Promise?) {
|
|
1050
|
+
val requiredKeys =
|
|
1051
|
+
HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("meetingURLVariants", "Array")))
|
|
1052
|
+
if (requiredKeys) {
|
|
1053
|
+
val meetingURLVariants =
|
|
1054
|
+
data.getArray("meetingURLVariants")?.toArrayList() as? ArrayList<HashMap<String, String>>
|
|
1055
|
+
val hlsMeetingUrlVariant = HmsHelper.getHMSHLSMeetingURLVariants(meetingURLVariants)
|
|
1056
|
+
val hlsRecordingConfig = HmsHelper.getHlsRecordingConfig(data)
|
|
1057
|
+
val config = HMSHLSConfig(hlsMeetingUrlVariant, hlsRecordingConfig)
|
|
1058
|
+
|
|
1059
|
+
hmsSDK?.startHLSStreaming(
|
|
1060
|
+
config,
|
|
1061
|
+
object : HMSActionResultListener {
|
|
1062
|
+
override fun onSuccess() {
|
|
1063
|
+
callback?.resolve(emitHMSSuccess())
|
|
1064
|
+
}
|
|
1065
|
+
override fun onError(error: HMSException) {
|
|
1066
|
+
callback?.reject(error.code.toString(), error.message)
|
|
1067
|
+
self.emitHMSError(error)
|
|
1068
|
+
}
|
|
1069
|
+
}
|
|
1070
|
+
)
|
|
1071
|
+
} else {
|
|
1072
|
+
callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
|
|
1073
|
+
self.emitRequiredKeysError()
|
|
1074
|
+
}
|
|
1075
|
+
}
|
|
1076
|
+
|
|
1077
|
+
fun stopHLSStreaming(callback: Promise?) {
|
|
1078
|
+
hmsSDK?.stopHLSStreaming(
|
|
1079
|
+
null,
|
|
1080
|
+
object : HMSActionResultListener {
|
|
1081
|
+
override fun onSuccess() {
|
|
1082
|
+
callback?.resolve(emitHMSSuccess())
|
|
1083
|
+
}
|
|
1084
|
+
override fun onError(error: HMSException) {
|
|
1085
|
+
callback?.reject(error.code.toString(), error.message)
|
|
1086
|
+
self.emitHMSError(error)
|
|
1087
|
+
}
|
|
1088
|
+
}
|
|
1089
|
+
)
|
|
1090
|
+
}
|
|
1091
|
+
|
|
1092
|
+
fun resetVolume() {
|
|
1093
|
+
val remotePeers = hmsSDK?.getRemotePeers()
|
|
1094
|
+
|
|
1095
|
+
if (remotePeers != null) {
|
|
1096
|
+
for (peer in remotePeers) {
|
|
1097
|
+
val playbackAllowed = peer.audioTrack?.isPlaybackAllowed
|
|
1098
|
+
if (playbackAllowed !== null && playbackAllowed) {
|
|
1099
|
+
peer.audioTrack?.setVolume(10.0)
|
|
1100
|
+
}
|
|
1101
|
+
val auxTracks = peer.auxiliaryTracks
|
|
1102
|
+
|
|
1103
|
+
for (track in auxTracks) {
|
|
1104
|
+
if (track.type === HMSTrackType.AUDIO) {
|
|
1105
|
+
|
|
1106
|
+
(track as? HMSRemoteAudioTrack)?.setVolume(10.0)
|
|
1107
|
+
}
|
|
1108
|
+
}
|
|
1109
|
+
}
|
|
1110
|
+
}
|
|
1111
|
+
}
|
|
1112
|
+
|
|
1113
|
+
fun changeName(data: ReadableMap, callback: Promise?) {
|
|
1114
|
+
val requiredKeys = HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("name", "String")))
|
|
1115
|
+
if (requiredKeys) {
|
|
1116
|
+
val name = data.getString("name")
|
|
1117
|
+
if (name != null && name != "") {
|
|
1118
|
+
hmsSDK?.changeName(
|
|
1119
|
+
name,
|
|
1120
|
+
object : HMSActionResultListener {
|
|
1121
|
+
override fun onSuccess() {
|
|
1122
|
+
callback?.resolve(emitHMSSuccess())
|
|
1123
|
+
}
|
|
1124
|
+
|
|
1125
|
+
override fun onError(error: HMSException) {
|
|
1126
|
+
callback?.reject(error.code.toString(), error.message)
|
|
1127
|
+
self.emitHMSError(error)
|
|
1128
|
+
}
|
|
1129
|
+
}
|
|
1130
|
+
)
|
|
1131
|
+
} else {
|
|
1132
|
+
self.emitCustomError("NAME_UNDEFINED")
|
|
1133
|
+
callback?.reject("101", "NAME_UNDEFINED")
|
|
1134
|
+
}
|
|
1135
|
+
} else {
|
|
1136
|
+
callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
|
|
1137
|
+
self.emitRequiredKeysError()
|
|
1138
|
+
}
|
|
1139
|
+
}
|
|
956
1140
|
}
|