@100mslive/react-native-hms 0.9.5 → 0.9.6

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.
Files changed (95) hide show
  1. package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
  2. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  3. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  4. package/android/.gradle/checksums/checksums.lock +0 -0
  5. package/android/build.gradle +1 -1
  6. package/android/src/main/java/com/reactnativehmssdk/{HmsDecoder.kt → HMSDecoder.kt} +38 -34
  7. package/android/src/main/java/com/reactnativehmssdk/{HmsHelper.kt → HMSHelper.kt} +38 -5
  8. package/android/src/main/java/com/reactnativehmssdk/{HmsModule.kt → HMSManager.kt} +51 -41
  9. package/android/src/main/java/com/reactnativehmssdk/{HmsSDK.kt → HMSRNSDK.kt} +171 -158
  10. package/android/src/main/java/com/reactnativehmssdk/{HmssdkViewManager.kt → HMSSDKViewManager.kt} +11 -11
  11. package/android/src/main/java/com/reactnativehmssdk/{HmsView.kt → HMSView.kt} +3 -3
  12. package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +17 -18
  13. package/android/src/main/java/com/reactnativehmssdk/HmssdkPackage.kt +2 -2
  14. package/ios/{HmsDecoder.swift → HMSDecoder.swift} +26 -25
  15. package/ios/{HmsHelper.swift → HMSHelper.swift} +13 -7
  16. package/ios/{HmsManager.m → HMSManager.m} +2 -1
  17. package/ios/{HmsManager.swift → HMSManager.swift} +46 -38
  18. package/ios/{HmsSDK.swift → HMSRNSDK.swift} +127 -127
  19. package/ios/{HmsView.m → HMSView.m} +1 -1
  20. package/ios/{HmsView.swift → HMSView.swift} +7 -6
  21. package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
  22. package/lib/commonjs/classes/HMSEncoder.js +1 -0
  23. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  24. package/lib/commonjs/classes/HMSLocalAudioTrack.js +3 -3
  25. package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
  26. package/lib/commonjs/classes/HMSLocalVideoTrack.js +3 -3
  27. package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
  28. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  29. package/lib/commonjs/classes/HMSRemoteAudioTrack.js +3 -3
  30. package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
  31. package/lib/commonjs/classes/HMSRemoteVideoTrack.js +3 -3
  32. package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
  33. package/lib/commonjs/classes/HMSRoom.js +3 -0
  34. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  35. package/lib/commonjs/classes/HMSRoomUpdate.js +1 -3
  36. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  37. package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
  38. package/lib/commonjs/classes/HMSSDK.js +39 -33
  39. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  40. package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
  41. package/lib/commonjs/classes/HMSTrackSource.js +15 -0
  42. package/lib/commonjs/classes/HMSTrackSource.js.map +1 -0
  43. package/lib/commonjs/classes/HmsView.js +2 -2
  44. package/lib/commonjs/classes/HmsView.js.map +1 -1
  45. package/lib/commonjs/index.js +14 -0
  46. package/lib/commonjs/index.js.map +1 -1
  47. package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
  48. package/lib/module/classes/HMSEncoder.js +1 -0
  49. package/lib/module/classes/HMSEncoder.js.map +1 -1
  50. package/lib/module/classes/HMSLocalAudioTrack.js +3 -3
  51. package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
  52. package/lib/module/classes/HMSLocalVideoTrack.js +3 -3
  53. package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
  54. package/lib/module/classes/HMSRemoteAudioTrack.js +3 -3
  55. package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
  56. package/lib/module/classes/HMSRemoteVideoTrack.js +3 -3
  57. package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
  58. package/lib/module/classes/HMSRoom.js +3 -0
  59. package/lib/module/classes/HMSRoom.js.map +1 -1
  60. package/lib/module/classes/HMSRoomUpdate.js +1 -3
  61. package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
  62. package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
  63. package/lib/module/classes/HMSSDK.js +39 -33
  64. package/lib/module/classes/HMSSDK.js.map +1 -1
  65. package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
  66. package/lib/module/classes/HMSTrackSource.js +8 -0
  67. package/lib/module/classes/HMSTrackSource.js.map +1 -0
  68. package/lib/module/classes/HmsView.js +2 -2
  69. package/lib/module/classes/HmsView.js.map +1 -1
  70. package/lib/module/index.js +1 -0
  71. package/lib/module/index.js.map +1 -1
  72. package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +2 -2
  73. package/lib/typescript/classes/HMSRoom.d.ts +2 -0
  74. package/lib/typescript/classes/HMSRoomUpdate.d.ts +1 -3
  75. package/lib/typescript/classes/HMSRtmpStreamingState.d.ts +2 -2
  76. package/lib/typescript/classes/HMSSDK.d.ts +2 -2
  77. package/lib/typescript/classes/HMSServerRecordingState.d.ts +2 -2
  78. package/lib/typescript/classes/HMSTrackSource.d.ts +5 -0
  79. package/lib/typescript/index.d.ts +1 -0
  80. package/package.json +1 -1
  81. package/react-native-hms.podspec +2 -2
  82. package/src/classes/HMSBrowserRecordingState.ts +2 -2
  83. package/src/classes/HMSEncoder.ts +1 -0
  84. package/src/classes/HMSLocalAudioTrack.ts +3 -3
  85. package/src/classes/HMSLocalVideoTrack.ts +3 -3
  86. package/src/classes/HMSRemoteAudioTrack.ts +3 -3
  87. package/src/classes/HMSRemoteVideoTrack.ts +3 -3
  88. package/src/classes/HMSRoom.ts +3 -0
  89. package/src/classes/HMSRoomUpdate.ts +1 -3
  90. package/src/classes/HMSRtmpStreamingState.ts +2 -2
  91. package/src/classes/HMSSDK.tsx +35 -33
  92. package/src/classes/HMSServerRecordingState.ts +2 -2
  93. package/src/classes/HMSTrackSource.ts +5 -0
  94. package/src/classes/HmsView.tsx +2 -2
  95. package/src/index.ts +1 -0
