@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
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
package com.reactnativehmssdk
|
|
2
|
+
|
|
3
|
+
import android.app.Activity
|
|
4
|
+
import android.content.Context
|
|
5
|
+
import android.content.Intent
|
|
6
|
+
import android.media.projection.MediaProjectionManager
|
|
7
|
+
import android.os.Bundle
|
|
8
|
+
import androidx.activity.ComponentActivity
|
|
9
|
+
import androidx.activity.result.ActivityResultLauncher
|
|
10
|
+
import androidx.activity.result.contract.ActivityResultContracts
|
|
11
|
+
import com.facebook.react.bridge.Arguments
|
|
12
|
+
import com.facebook.react.bridge.WritableMap
|
|
13
|
+
import live.hms.video.error.HMSException
|
|
14
|
+
import live.hms.video.sdk.HMSActionResultListener
|
|
15
|
+
|
|
16
|
+
class HmsScreenshareActivity : ComponentActivity() {
|
|
17
|
+
private var resultLauncher: ActivityResultLauncher<Intent> =
|
|
18
|
+
this.registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
|
|
19
|
+
if (result.resultCode == Activity.RESULT_OK) {
|
|
20
|
+
val mediaProjectionPermissionResultData: Intent? = result.data
|
|
21
|
+
val id = intent.getStringExtra("id")
|
|
22
|
+
HmsModule.hmsCollection[id]?.hmsSDK?.startScreenshare(
|
|
23
|
+
object : HMSActionResultListener {
|
|
24
|
+
override fun onError(error: HMSException) {
|
|
25
|
+
finish()
|
|
26
|
+
HmsModule.hmsCollection[id]?.screenshareCallback?.reject(error)
|
|
27
|
+
HmsModule.hmsCollection[id]?.emitHMSError(error)
|
|
28
|
+
}
|
|
29
|
+
override fun onSuccess() {
|
|
30
|
+
HmsModule.hmsCollection[id]?.screenshareCallback?.resolve(
|
|
31
|
+
HmsModule.hmsCollection[id]?.emitHMSSuccess()
|
|
32
|
+
)
|
|
33
|
+
finish()
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
mediaProjectionPermissionResultData
|
|
37
|
+
)
|
|
38
|
+
} else {
|
|
39
|
+
val id = intent.getStringExtra("id")
|
|
40
|
+
val data: WritableMap = Arguments.createMap()
|
|
41
|
+
data.putBoolean("success", true)
|
|
42
|
+
data.putString("message", "RESULT_CANCELED")
|
|
43
|
+
HmsModule.hmsCollection[id]?.screenshareCallback?.resolve(data)
|
|
44
|
+
finish()
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
override fun onCreate(savedInstanceState: Bundle?) {
|
|
49
|
+
super.onCreate(savedInstanceState)
|
|
50
|
+
startScreenshare()
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
private fun startScreenshare() {
|
|
54
|
+
val id = intent.getStringExtra("id")
|
|
55
|
+
val isScreenShared = HmsModule.hmsCollection[id]?.hmsSDK?.isScreenShared()
|
|
56
|
+
if (isScreenShared !== null && !isScreenShared) {
|
|
57
|
+
try {
|
|
58
|
+
val mediaProjectionManager =
|
|
59
|
+
getSystemService(Context.MEDIA_PROJECTION_SERVICE) as MediaProjectionManager
|
|
60
|
+
resultLauncher.launch(mediaProjectionManager.createScreenCaptureIntent())
|
|
61
|
+
} catch (e: Exception) {
|
|
62
|
+
println(e)
|
|
63
|
+
}
|
|
64
|
+
} else {
|
|
65
|
+
HmsModule.hmsCollection[id]?.emitHMSError(
|
|
66
|
+
HMSException(
|
|
67
|
+
103,
|
|
68
|
+
"SCREENSHARE_IS_ALREADY_RUNNING",
|
|
69
|
+
"SCREENSHARE_IS_ALREADY_RUNNING",
|
|
70
|
+
"SCREENSHARE_IS_ALREADY_RUNNING",
|
|
71
|
+
"SCREENSHARE_IS_ALREADY_RUNNING"
|
|
72
|
+
)
|
|
73
|
+
)
|
|
74
|
+
finish()
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
package com.reactnativehmssdk
|
|
2
2
|
|
|
3
3
|
import android.annotation.SuppressLint
|
|
4
|
+
import android.content.Context
|
|
5
|
+
import android.view.LayoutInflater
|
|
4
6
|
import android.widget.FrameLayout
|
|
7
|
+
import com.facebook.react.bridge.Arguments
|
|
5
8
|
import com.facebook.react.bridge.ReactContext
|
|
9
|
+
import com.facebook.react.bridge.WritableMap
|
|
10
|
+
import com.facebook.react.uimanager.events.RCTEventEmitter
|
|
6
11
|
import live.hms.video.media.tracks.HMSTrackType
|
|
7
12
|
import live.hms.video.media.tracks.HMSVideoTrack
|
|
8
13
|
import live.hms.video.utils.SharedEglContext
|
|
@@ -14,11 +19,23 @@ class HmsView(context: ReactContext) : FrameLayout(context) {
|
|
|
14
19
|
private var surfaceView: SurfaceViewRenderer = SurfaceViewRenderer(context)
|
|
15
20
|
private var videoTrack: HMSVideoTrack? = null
|
|
16
21
|
private var localTrack: String? = null
|
|
22
|
+
private var scaleTypeApplied: Boolean = false
|
|
23
|
+
private var currentScaleType: RendererCommon.ScalingType =
|
|
24
|
+
RendererCommon.ScalingType.SCALE_ASPECT_FILL
|
|
17
25
|
|
|
18
26
|
init {
|
|
27
|
+
val inflater = getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE) as LayoutInflater
|
|
28
|
+
val view = inflater.inflate(R.layout.hms_view, this)
|
|
29
|
+
|
|
30
|
+
surfaceView = view.findViewById(R.id.surfaceView)
|
|
19
31
|
surfaceView.setEnableHardwareScaler(true)
|
|
20
|
-
|
|
21
|
-
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
private fun onReceiveNativeEvent() {
|
|
35
|
+
val event: WritableMap = Arguments.createMap()
|
|
36
|
+
event.putString("message", "MyMessage")
|
|
37
|
+
val reactContext = context as ReactContext
|
|
38
|
+
reactContext.getJSModule(RCTEventEmitter::class.java).receiveEvent(id, "topChange", event)
|
|
22
39
|
}
|
|
23
40
|
|
|
24
41
|
override fun onDetachedFromWindow() {
|
|
@@ -31,6 +48,12 @@ class HmsView(context: ReactContext) : FrameLayout(context) {
|
|
|
31
48
|
super.onAttachedToWindow()
|
|
32
49
|
surfaceView.init(SharedEglContext.context, null)
|
|
33
50
|
videoTrack?.addSink(surfaceView)
|
|
51
|
+
if (!scaleTypeApplied) {
|
|
52
|
+
if (currentScaleType != RendererCommon.ScalingType.SCALE_ASPECT_FILL) {
|
|
53
|
+
onReceiveNativeEvent()
|
|
54
|
+
}
|
|
55
|
+
scaleTypeApplied = true
|
|
56
|
+
}
|
|
34
57
|
}
|
|
35
58
|
|
|
36
59
|
fun updateScaleType(scaleType: String?) {
|
|
@@ -38,14 +61,17 @@ class HmsView(context: ReactContext) : FrameLayout(context) {
|
|
|
38
61
|
when (scaleType) {
|
|
39
62
|
"ASPECT_FIT" -> {
|
|
40
63
|
surfaceView.setScalingType(RendererCommon.ScalingType.SCALE_ASPECT_FIT)
|
|
64
|
+
currentScaleType = RendererCommon.ScalingType.SCALE_ASPECT_FIT
|
|
41
65
|
return
|
|
42
66
|
}
|
|
43
67
|
"ASPECT_FILL" -> {
|
|
44
68
|
surfaceView.setScalingType(RendererCommon.ScalingType.SCALE_ASPECT_FILL)
|
|
69
|
+
currentScaleType = RendererCommon.ScalingType.SCALE_ASPECT_FILL
|
|
45
70
|
return
|
|
46
71
|
}
|
|
47
72
|
"ASPECT_BALANCED" -> {
|
|
48
73
|
surfaceView.setScalingType((RendererCommon.ScalingType.SCALE_ASPECT_BALANCED))
|
|
74
|
+
currentScaleType = RendererCommon.ScalingType.SCALE_ASPECT_BALANCED
|
|
49
75
|
return
|
|
50
76
|
}
|
|
51
77
|
else -> {
|
|
@@ -62,7 +88,6 @@ class HmsView(context: ReactContext) : FrameLayout(context) {
|
|
|
62
88
|
mirror: Boolean?
|
|
63
89
|
) {
|
|
64
90
|
var sdkId = "12345"
|
|
65
|
-
|
|
66
91
|
if (id != null) {
|
|
67
92
|
sdkId = id
|
|
68
93
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
package com.reactnativehmssdk
|
|
2
2
|
|
|
3
3
|
import com.facebook.react.bridge.ReadableMap
|
|
4
|
+
import com.facebook.react.common.MapBuilder
|
|
4
5
|
import com.facebook.react.uimanager.SimpleViewManager
|
|
5
6
|
import com.facebook.react.uimanager.ThemedReactContext
|
|
6
7
|
import com.facebook.react.uimanager.annotations.ReactProp
|
|
@@ -18,13 +19,21 @@ class HmssdkViewManager : SimpleViewManager<HmsView>() {
|
|
|
18
19
|
return HmsView(reactContext)
|
|
19
20
|
}
|
|
20
21
|
|
|
22
|
+
override fun getExportedCustomBubblingEventTypeConstants(): MutableMap<String, Any>? {
|
|
23
|
+
return MapBuilder.builder<String, Any>()
|
|
24
|
+
.put(
|
|
25
|
+
"topChange",
|
|
26
|
+
MapBuilder.of("phasedRegistrationNames", MapBuilder.of("bubbled", "onChange"))
|
|
27
|
+
)
|
|
28
|
+
.build()
|
|
29
|
+
}
|
|
30
|
+
|
|
21
31
|
@ReactProp(name = "data")
|
|
22
32
|
fun setData(view: HmsView, data: ReadableMap) {
|
|
23
33
|
val trackId = data.getString("trackId")
|
|
24
34
|
// val sink = data.getBoolean("sink")
|
|
25
35
|
val id = data.getString("id")
|
|
26
36
|
val mirror = data.getBoolean("mirror")
|
|
27
|
-
|
|
28
37
|
val hmsCollection = getHms()
|
|
29
38
|
if (hmsCollection != null) {
|
|
30
39
|
view.setData(id, trackId, hmsCollection, mirror)
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
|
3
|
+
xmlns:app="http://schemas.android.com/apk/res-auto"
|
|
4
|
+
xmlns:tools="http://schemas.android.com/tools"
|
|
5
|
+
android:layout_width="match_parent"
|
|
6
|
+
android:layout_height="match_parent"
|
|
7
|
+
android:background="#000">
|
|
8
|
+
|
|
9
|
+
<org.webrtc.SurfaceViewRenderer
|
|
10
|
+
android:id="@+id/surfaceView"
|
|
11
|
+
android:layout_width="wrap_content"
|
|
12
|
+
android:layout_height="wrap_content"
|
|
13
|
+
android:layout_gravity="center"
|
|
14
|
+
app:layout_constraintBottom_toBottomOf="parent"
|
|
15
|
+
app:layout_constraintEnd_toEndOf="parent"
|
|
16
|
+
app:layout_constraintStart_toStartOf="parent"
|
|
17
|
+
app:layout_constraintTop_toTopOf="parent" />
|
|
18
|
+
|
|
19
|
+
</FrameLayout>
|