@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
|
@@ -11,6 +11,7 @@ import live.hms.video.media.settings.HMSVideoTrackSettings
|
|
|
11
11
|
import live.hms.video.media.tracks.*
|
|
12
12
|
import live.hms.video.sdk.models.*
|
|
13
13
|
import live.hms.video.sdk.models.role.*
|
|
14
|
+
import live.hms.video.utils.HmsUtilities
|
|
14
15
|
|
|
15
16
|
object HmsHelper {
|
|
16
17
|
|
|
@@ -47,24 +48,16 @@ object HmsHelper {
|
|
|
47
48
|
return true
|
|
48
49
|
}
|
|
49
50
|
|
|
50
|
-
fun getPeerFromPeerId(peerId: String?,
|
|
51
|
-
if (peerId != null &&
|
|
52
|
-
|
|
53
|
-
if (peerId == peer.peerID) {
|
|
54
|
-
return peer
|
|
55
|
-
}
|
|
56
|
-
}
|
|
51
|
+
fun getPeerFromPeerId(peerId: String?, room: HMSRoom?): HMSPeer? {
|
|
52
|
+
if (peerId != null && room != null) {
|
|
53
|
+
return HmsUtilities.getPeer(peerId, room)
|
|
57
54
|
}
|
|
58
55
|
return null
|
|
59
56
|
}
|
|
60
57
|
|
|
61
|
-
fun getRemotePeerFromPeerId(peerId: String?,
|
|
62
|
-
if (peerId != null &&
|
|
63
|
-
|
|
64
|
-
if (peerId == peer.peerID) {
|
|
65
|
-
return peer
|
|
66
|
-
}
|
|
67
|
-
}
|
|
58
|
+
fun getRemotePeerFromPeerId(peerId: String?, room: HMSRoom?): HMSRemotePeer? {
|
|
59
|
+
if (peerId != null && room != null) {
|
|
60
|
+
return HmsUtilities.getPeer(peerId, room) as? HMSRemotePeer
|
|
68
61
|
}
|
|
69
62
|
return null
|
|
70
63
|
}
|
|
@@ -98,64 +91,23 @@ object HmsHelper {
|
|
|
98
91
|
return null
|
|
99
92
|
}
|
|
100
93
|
|
|
101
|
-
fun getRemoteAudioTrackFromTrackId(
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
): HMSRemoteAudioTrack? {
|
|
105
|
-
if (trackId != null && remotePeers != null) {
|
|
106
|
-
for (remotePeer in remotePeers) {
|
|
107
|
-
if (remotePeer.audioTrack?.trackId == trackId) {
|
|
108
|
-
return remotePeer.audioTrack as HMSRemoteAudioTrack
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
return null
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
fun getRemoteVideoTrackFromTrackId(
|
|
116
|
-
trackId: String?,
|
|
117
|
-
remotePeers: Array<HMSRemotePeer>?
|
|
118
|
-
): HMSRemoteVideoTrack? {
|
|
119
|
-
if (trackId != null && remotePeers != null) {
|
|
120
|
-
for (remotePeer in remotePeers) {
|
|
121
|
-
if (remotePeer.videoTrack?.trackId == trackId) {
|
|
122
|
-
return remotePeer.videoTrack as HMSRemoteVideoTrack
|
|
123
|
-
}
|
|
124
|
-
}
|
|
94
|
+
fun getRemoteAudioTrackFromTrackId(trackId: String?, room: HMSRoom?): HMSRemoteAudioTrack? {
|
|
95
|
+
if (trackId != null && room != null) {
|
|
96
|
+
return HmsUtilities.getAudioTrack(trackId, room) as? HMSRemoteAudioTrack
|
|
125
97
|
}
|
|
126
98
|
return null
|
|
127
99
|
}
|
|
128
100
|
|
|
129
|
-
fun
|
|
130
|
-
if (trackId != null &&
|
|
131
|
-
|
|
132
|
-
if (remotePeer.audioTrack?.trackId == trackId) {
|
|
133
|
-
return remotePeer.audioTrack as HMSTrack
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
if (remotePeer.videoTrack?.trackId == trackId) {
|
|
137
|
-
return remotePeer.videoTrack as HMSTrack
|
|
138
|
-
}
|
|
139
|
-
}
|
|
101
|
+
fun getRemoteVideoTrackFromTrackId(trackId: String?, room: HMSRoom?): HMSRemoteVideoTrack? {
|
|
102
|
+
if (trackId != null && room != null) {
|
|
103
|
+
return HmsUtilities.getVideoTrack(trackId, room) as? HMSRemoteVideoTrack
|
|
140
104
|
}
|
|
141
105
|
return null
|
|
142
106
|
}
|
|
143
107
|
|
|
144
|
-
fun
|
|
145
|
-
if (trackId != null &&
|
|
146
|
-
|
|
147
|
-
return localPeer.audioTrack as HMSTrack
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
if (localPeer.videoTrack?.trackId == trackId) {
|
|
151
|
-
return localPeer.videoTrack as HMSTrack
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
for (auxTrack in localPeer.auxiliaryTracks) {
|
|
155
|
-
if (auxTrack.trackId == trackId) {
|
|
156
|
-
return auxTrack
|
|
157
|
-
}
|
|
158
|
-
}
|
|
108
|
+
fun getTrackFromTrackId(trackId: String?, room: HMSRoom?): HMSTrack? {
|
|
109
|
+
if (trackId != null && room != null) {
|
|
110
|
+
return HmsUtilities.getTrack(trackId, room)
|
|
159
111
|
}
|
|
160
112
|
return null
|
|
161
113
|
}
|
|
@@ -304,4 +256,55 @@ object HmsHelper {
|
|
|
304
256
|
}
|
|
305
257
|
return rtmpURLs
|
|
306
258
|
}
|
|
259
|
+
|
|
260
|
+
fun getHMSHLSMeetingURLVariants(
|
|
261
|
+
hmsMeetingURLVariants: ArrayList<HashMap<String, String>>?
|
|
262
|
+
): List<HMSHLSMeetingURLVariant> {
|
|
263
|
+
val meetingURLVariants = mutableListOf<HMSHLSMeetingURLVariant>()
|
|
264
|
+
if (hmsMeetingURLVariants !== null) {
|
|
265
|
+
for (variant in hmsMeetingURLVariants) {
|
|
266
|
+
val meetingURLVariant = this.getHMSHLSMeetingURLVariant(variant)
|
|
267
|
+
meetingURLVariants.add(meetingURLVariant)
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
return meetingURLVariants
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
fun getHlsRecordingConfig(data: ReadableMap): HMSHlsRecordingConfig? {
|
|
274
|
+
if (areAllRequiredKeysAvailable(data, arrayOf(Pair("hlsRecordingConfig", "Map")))) {
|
|
275
|
+
val hmsHlsRecordingConfig = data.getMap("hlsRecordingConfig")
|
|
276
|
+
if (hmsHlsRecordingConfig != null) {
|
|
277
|
+
var singleFilePerLayer = false
|
|
278
|
+
var videoOnDemand = false
|
|
279
|
+
if (areAllRequiredKeysAvailable(
|
|
280
|
+
hmsHlsRecordingConfig,
|
|
281
|
+
arrayOf(Pair("singleFilePerLayer", "Boolean"))
|
|
282
|
+
)
|
|
283
|
+
) {
|
|
284
|
+
singleFilePerLayer = hmsHlsRecordingConfig.getBoolean("singleFilePerLayer")
|
|
285
|
+
}
|
|
286
|
+
if (areAllRequiredKeysAvailable(
|
|
287
|
+
hmsHlsRecordingConfig,
|
|
288
|
+
arrayOf(Pair("videoOnDemand", "Boolean"))
|
|
289
|
+
)
|
|
290
|
+
) {
|
|
291
|
+
videoOnDemand = hmsHlsRecordingConfig.getBoolean("videoOnDemand")
|
|
292
|
+
}
|
|
293
|
+
return HMSHlsRecordingConfig(singleFilePerLayer, videoOnDemand)
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
return null
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
private fun getHMSHLSMeetingURLVariant(
|
|
300
|
+
hmsMeetingURLVariant: HashMap<String, String>?
|
|
301
|
+
): HMSHLSMeetingURLVariant {
|
|
302
|
+
var meetingURLVariant = HMSHLSMeetingURLVariant("", "")
|
|
303
|
+
if (hmsMeetingURLVariant !== null) {
|
|
304
|
+
val meetingUrl = hmsMeetingURLVariant["meetingUrl"] as String
|
|
305
|
+
val metadata = hmsMeetingURLVariant["metadata"] as String
|
|
306
|
+
meetingURLVariant = HMSHLSMeetingURLVariant(meetingUrl, metadata)
|
|
307
|
+
}
|
|
308
|
+
return meetingURLVariant
|
|
309
|
+
}
|
|
307
310
|
}
|
|
@@ -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
|
}
|
|
@@ -121,10 +125,10 @@ class HmsModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMod
|
|
|
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
|
|
@@ -191,10 +195,17 @@ class HmsModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMod
|
|
|
191
195
|
}
|
|
192
196
|
|
|
193
197
|
@ReactMethod
|
|
194
|
-
fun
|
|
198
|
+
fun setPlaybackForAllAudio(data: ReadableMap) {
|
|
195
199
|
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
196
200
|
|
|
197
|
-
hms?.
|
|
201
|
+
hms?.setPlaybackForAllAudio(data)
|
|
202
|
+
}
|
|
203
|
+
|
|
204
|
+
@ReactMethod
|
|
205
|
+
fun remoteMuteAllAudio(data: ReadableMap) {
|
|
206
|
+
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
207
|
+
|
|
208
|
+
hms?.remoteMuteAllAudio()
|
|
198
209
|
}
|
|
199
210
|
|
|
200
211
|
@ReactMethod
|
|
@@ -204,6 +215,29 @@ class HmsModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMod
|
|
|
204
215
|
hms?.changeMetadata(data, callback)
|
|
205
216
|
}
|
|
206
217
|
|
|
218
|
+
@ReactMethod
|
|
219
|
+
fun startScreenshare(data: ReadableMap, callback: Promise?) {
|
|
220
|
+
currentActivity?.application?.registerActivityLifecycleCallbacks(this)
|
|
221
|
+
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
222
|
+
|
|
223
|
+
hms?.startScreenshare(callback)
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
@ReactMethod
|
|
227
|
+
fun isScreenShared(data: ReadableMap, callback: Promise?) {
|
|
228
|
+
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
229
|
+
|
|
230
|
+
hms?.isScreenShared(callback)
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
@ReactMethod
|
|
234
|
+
fun stopScreenshare(data: ReadableMap, callback: Promise?) {
|
|
235
|
+
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
236
|
+
|
|
237
|
+
currentActivity?.application?.unregisterActivityLifecycleCallbacks(this)
|
|
238
|
+
hms?.stopScreenshare(callback)
|
|
239
|
+
}
|
|
240
|
+
|
|
207
241
|
@ReactMethod
|
|
208
242
|
fun startRTMPOrRecording(data: ReadableMap, callback: Promise?) {
|
|
209
243
|
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
@@ -218,9 +252,66 @@ class HmsModule(reactContext: ReactApplicationContext) : ReactContextBaseJavaMod
|
|
|
218
252
|
hms?.stopRtmpAndRecording(callback)
|
|
219
253
|
}
|
|
220
254
|
|
|
255
|
+
@ReactMethod
|
|
256
|
+
fun startHLSStreaming(data: ReadableMap, callback: Promise?) {
|
|
257
|
+
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
258
|
+
|
|
259
|
+
hms?.startHLSStreaming(data, callback)
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
@ReactMethod
|
|
263
|
+
fun stopHLSStreaming(data: ReadableMap, callback: Promise?) {
|
|
264
|
+
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
265
|
+
|
|
266
|
+
hms?.stopHLSStreaming(callback)
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
@ReactMethod
|
|
270
|
+
fun resetVolume(data: ReadableMap) {
|
|
271
|
+
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
272
|
+
|
|
273
|
+
hms?.resetVolume()
|
|
274
|
+
}
|
|
275
|
+
|
|
276
|
+
@ReactMethod
|
|
277
|
+
fun changeName(data: ReadableMap, callback: Promise?) {
|
|
278
|
+
val hms = HmsHelper.getHms(data, hmsCollection)
|
|
279
|
+
|
|
280
|
+
hms?.changeName(data, callback)
|
|
281
|
+
}
|
|
282
|
+
|
|
221
283
|
fun emitEvent(event: String, data: WritableMap) {
|
|
222
284
|
reactApplicationContext
|
|
223
285
|
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
|
|
224
286
|
.emit(event, data)
|
|
225
287
|
}
|
|
288
|
+
|
|
289
|
+
override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) {}
|
|
290
|
+
|
|
291
|
+
override fun onActivityStarted(activity: Activity) {}
|
|
292
|
+
|
|
293
|
+
override fun onActivityResumed(activity: Activity) {}
|
|
294
|
+
|
|
295
|
+
override fun onActivityPaused(activity: Activity) {}
|
|
296
|
+
|
|
297
|
+
override fun onActivityStopped(activity: Activity) {}
|
|
298
|
+
|
|
299
|
+
override fun onActivitySaveInstanceState(activity: Activity, outState: Bundle) {}
|
|
300
|
+
|
|
301
|
+
override fun onActivityDestroyed(activity: Activity) {
|
|
302
|
+
try {
|
|
303
|
+
if (activity.componentName.shortClassName == ".MainActivity") {
|
|
304
|
+
for (key in hmsCollection.keys) {
|
|
305
|
+
val hmsLocalPeer = hmsCollection[key]?.hmsSDK?.getLocalPeer()
|
|
306
|
+
if (hmsLocalPeer != null) {
|
|
307
|
+
hmsCollection[key]?.leave(null)
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
currentActivity?.application?.unregisterActivityLifecycleCallbacks(this)
|
|
311
|
+
hmsCollection = mutableMapOf()
|
|
312
|
+
}
|
|
313
|
+
} catch (e: Exception) {
|
|
314
|
+
// Log.d("error", e.message)
|
|
315
|
+
}
|
|
316
|
+
}
|
|
226
317
|
}
|