@100mslive/react-native-hms 0.8.3 → 0.9.1
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 +16 -8
- 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/.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 +58 -5
- package/android/src/main/java/com/reactnativehmssdk/HmsHelper.kt +76 -61
- package/android/src/main/java/com/reactnativehmssdk/HmsModule.kt +99 -8
- package/android/src/main/java/com/reactnativehmssdk/HmsSDK.kt +299 -128
- package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +66 -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 +217 -123
- package/ios/HmsHelper.swift +56 -38
- package/ios/HmsManager.m +11 -3
- package/ios/HmsManager.swift +125 -68
- package/ios/HmsSDK.swift +407 -189
- 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/HMSChangeTrackStateRequest.js +3 -0
- package/lib/commonjs/classes/HMSChangeTrackStateRequest.js.map +1 -1
- package/lib/commonjs/classes/HMSEncoder.js +166 -4
- 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/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 +27 -0
- package/lib/commonjs/classes/HMSLogger.js.map +1 -1
- package/lib/commonjs/classes/HMSPeerUpdate.js +2 -0
- 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 +6 -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 +476 -115
- 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 +140 -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/HMSChangeTrackStateRequest.js +3 -0
- package/lib/module/classes/HMSChangeTrackStateRequest.js.map +1 -1
- package/lib/module/classes/HMSEncoder.js +159 -4
- 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/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 +27 -0
- package/lib/module/classes/HMSLogger.js.map +1 -1
- package/lib/module/classes/HMSPeerUpdate.js +2 -0
- 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 +6 -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 +464 -116
- 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 +10 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +4 -0
- package/lib/typescript/classes/HMSChangeTrackStateRequest.d.ts +2 -0
- package/lib/typescript/classes/HMSEncoder.d.ts +21 -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/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/HMSPeerUpdate.d.ts +3 -1
- 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 +5 -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 +33 -9
- package/lib/typescript/classes/HMSServerRecordingState.d.ts +2 -0
- package/lib/typescript/classes/HMSUpdateListenerActions.d.ts +6 -1
- package/lib/typescript/index.d.ts +10 -0
- package/package.json +1 -1
- package/react-native-hms.podspec +1 -1
- package/src/classes/HMSBrowserRecordingState.ts +10 -1
- package/src/classes/HMSChangeTrackStateRequest.ts +7 -1
- package/src/classes/HMSEncoder.ts +163 -3
- 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/HMSLocalAudioStats.ts +15 -0
- package/src/classes/HMSLocalVideoStats.ts +23 -0
- package/src/classes/HMSLogger.ts +14 -0
- package/src/classes/HMSPeerUpdate.ts +2 -0
- 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 +7 -0
- package/src/classes/HMSRoomUpdate.ts +7 -0
- package/src/classes/HMSRtmpStreamingState.ts +10 -1
- package/src/classes/HMSSDK.tsx +325 -26
- 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 +10 -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
|
@@ -1,19 +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.
|
|
8
|
-
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
|
|
9
13
|
import live.hms.video.sdk.*
|
|
10
14
|
import live.hms.video.sdk.models.*
|
|
11
|
-
import live.hms.video.sdk.models.HMSConfig
|
|
12
15
|
import live.hms.video.sdk.models.enums.HMSPeerUpdate
|
|
13
16
|
import live.hms.video.sdk.models.enums.HMSRoomUpdate
|
|
14
17
|
import live.hms.video.sdk.models.enums.HMSTrackUpdate
|
|
15
18
|
import live.hms.video.sdk.models.trackchangerequest.HMSChangeTrackStateRequest
|
|
16
19
|
import live.hms.video.utils.HMSCoroutineScope
|
|
20
|
+
import live.hms.video.utils.HmsUtilities
|
|
17
21
|
|
|
18
22
|
class HmsSDK(
|
|
19
23
|
data: ReadableMap?,
|
|
@@ -23,29 +27,28 @@ class HmsSDK(
|
|
|
23
27
|
) {
|
|
24
28
|
var hmsSDK: HMSSDK? = null
|
|
25
29
|
private var recentRoleChangeRequest: HMSRoleChangeRequest? = null
|
|
26
|
-
|
|
27
|
-
private var
|
|
30
|
+
var delegate: HmsModule = HmsDelegate
|
|
31
|
+
private var context: ReactApplicationContext = reactApplicationContext
|
|
32
|
+
private var previewInProgress: Boolean = false
|
|
28
33
|
private var id: String = sdkId
|
|
29
34
|
private var self = this
|
|
30
35
|
|
|
31
36
|
init {
|
|
32
|
-
val
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
var useHardwareEchoCancellation = false
|
|
38
|
-
if (requiredKeys && data !== null) {
|
|
39
|
-
useHardwareEchoCancellation = data.getBoolean("useHardwareEchoCancellation")
|
|
37
|
+
val trackSettings = HmsHelper.getTrackSettings(data)
|
|
38
|
+
if (trackSettings == null) {
|
|
39
|
+
this.hmsSDK = HMSSDK.Builder(reactApplicationContext).build()
|
|
40
|
+
} else {
|
|
41
|
+
this.hmsSDK = HMSSDK.Builder(reactApplicationContext).setTrackSettings(trackSettings).build()
|
|
40
42
|
}
|
|
41
|
-
|
|
42
|
-
val audioSettings =
|
|
43
|
-
HmsHelper.getAudioTrackSettings(data?.getMap("audio"), useHardwareEchoCancellation)
|
|
44
|
-
|
|
45
|
-
val trackSettingsBuilder = HMSTrackSettings.Builder()
|
|
46
|
-
val trackSettings = trackSettingsBuilder.audio(audioSettings).video(videoSettings).build()
|
|
43
|
+
}
|
|
47
44
|
|
|
48
|
-
|
|
45
|
+
private fun emitCustomError(message: String) {
|
|
46
|
+
val data: WritableMap = Arguments.createMap()
|
|
47
|
+
val hmsError = HMSException(102, message, message, message, message)
|
|
48
|
+
data.putString("event", "ON_ERROR")
|
|
49
|
+
data.putString("id", id)
|
|
50
|
+
data.putMap("error", HmsDecoder.getError(hmsError))
|
|
51
|
+
delegate.emitEvent("ON_ERROR", data)
|
|
49
52
|
}
|
|
50
53
|
|
|
51
54
|
private fun emitRequiredKeysError() {
|
|
@@ -82,12 +85,17 @@ class HmsSDK(
|
|
|
82
85
|
}
|
|
83
86
|
|
|
84
87
|
fun preview(credentials: ReadableMap) {
|
|
88
|
+
if (previewInProgress) {
|
|
89
|
+
self.emitCustomError("PREVIEW_ALREADY_IN_PROGRESS")
|
|
90
|
+
return
|
|
91
|
+
}
|
|
85
92
|
val requiredKeys =
|
|
86
93
|
HmsHelper.areAllRequiredKeysAvailable(
|
|
87
94
|
credentials,
|
|
88
95
|
arrayOf(Pair("username", "String"), Pair("authToken", "String"))
|
|
89
96
|
)
|
|
90
97
|
if (requiredKeys) {
|
|
98
|
+
previewInProgress = true
|
|
91
99
|
var config =
|
|
92
100
|
HMSConfig(
|
|
93
101
|
credentials.getString("username") as String,
|
|
@@ -130,6 +138,41 @@ class HmsSDK(
|
|
|
130
138
|
object : HMSPreviewListener {
|
|
131
139
|
override fun onError(error: HMSException) {
|
|
132
140
|
self.emitHMSError(error)
|
|
141
|
+
previewInProgress = false
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
override fun onPeerUpdate(type: HMSPeerUpdate, peer: HMSPeer) {
|
|
145
|
+
val updateType = type.name
|
|
146
|
+
val roomData = HmsDecoder.getHmsRoom(hmsSDK?.getRoom())
|
|
147
|
+
val localPeerData = HmsDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
|
|
148
|
+
val remotePeerData = HmsDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
|
|
149
|
+
val hmsPeer = HmsDecoder.getHmsPeer(peer)
|
|
150
|
+
|
|
151
|
+
val data: WritableMap = Arguments.createMap()
|
|
152
|
+
|
|
153
|
+
data.putMap("peer", hmsPeer)
|
|
154
|
+
data.putMap("room", roomData)
|
|
155
|
+
data.putString("type", updateType)
|
|
156
|
+
data.putMap("localPeer", localPeerData)
|
|
157
|
+
data.putArray("remotePeers", remotePeerData)
|
|
158
|
+
data.putString("id", id)
|
|
159
|
+
delegate.emitEvent("ON_PEER_UPDATE", data)
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
override fun onRoomUpdate(type: HMSRoomUpdate, hmsRoom: HMSRoom) {
|
|
163
|
+
val updateType = type.name
|
|
164
|
+
val roomData = HmsDecoder.getHmsRoom(hmsRoom)
|
|
165
|
+
val localPeerData = HmsDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
|
|
166
|
+
val remotePeerData = HmsDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
|
|
167
|
+
|
|
168
|
+
val data: WritableMap = Arguments.createMap()
|
|
169
|
+
|
|
170
|
+
data.putString("type", updateType)
|
|
171
|
+
data.putMap("room", roomData)
|
|
172
|
+
data.putMap("localPeer", localPeerData)
|
|
173
|
+
data.putArray("remotePeers", remotePeerData)
|
|
174
|
+
data.putString("id", id)
|
|
175
|
+
delegate.emitEvent("ON_ROOM_UPDATE", data)
|
|
133
176
|
}
|
|
134
177
|
|
|
135
178
|
override fun onPreview(room: HMSRoom, localTracks: Array<HMSTrack>) {
|
|
@@ -143,6 +186,7 @@ class HmsSDK(
|
|
|
143
186
|
data.putMap("localPeer", localPeerData)
|
|
144
187
|
data.putString("id", id)
|
|
145
188
|
delegate.emitEvent("ON_PREVIEW", data)
|
|
189
|
+
previewInProgress = false
|
|
146
190
|
}
|
|
147
191
|
}
|
|
148
192
|
)
|
|
@@ -152,6 +196,10 @@ class HmsSDK(
|
|
|
152
196
|
}
|
|
153
197
|
|
|
154
198
|
fun join(credentials: ReadableMap) {
|
|
199
|
+
if (previewInProgress) {
|
|
200
|
+
self.emitCustomError("PREVIEW_IS_IN_PROGRESS")
|
|
201
|
+
return
|
|
202
|
+
}
|
|
155
203
|
val requiredKeys =
|
|
156
204
|
HmsHelper.areAllRequiredKeysAvailable(
|
|
157
205
|
credentials,
|
|
@@ -207,7 +255,6 @@ class HmsSDK(
|
|
|
207
255
|
"ON_CHANGE_TRACK_STATE_REQUEST",
|
|
208
256
|
decodedChangeTrackStateRequest
|
|
209
257
|
)
|
|
210
|
-
changeTrackStateRequest = details
|
|
211
258
|
}
|
|
212
259
|
|
|
213
260
|
override fun onRemovedFromRoom(notification: HMSRemovedFromRoom) {
|
|
@@ -369,19 +416,6 @@ class HmsSDK(
|
|
|
369
416
|
fun setLocalMute(data: ReadableMap) {
|
|
370
417
|
val isMute = data.getBoolean("isMute")
|
|
371
418
|
hmsSDK?.getLocalPeer()?.audioTrack?.setMute(isMute)
|
|
372
|
-
val type = if (isMute) "TRACK_MUTED" else "TRACK_UNMUTED"
|
|
373
|
-
val localPeerData = HmsDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
|
|
374
|
-
val remotePeerData = HmsDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
|
|
375
|
-
val roomData = HmsDecoder.getHmsRoom(hmsSDK?.getRoom())
|
|
376
|
-
|
|
377
|
-
val map: WritableMap = Arguments.createMap()
|
|
378
|
-
|
|
379
|
-
map.putMap("room", roomData)
|
|
380
|
-
map.putString("type", type)
|
|
381
|
-
map.putMap("localPeer", localPeerData)
|
|
382
|
-
map.putArray("remotePeers", remotePeerData)
|
|
383
|
-
map.putString("id", id)
|
|
384
|
-
delegate.emitEvent("ON_TRACK_UPDATE", map)
|
|
385
419
|
}
|
|
386
420
|
|
|
387
421
|
fun setLocalVideoMute(data: ReadableMap) {
|
|
@@ -412,15 +446,14 @@ class HmsSDK(
|
|
|
412
446
|
|
|
413
447
|
fun sendBroadcastMessage(data: ReadableMap, callback: Promise?) {
|
|
414
448
|
val requiredKeys =
|
|
415
|
-
HmsHelper.areAllRequiredKeysAvailable(
|
|
449
|
+
HmsHelper.areAllRequiredKeysAvailable(
|
|
450
|
+
data,
|
|
451
|
+
arrayOf(Pair("message", "String"), Pair("type", "String"))
|
|
452
|
+
)
|
|
416
453
|
if (requiredKeys) {
|
|
417
|
-
val type =
|
|
418
|
-
if (HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("type", "String"))))
|
|
419
|
-
data.getString("type")
|
|
420
|
-
else "chat"
|
|
421
454
|
hmsSDK?.sendBroadcastMessage(
|
|
422
455
|
data.getString("message") as String,
|
|
423
|
-
type as String,
|
|
456
|
+
data.getString("type") as String,
|
|
424
457
|
object : HMSMessageResultListener {
|
|
425
458
|
override fun onError(error: HMSException) {
|
|
426
459
|
self.emitHMSError(error)
|
|
@@ -441,34 +474,27 @@ class HmsSDK(
|
|
|
441
474
|
val requiredKeys =
|
|
442
475
|
HmsHelper.areAllRequiredKeysAvailable(
|
|
443
476
|
data,
|
|
444
|
-
arrayOf(Pair("message", "String"), Pair("roles", "Array"))
|
|
477
|
+
arrayOf(Pair("message", "String"), Pair("roles", "Array"), Pair("type", "String"))
|
|
445
478
|
)
|
|
446
479
|
if (requiredKeys) {
|
|
447
|
-
val type =
|
|
448
|
-
if (HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("type", "String"))))
|
|
449
|
-
data.getString("type")
|
|
450
|
-
else "chat"
|
|
451
|
-
val message = data.getString("message")
|
|
452
480
|
val targetedRoles = data.getArray("roles")?.toArrayList() as? ArrayList<String>
|
|
453
481
|
val roles = hmsSDK?.getRoles()
|
|
454
482
|
val encodedTargetedRoles = HmsHelper.getRolesFromRoleNames(targetedRoles, roles)
|
|
455
483
|
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
callback?.reject(error.code.toString(), error.message)
|
|
465
|
-
}
|
|
466
|
-
override fun onSuccess(hmsMessage: HMSMessage) {
|
|
467
|
-
callback?.resolve(emitHMSSuccess(hmsMessage))
|
|
468
|
-
}
|
|
484
|
+
hmsSDK?.sendGroupMessage(
|
|
485
|
+
data.getString("message") as String,
|
|
486
|
+
data.getString("type") as String,
|
|
487
|
+
encodedTargetedRoles,
|
|
488
|
+
object : HMSMessageResultListener {
|
|
489
|
+
override fun onError(error: HMSException) {
|
|
490
|
+
self.emitHMSError(error)
|
|
491
|
+
callback?.reject(error.code.toString(), error.message)
|
|
469
492
|
}
|
|
470
|
-
|
|
471
|
-
|
|
493
|
+
override fun onSuccess(hmsMessage: HMSMessage) {
|
|
494
|
+
callback?.resolve(emitHMSSuccess(hmsMessage))
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
)
|
|
472
498
|
} else {
|
|
473
499
|
self.emitRequiredKeysError()
|
|
474
500
|
callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
|
|
@@ -479,21 +505,15 @@ class HmsSDK(
|
|
|
479
505
|
val requiredKeys =
|
|
480
506
|
HmsHelper.areAllRequiredKeysAvailable(
|
|
481
507
|
data,
|
|
482
|
-
arrayOf(Pair("message", "String"), Pair("peerId", "String"))
|
|
508
|
+
arrayOf(Pair("message", "String"), Pair("peerId", "String"), Pair("type", "String"))
|
|
483
509
|
)
|
|
484
510
|
if (requiredKeys) {
|
|
485
|
-
val type =
|
|
486
|
-
if (HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("type", "String"))))
|
|
487
|
-
data.getString("type")
|
|
488
|
-
else "chat"
|
|
489
|
-
val message = data.getString("message")
|
|
490
511
|
val peerId = data.getString("peerId")
|
|
491
|
-
val
|
|
492
|
-
|
|
493
|
-
if (message != null && peer != null) {
|
|
512
|
+
val peer = HmsHelper.getPeerFromPeerId(peerId, hmsSDK?.getRoom())
|
|
513
|
+
if (peer != null) {
|
|
494
514
|
hmsSDK?.sendDirectMessage(
|
|
495
|
-
message,
|
|
496
|
-
type as String,
|
|
515
|
+
data.getString("message") as String,
|
|
516
|
+
data.getString("type") as String,
|
|
497
517
|
peer,
|
|
498
518
|
object : HMSMessageResultListener {
|
|
499
519
|
override fun onError(error: HMSException) {
|
|
@@ -505,6 +525,9 @@ class HmsSDK(
|
|
|
505
525
|
}
|
|
506
526
|
}
|
|
507
527
|
)
|
|
528
|
+
} else {
|
|
529
|
+
self.emitCustomError("PEER_NOT_FOUND")
|
|
530
|
+
callback?.reject("101", "PEER_NOT_FOUND")
|
|
508
531
|
}
|
|
509
532
|
} else {
|
|
510
533
|
self.emitRequiredKeysError()
|
|
@@ -524,7 +547,7 @@ class HmsSDK(
|
|
|
524
547
|
val force = data.getBoolean("force")
|
|
525
548
|
|
|
526
549
|
if (peerId !== null && role !== null) {
|
|
527
|
-
val hmsPeer = HmsHelper.getPeerFromPeerId(peerId, hmsSDK?.
|
|
550
|
+
val hmsPeer = HmsHelper.getPeerFromPeerId(peerId, hmsSDK?.getRoom())
|
|
528
551
|
val hmsRole = HmsHelper.getRoleFromRoleName(role, hmsSDK?.getRoles())
|
|
529
552
|
|
|
530
553
|
if (hmsRole != null && hmsPeer != null) {
|
|
@@ -559,8 +582,7 @@ class HmsSDK(
|
|
|
559
582
|
if (requiredKeys) {
|
|
560
583
|
val trackId = data.getString("trackId")
|
|
561
584
|
val mute = data.getBoolean("mute")
|
|
562
|
-
val
|
|
563
|
-
val track = HmsHelper.getTrackFromTrackId(trackId, remotePeers)
|
|
585
|
+
val track = HmsHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
|
|
564
586
|
if (track != null) {
|
|
565
587
|
hmsSDK?.changeTrackState(
|
|
566
588
|
track,
|
|
@@ -582,24 +604,35 @@ class HmsSDK(
|
|
|
582
604
|
}
|
|
583
605
|
}
|
|
584
606
|
|
|
585
|
-
fun
|
|
607
|
+
fun changeTrackStateForRoles(data: ReadableMap, callback: Promise?) {
|
|
586
608
|
val requiredKeys =
|
|
587
609
|
HmsHelper.areAllRequiredKeysAvailable(
|
|
588
610
|
data,
|
|
589
611
|
arrayOf(
|
|
590
|
-
Pair("source", "String"),
|
|
591
612
|
Pair("mute", "Boolean"),
|
|
592
|
-
Pair("type", "String"),
|
|
593
|
-
Pair("roles", "Array")
|
|
594
613
|
)
|
|
595
614
|
)
|
|
596
615
|
if (requiredKeys) {
|
|
597
616
|
val mute: Boolean = data.getBoolean("mute")
|
|
598
617
|
val type =
|
|
599
|
-
if (
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
618
|
+
if (HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("type", "String")))) {
|
|
619
|
+
if (data.getString("type") == HMSTrackType.AUDIO.toString()) HMSTrackType.AUDIO
|
|
620
|
+
else HMSTrackType.VIDEO
|
|
621
|
+
} else {
|
|
622
|
+
null
|
|
623
|
+
}
|
|
624
|
+
val source =
|
|
625
|
+
if (HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("source", "String")))) {
|
|
626
|
+
data.getString("source")
|
|
627
|
+
} else {
|
|
628
|
+
null
|
|
629
|
+
}
|
|
630
|
+
val targetedRoles =
|
|
631
|
+
if (HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("roles", "Array")))) {
|
|
632
|
+
data.getArray("roles")?.toArrayList() as? ArrayList<String>
|
|
633
|
+
} else {
|
|
634
|
+
null
|
|
635
|
+
}
|
|
603
636
|
val roles = hmsSDK?.getRoles()
|
|
604
637
|
val encodedTargetedRoles = HmsHelper.getRolesFromRoleNames(targetedRoles, roles)
|
|
605
638
|
hmsSDK?.changeTrackState(
|
|
@@ -628,11 +661,9 @@ class HmsSDK(
|
|
|
628
661
|
HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("trackId", "String")))
|
|
629
662
|
if (requiredKeys) {
|
|
630
663
|
val trackId = data.getString("trackId")
|
|
631
|
-
val
|
|
632
|
-
val localPeer = hmsSDK?.getLocalPeer()
|
|
633
|
-
val localTrack = HmsHelper.getLocalTrackFromTrackId(trackId, localPeer)
|
|
664
|
+
val localTrack = HmsHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
|
|
634
665
|
if (localTrack == null) {
|
|
635
|
-
val track = HmsHelper.getTrackFromTrackId(trackId,
|
|
666
|
+
val track = HmsHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
|
|
636
667
|
if (track != null) {
|
|
637
668
|
val mute = track.isMute
|
|
638
669
|
callback?.resolve(mute)
|
|
@@ -650,23 +681,18 @@ class HmsSDK(
|
|
|
650
681
|
|
|
651
682
|
fun removePeer(data: ReadableMap, callback: Promise?) {
|
|
652
683
|
val requiredKeys =
|
|
653
|
-
HmsHelper.areAllRequiredKeysAvailable(
|
|
684
|
+
HmsHelper.areAllRequiredKeysAvailable(
|
|
685
|
+
data,
|
|
686
|
+
arrayOf(Pair("peerId", "String"), Pair("reason", "String"))
|
|
687
|
+
)
|
|
654
688
|
if (requiredKeys) {
|
|
655
689
|
val peerId = data.getString("peerId")
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
if (reason == null) {
|
|
659
|
-
reason = ""
|
|
660
|
-
}
|
|
661
|
-
|
|
662
|
-
val peers = hmsSDK?.getRemotePeers()
|
|
663
|
-
|
|
664
|
-
val peer = HmsHelper.getRemotePeerFromPeerId(peerId, peers)
|
|
690
|
+
val peer = HmsHelper.getRemotePeerFromPeerId(peerId, hmsSDK?.getRoom())
|
|
665
691
|
|
|
666
692
|
if (peer != null) {
|
|
667
693
|
hmsSDK?.removePeerRequest(
|
|
668
694
|
peer,
|
|
669
|
-
reason,
|
|
695
|
+
data.getString("reason") as String,
|
|
670
696
|
object : HMSActionResultListener {
|
|
671
697
|
override fun onSuccess() {
|
|
672
698
|
callback?.resolve(emitHMSSuccess())
|
|
@@ -678,6 +704,7 @@ class HmsSDK(
|
|
|
678
704
|
}
|
|
679
705
|
)
|
|
680
706
|
} else {
|
|
707
|
+
self.emitCustomError("PEER_NOT_FOUND")
|
|
681
708
|
callback?.reject("101", "PEER_NOT_FOUND")
|
|
682
709
|
}
|
|
683
710
|
} else {
|
|
@@ -687,46 +714,74 @@ class HmsSDK(
|
|
|
687
714
|
}
|
|
688
715
|
|
|
689
716
|
fun endRoom(data: ReadableMap, callback: Promise?) {
|
|
690
|
-
val
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
717
|
+
val requiredKeys =
|
|
718
|
+
HmsHelper.areAllRequiredKeysAvailable(
|
|
719
|
+
data,
|
|
720
|
+
arrayOf(Pair("lock", "Boolean"), Pair("reason", "String"))
|
|
721
|
+
)
|
|
722
|
+
if (requiredKeys) {
|
|
723
|
+
hmsSDK?.endRoom(
|
|
724
|
+
data.getString("reason") as String,
|
|
725
|
+
data.getBoolean("lock"),
|
|
726
|
+
object : HMSActionResultListener {
|
|
727
|
+
override fun onSuccess() {
|
|
728
|
+
callback?.resolve(emitHMSSuccess())
|
|
729
|
+
}
|
|
730
|
+
override fun onError(error: HMSException) {
|
|
731
|
+
self.emitHMSError(error)
|
|
732
|
+
callback?.reject(error.code.toString(), error.message)
|
|
733
|
+
}
|
|
706
734
|
}
|
|
707
|
-
|
|
708
|
-
|
|
735
|
+
)
|
|
736
|
+
} else {
|
|
737
|
+
self.emitRequiredKeysError()
|
|
738
|
+
callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
|
|
739
|
+
}
|
|
709
740
|
}
|
|
710
741
|
|
|
711
|
-
fun acceptRoleChange() {
|
|
742
|
+
fun acceptRoleChange(callback: Promise?) {
|
|
712
743
|
if (recentRoleChangeRequest !== null) {
|
|
744
|
+
|
|
713
745
|
hmsSDK?.acceptChangeRole(
|
|
714
746
|
recentRoleChangeRequest!!,
|
|
715
747
|
object : HMSActionResultListener {
|
|
716
748
|
override fun onSuccess() {
|
|
717
|
-
|
|
749
|
+
callback?.resolve(emitHMSSuccess())
|
|
718
750
|
}
|
|
719
|
-
|
|
720
751
|
override fun onError(error: HMSException) {
|
|
721
|
-
recentRoleChangeRequest = null
|
|
722
752
|
self.emitHMSError(error)
|
|
753
|
+
callback?.reject(error.code.toString(), error.message)
|
|
723
754
|
}
|
|
724
755
|
}
|
|
725
756
|
)
|
|
757
|
+
|
|
758
|
+
recentRoleChangeRequest = null
|
|
759
|
+
}
|
|
760
|
+
}
|
|
761
|
+
|
|
762
|
+
fun remoteMuteAllAudio() {
|
|
763
|
+
val allAudioTracks = hmsSDK?.getRoom()?.let { HmsUtilities.getAllAudioTracks(it) }
|
|
764
|
+
if (allAudioTracks != null) {
|
|
765
|
+
var customError: HMSException? = null
|
|
766
|
+
for (audioTrack in allAudioTracks) {
|
|
767
|
+
hmsSDK?.changeTrackState(
|
|
768
|
+
audioTrack,
|
|
769
|
+
true,
|
|
770
|
+
object : HMSActionResultListener {
|
|
771
|
+
override fun onSuccess() {}
|
|
772
|
+
override fun onError(error: HMSException) {
|
|
773
|
+
customError = error
|
|
774
|
+
}
|
|
775
|
+
}
|
|
776
|
+
)
|
|
777
|
+
}
|
|
778
|
+
if (customError != null) {
|
|
779
|
+
self.emitHMSError(customError!!)
|
|
780
|
+
}
|
|
726
781
|
}
|
|
727
782
|
}
|
|
728
783
|
|
|
729
|
-
fun
|
|
784
|
+
fun setPlaybackForAllAudio(data: ReadableMap) {
|
|
730
785
|
val requiredKeys = HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("mute", "Boolean")))
|
|
731
786
|
if (requiredKeys) {
|
|
732
787
|
val mute = data.getBoolean("mute")
|
|
@@ -734,7 +789,7 @@ class HmsSDK(
|
|
|
734
789
|
if (peers != null) {
|
|
735
790
|
for (remotePeer in peers) {
|
|
736
791
|
val peerId = remotePeer.peerID
|
|
737
|
-
val peer = HmsHelper.getRemotePeerFromPeerId(peerId,
|
|
792
|
+
val peer = HmsHelper.getRemotePeerFromPeerId(peerId, hmsSDK?.getRoom())
|
|
738
793
|
peer?.audioTrack?.isPlaybackAllowed = !mute
|
|
739
794
|
}
|
|
740
795
|
val localPeerData = HmsDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
|
|
@@ -761,9 +816,8 @@ class HmsSDK(
|
|
|
761
816
|
if (requiredKeys) {
|
|
762
817
|
val trackId = data.getString("trackId")
|
|
763
818
|
val playbackAllowed = data.getBoolean("playbackAllowed")
|
|
764
|
-
val
|
|
765
|
-
val
|
|
766
|
-
val remoteVideoTrack = HmsHelper.getRemoteVideoTrackFromTrackId(trackId, remotePeers)
|
|
819
|
+
val remoteAudioTrack = HmsHelper.getRemoteAudioTrackFromTrackId(trackId, hmsSDK?.getRoom())
|
|
820
|
+
val remoteVideoTrack = HmsHelper.getRemoteVideoTrackFromTrackId(trackId, hmsSDK?.getRoom())
|
|
767
821
|
if (remoteAudioTrack != null) {
|
|
768
822
|
remoteAudioTrack.isPlaybackAllowed = playbackAllowed
|
|
769
823
|
} else if (remoteVideoTrack != null) {
|
|
@@ -779,9 +833,8 @@ class HmsSDK(
|
|
|
779
833
|
HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("trackId", "String")))
|
|
780
834
|
if (requiredKeys) {
|
|
781
835
|
val trackId = data.getString("trackId")
|
|
782
|
-
val
|
|
783
|
-
val
|
|
784
|
-
val remoteVideoTrack = HmsHelper.getRemoteVideoTrackFromTrackId(trackId, remotePeers)
|
|
836
|
+
val remoteAudioTrack = HmsHelper.getRemoteAudioTrackFromTrackId(trackId, hmsSDK?.getRoom())
|
|
837
|
+
val remoteVideoTrack = HmsHelper.getRemoteVideoTrackFromTrackId(trackId, hmsSDK?.getRoom())
|
|
785
838
|
when {
|
|
786
839
|
remoteAudioTrack != null -> {
|
|
787
840
|
val isPlaybackAllowed = remoteAudioTrack.isPlaybackAllowed
|
|
@@ -937,4 +990,122 @@ class HmsSDK(
|
|
|
937
990
|
}
|
|
938
991
|
)
|
|
939
992
|
}
|
|
993
|
+
|
|
994
|
+
fun startScreenshare() {
|
|
995
|
+
runOnUiThread {
|
|
996
|
+
val intent = Intent(context, HmsScreenshareActivity::class.java)
|
|
997
|
+
intent.flags = FLAG_ACTIVITY_NEW_TASK
|
|
998
|
+
intent.putExtra("id", id)
|
|
999
|
+
context.startActivity(intent)
|
|
1000
|
+
}
|
|
1001
|
+
}
|
|
1002
|
+
|
|
1003
|
+
fun isScreenShared(callback: Promise?) {
|
|
1004
|
+
callback?.resolve(hmsSDK?.isScreenShared())
|
|
1005
|
+
}
|
|
1006
|
+
|
|
1007
|
+
fun stopScreenshare(callback: Promise?) {
|
|
1008
|
+
hmsSDK?.stopScreenshare(
|
|
1009
|
+
object : HMSActionResultListener {
|
|
1010
|
+
override fun onError(error: HMSException) {
|
|
1011
|
+
callback?.reject(error.code.toString(), error.message)
|
|
1012
|
+
self.emitHMSError(error)
|
|
1013
|
+
}
|
|
1014
|
+
override fun onSuccess() {
|
|
1015
|
+
callback?.resolve(emitHMSSuccess())
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
)
|
|
1019
|
+
}
|
|
1020
|
+
|
|
1021
|
+
fun startHLSStreaming(data: ReadableMap, callback: Promise?) {
|
|
1022
|
+
val requiredKeys =
|
|
1023
|
+
HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("meetingURLVariants", "Array")))
|
|
1024
|
+
if (requiredKeys) {
|
|
1025
|
+
val meetingURLVariants =
|
|
1026
|
+
data.getArray("meetingURLVariants")?.toArrayList() as? ArrayList<HashMap<String, String>>
|
|
1027
|
+
val hlsMeetingUrlVariant = HmsHelper.getHMSHLSMeetingURLVariants(meetingURLVariants)
|
|
1028
|
+
val config = HMSHLSConfig(hlsMeetingUrlVariant)
|
|
1029
|
+
|
|
1030
|
+
hmsSDK?.startHLSStreaming(
|
|
1031
|
+
config,
|
|
1032
|
+
object : HMSActionResultListener {
|
|
1033
|
+
override fun onSuccess() {
|
|
1034
|
+
callback?.resolve(emitHMSSuccess())
|
|
1035
|
+
}
|
|
1036
|
+
override fun onError(error: HMSException) {
|
|
1037
|
+
callback?.reject(error.code.toString(), error.message)
|
|
1038
|
+
self.emitHMSError(error)
|
|
1039
|
+
}
|
|
1040
|
+
}
|
|
1041
|
+
)
|
|
1042
|
+
} else {
|
|
1043
|
+
callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
|
|
1044
|
+
self.emitRequiredKeysError()
|
|
1045
|
+
}
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
fun stopHLSStreaming(callback: Promise?) {
|
|
1049
|
+
hmsSDK?.stopHLSStreaming(
|
|
1050
|
+
null,
|
|
1051
|
+
object : HMSActionResultListener {
|
|
1052
|
+
override fun onSuccess() {
|
|
1053
|
+
callback?.resolve(emitHMSSuccess())
|
|
1054
|
+
}
|
|
1055
|
+
override fun onError(error: HMSException) {
|
|
1056
|
+
callback?.reject(error.code.toString(), error.message)
|
|
1057
|
+
self.emitHMSError(error)
|
|
1058
|
+
}
|
|
1059
|
+
}
|
|
1060
|
+
)
|
|
1061
|
+
}
|
|
1062
|
+
|
|
1063
|
+
fun resetVolume() {
|
|
1064
|
+
val remotePeers = hmsSDK?.getRemotePeers()
|
|
1065
|
+
|
|
1066
|
+
if (remotePeers != null) {
|
|
1067
|
+
for (peer in remotePeers) {
|
|
1068
|
+
val playbackAllowed = peer.audioTrack?.isPlaybackAllowed
|
|
1069
|
+
if (playbackAllowed !== null && playbackAllowed) {
|
|
1070
|
+
peer.audioTrack?.setVolume(10.0)
|
|
1071
|
+
}
|
|
1072
|
+
val auxTracks = peer.auxiliaryTracks
|
|
1073
|
+
|
|
1074
|
+
for (track in auxTracks) {
|
|
1075
|
+
if (track.type === HMSTrackType.AUDIO) {
|
|
1076
|
+
|
|
1077
|
+
(track as? HMSRemoteAudioTrack)?.setVolume(10.0)
|
|
1078
|
+
}
|
|
1079
|
+
}
|
|
1080
|
+
}
|
|
1081
|
+
}
|
|
1082
|
+
}
|
|
1083
|
+
|
|
1084
|
+
fun changeName(data: ReadableMap, callback: Promise?) {
|
|
1085
|
+
val requiredKeys = HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("name", "String")))
|
|
1086
|
+
if (requiredKeys) {
|
|
1087
|
+
val name = data.getString("name")
|
|
1088
|
+
if (name != null && name != "") {
|
|
1089
|
+
hmsSDK?.changeName(
|
|
1090
|
+
name,
|
|
1091
|
+
object : HMSActionResultListener {
|
|
1092
|
+
override fun onSuccess() {
|
|
1093
|
+
callback?.resolve(emitHMSSuccess())
|
|
1094
|
+
}
|
|
1095
|
+
|
|
1096
|
+
override fun onError(error: HMSException) {
|
|
1097
|
+
callback?.reject(error.code.toString(), error.message)
|
|
1098
|
+
self.emitHMSError(error)
|
|
1099
|
+
}
|
|
1100
|
+
}
|
|
1101
|
+
)
|
|
1102
|
+
} else {
|
|
1103
|
+
self.emitCustomError("NAME_UNDEFINED")
|
|
1104
|
+
callback?.reject("101", "NAME_UNDEFINED")
|
|
1105
|
+
}
|
|
1106
|
+
} else {
|
|
1107
|
+
callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
|
|
1108
|
+
self.emitRequiredKeysError()
|
|
1109
|
+
}
|
|
1110
|
+
}
|
|
940
1111
|
}
|