@100mslive/react-native-hms 0.8.1 → 0.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/README.md +6 -6
- package/android/.gradle/6.9/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +1 -1
- 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/build.gradle +3 -2
- package/android/src/main/java/com/reactnativehmssdk/HmsDecoder.kt +226 -256
- package/android/src/main/java/com/reactnativehmssdk/HmsHelper.kt +82 -31
- package/android/src/main/java/com/reactnativehmssdk/HmsModule.kt +99 -22
- package/android/src/main/java/com/reactnativehmssdk/HmsSDK.kt +368 -221
- package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +66 -0
- package/android/src/main/java/com/reactnativehmssdk/HmsView.kt +43 -24
- package/android/src/main/java/com/reactnativehmssdk/HmssdkPackage.kt +1 -2
- package/android/src/main/java/com/reactnativehmssdk/HmssdkViewManager.kt +14 -11
- package/android/src/main/res/layout/hms_view.xml +19 -0
- package/ios/HmsDecoder.swift +91 -22
- package/ios/HmsHelper.swift +34 -3
- package/ios/HmsManager.m +11 -9
- package/ios/HmsManager.swift +32 -18
- package/ios/HmsSDK.swift +193 -43
- package/ios/HmsView.swift +22 -54
- package/lib/commonjs/classes/HMSChangeTrackStateRequest.js +3 -0
- package/lib/commonjs/classes/HMSChangeTrackStateRequest.js.map +1 -1
- package/lib/commonjs/classes/HMSEncoder.js +10 -6
- package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
- package/lib/commonjs/classes/HMSHLSConfig.js +20 -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/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/HMSLocalAudioTrack.js +20 -0
- package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
- package/lib/commonjs/classes/HMSLocalVideoTrack.js +18 -0
- package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSLogger.js +55 -1
- package/lib/commonjs/classes/HMSLogger.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteAudioTrack.js +19 -0
- package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSRemoteVideoTrack.js +19 -0
- package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
- package/lib/commonjs/classes/HMSRoom.js +3 -0
- package/lib/commonjs/classes/HMSRoom.js.map +1 -1
- package/lib/commonjs/classes/HMSRoomUpdate.js +6 -0
- package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
- package/lib/commonjs/classes/HMSSDK.js +297 -145
- package/lib/commonjs/classes/HMSSDK.js.map +1 -1
- package/lib/commonjs/classes/HMSTrackSettings.js +3 -0
- package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
- package/lib/commonjs/classes/HMSVideoCodec.js +4 -4
- package/lib/commonjs/classes/HMSVideoCodec.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 +70 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/classes/HMSChangeTrackStateRequest.js +3 -0
- package/lib/module/classes/HMSChangeTrackStateRequest.js.map +1 -1
- package/lib/module/classes/HMSEncoder.js +10 -6
- package/lib/module/classes/HMSEncoder.js.map +1 -1
- package/lib/module/classes/HMSHLSConfig.js +11 -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/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/HMSLocalAudioTrack.js +17 -0
- package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
- package/lib/module/classes/HMSLocalPeer.js.map +1 -1
- package/lib/module/classes/HMSLocalVideoTrack.js +15 -0
- package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
- package/lib/module/classes/HMSLogger.js +55 -1
- package/lib/module/classes/HMSLogger.js.map +1 -1
- package/lib/module/classes/HMSRemoteAudioTrack.js +16 -0
- package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
- package/lib/module/classes/HMSRemoteVideoTrack.js +16 -0
- package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
- package/lib/module/classes/HMSRoom.js +3 -0
- package/lib/module/classes/HMSRoom.js.map +1 -1
- package/lib/module/classes/HMSRoomUpdate.js +6 -0
- package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
- package/lib/module/classes/HMSSDK.js +295 -146
- package/lib/module/classes/HMSSDK.js.map +1 -1
- package/lib/module/classes/HMSTrackSettings.js +3 -0
- package/lib/module/classes/HMSTrackSettings.js.map +1 -1
- package/lib/module/classes/HMSVideoCodec.js +4 -4
- package/lib/module/classes/HMSVideoCodec.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 +5 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/classes/HMSChangeTrackStateRequest.d.ts +2 -0
- package/lib/typescript/classes/HMSHLSConfig.d.ts +7 -0
- package/lib/typescript/classes/HMSHLSMeetingURLVariant.d.ts +8 -0
- package/lib/typescript/classes/HMSHLSStreamingState.d.ts +9 -0
- package/lib/typescript/classes/HMSHLSVariant.d.ts +12 -0
- package/lib/typescript/classes/HMSLocalPeer.d.ts +3 -0
- package/lib/typescript/classes/HMSLogger.d.ts +9 -0
- package/lib/typescript/classes/HMSRoom.d.ts +3 -0
- package/lib/typescript/classes/HMSRoomUpdate.d.ts +7 -1
- package/lib/typescript/classes/HMSSDK.d.ts +22 -13
- package/lib/typescript/classes/HMSTrackSettings.d.ts +2 -0
- package/lib/typescript/classes/HMSVideoCodec.d.ts +4 -4
- package/lib/typescript/index.d.ts +5 -0
- package/package.json +1 -1
- package/react-native-hms.podspec +1 -1
- package/src/classes/HMSChangeTrackStateRequest.ts +7 -1
- package/src/classes/HMSEncoder.ts +5 -1
- package/src/classes/HMSHLSConfig.ts +9 -0
- package/src/classes/HMSHLSMeetingURLVariant.ts +9 -0
- package/src/classes/HMSHLSStreamingState.ts +11 -0
- package/src/classes/HMSHLSVariant.ts +18 -0
- package/src/classes/HMSLocalAudioTrack.ts +16 -0
- package/src/classes/HMSLocalPeer.ts +3 -0
- package/src/classes/HMSLocalVideoTrack.ts +15 -0
- package/src/classes/HMSLogger.ts +28 -1
- package/src/classes/HMSRemoteAudioTrack.ts +16 -0
- package/src/classes/HMSRemoteVideoTrack.ts +16 -0
- package/src/classes/HMSRoom.ts +4 -0
- package/src/classes/HMSRoomUpdate.ts +6 -0
- package/src/classes/HMSSDK.tsx +221 -84
- package/src/classes/HMSTrackSettings.ts +3 -0
- package/src/classes/HMSVideoCodec.ts +4 -4
- package/src/classes/HmsView.tsx +32 -4
- package/src/index.ts +5 -0
- package/android/.gradle/6.9/executionHistory/executionHistory.bin +0 -0
- package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/6.9/fileHashes/resourceHashesCache.bin +0 -0
- package/android/.gradle/6.9/javaCompile/classAnalysis.bin +0 -0
- package/android/.gradle/6.9/javaCompile/jarAnalysis.bin +0 -0
- package/android/.gradle/6.9/javaCompile/javaCompile.lock +0 -0
- package/android/.gradle/6.9/javaCompile/taskHistory.bin +0 -0
- package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
- package/android/.project +0 -34
|
@@ -5,6 +5,7 @@ import com.facebook.react.bridge.ReadableMap
|
|
|
5
5
|
import live.hms.video.media.codec.HMSAudioCodec
|
|
6
6
|
import live.hms.video.media.codec.HMSVideoCodec
|
|
7
7
|
import live.hms.video.media.settings.HMSAudioTrackSettings
|
|
8
|
+
import live.hms.video.media.settings.HMSTrackSettings
|
|
8
9
|
import live.hms.video.media.settings.HMSVideoResolution
|
|
9
10
|
import live.hms.video.media.settings.HMSVideoTrackSettings
|
|
10
11
|
import live.hms.video.media.tracks.*
|
|
@@ -28,26 +29,11 @@ object HmsHelper {
|
|
|
28
29
|
return false
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
|
-
"Float" -> {
|
|
32
|
-
if (map.getDouble(key) == null) {
|
|
33
|
-
return false
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
"Boolean" -> {
|
|
37
|
-
if (map.getBoolean(key) == null) {
|
|
38
|
-
return false
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
32
|
"Array" -> {
|
|
42
33
|
if (map.getArray(key) == null) {
|
|
43
34
|
return false
|
|
44
35
|
}
|
|
45
36
|
}
|
|
46
|
-
"Int" -> {
|
|
47
|
-
if (map.getInt(key) == null) {
|
|
48
|
-
return false
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
37
|
"Map" -> {
|
|
52
38
|
if (map.getMap(key) == null) {
|
|
53
39
|
return false
|
|
@@ -174,13 +160,54 @@ object HmsHelper {
|
|
|
174
160
|
return null
|
|
175
161
|
}
|
|
176
162
|
|
|
177
|
-
fun
|
|
178
|
-
|
|
163
|
+
fun getTrackSettings(data: ReadableMap?): HMSTrackSettings? {
|
|
164
|
+
if (data == null) {
|
|
165
|
+
return null
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
var useHardwareEchoCancellation = false
|
|
169
|
+
val requiredKeysUseHardwareEchoCancellation =
|
|
170
|
+
this.areAllRequiredKeysAvailable(
|
|
171
|
+
data,
|
|
172
|
+
arrayOf(Pair("useHardwareEchoCancellation", "Boolean"))
|
|
173
|
+
)
|
|
174
|
+
if (requiredKeysUseHardwareEchoCancellation) {
|
|
175
|
+
useHardwareEchoCancellation = data.getBoolean("useHardwareEchoCancellation")
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
var video: ReadableMap? = null
|
|
179
|
+
val requiredKeysVideo = this.areAllRequiredKeysAvailable(data, arrayOf(Pair("video", "Map")))
|
|
180
|
+
if (requiredKeysVideo) {
|
|
181
|
+
video = data.getMap("video")
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
var audio: ReadableMap? = null
|
|
185
|
+
val requiredKeysAudio = this.areAllRequiredKeysAvailable(data, arrayOf(Pair("audio", "Map")))
|
|
186
|
+
if (requiredKeysAudio) {
|
|
187
|
+
audio = data.getMap("audio")
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
if (video == null && audio == null && !useHardwareEchoCancellation) {
|
|
191
|
+
return null
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
val videoSettings = this.getVideoTrackSettings(video)
|
|
195
|
+
val audioSettings = this.getAudioTrackSettings(audio, useHardwareEchoCancellation)
|
|
196
|
+
val trackSettingsBuilder = HMSTrackSettings.Builder()
|
|
197
|
+
return trackSettingsBuilder.audio(audioSettings).video(videoSettings).build()
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
private fun getAudioTrackSettings(
|
|
201
|
+
data: ReadableMap?,
|
|
202
|
+
useHardwareEchoCancellation: Boolean
|
|
203
|
+
): HMSAudioTrackSettings {
|
|
204
|
+
val builder =
|
|
205
|
+
HMSAudioTrackSettings.Builder()
|
|
206
|
+
.setUseHardwareAcousticEchoCanceler(useHardwareEchoCancellation)
|
|
179
207
|
|
|
180
208
|
if (data != null) {
|
|
181
209
|
val maxBitrate = data.getInt("maxBitrate")
|
|
182
210
|
val codec = getAudioCodec(data.getString("codec"))
|
|
183
|
-
val trackDescription = data.getString("trackDescription")
|
|
184
211
|
|
|
185
212
|
builder.maxBitrate(maxBitrate)
|
|
186
213
|
builder.codec(codec)
|
|
@@ -189,9 +216,9 @@ object HmsHelper {
|
|
|
189
216
|
return builder.build()
|
|
190
217
|
}
|
|
191
218
|
|
|
192
|
-
// TODO: find out a way to set settings required to create
|
|
219
|
+
// TODO: find out a way to set settings required to create HMSVideoTrackSettings
|
|
193
220
|
|
|
194
|
-
fun getVideoTrackSettings(data: ReadableMap?): HMSVideoTrackSettings {
|
|
221
|
+
private fun getVideoTrackSettings(data: ReadableMap?): HMSVideoTrackSettings {
|
|
195
222
|
val builder = HMSVideoTrackSettings.Builder()
|
|
196
223
|
if (data != null) {
|
|
197
224
|
val codec = getVideoCodec(data.getString("codec"))
|
|
@@ -199,7 +226,6 @@ object HmsHelper {
|
|
|
199
226
|
val maxBitrate = data.getInt("maxBitrate")
|
|
200
227
|
val maxFrameRate = data.getInt("maxFrameRate")
|
|
201
228
|
val cameraFacing = getCameraFacing(data.getString("cameraFacing"))
|
|
202
|
-
val trackDescription = data.getString("trackDescription")
|
|
203
229
|
|
|
204
230
|
builder.codec(codec)
|
|
205
231
|
builder.cameraFacing(cameraFacing)
|
|
@@ -212,7 +238,7 @@ object HmsHelper {
|
|
|
212
238
|
return builder.build()
|
|
213
239
|
}
|
|
214
240
|
|
|
215
|
-
fun getVideoResolution(map: ReadableMap?): HMSVideoResolution? {
|
|
241
|
+
private fun getVideoResolution(map: ReadableMap?): HMSVideoResolution? {
|
|
216
242
|
val width = map?.getDouble("width")
|
|
217
243
|
val height = map?.getDouble("height")
|
|
218
244
|
|
|
@@ -223,7 +249,7 @@ object HmsHelper {
|
|
|
223
249
|
}
|
|
224
250
|
}
|
|
225
251
|
|
|
226
|
-
fun getAudioCodec(codecString: String?): HMSAudioCodec {
|
|
252
|
+
private fun getAudioCodec(codecString: String?): HMSAudioCodec {
|
|
227
253
|
when (codecString) {
|
|
228
254
|
"opus" -> {
|
|
229
255
|
return HMSAudioCodec.OPUS
|
|
@@ -232,22 +258,22 @@ object HmsHelper {
|
|
|
232
258
|
return HMSAudioCodec.OPUS
|
|
233
259
|
}
|
|
234
260
|
|
|
235
|
-
fun getVideoCodec(codecString: String?): HMSVideoCodec {
|
|
261
|
+
private fun getVideoCodec(codecString: String?): HMSVideoCodec {
|
|
236
262
|
when (codecString) {
|
|
237
|
-
"
|
|
263
|
+
"H264" -> {
|
|
238
264
|
return HMSVideoCodec.H264
|
|
239
265
|
}
|
|
240
|
-
"
|
|
266
|
+
"VP8" -> {
|
|
241
267
|
return HMSVideoCodec.VP8
|
|
242
268
|
}
|
|
243
|
-
"
|
|
269
|
+
"VP9" -> {
|
|
244
270
|
return HMSVideoCodec.VP9
|
|
245
271
|
}
|
|
246
272
|
}
|
|
247
273
|
return HMSVideoCodec.H264
|
|
248
274
|
}
|
|
249
275
|
|
|
250
|
-
fun getCameraFacing(cameraFacing: String?): HMSVideoTrackSettings.CameraFacing {
|
|
276
|
+
private fun getCameraFacing(cameraFacing: String?): HMSVideoTrackSettings.CameraFacing {
|
|
251
277
|
when (cameraFacing) {
|
|
252
278
|
"FRONT" -> {
|
|
253
279
|
return HMSVideoTrackSettings.CameraFacing.FRONT
|
|
@@ -262,10 +288,10 @@ object HmsHelper {
|
|
|
262
288
|
fun getHms(credentials: ReadableMap, hmsCollection: MutableMap<String, HmsSDK>): HmsSDK? {
|
|
263
289
|
val id = credentials.getString("id")
|
|
264
290
|
|
|
265
|
-
if (id != null) {
|
|
266
|
-
|
|
291
|
+
return if (id != null) {
|
|
292
|
+
hmsCollection[id]
|
|
267
293
|
} else {
|
|
268
|
-
|
|
294
|
+
null
|
|
269
295
|
}
|
|
270
296
|
}
|
|
271
297
|
|
|
@@ -278,4 +304,29 @@ object HmsHelper {
|
|
|
278
304
|
}
|
|
279
305
|
return rtmpURLs
|
|
280
306
|
}
|
|
307
|
+
|
|
308
|
+
fun getHMSHLSMeetingURLVariants(
|
|
309
|
+
hmsMeetingURLVariants: ArrayList<HashMap<String, String>>?
|
|
310
|
+
): List<HMSHLSMeetingURLVariant> {
|
|
311
|
+
val meetingURLVariants = mutableListOf<HMSHLSMeetingURLVariant>()
|
|
312
|
+
if (hmsMeetingURLVariants !== null) {
|
|
313
|
+
for (variant in hmsMeetingURLVariants) {
|
|
314
|
+
val meetingURLVariant = this.getHMSHLSMeetingURLVariant(variant)
|
|
315
|
+
meetingURLVariants.add(meetingURLVariant)
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
return meetingURLVariants
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
private fun getHMSHLSMeetingURLVariant(
|
|
322
|
+
hmsMeetingURLVariant: HashMap<String, String>?
|
|
323
|
+
): HMSHLSMeetingURLVariant {
|
|
324
|
+
var meetingURLVariant = HMSHLSMeetingURLVariant("", "")
|
|
325
|
+
if (hmsMeetingURLVariant !== null) {
|
|
326
|
+
val meetingUrl = hmsMeetingURLVariant["meetingUrl"] as String
|
|
327
|
+
val metadata = hmsMeetingURLVariant["metadata"] as String
|
|
328
|
+
meetingURLVariant = HMSHLSMeetingURLVariant(meetingUrl, metadata)
|
|
329
|
+
}
|
|
330
|
+
return meetingURLVariant
|
|
331
|
+
}
|
|
281
332
|
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
package com.reactnativehmssdk
|
|
2
2
|
|
|
3
|
+
import android.app.Activity
|
|
4
|
+
import android.app.Application
|
|
5
|
+
import android.os.Bundle
|
|
3
6
|
import com.facebook.react.bridge.*
|
|
4
7
|
import com.facebook.react.module.annotations.ReactModule
|
|
5
8
|
import com.facebook.react.modules.core.DeviceEventManagerModule
|
|
@@ -7,11 +10,12 @@ import com.reactnativehmssdk.HmsModule.Companion.REACT_CLASS
|
|
|
7
10
|
import java.util.UUID
|
|
8
11
|
|
|
9
12
|
@ReactModule(name = REACT_CLASS)
|
|
10
|
-
class HmsModule(reactContext: ReactApplicationContext) :
|
|
13
|
+
class HmsModule(reactContext: ReactApplicationContext) :
|
|
14
|
+
ReactContextBaseJavaModule(reactContext), Application.ActivityLifecycleCallbacks {
|
|
11
15
|
companion object {
|
|
12
16
|
const val REACT_CLASS = "HmsManager"
|
|
17
|
+
var hmsCollection = mutableMapOf<String, HmsSDK>()
|
|
13
18
|
}
|
|
14
|
-
private var hmsCollection = mutableMapOf<String, HmsSDK>()
|
|
15
19
|
override fun getName(): String {
|
|
16
20
|
return "HmsManager"
|
|
17
21
|
}
|
|
@@ -28,14 +32,14 @@ class HmsModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMod
|
|
|
28
32
|
if (hasItem) {
|
|
29
33
|
val uuid = UUID.randomUUID()
|
|
30
34
|
val randomUUIDString = uuid.toString()
|
|
31
|
-
val sdkInstance
|
|
35
|
+
val sdkInstance = HmsSDK(data, this, randomUUIDString, reactApplicationContext)
|
|
32
36
|
|
|
33
37
|
hmsCollection[randomUUIDString] = sdkInstance
|
|
34
38
|
|
|
35
39
|
callback?.resolve(randomUUIDString)
|
|
36
40
|
} else {
|
|
37
41
|
val randomUUIDString = "12345"
|
|
38
|
-
val sdkInstance
|
|
42
|
+
val sdkInstance = HmsSDK(data, this, randomUUIDString, reactApplicationContext)
|
|
39
43
|
|
|
40
44
|
hmsCollection[randomUUIDString] = sdkInstance
|
|
41
45
|
|
|
@@ -86,45 +90,45 @@ class HmsModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMod
|
|
|
86
90
|
}
|
|
87
91
|
|
|
88
92
|
@ReactMethod
|
|
89
|
-
fun sendBroadcastMessage(data: ReadableMap) {
|
|
93
|
+
fun sendBroadcastMessage(data: ReadableMap, callback: Promise?) {
|
|
90
94
|
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
91
95
|
|
|
92
|
-
hms?.sendBroadcastMessage(data)
|
|
96
|
+
hms?.sendBroadcastMessage(data, callback)
|
|
93
97
|
}
|
|
94
98
|
|
|
95
99
|
@ReactMethod
|
|
96
|
-
fun sendGroupMessage(data: ReadableMap) {
|
|
100
|
+
fun sendGroupMessage(data: ReadableMap, callback: Promise?) {
|
|
97
101
|
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
98
102
|
|
|
99
|
-
hms?.sendGroupMessage(data)
|
|
103
|
+
hms?.sendGroupMessage(data, callback)
|
|
100
104
|
}
|
|
101
105
|
|
|
102
106
|
@ReactMethod
|
|
103
|
-
fun sendDirectMessage(data: ReadableMap) {
|
|
107
|
+
fun sendDirectMessage(data: ReadableMap, callback: Promise?) {
|
|
104
108
|
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
105
109
|
|
|
106
|
-
hms?.sendDirectMessage(data)
|
|
110
|
+
hms?.sendDirectMessage(data, callback)
|
|
107
111
|
}
|
|
108
112
|
|
|
109
113
|
@ReactMethod
|
|
110
|
-
fun changeRole(data: ReadableMap) {
|
|
114
|
+
fun changeRole(data: ReadableMap, callback: Promise?) {
|
|
111
115
|
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
112
116
|
|
|
113
|
-
hms?.changeRole(data)
|
|
117
|
+
hms?.changeRole(data, callback)
|
|
114
118
|
}
|
|
115
119
|
|
|
116
120
|
@ReactMethod
|
|
117
|
-
fun changeTrackState(data: ReadableMap) {
|
|
121
|
+
fun changeTrackState(data: ReadableMap, callback: Promise?) {
|
|
118
122
|
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
119
123
|
|
|
120
|
-
hms?.changeTrackState(data)
|
|
124
|
+
hms?.changeTrackState(data, callback)
|
|
121
125
|
}
|
|
122
126
|
|
|
123
127
|
@ReactMethod
|
|
124
|
-
fun
|
|
128
|
+
fun changeTrackStateForRoles(data: ReadableMap, callback: Promise?) {
|
|
125
129
|
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
126
130
|
|
|
127
|
-
hms?.
|
|
131
|
+
hms?.changeTrackStateForRoles(data, callback)
|
|
128
132
|
}
|
|
129
133
|
|
|
130
134
|
@ReactMethod
|
|
@@ -135,10 +139,10 @@ class HmsModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMod
|
|
|
135
139
|
}
|
|
136
140
|
|
|
137
141
|
@ReactMethod
|
|
138
|
-
fun removePeer(data: ReadableMap) {
|
|
142
|
+
fun removePeer(data: ReadableMap, callback: Promise?) {
|
|
139
143
|
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
140
144
|
|
|
141
|
-
hms?.removePeer(data)
|
|
145
|
+
hms?.removePeer(data, callback)
|
|
142
146
|
}
|
|
143
147
|
|
|
144
148
|
@ReactMethod
|
|
@@ -163,17 +167,17 @@ class HmsModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMod
|
|
|
163
167
|
}
|
|
164
168
|
|
|
165
169
|
@ReactMethod
|
|
166
|
-
fun endRoom(data: ReadableMap) {
|
|
170
|
+
fun endRoom(data: ReadableMap, callback: Promise?) {
|
|
167
171
|
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
168
172
|
|
|
169
|
-
hms?.endRoom(data)
|
|
173
|
+
hms?.endRoom(data, callback)
|
|
170
174
|
}
|
|
171
175
|
|
|
172
176
|
@ReactMethod
|
|
173
|
-
fun acceptRoleChange(data: ReadableMap) {
|
|
177
|
+
fun acceptRoleChange(data: ReadableMap, callback: Promise?) {
|
|
174
178
|
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
175
179
|
|
|
176
|
-
hms?.acceptRoleChange()
|
|
180
|
+
hms?.acceptRoleChange(callback)
|
|
177
181
|
}
|
|
178
182
|
|
|
179
183
|
@ReactMethod
|
|
@@ -204,6 +208,29 @@ class HmsModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMod
|
|
|
204
208
|
hms?.changeMetadata(data, callback)
|
|
205
209
|
}
|
|
206
210
|
|
|
211
|
+
@ReactMethod
|
|
212
|
+
fun startScreenshare(data: ReadableMap) {
|
|
213
|
+
currentActivity?.application?.registerActivityLifecycleCallbacks(this)
|
|
214
|
+
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
215
|
+
|
|
216
|
+
hms?.startScreenshare()
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
@ReactMethod
|
|
220
|
+
fun isScreenShared(data: ReadableMap, callback: Promise?) {
|
|
221
|
+
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
222
|
+
|
|
223
|
+
hms?.isScreenShared(callback)
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
@ReactMethod
|
|
227
|
+
fun stopScreenshare(data: ReadableMap, callback: Promise?) {
|
|
228
|
+
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
229
|
+
|
|
230
|
+
currentActivity?.application?.unregisterActivityLifecycleCallbacks(this)
|
|
231
|
+
hms?.stopScreenshare(callback)
|
|
232
|
+
}
|
|
233
|
+
|
|
207
234
|
@ReactMethod
|
|
208
235
|
fun startRTMPOrRecording(data: ReadableMap, callback: Promise?) {
|
|
209
236
|
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
@@ -218,9 +245,59 @@ class HmsModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMod
|
|
|
218
245
|
hms?.stopRtmpAndRecording(callback)
|
|
219
246
|
}
|
|
220
247
|
|
|
248
|
+
@ReactMethod
|
|
249
|
+
fun startHLSStreaming(data: ReadableMap, callback: Promise?) {
|
|
250
|
+
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
251
|
+
|
|
252
|
+
hms?.startHLSStreaming(data, callback)
|
|
253
|
+
}
|
|
254
|
+
|
|
255
|
+
@ReactMethod
|
|
256
|
+
fun stopHLSStreaming(data: ReadableMap, callback: Promise?) {
|
|
257
|
+
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
258
|
+
|
|
259
|
+
hms?.stopHLSStreaming(callback)
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
@ReactMethod
|
|
263
|
+
fun resetVolume(data: ReadableMap) {
|
|
264
|
+
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
265
|
+
|
|
266
|
+
hms?.resetVolume()
|
|
267
|
+
}
|
|
268
|
+
|
|
221
269
|
fun emitEvent(event: String, data: WritableMap) {
|
|
222
270
|
reactApplicationContext
|
|
223
271
|
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
|
|
224
272
|
.emit(event, data)
|
|
225
273
|
}
|
|
274
|
+
|
|
275
|
+
override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {}
|
|
276
|
+
|
|
277
|
+
override fun onActivityStarted(activity: Activity) {}
|
|
278
|
+
|
|
279
|
+
override fun onActivityResumed(activity: Activity) {}
|
|
280
|
+
|
|
281
|
+
override fun onActivityPaused(activity: Activity) {}
|
|
282
|
+
|
|
283
|
+
override fun onActivityStopped(activity: Activity) {}
|
|
284
|
+
|
|
285
|
+
override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {}
|
|
286
|
+
|
|
287
|
+
override fun onActivityDestroyed(activity: Activity) {
|
|
288
|
+
try {
|
|
289
|
+
if (activity.componentName.shortClassName == ".MainActivity") {
|
|
290
|
+
for (key in hmsCollection.keys) {
|
|
291
|
+
val hmsLocalPeer = hmsCollection[key]?.hmsSDK?.getLocalPeer()
|
|
292
|
+
if (hmsLocalPeer != null) {
|
|
293
|
+
hmsCollection[key]?.leave(null)
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
currentActivity?.application?.unregisterActivityLifecycleCallbacks(this)
|
|
297
|
+
hmsCollection = mutableMapOf<String, HmsSDK>()
|
|
298
|
+
}
|
|
299
|
+
} catch (e: Exception) {
|
|
300
|
+
// Log.d("error", e.message)
|
|
301
|
+
}
|
|
302
|
+
}
|
|
226
303
|
}
|