@@ -19,15 +19,15 @@ import live.hms.video.sdk.models.trackchangerequest.HMSChangeTrackStateRequest
19
19
  import live.hms.video.utils.HMSCoroutineScope
20
20
  import live.hms.video.utils.HmsUtilities
21
21
 
22
- class HmsSDK(
22
+ class HMSRNSDK(
23
23
  data: ReadableMap?,
24
- HmsDelegate: HmsModule,
24
+ HmsDelegate: HMSManager,
25
25
  sdkId: String,
26
26
  reactApplicationContext: ReactApplicationContext
27
27
  ) {
28
28
  var hmsSDK: HMSSDK? = null
29
29
  var screenshareCallback: Promise? = null
30
- var delegate: HmsModule = HmsDelegate
30
+ var delegate: HMSManager = HmsDelegate
31
31
  private var recentRoleChangeRequest: HMSRoleChangeRequest? = null
32
32
  private var context: ReactApplicationContext = reactApplicationContext
33
33
  private var previewInProgress: Boolean = false
@@ -35,7 +35,7 @@ class HmsSDK(
35
35
  private var self = this
36
36
 
37
37
  init {
38
- val trackSettings = HmsHelper.getTrackSettings(data)
38
+ val trackSettings = HMSHelper.getTrackSettings(data)
39
39
  if (trackSettings == null) {
40
40
  this.hmsSDK = HMSSDK.Builder(reactApplicationContext).build()
41
41
  } else {
@@ -48,31 +48,29 @@ class HmsSDK(
48
48
  val hmsError = HMSException(102, message, message, message, message)
49
49
  data.putString("event", "ON_ERROR")
50
50
  data.putString("id", id)
51
- data.putMap("error", HmsDecoder.getError(hmsError))
51
+ data.putMap("error", HMSDecoder.getError(hmsError))
52
52
  delegate.emitEvent("ON_ERROR", data)
53
53
  }
54
54
 
55
- private fun emitRequiredKeysError() {
55
+ private fun emitRequiredKeysError(message: String) {
56
56
  val data: WritableMap = Arguments.createMap()
57
57
  val hmsError =
58
- HMSException(
59
- 102,
60
- "NOT_FOUND",
61
- "SEND_ALL_REQUIRED_KEYS",
62
- "REQUIRED_KEYS_NOT_FOUND",
63
- "REQUIRED_KEYS_NOT_FOUND"
64
- )
58
+ HMSException(102, "REQUIRED_KEYS_NOT_FOUND", "SEND_ALL_REQUIRED_KEYS", message, message)
65
59
  data.putString("event", "ON_ERROR")
66
60
  data.putString("id", id)
67
- data.putMap("error", HmsDecoder.getError(hmsError))
61
+ data.putMap("error", HMSDecoder.getError(hmsError))
68
62
  delegate.emitEvent("ON_ERROR", data)
69
63
  }
70
64
 
65
+ private fun rejectCallback(callback: Promise?, message: String) {
66
+ callback?.reject("102", message)
67
+ }
68
+
71
69
  fun emitHMSError(error: HMSException) {
72
70
  val data: WritableMap = Arguments.createMap()
73
71
  data.putString("event", "ON_ERROR")
74
72
  data.putString("id", id)
75
- data.putMap("error", HmsDecoder.getError(error))
73
+ data.putMap("error", HMSDecoder.getError(error))
76
74
  delegate.emitEvent("ON_ERROR", data)
77
75
  }
78
76
 
@@ -91,13 +89,13 @@ class HmsSDK(
91
89
  return
92
90
  }
93
91
  val requiredKeys =
94
- HmsHelper.areAllRequiredKeysAvailable(
92
+ HMSHelper.getUnavailableRequiredKey(
95
93
  credentials,
96
94
  arrayOf(Pair("username", "String"), Pair("authToken", "String"))
97
95
  )
98
- if (requiredKeys) {
96
+ if (requiredKeys === null) {
99
97
  previewInProgress = true
100
- val config = HmsHelper.getHmsConfig(credentials)
98
+ val config = HMSHelper.getHmsConfig(credentials)
101
99
 
102
100
  hmsSDK?.preview(
103
101
  config,
@@ -119,10 +117,10 @@ class HmsSDK(
119
117
  return
120
118
  }
121
119
  val updateType = type.name
122
- val roomData = HmsDecoder.getHmsRoom(hmsSDK?.getRoom())
123
- val localPeerData = HmsDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
124
- val remotePeerData = HmsDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
125
- val hmsPeer = HmsDecoder.getHmsPeer(peer)
120
+ val roomData = HMSDecoder.getHmsRoom(hmsSDK?.getRoom())
121
+ val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
122
+ val remotePeerData = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
123
+ val hmsPeer = HMSDecoder.getHmsPeer(peer)
126
124
 
127
125
  val data: WritableMap = Arguments.createMap()
128
126
 
@@ -137,9 +135,9 @@ class HmsSDK(
137
135
 
138
136
  override fun onRoomUpdate(type: HMSRoomUpdate, hmsRoom: HMSRoom) {
139
137
  val updateType = type.name
140
- val roomData = HmsDecoder.getHmsRoom(hmsRoom)
141
- val localPeerData = HmsDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
142
- val remotePeerData = HmsDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
138
+ val roomData = HMSDecoder.getHmsRoom(hmsRoom)
139
+ val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
140
+ val remotePeerData = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
143
141
 
144
142
  val data: WritableMap = Arguments.createMap()
145
143
 
@@ -152,9 +150,9 @@ class HmsSDK(
152
150
  }
153
151
 
154
152
  override fun onPreview(room: HMSRoom, localTracks: Array<HMSTrack>) {
155
- val previewTracks = HmsDecoder.getPreviewTracks(localTracks)
156
- val hmsRoom = HmsDecoder.getHmsRoom(room)
157
- val localPeerData = HmsDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
153
+ val previewTracks = HMSDecoder.getPreviewTracks(localTracks)
154
+ val hmsRoom = HMSDecoder.getHmsRoom(room)
155
+ val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
158
156
  val data: WritableMap = Arguments.createMap()
159
157
 
160
158
  data.putMap("previewTracks", previewTracks)
@@ -167,7 +165,8 @@ class HmsSDK(
167
165
  }
168
166
  )
169
167
  } else {
170
- self.emitRequiredKeysError()
168
+ val errorMessage = "preview: $requiredKeys"
169
+ self.emitRequiredKeysError(errorMessage)
171
170
  }
172
171
  }
173
172
 
@@ -177,12 +176,12 @@ class HmsSDK(
177
176
  return
178
177
  }
179
178
  val requiredKeys =
180
- HmsHelper.areAllRequiredKeysAvailable(
179
+ HMSHelper.getUnavailableRequiredKey(
181
180
  credentials,
182
181
  arrayOf(Pair("username", "String"), Pair("authToken", "String"))
183
182
  )
184
- if (requiredKeys) {
185
- val config = HmsHelper.getHmsConfig(credentials)
183
+ if (requiredKeys === null) {
184
+ val config = HMSHelper.getHmsConfig(credentials)
186
185
 
187
186
  HMSCoroutineScope.launch {
188
187
  try {
@@ -191,7 +190,7 @@ class HmsSDK(
191
190
  object : HMSUpdateListener {
192
191
  override fun onChangeTrackStateRequest(details: HMSChangeTrackStateRequest) {
193
192
  val decodedChangeTrackStateRequest =
194
- HmsDecoder.getHmsChangeTrackStateRequest(details, id)
193
+ HMSDecoder.getHmsChangeTrackStateRequest(details, id)
195
194
  delegate.emitEvent(
196
195
  "ON_CHANGE_TRACK_STATE_REQUEST",
197
196
  decodedChangeTrackStateRequest
@@ -203,7 +202,7 @@ class HmsSDK(
203
202
 
204
203
  val data: WritableMap = Arguments.createMap()
205
204
  val requestedBy =
206
- HmsDecoder.getHmsRemotePeer(notification.peerWhoRemoved as HMSRemotePeer?)
205
+ HMSDecoder.getHmsRemotePeer(notification.peerWhoRemoved as HMSRemotePeer?)
207
206
  val roomEnded = notification.roomWasEnded
208
207
  val reason = notification.reason
209
208
 
@@ -220,10 +219,10 @@ class HmsSDK(
220
219
  }
221
220
 
222
221
  override fun onJoin(room: HMSRoom) {
223
- val roomData = HmsDecoder.getHmsRoom(room)
224
- val localPeerData = HmsDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
225
- val remotePeerData = HmsDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
226
- val roles = HmsDecoder.getAllRoles(hmsSDK?.getRoles())
222
+ val roomData = HMSDecoder.getHmsRoom(room)
223
+ val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
224
+ val remotePeerData = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
225
+ val roles = HMSDecoder.getAllRoles(hmsSDK?.getRoles())
227
226
 
228
227
  val data: WritableMap = Arguments.createMap()
229
228
 
@@ -247,10 +246,10 @@ class HmsSDK(
247
246
  return
248
247
  }
249
248
  val updateType = type.name
250
- val roomData = HmsDecoder.getHmsRoom(hmsSDK?.getRoom())
251
- val localPeerData = HmsDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
252
- val remotePeerData = HmsDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
253
- val hmsPeer = HmsDecoder.getHmsPeer(peer)
249
+ val roomData = HMSDecoder.getHmsRoom(hmsSDK?.getRoom())
250
+ val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
251
+ val remotePeerData = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
252
+ val hmsPeer = HMSDecoder.getHmsPeer(peer)
254
253
 
255
254
  val data: WritableMap = Arguments.createMap()
256
255
 
@@ -265,9 +264,9 @@ class HmsSDK(
265
264
 
266
265
  override fun onRoomUpdate(type: HMSRoomUpdate, hmsRoom: HMSRoom) {
267
266
  val updateType = type.name
268
- val roomData = HmsDecoder.getHmsRoom(hmsRoom)
269
- val localPeerData = HmsDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
270
- val remotePeerData = HmsDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
267
+ val roomData = HMSDecoder.getHmsRoom(hmsRoom)
268
+ val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
269
+ val remotePeerData = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
271
270
 
272
271
  val data: WritableMap = Arguments.createMap()
273
272
 
@@ -281,11 +280,11 @@ class HmsSDK(
281
280
 
282
281
  override fun onTrackUpdate(type: HMSTrackUpdate, track: HMSTrack, peer: HMSPeer) {
283
282
  val updateType = type.name
284
- val localPeerData = HmsDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
285
- val remotePeerData = HmsDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
286
- val roomData = HmsDecoder.getHmsRoom(hmsSDK?.getRoom())
287
- val hmsPeer = HmsDecoder.getHmsPeer(peer)
288
- val hmsTrack = HmsDecoder.getHmsTrack(track)
283
+ val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
284
+ val remotePeerData = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
285
+ val roomData = HMSDecoder.getHmsRoom(hmsSDK?.getRoom())
286
+ val hmsPeer = HMSDecoder.getHmsPeer(peer)
287
+ val hmsTrack = HMSDecoder.getHmsTrack(track)
289
288
 
290
289
  val data: WritableMap = Arguments.createMap()
291
290
 
@@ -302,12 +301,12 @@ class HmsSDK(
302
301
  override fun onMessageReceived(message: HMSMessage) {
303
302
  val data: WritableMap = Arguments.createMap()
304
303
 
305
- data.putMap("sender", HmsDecoder.getHmsPeer(message.sender))
304
+ data.putMap("sender", HMSDecoder.getHmsPeer(message.sender))
306
305
  data.putString("message", message.message)
307
306
  data.putString("type", message.type)
308
- data.putString("time", message.serverReceiveTime.time.toString())
307
+ data.putString("time", message.serverReceiveTime.toString())
309
308
  data.putString("id", id)
310
- data.putMap("recipient", HmsDecoder.getHmsMessageRecipient(message.recipient))
309
+ data.putMap("recipient", HMSDecoder.getHmsMessageRecipient(message.recipient))
311
310
 
312
311
  delegate.emitEvent("ON_MESSAGE", data)
313
312
  }
@@ -327,7 +326,7 @@ class HmsSDK(
327
326
  }
328
327
 
329
328
  override fun onRoleChangeRequest(request: HMSRoleChangeRequest) {
330
- val decodedChangeRoleRequest = HmsDecoder.getHmsRoleChangeRequest(request, id)
329
+ val decodedChangeRoleRequest = HMSDecoder.getHmsRoleChangeRequest(request, id)
331
330
  delegate.emitEvent("ON_ROLE_CHANGE_REQUEST", decodedChangeRoleRequest)
332
331
  recentRoleChangeRequest = request
333
332
  }
@@ -347,9 +346,9 @@ class HmsSDK(
347
346
  val peers: WritableArray = Arguments.createArray()
348
347
  for (speaker in speakers) {
349
348
  val speakerArray: WritableMap = Arguments.createMap()
350
- speakerArray.putMap("peer", HmsDecoder.getHmsPeer(speaker.peer))
349
+ speakerArray.putMap("peer", HMSDecoder.getHmsPeer(speaker.peer))
351
350
  speakerArray.putInt("level", speaker.level)
352
- speakerArray.putMap("track", HmsDecoder.getHmsTrack(speaker.hmsTrack))
351
+ speakerArray.putMap("track", HMSDecoder.getHmsTrack(speaker.hmsTrack))
353
352
  peers.pushMap(speakerArray)
354
353
  }
355
354
  data.putArray("peers", peers)
@@ -360,7 +359,8 @@ class HmsSDK(
360
359
  )
361
360
  }
362
361
  } else {
363
- self.emitRequiredKeysError()
362
+ val errorMessage = "join: $requiredKeys"
363
+ self.emitRequiredKeysError(errorMessage)
364
364
  }
365
365
  }
366
366
 
@@ -398,11 +398,11 @@ class HmsSDK(
398
398
 
399
399
  fun sendBroadcastMessage(data: ReadableMap, callback: Promise?) {
400
400
  val requiredKeys =
401
- HmsHelper.areAllRequiredKeysAvailable(
401
+ HMSHelper.getUnavailableRequiredKey(
402
402
  data,
403
403
  arrayOf(Pair("message", "String"), Pair("type", "String"))
404
404
  )
405
- if (requiredKeys) {
405
+ if (requiredKeys === null) {
406
406
  hmsSDK?.sendBroadcastMessage(
407
407
  data.getString("message") as String,
408
408
  data.getString("type") as String,
@@ -417,21 +417,22 @@ class HmsSDK(
417
417
  }
418
418
  )
419
419
  } else {
420
- self.emitRequiredKeysError()
421
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
420
+ val errorMessage = "sendBroadcastMessage: $requiredKeys"
421
+ self.emitRequiredKeysError(errorMessage)
422
+ rejectCallback(callback, errorMessage)
422
423
  }
423
424
  }
424
425
 
425
426
  fun sendGroupMessage(data: ReadableMap, callback: Promise?) {
426
427
  val requiredKeys =
427
- HmsHelper.areAllRequiredKeysAvailable(
428
+ HMSHelper.getUnavailableRequiredKey(
428
429
  data,
429
430
  arrayOf(Pair("message", "String"), Pair("roles", "Array"), Pair("type", "String"))
430
431
  )
431
- if (requiredKeys) {
432
+ if (requiredKeys === null) {
432
433
  val targetedRoles = data.getArray("roles")?.toArrayList() as? ArrayList<String>
433
434
  val roles = hmsSDK?.getRoles()
434
- val encodedTargetedRoles = HmsHelper.getRolesFromRoleNames(targetedRoles, roles)
435
+ val encodedTargetedRoles = HMSHelper.getRolesFromRoleNames(targetedRoles, roles)
435
436
 
436
437
  hmsSDK?.sendGroupMessage(
437
438
  data.getString("message") as String,
@@ -448,20 +449,21 @@ class HmsSDK(
448
449
  }
449
450
  )
450
451
  } else {
451
- self.emitRequiredKeysError()
452
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
452
+ val errorMessage = "sendGroupMessage: $requiredKeys"
453
+ self.emitRequiredKeysError(errorMessage)
454
+ rejectCallback(callback, errorMessage)
453
455
  }
454
456
  }
455
457
 
456
458
  fun sendDirectMessage(data: ReadableMap, callback: Promise?) {
457
459
  val requiredKeys =
458
- HmsHelper.areAllRequiredKeysAvailable(
460
+ HMSHelper.getUnavailableRequiredKey(
459
461
  data,
460
462
  arrayOf(Pair("message", "String"), Pair("peerId", "String"), Pair("type", "String"))
461
463
  )
462
- if (requiredKeys) {
464
+ if (requiredKeys === null) {
463
465
  val peerId = data.getString("peerId")
464
- val peer = HmsHelper.getPeerFromPeerId(peerId, hmsSDK?.getRoom())
466
+ val peer = HMSHelper.getPeerFromPeerId(peerId, hmsSDK?.getRoom())
465
467
  if (peer != null) {
466
468
  hmsSDK?.sendDirectMessage(
467
469
  data.getString("message") as String,
@@ -482,25 +484,26 @@ class HmsSDK(
482
484
  callback?.reject("101", "PEER_NOT_FOUND")
483
485
  }
484
486
  } else {
485
- self.emitRequiredKeysError()
486
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
487
+ val errorMessage = "sendDirectMessage: $requiredKeys"
488
+ self.emitRequiredKeysError(errorMessage)
489
+ rejectCallback(callback, errorMessage)
487
490
  }
488
491
  }
489
492
 
490
493
  fun changeRole(data: ReadableMap, callback: Promise?) {
491
494
  val requiredKeys =
492
- HmsHelper.areAllRequiredKeysAvailable(
495
+ HMSHelper.getUnavailableRequiredKey(
493
496
  data,
494
497
  arrayOf(Pair("peerId", "String"), Pair("role", "String"), Pair("force", "Boolean"))
495
498
  )
496
- if (requiredKeys) {
499
+ if (requiredKeys === null) {
497
500
  val peerId = data.getString("peerId")
498
501
  val role = data.getString("role")
499
502
  val force = data.getBoolean("force")
500
503
 
501
504
  if (peerId !== null && role !== null) {
502
- val hmsPeer = HmsHelper.getPeerFromPeerId(peerId, hmsSDK?.getRoom())
503
- val hmsRole = HmsHelper.getRoleFromRoleName(role, hmsSDK?.getRoles())
505
+ val hmsPeer = HMSHelper.getPeerFromPeerId(peerId, hmsSDK?.getRoom())
506
+ val hmsRole = HMSHelper.getRoleFromRoleName(role, hmsSDK?.getRoles())
504
507
 
505
508
  if (hmsRole != null && hmsPeer != null) {
506
509
  hmsSDK?.changeRole(
@@ -520,21 +523,22 @@ class HmsSDK(
520
523
  }
521
524
  }
522
525
  } else {
523
- self.emitRequiredKeysError()
524
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
526
+ val errorMessage = "changeRole: $requiredKeys"
527
+ self.emitRequiredKeysError(errorMessage)
528
+ rejectCallback(callback, errorMessage)
525
529
  }
526
530
  }
527
531
 
528
532
  fun changeTrackState(data: ReadableMap, callback: Promise?) {
529
533
  val requiredKeys =
530
- HmsHelper.areAllRequiredKeysAvailable(
534
+ HMSHelper.getUnavailableRequiredKey(
531
535
  data,
532
536
  arrayOf(Pair("trackId", "String"), Pair("mute", "Boolean"))
533
537
  )
534
- if (requiredKeys) {
538
+ if (requiredKeys === null) {
535
539
  val trackId = data.getString("trackId")
536
540
  val mute = data.getBoolean("mute")
537
- val track = HmsHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
541
+ val track = HMSHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
538
542
  if (track != null) {
539
543
  hmsSDK?.changeTrackState(
540
544
  track,
@@ -551,42 +555,37 @@ class HmsSDK(
551
555
  )
552
556
  }
553
557
  } else {
554
- self.emitRequiredKeysError()
555
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
558
+ val errorMessage = "changeTrackState: $requiredKeys"
559
+ self.emitRequiredKeysError(errorMessage)
560
+ rejectCallback(callback, errorMessage)
556
561
  }
557
562
  }
558
563
 
559
564
  fun changeTrackStateForRoles(data: ReadableMap, callback: Promise?) {
560
- val requiredKeys =
561
- HmsHelper.areAllRequiredKeysAvailable(
562
- data,
563
- arrayOf(
564
- Pair("mute", "Boolean"),
565
- )
566
- )
567
- if (requiredKeys) {
565
+ val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("mute", "Boolean")))
566
+ if (requiredKeys === null) {
568
567
  val mute: Boolean = data.getBoolean("mute")
569
568
  val type =
570
- if (HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("type", "String")))) {
569
+ if (HMSHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("type", "String")))) {
571
570
  if (data.getString("type") == HMSTrackType.AUDIO.toString()) HMSTrackType.AUDIO
572
571
  else HMSTrackType.VIDEO
573
572
  } else {
574
573
  null
575
574
  }
576
575
  val source =
577
- if (HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("source", "String")))) {
576
+ if (HMSHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("source", "String")))) {
578
577
  data.getString("source")
579
578
  } else {
580
579
  null
581
580
  }
582
581
  val targetedRoles =
583
- if (HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("roles", "Array")))) {
582
+ if (HMSHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("roles", "Array")))) {
584
583
  data.getArray("roles")?.toArrayList() as? ArrayList<String>
585
584
  } else {
586
585
  null
587
586
  }
588
587
  val roles = hmsSDK?.getRoles()
589
- val encodedTargetedRoles = HmsHelper.getRolesFromRoleNames(targetedRoles, roles)
588
+ val encodedTargetedRoles = HMSHelper.getRolesFromRoleNames(targetedRoles, roles)
590
589
  hmsSDK?.changeTrackState(
591
590
  mute,
592
591
  type,
@@ -603,19 +602,19 @@ class HmsSDK(
603
602
  }
604
603
  )
605
604
  } else {
606
- self.emitRequiredKeysError()
607
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
605
+ val errorMessage = "changeTrackStateForRoles: $requiredKeys"
606
+ self.emitRequiredKeysError(errorMessage)
607
+ rejectCallback(callback, errorMessage)
608
608
  }
609
609
  }
610
610
 
611
611
  fun isMute(data: ReadableMap, callback: Promise?) {
612
- val requiredKeys =
613
- HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("trackId", "String")))
614
- if (requiredKeys) {
612
+ val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String")))
613
+ if (requiredKeys === null) {
615
614
  val trackId = data.getString("trackId")
616
- val localTrack = HmsHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
615
+ val localTrack = HMSHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
617
616
  if (localTrack == null) {
618
- val track = HmsHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
617
+ val track = HMSHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
619
618
  if (track != null) {
620
619
  val mute = track.isMute
621
620
  callback?.resolve(mute)
@@ -627,19 +626,21 @@ class HmsSDK(
627
626
  callback?.resolve(mute)
628
627
  }
629
628
  } else {
630
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
629
+ val errorMessage = "isMute: $requiredKeys"
630
+ self.emitRequiredKeysError(errorMessage)
631
+ rejectCallback(callback, errorMessage)
631
632
  }
632
633
  }
633
634
 
634
635
  fun removePeer(data: ReadableMap, callback: Promise?) {
635
636
  val requiredKeys =
636
- HmsHelper.areAllRequiredKeysAvailable(
637
+ HMSHelper.getUnavailableRequiredKey(
637
638
  data,
638
639
  arrayOf(Pair("peerId", "String"), Pair("reason", "String"))
639
640
  )
640
- if (requiredKeys) {
641
+ if (requiredKeys === null) {
641
642
  val peerId = data.getString("peerId")
642
- val peer = HmsHelper.getRemotePeerFromPeerId(peerId, hmsSDK?.getRoom())
643
+ val peer = HMSHelper.getRemotePeerFromPeerId(peerId, hmsSDK?.getRoom())
643
644
 
644
645
  if (peer != null) {
645
646
  hmsSDK?.removePeerRequest(
@@ -660,18 +661,19 @@ class HmsSDK(
660
661
  callback?.reject("101", "PEER_NOT_FOUND")
661
662
  }
662
663
  } else {
663
- self.emitRequiredKeysError()
664
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
664
+ val errorMessage = "removePeer: $requiredKeys"
665
+ self.emitRequiredKeysError(errorMessage)
666
+ rejectCallback(callback, errorMessage)
665
667
  }
666
668
  }
667
669
 
668
670
  fun endRoom(data: ReadableMap, callback: Promise?) {
669
671
  val requiredKeys =
670
- HmsHelper.areAllRequiredKeysAvailable(
672
+ HMSHelper.getUnavailableRequiredKey(
671
673
  data,
672
674
  arrayOf(Pair("lock", "Boolean"), Pair("reason", "String"))
673
675
  )
674
- if (requiredKeys) {
676
+ if (requiredKeys === null) {
675
677
  hmsSDK?.endRoom(
676
678
  data.getString("reason") as String,
677
679
  data.getBoolean("lock"),
@@ -686,14 +688,14 @@ class HmsSDK(
686
688
  }
687
689
  )
688
690
  } else {
689
- self.emitRequiredKeysError()
690
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
691
+ val errorMessage = "endRoom: $requiredKeys"
692
+ self.emitRequiredKeysError(errorMessage)
693
+ rejectCallback(callback, errorMessage)
691
694
  }
692
695
  }
693
696
 
694
697
  fun acceptRoleChange(callback: Promise?) {
695
698
  if (recentRoleChangeRequest !== null) {
696
-
697
699
  hmsSDK?.acceptChangeRole(
698
700
  recentRoleChangeRequest!!,
699
701
  object : HMSActionResultListener {
@@ -706,8 +708,11 @@ class HmsSDK(
706
708
  }
707
709
  }
708
710
  )
709
-
710
711
  recentRoleChangeRequest = null
712
+ } else {
713
+ val errorMessage = "acceptRoleChange: recentRoleChangeRequest null"
714
+ self.emitRequiredKeysError(errorMessage)
715
+ rejectCallback(callback, errorMessage)
711
716
  }
712
717
  }
713
718
 
@@ -734,18 +739,18 @@ class HmsSDK(
734
739
  }
735
740
 
736
741
  fun setPlaybackForAllAudio(data: ReadableMap) {
737
- val requiredKeys = HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("mute", "Boolean")))
738
- if (requiredKeys) {
742
+ val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("mute", "Boolean")))
743
+ if (requiredKeys === null) {
739
744
  val mute = data.getBoolean("mute")
740
745
  val peers = hmsSDK?.getRemotePeers()
741
746
  if (peers != null) {
742
747
  for (remotePeer in peers) {
743
748
  val peerId = remotePeer.peerID
744
- val peer = HmsHelper.getRemotePeerFromPeerId(peerId, hmsSDK?.getRoom())
749
+ val peer = HMSHelper.getRemotePeerFromPeerId(peerId, hmsSDK?.getRoom())
745
750
  peer?.audioTrack?.isPlaybackAllowed = !mute
746
751
  }
747
- val localPeerData = HmsDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
748
- val remotePeerData = HmsDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
752
+ val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
753
+ val remotePeerData = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
749
754
 
750
755
  val map: WritableMap = Arguments.createMap()
751
756
 
@@ -755,38 +760,39 @@ class HmsSDK(
755
760
  delegate.emitEvent("ON_PEER_UPDATE", map)
756
761
  }
757
762
  } else {
758
- this.emitRequiredKeysError()
763
+ val errorMessage = "setPlaybackForAllAudio: $requiredKeys"
764
+ self.emitRequiredKeysError(errorMessage)
759
765
  }
760
766
  }
761
767
 
762
768
  fun setPlaybackAllowed(data: ReadableMap) {
763
769
  val requiredKeys =
764
- HmsHelper.areAllRequiredKeysAvailable(
770
+ HMSHelper.getUnavailableRequiredKey(
765
771
  data,
766
772
  arrayOf(Pair("trackId", "String"), Pair("playbackAllowed", "Boolean"))
767
773
  )
768
- if (requiredKeys) {
774
+ if (requiredKeys === null) {
769
775
  val trackId = data.getString("trackId")
770
776
  val playbackAllowed = data.getBoolean("playbackAllowed")
771
- val remoteAudioTrack = HmsHelper.getRemoteAudioTrackFromTrackId(trackId, hmsSDK?.getRoom())
772
- val remoteVideoTrack = HmsHelper.getRemoteVideoTrackFromTrackId(trackId, hmsSDK?.getRoom())
777
+ val remoteAudioTrack = HMSHelper.getRemoteAudioTrackFromTrackId(trackId, hmsSDK?.getRoom())
778
+ val remoteVideoTrack = HMSHelper.getRemoteVideoTrackFromTrackId(trackId, hmsSDK?.getRoom())
773
779
  if (remoteAudioTrack != null) {
774
780
  remoteAudioTrack.isPlaybackAllowed = playbackAllowed
775
781
  } else if (remoteVideoTrack != null) {
776
782
  remoteVideoTrack.isPlaybackAllowed = playbackAllowed
777
783
  }
778
784
  } else {
779
- this.emitRequiredKeysError()
785
+ val errorMessage = "setPlaybackAllowed: $requiredKeys"
786
+ self.emitRequiredKeysError(errorMessage)
780
787
  }
781
788
  }
782
789
 
783
790
  fun isPlaybackAllowed(data: ReadableMap, callback: Promise?) {
784
- val requiredKeys =
785
- HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("trackId", "String")))
786
- if (requiredKeys) {
791
+ val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String")))
792
+ if (requiredKeys === null) {
787
793
  val trackId = data.getString("trackId")
788
- val remoteAudioTrack = HmsHelper.getRemoteAudioTrackFromTrackId(trackId, hmsSDK?.getRoom())
789
- val remoteVideoTrack = HmsHelper.getRemoteVideoTrackFromTrackId(trackId, hmsSDK?.getRoom())
794
+ val remoteAudioTrack = HMSHelper.getRemoteAudioTrackFromTrackId(trackId, hmsSDK?.getRoom())
795
+ val remoteVideoTrack = HMSHelper.getRemoteVideoTrackFromTrackId(trackId, hmsSDK?.getRoom())
790
796
  when {
791
797
  remoteAudioTrack != null -> {
792
798
  val isPlaybackAllowed = remoteAudioTrack.isPlaybackAllowed
@@ -801,23 +807,25 @@ class HmsSDK(
801
807
  }
802
808
  }
803
809
  } else {
804
- callback?.reject("101", "TRACK_ID_NOT_FOUND")
810
+ val errorMessage = "isPlaybackAllowed: $requiredKeys"
811
+ self.emitRequiredKeysError(errorMessage)
812
+ rejectCallback(callback, errorMessage)
805
813
  }
806
814
  }
807
815
 
808
816
  fun getRoom(callback: Promise?) {
809
- val roomData = HmsDecoder.getHmsRoom(hmsSDK?.getRoom())
817
+ val roomData = HMSDecoder.getHmsRoom(hmsSDK?.getRoom())
810
818
  callback?.resolve(roomData)
811
819
  }
812
820
 
813
821
  fun setVolume(data: ReadableMap) {
814
822
  val requiredKeys =
815
- HmsHelper.areAllRequiredKeysAvailable(
823
+ HMSHelper.getUnavailableRequiredKey(
816
824
  data,
817
825
  arrayOf(Pair("trackId", "String"), Pair("volume", "Float"))
818
826
  )
819
827
 
820
- if (requiredKeys) {
828
+ if (requiredKeys === null) {
821
829
  val trackId = data.getString("trackId")
822
830
  val volume = data.getDouble("volume")
823
831
 
@@ -848,15 +856,14 @@ class HmsSDK(
848
856
  this.emitCustomError("REMOTE_PEERS_NOT_FOUND")
849
857
  }
850
858
  } else {
851
- this.emitRequiredKeysError()
859
+ val errorMessage = "setVolume: $requiredKeys"
860
+ self.emitRequiredKeysError(errorMessage)
852
861
  }
853
862
  }
854
863
 
855
864
  fun getVolume(data: ReadableMap, callback: Promise?) {
856
- val requiredKeys =
857
- HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("trackId", "String")))
858
-
859
- if (requiredKeys) {
865
+ val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String")))
866
+ if (requiredKeys === null) {
860
867
  val trackId = data.getString("trackId")
861
868
 
862
869
  val localPeer = hmsSDK?.getLocalPeer()
@@ -868,15 +875,16 @@ class HmsSDK(
868
875
  }
869
876
  callback?.reject("101", "TRACK_IDS_DO_NOT_MATCH")
870
877
  } else {
871
- callback?.reject("101", "TRACK_NOT_FOUND")
878
+ val errorMessage = "getVolume: $requiredKeys"
879
+ self.emitRequiredKeysError(errorMessage)
880
+ rejectCallback(callback, errorMessage)
872
881
  }
873
882
  }
874
883
 
875
884
  fun changeMetadata(data: ReadableMap, callback: Promise?) {
876
885
  val requiredKeys =
877
- HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("metadata", "String")))
878
-
879
- if (requiredKeys) {
886
+ HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("metadata", "String")))
887
+ if (requiredKeys === null) {
880
888
  val metadata = data.getString("metadata")
881
889
 
882
890
  if (metadata != null) {
@@ -894,24 +902,26 @@ class HmsSDK(
894
902
  )
895
903
  }
896
904
  } else {
897
- self.emitRequiredKeysError()
905
+ val errorMessage = "changeMetadata: $requiredKeys"
906
+ self.emitRequiredKeysError(errorMessage)
907
+ rejectCallback(callback, errorMessage)
898
908
  }
899
909
  }
900
910
 
901
911
  fun startRTMPOrRecording(data: ReadableMap, callback: Promise?) {
902
912
  val requiredKeys =
903
- HmsHelper.areAllRequiredKeysAvailable(
913
+ HMSHelper.getUnavailableRequiredKey(
904
914
  data,
905
915
  arrayOf(Pair("record", "Boolean"), Pair("meetingURL", "String"))
906
916
  )
907
- if (requiredKeys) {
917
+ if (requiredKeys === null) {
908
918
  val record = data.getBoolean("record")
909
919
  val meetingURL = data.getString("meetingURL") as String
910
920
  var rtmpURLs = data.getArray("rtmpURLs")
911
921
  if (rtmpURLs == null) {
912
922
  rtmpURLs = Arguments.createArray()
913
923
  }
914
- val rtmpURLsList = HmsHelper.getRtmpUrls(rtmpURLs)
924
+ val rtmpURLsList = HMSHelper.getRtmpUrls(rtmpURLs)
915
925
  val config = HMSRecordingConfig(meetingURL, rtmpURLsList, record)
916
926
 
917
927
  hmsSDK?.startRtmpOrRecording(
@@ -927,8 +937,9 @@ class HmsSDK(
927
937
  }
928
938
  )
929
939
  } else {
930
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
931
- self.emitRequiredKeysError()
940
+ val errorMessage = "startRTMPOrRecording: $requiredKeys"
941
+ self.emitRequiredKeysError(errorMessage)
942
+ rejectCallback(callback, errorMessage)
932
943
  }
933
944
  }
934
945
 
@@ -978,12 +989,12 @@ class HmsSDK(
978
989
 
979
990
  fun startHLSStreaming(data: ReadableMap, callback: Promise?) {
980
991
  val requiredKeys =
981
- HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("meetingURLVariants", "Array")))
982
- if (requiredKeys) {
992
+ HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("meetingURLVariants", "Array")))
993
+ if (requiredKeys === null) {
983
994
  val meetingURLVariants =
984
995
  data.getArray("meetingURLVariants")?.toArrayList() as? ArrayList<HashMap<String, String>>
985
- val hlsMeetingUrlVariant = HmsHelper.getHMSHLSMeetingURLVariants(meetingURLVariants)
986
- val hlsRecordingConfig = HmsHelper.getHlsRecordingConfig(data)
996
+ val hlsMeetingUrlVariant = HMSHelper.getHMSHLSMeetingURLVariants(meetingURLVariants)
997
+ val hlsRecordingConfig = HMSHelper.getHlsRecordingConfig(data)
987
998
  val config = HMSHLSConfig(hlsMeetingUrlVariant, hlsRecordingConfig)
988
999
 
989
1000
  hmsSDK?.startHLSStreaming(
@@ -999,8 +1010,9 @@ class HmsSDK(
999
1010
  }
1000
1011
  )
1001
1012
  } else {
1002
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
1003
- self.emitRequiredKeysError()
1013
+ val errorMessage = "startHLSStreaming: $requiredKeys"
1014
+ self.emitRequiredKeysError(errorMessage)
1015
+ rejectCallback(callback, errorMessage)
1004
1016
  }
1005
1017
  }
1006
1018
 
@@ -1041,8 +1053,8 @@ class HmsSDK(
1041
1053
  }
1042
1054
 
1043
1055
  fun changeName(data: ReadableMap, callback: Promise?) {
1044
- val requiredKeys = HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("name", "String")))
1045
- if (requiredKeys) {
1056
+ val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("name", "String")))
1057
+ if (requiredKeys === null) {
1046
1058
  val name = data.getString("name")
1047
1059
  if (name != null && name != "") {
1048
1060
  hmsSDK?.changeName(
@@ -1063,8 +1075,9 @@ class HmsSDK(
1063
1075
  callback?.reject("101", "NAME_UNDEFINED")
1064
1076
  }
1065
1077
  } else {
1066
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
1067
- self.emitRequiredKeysError()
1078
+ val errorMessage = "changeName: $requiredKeys"
1079
+ self.emitRequiredKeysError(errorMessage)
1080
+ rejectCallback(callback, errorMessage)
1068
1081
  }
1069
1082
  }
1070
1083
  }