@100mslive/react-native-hms 0.9.4 → 0.9.7

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 (216) hide show
  1. package/README.md +3 -5
  2. package/android/.gradle/6.9/fileHashes/fileHashes.bin +0 -0
  3. package/android/.gradle/6.9/fileHashes/fileHashes.lock +0 -0
  4. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  5. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  6. package/android/.gradle/checksums/checksums.lock +0 -0
  7. package/android/.gradle/checksums/md5-checksums.bin +0 -0
  8. package/android/.gradle/checksums/sha1-checksums.bin +0 -0
  9. package/android/build.gradle +3 -3
  10. package/android/src/main/java/com/reactnativehmssdk/{HmsDecoder.kt → HMSDecoder.kt} +38 -34
  11. package/android/src/main/java/com/reactnativehmssdk/{HmsHelper.kt → HMSHelper.kt} +115 -75
  12. package/android/src/main/java/com/reactnativehmssdk/{HmsModule.kt → HMSManager.kt} +51 -41
  13. package/android/src/main/java/com/reactnativehmssdk/{HmsSDK.kt → HMSRNSDK.kt} +171 -159
  14. package/android/src/main/java/com/reactnativehmssdk/{HmssdkViewManager.kt → HMSSDKViewManager.kt} +38 -17
  15. package/android/src/main/java/com/reactnativehmssdk/{HmsView.kt → HMSView.kt} +10 -10
  16. package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +17 -18
  17. package/android/src/main/java/com/reactnativehmssdk/HmssdkPackage.kt +2 -2
  18. package/ios/{HmsDecoder.swift → HMSDecoder.swift} +27 -26
  19. package/ios/{HmsHelper.swift → HMSHelper.swift} +13 -7
  20. package/ios/{HmsManager.m → HMSManager.m} +2 -1
  21. package/ios/{HmsManager.swift → HMSManager.swift} +46 -38
  22. package/ios/{HmsSDK.swift → HMSRNSDK.swift} +128 -128
  23. package/ios/{HmsView.m → HMSView.m} +1 -1
  24. package/ios/{HmsView.swift → HMSView.swift} +9 -20
  25. package/lib/commonjs/classes/HMSAudioCodec.js.map +1 -1
  26. package/lib/commonjs/classes/HMSAudioSettings.js.map +1 -1
  27. package/lib/commonjs/classes/HMSAudioTrack.js.map +1 -1
  28. package/lib/commonjs/classes/HMSAudioTrackSettings.js.map +1 -1
  29. package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
  30. package/lib/commonjs/classes/HMSCameraFacing.js.map +1 -1
  31. package/lib/commonjs/classes/HMSChangeTrackStateRequest.js.map +1 -1
  32. package/lib/commonjs/classes/HMSConfig.js.map +1 -1
  33. package/lib/commonjs/classes/HMSEncoder.js +42 -17
  34. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  35. package/lib/commonjs/classes/HMSException.js.map +1 -1
  36. package/lib/commonjs/classes/HMSHLSConfig.js.map +1 -1
  37. package/lib/commonjs/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  38. package/lib/commonjs/classes/HMSHLSRecordingConfig.js.map +1 -1
  39. package/lib/commonjs/classes/HMSHLSRecordingState.js.map +1 -1
  40. package/lib/commonjs/classes/HMSHLSStreamingState.js.map +1 -1
  41. package/lib/commonjs/classes/HMSHLSVariant.js.map +1 -1
  42. package/lib/commonjs/classes/HMSHelper.js.map +1 -1
  43. package/lib/commonjs/classes/HMSLocalAudioStats.js.map +1 -1
  44. package/lib/commonjs/classes/HMSLocalAudioTrack.js +6 -8
  45. package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
  46. package/lib/commonjs/classes/HMSLocalPeer.js.map +1 -1
  47. package/lib/commonjs/classes/HMSLocalVideoStats.js.map +1 -1
  48. package/lib/commonjs/classes/HMSLocalVideoTrack.js +6 -8
  49. package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
  50. package/lib/commonjs/classes/HMSLogLevel.js.map +1 -1
  51. package/lib/commonjs/classes/HMSLogger.js +19 -1
  52. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  53. package/lib/commonjs/classes/HMSMessage.js +1 -1
  54. package/lib/commonjs/classes/HMSMessage.js.map +1 -1
  55. package/lib/commonjs/classes/HMSMessageRecipient.js.map +1 -1
  56. package/lib/commonjs/classes/HMSMessageRecipientType.js.map +1 -1
  57. package/lib/commonjs/classes/HMSNetworkQuality.js.map +1 -1
  58. package/lib/commonjs/classes/HMSPeer.js.map +1 -1
  59. package/lib/commonjs/classes/HMSPeerUpdate.js.map +1 -1
  60. package/lib/commonjs/classes/HMSPermissions.js.map +1 -1
  61. package/lib/commonjs/classes/HMSPublishSettings.js.map +1 -1
  62. package/lib/commonjs/classes/HMSRTCStats.js.map +1 -1
  63. package/lib/commonjs/classes/HMSRTCStatsReport.js.map +1 -1
  64. package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
  65. package/lib/commonjs/classes/HMSRemoteAudioStats.js.map +1 -1
  66. package/lib/commonjs/classes/HMSRemoteAudioTrack.js +6 -8
  67. package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
  68. package/lib/commonjs/classes/HMSRemotePeer.js.map +1 -1
  69. package/lib/commonjs/classes/HMSRemoteVideoStats.js.map +1 -1
  70. package/lib/commonjs/classes/HMSRemoteVideoTrack.js +6 -8
  71. package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
  72. package/lib/commonjs/classes/HMSRole.js.map +1 -1
  73. package/lib/commonjs/classes/HMSRoleChangeRequest.js.map +1 -1
  74. package/lib/commonjs/classes/HMSRoom.js +3 -0
  75. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  76. package/lib/commonjs/classes/HMSRoomUpdate.js +1 -3
  77. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  78. package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
  79. package/lib/commonjs/classes/HMSSDK.js +119 -239
  80. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  81. package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
  82. package/lib/commonjs/classes/HMSSimulcastLayerSettings.js.map +1 -1
  83. package/lib/commonjs/classes/HMSSimulcastSettings.js.map +1 -1
  84. package/lib/commonjs/classes/HMSSpeaker.js.map +1 -1
  85. package/lib/commonjs/classes/HMSSubscribeSettings.js.map +1 -1
  86. package/lib/commonjs/classes/HMSTrack.js.map +1 -1
  87. package/lib/commonjs/classes/HMSTrackSettings.js.map +1 -1
  88. package/lib/commonjs/classes/HMSTrackSource.js +15 -0
  89. package/lib/commonjs/classes/HMSTrackSource.js.map +1 -0
  90. package/lib/commonjs/classes/HMSTrackType.js.map +1 -1
  91. package/lib/commonjs/classes/HMSTrackUpdate.js.map +1 -1
  92. package/lib/commonjs/classes/HMSUpdateListenerActions.js.map +1 -1
  93. package/lib/commonjs/classes/HMSVideoCodec.js.map +1 -1
  94. package/lib/commonjs/classes/HMSVideoResolution.js.map +1 -1
  95. package/lib/commonjs/classes/HMSVideoSettings.js.map +1 -1
  96. package/lib/commonjs/classes/HMSVideoTrack.js.map +1 -1
  97. package/lib/commonjs/classes/HMSVideoTrackSettings.js.map +1 -1
  98. package/lib/commonjs/classes/HMSVideoViewMode.js.map +1 -1
  99. package/lib/commonjs/classes/HmsView.js +64 -16
  100. package/lib/commonjs/classes/HmsView.js.map +1 -1
  101. package/lib/commonjs/index.js +14 -28
  102. package/lib/commonjs/index.js.map +1 -1
  103. package/lib/module/classes/HMSAudioCodec.js.map +1 -1
  104. package/lib/module/classes/HMSAudioSettings.js.map +1 -1
  105. package/lib/module/classes/HMSAudioTrack.js.map +1 -1
  106. package/lib/module/classes/HMSAudioTrackSettings.js.map +1 -1
  107. package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
  108. package/lib/module/classes/HMSCameraFacing.js.map +1 -1
  109. package/lib/module/classes/HMSChangeTrackStateRequest.js.map +1 -1
  110. package/lib/module/classes/HMSConfig.js.map +1 -1
  111. package/lib/module/classes/HMSEncoder.js +30 -10
  112. package/lib/module/classes/HMSEncoder.js.map +1 -1
  113. package/lib/module/classes/HMSException.js.map +1 -1
  114. package/lib/module/classes/HMSHLSConfig.js.map +1 -1
  115. package/lib/module/classes/HMSHLSMeetingURLVariant.js.map +1 -1
  116. package/lib/module/classes/HMSHLSRecordingConfig.js.map +1 -1
  117. package/lib/module/classes/HMSHLSRecordingState.js.map +1 -1
  118. package/lib/module/classes/HMSHLSStreamingState.js.map +1 -1
  119. package/lib/module/classes/HMSHLSVariant.js.map +1 -1
  120. package/lib/module/classes/HMSHelper.js.map +1 -1
  121. package/lib/module/classes/HMSLocalAudioStats.js.map +1 -1
  122. package/lib/module/classes/HMSLocalAudioTrack.js +6 -6
  123. package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
  124. package/lib/module/classes/HMSLocalPeer.js.map +1 -1
  125. package/lib/module/classes/HMSLocalVideoStats.js.map +1 -1
  126. package/lib/module/classes/HMSLocalVideoTrack.js +6 -6
  127. package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
  128. package/lib/module/classes/HMSLogLevel.js.map +1 -1
  129. package/lib/module/classes/HMSLogger.js +10 -0
  130. package/lib/module/classes/HMSLogger.js.map +1 -1
  131. package/lib/module/classes/HMSMessage.js +1 -1
  132. package/lib/module/classes/HMSMessage.js.map +1 -1
  133. package/lib/module/classes/HMSMessageRecipient.js.map +1 -1
  134. package/lib/module/classes/HMSMessageRecipientType.js.map +1 -1
  135. package/lib/module/classes/HMSNetworkQuality.js.map +1 -1
  136. package/lib/module/classes/HMSPeer.js.map +1 -1
  137. package/lib/module/classes/HMSPeerUpdate.js.map +1 -1
  138. package/lib/module/classes/HMSPermissions.js.map +1 -1
  139. package/lib/module/classes/HMSPublishSettings.js.map +1 -1
  140. package/lib/module/classes/HMSRTCStats.js.map +1 -1
  141. package/lib/module/classes/HMSRTCStatsReport.js.map +1 -1
  142. package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
  143. package/lib/module/classes/HMSRemoteAudioStats.js.map +1 -1
  144. package/lib/module/classes/HMSRemoteAudioTrack.js +6 -6
  145. package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
  146. package/lib/module/classes/HMSRemotePeer.js.map +1 -1
  147. package/lib/module/classes/HMSRemoteVideoStats.js.map +1 -1
  148. package/lib/module/classes/HMSRemoteVideoTrack.js +6 -6
  149. package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
  150. package/lib/module/classes/HMSRole.js.map +1 -1
  151. package/lib/module/classes/HMSRoleChangeRequest.js.map +1 -1
  152. package/lib/module/classes/HMSRoom.js +3 -0
  153. package/lib/module/classes/HMSRoom.js.map +1 -1
  154. package/lib/module/classes/HMSRoomUpdate.js +1 -3
  155. package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
  156. package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
  157. package/lib/module/classes/HMSSDK.js +118 -239
  158. package/lib/module/classes/HMSSDK.js.map +1 -1
  159. package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
  160. package/lib/module/classes/HMSSimulcastLayerSettings.js.map +1 -1
  161. package/lib/module/classes/HMSSimulcastSettings.js.map +1 -1
  162. package/lib/module/classes/HMSSpeaker.js.map +1 -1
  163. package/lib/module/classes/HMSSubscribeSettings.js.map +1 -1
  164. package/lib/module/classes/HMSTrack.js.map +1 -1
  165. package/lib/module/classes/HMSTrackSettings.js.map +1 -1
  166. package/lib/module/classes/HMSTrackSource.js +8 -0
  167. package/lib/module/classes/HMSTrackSource.js.map +1 -0
  168. package/lib/module/classes/HMSTrackType.js.map +1 -1
  169. package/lib/module/classes/HMSTrackUpdate.js.map +1 -1
  170. package/lib/module/classes/HMSUpdateListenerActions.js.map +1 -1
  171. package/lib/module/classes/HMSVideoCodec.js.map +1 -1
  172. package/lib/module/classes/HMSVideoResolution.js.map +1 -1
  173. package/lib/module/classes/HMSVideoSettings.js.map +1 -1
  174. package/lib/module/classes/HMSVideoTrack.js.map +1 -1
  175. package/lib/module/classes/HMSVideoTrackSettings.js.map +1 -1
  176. package/lib/module/classes/HMSVideoViewMode.js.map +1 -1
  177. package/lib/module/classes/HmsView.js +62 -16
  178. package/lib/module/classes/HmsView.js.map +1 -1
  179. package/lib/module/index.js +1 -2
  180. package/lib/module/index.js.map +1 -1
  181. package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +2 -2
  182. package/lib/typescript/classes/HMSEncoder.d.ts +9 -3
  183. package/lib/typescript/classes/HMSLogger.d.ts +3 -0
  184. package/lib/typescript/classes/HMSMessage.d.ts +3 -3
  185. package/lib/typescript/classes/HMSRoom.d.ts +2 -0
  186. package/lib/typescript/classes/HMSRoomUpdate.d.ts +1 -3
  187. package/lib/typescript/classes/HMSRtmpStreamingState.d.ts +2 -2
  188. package/lib/typescript/classes/HMSSDK.d.ts +6 -10
  189. package/lib/typescript/classes/HMSServerRecordingState.d.ts +2 -2
  190. package/lib/typescript/classes/HMSTrackSource.d.ts +5 -0
  191. package/lib/typescript/classes/HmsView.d.ts +5 -7
  192. package/lib/typescript/index.d.ts +1 -2
  193. package/package.json +2 -2
  194. package/react-native-hms.podspec +2 -2
  195. package/src/classes/HMSBrowserRecordingState.ts +2 -2
  196. package/src/classes/HMSEncoder.ts +30 -18
  197. package/src/classes/HMSLocalAudioTrack.ts +6 -6
  198. package/src/classes/HMSLocalVideoTrack.ts +6 -6
  199. package/src/classes/HMSLogger.ts +11 -0
  200. package/src/classes/HMSMessage.ts +4 -4
  201. package/src/classes/HMSRemoteAudioTrack.ts +6 -6
  202. package/src/classes/HMSRemoteVideoTrack.ts +6 -6
  203. package/src/classes/HMSRoom.ts +3 -0
  204. package/src/classes/HMSRoomUpdate.ts +1 -3
  205. package/src/classes/HMSRtmpStreamingState.ts +2 -2
  206. package/src/classes/HMSSDK.tsx +58 -69
  207. package/src/classes/HMSServerRecordingState.ts +2 -2
  208. package/src/classes/HMSTrackSource.ts +5 -0
  209. package/src/classes/HmsView.tsx +98 -48
  210. package/src/index.ts +1 -2
  211. package/lib/commonjs/classes/HMSSpeakerUpdate.js +0 -26
  212. package/lib/commonjs/classes/HMSSpeakerUpdate.js.map +0 -1
  213. package/lib/module/classes/HMSSpeakerUpdate.js +0 -17
  214. package/lib/module/classes/HMSSpeakerUpdate.js.map +0 -1
  215. package/lib/typescript/classes/HMSSpeakerUpdate.d.ts +0 -11
  216. package/src/classes/HMSSpeakerUpdate.ts +0 -17
@@ -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
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
  }
@@ -341,18 +340,17 @@ class HmsSDK(
341
340
  object : HMSAudioListener {
342
341
  override fun onAudioLevelUpdate(speakers: Array<HMSSpeaker>) {
343
342
  val data: WritableMap = Arguments.createMap()
344
- data.putInt("count", speakers.size)
345
343
  data.putString("event", "ON_SPEAKER")
346
344
 
347
345
  val peers: WritableArray = Arguments.createArray()
348
346
  for (speaker in speakers) {
349
347
  val speakerArray: WritableMap = Arguments.createMap()
350
- speakerArray.putMap("peer", HmsDecoder.getHmsPeer(speaker.peer))
348
+ speakerArray.putMap("peer", HMSDecoder.getHmsPeer(speaker.peer))
351
349
  speakerArray.putInt("level", speaker.level)
352
- speakerArray.putMap("track", HmsDecoder.getHmsTrack(speaker.hmsTrack))
350
+ speakerArray.putMap("track", HMSDecoder.getHmsTrack(speaker.hmsTrack))
353
351
  peers.pushMap(speakerArray)
354
352
  }
355
- data.putArray("peers", peers)
353
+ data.putArray("speakers", peers)
356
354
  data.putString("id", id)
357
355
  delegate.emitEvent("ON_SPEAKER", data)
358
356
  }
@@ -360,7 +358,8 @@ class HmsSDK(
360
358
  )
361
359
  }
362
360
  } else {
363
- self.emitRequiredKeysError()
361
+ val errorMessage = "join: $requiredKeys"
362
+ self.emitRequiredKeysError(errorMessage)
364
363
  }
365
364
  }
366
365
 
@@ -398,11 +397,11 @@ class HmsSDK(
398
397
 
399
398
  fun sendBroadcastMessage(data: ReadableMap, callback: Promise?) {
400
399
  val requiredKeys =
401
- HmsHelper.areAllRequiredKeysAvailable(
400
+ HMSHelper.getUnavailableRequiredKey(
402
401
  data,
403
402
  arrayOf(Pair("message", "String"), Pair("type", "String"))
404
403
  )
405
- if (requiredKeys) {
404
+ if (requiredKeys === null) {
406
405
  hmsSDK?.sendBroadcastMessage(
407
406
  data.getString("message") as String,
408
407
  data.getString("type") as String,
@@ -417,21 +416,22 @@ class HmsSDK(
417
416
  }
418
417
  )
419
418
  } else {
420
- self.emitRequiredKeysError()
421
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
419
+ val errorMessage = "sendBroadcastMessage: $requiredKeys"
420
+ self.emitRequiredKeysError(errorMessage)
421
+ rejectCallback(callback, errorMessage)
422
422
  }
423
423
  }
424
424
 
425
425
  fun sendGroupMessage(data: ReadableMap, callback: Promise?) {
426
426
  val requiredKeys =
427
- HmsHelper.areAllRequiredKeysAvailable(
427
+ HMSHelper.getUnavailableRequiredKey(
428
428
  data,
429
429
  arrayOf(Pair("message", "String"), Pair("roles", "Array"), Pair("type", "String"))
430
430
  )
431
- if (requiredKeys) {
431
+ if (requiredKeys === null) {
432
432
  val targetedRoles = data.getArray("roles")?.toArrayList() as? ArrayList<String>
433
433
  val roles = hmsSDK?.getRoles()
434
- val encodedTargetedRoles = HmsHelper.getRolesFromRoleNames(targetedRoles, roles)
434
+ val encodedTargetedRoles = HMSHelper.getRolesFromRoleNames(targetedRoles, roles)
435
435
 
436
436
  hmsSDK?.sendGroupMessage(
437
437
  data.getString("message") as String,
@@ -448,20 +448,21 @@ class HmsSDK(
448
448
  }
449
449
  )
450
450
  } else {
451
- self.emitRequiredKeysError()
452
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
451
+ val errorMessage = "sendGroupMessage: $requiredKeys"
452
+ self.emitRequiredKeysError(errorMessage)
453
+ rejectCallback(callback, errorMessage)
453
454
  }
454
455
  }
455
456
 
456
457
  fun sendDirectMessage(data: ReadableMap, callback: Promise?) {
457
458
  val requiredKeys =
458
- HmsHelper.areAllRequiredKeysAvailable(
459
+ HMSHelper.getUnavailableRequiredKey(
459
460
  data,
460
461
  arrayOf(Pair("message", "String"), Pair("peerId", "String"), Pair("type", "String"))
461
462
  )
462
- if (requiredKeys) {
463
+ if (requiredKeys === null) {
463
464
  val peerId = data.getString("peerId")
464
- val peer = HmsHelper.getPeerFromPeerId(peerId, hmsSDK?.getRoom())
465
+ val peer = HMSHelper.getPeerFromPeerId(peerId, hmsSDK?.getRoom())
465
466
  if (peer != null) {
466
467
  hmsSDK?.sendDirectMessage(
467
468
  data.getString("message") as String,
@@ -482,25 +483,26 @@ class HmsSDK(
482
483
  callback?.reject("101", "PEER_NOT_FOUND")
483
484
  }
484
485
  } else {
485
- self.emitRequiredKeysError()
486
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
486
+ val errorMessage = "sendDirectMessage: $requiredKeys"
487
+ self.emitRequiredKeysError(errorMessage)
488
+ rejectCallback(callback, errorMessage)
487
489
  }
488
490
  }
489
491
 
490
492
  fun changeRole(data: ReadableMap, callback: Promise?) {
491
493
  val requiredKeys =
492
- HmsHelper.areAllRequiredKeysAvailable(
494
+ HMSHelper.getUnavailableRequiredKey(
493
495
  data,
494
496
  arrayOf(Pair("peerId", "String"), Pair("role", "String"), Pair("force", "Boolean"))
495
497
  )
496
- if (requiredKeys) {
498
+ if (requiredKeys === null) {
497
499
  val peerId = data.getString("peerId")
498
500
  val role = data.getString("role")
499
501
  val force = data.getBoolean("force")
500
502
 
501
503
  if (peerId !== null && role !== null) {
502
- val hmsPeer = HmsHelper.getPeerFromPeerId(peerId, hmsSDK?.getRoom())
503
- val hmsRole = HmsHelper.getRoleFromRoleName(role, hmsSDK?.getRoles())
504
+ val hmsPeer = HMSHelper.getPeerFromPeerId(peerId, hmsSDK?.getRoom())
505
+ val hmsRole = HMSHelper.getRoleFromRoleName(role, hmsSDK?.getRoles())
504
506
 
505
507
  if (hmsRole != null && hmsPeer != null) {
506
508
  hmsSDK?.changeRole(
@@ -520,21 +522,22 @@ class HmsSDK(
520
522
  }
521
523
  }
522
524
  } else {
523
- self.emitRequiredKeysError()
524
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
525
+ val errorMessage = "changeRole: $requiredKeys"
526
+ self.emitRequiredKeysError(errorMessage)
527
+ rejectCallback(callback, errorMessage)
525
528
  }
526
529
  }
527
530
 
528
531
  fun changeTrackState(data: ReadableMap, callback: Promise?) {
529
532
  val requiredKeys =
530
- HmsHelper.areAllRequiredKeysAvailable(
533
+ HMSHelper.getUnavailableRequiredKey(
531
534
  data,
532
535
  arrayOf(Pair("trackId", "String"), Pair("mute", "Boolean"))
533
536
  )
534
- if (requiredKeys) {
537
+ if (requiredKeys === null) {
535
538
  val trackId = data.getString("trackId")
536
539
  val mute = data.getBoolean("mute")
537
- val track = HmsHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
540
+ val track = HMSHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
538
541
  if (track != null) {
539
542
  hmsSDK?.changeTrackState(
540
543
  track,
@@ -551,42 +554,37 @@ class HmsSDK(
551
554
  )
552
555
  }
553
556
  } else {
554
- self.emitRequiredKeysError()
555
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
557
+ val errorMessage = "changeTrackState: $requiredKeys"
558
+ self.emitRequiredKeysError(errorMessage)
559
+ rejectCallback(callback, errorMessage)
556
560
  }
557
561
  }
558
562
 
559
563
  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) {
564
+ val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("mute", "Boolean")))
565
+ if (requiredKeys === null) {
568
566
  val mute: Boolean = data.getBoolean("mute")
569
567
  val type =
570
- if (HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("type", "String")))) {
568
+ if (HMSHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("type", "String")))) {
571
569
  if (data.getString("type") == HMSTrackType.AUDIO.toString()) HMSTrackType.AUDIO
572
570
  else HMSTrackType.VIDEO
573
571
  } else {
574
572
  null
575
573
  }
576
574
  val source =
577
- if (HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("source", "String")))) {
575
+ if (HMSHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("source", "String")))) {
578
576
  data.getString("source")
579
577
  } else {
580
578
  null
581
579
  }
582
580
  val targetedRoles =
583
- if (HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("roles", "Array")))) {
581
+ if (HMSHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("roles", "Array")))) {
584
582
  data.getArray("roles")?.toArrayList() as? ArrayList<String>
585
583
  } else {
586
584
  null
587
585
  }
588
586
  val roles = hmsSDK?.getRoles()
589
- val encodedTargetedRoles = HmsHelper.getRolesFromRoleNames(targetedRoles, roles)
587
+ val encodedTargetedRoles = HMSHelper.getRolesFromRoleNames(targetedRoles, roles)
590
588
  hmsSDK?.changeTrackState(
591
589
  mute,
592
590
  type,
@@ -603,19 +601,19 @@ class HmsSDK(
603
601
  }
604
602
  )
605
603
  } else {
606
- self.emitRequiredKeysError()
607
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
604
+ val errorMessage = "changeTrackStateForRoles: $requiredKeys"
605
+ self.emitRequiredKeysError(errorMessage)
606
+ rejectCallback(callback, errorMessage)
608
607
  }
609
608
  }
610
609
 
611
610
  fun isMute(data: ReadableMap, callback: Promise?) {
612
- val requiredKeys =
613
- HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("trackId", "String")))
614
- if (requiredKeys) {
611
+ val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String")))
612
+ if (requiredKeys === null) {
615
613
  val trackId = data.getString("trackId")
616
- val localTrack = HmsHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
614
+ val localTrack = HMSHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
617
615
  if (localTrack == null) {
618
- val track = HmsHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
616
+ val track = HMSHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
619
617
  if (track != null) {
620
618
  val mute = track.isMute
621
619
  callback?.resolve(mute)
@@ -627,19 +625,21 @@ class HmsSDK(
627
625
  callback?.resolve(mute)
628
626
  }
629
627
  } else {
630
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
628
+ val errorMessage = "isMute: $requiredKeys"
629
+ self.emitRequiredKeysError(errorMessage)
630
+ rejectCallback(callback, errorMessage)
631
631
  }
632
632
  }
633
633
 
634
634
  fun removePeer(data: ReadableMap, callback: Promise?) {
635
635
  val requiredKeys =
636
- HmsHelper.areAllRequiredKeysAvailable(
636
+ HMSHelper.getUnavailableRequiredKey(
637
637
  data,
638
638
  arrayOf(Pair("peerId", "String"), Pair("reason", "String"))
639
639
  )
640
- if (requiredKeys) {
640
+ if (requiredKeys === null) {
641
641
  val peerId = data.getString("peerId")
642
- val peer = HmsHelper.getRemotePeerFromPeerId(peerId, hmsSDK?.getRoom())
642
+ val peer = HMSHelper.getRemotePeerFromPeerId(peerId, hmsSDK?.getRoom())
643
643
 
644
644
  if (peer != null) {
645
645
  hmsSDK?.removePeerRequest(
@@ -660,18 +660,19 @@ class HmsSDK(
660
660
  callback?.reject("101", "PEER_NOT_FOUND")
661
661
  }
662
662
  } else {
663
- self.emitRequiredKeysError()
664
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
663
+ val errorMessage = "removePeer: $requiredKeys"
664
+ self.emitRequiredKeysError(errorMessage)
665
+ rejectCallback(callback, errorMessage)
665
666
  }
666
667
  }
667
668
 
668
669
  fun endRoom(data: ReadableMap, callback: Promise?) {
669
670
  val requiredKeys =
670
- HmsHelper.areAllRequiredKeysAvailable(
671
+ HMSHelper.getUnavailableRequiredKey(
671
672
  data,
672
673
  arrayOf(Pair("lock", "Boolean"), Pair("reason", "String"))
673
674
  )
674
- if (requiredKeys) {
675
+ if (requiredKeys === null) {
675
676
  hmsSDK?.endRoom(
676
677
  data.getString("reason") as String,
677
678
  data.getBoolean("lock"),
@@ -686,14 +687,14 @@ class HmsSDK(
686
687
  }
687
688
  )
688
689
  } else {
689
- self.emitRequiredKeysError()
690
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
690
+ val errorMessage = "endRoom: $requiredKeys"
691
+ self.emitRequiredKeysError(errorMessage)
692
+ rejectCallback(callback, errorMessage)
691
693
  }
692
694
  }
693
695
 
694
696
  fun acceptRoleChange(callback: Promise?) {
695
697
  if (recentRoleChangeRequest !== null) {
696
-
697
698
  hmsSDK?.acceptChangeRole(
698
699
  recentRoleChangeRequest!!,
699
700
  object : HMSActionResultListener {
@@ -706,8 +707,11 @@ class HmsSDK(
706
707
  }
707
708
  }
708
709
  )
709
-
710
710
  recentRoleChangeRequest = null
711
+ } else {
712
+ val errorMessage = "acceptRoleChange: recentRoleChangeRequest null"
713
+ self.emitRequiredKeysError(errorMessage)
714
+ rejectCallback(callback, errorMessage)
711
715
  }
712
716
  }
713
717
 
@@ -734,18 +738,18 @@ class HmsSDK(
734
738
  }
735
739
 
736
740
  fun setPlaybackForAllAudio(data: ReadableMap) {
737
- val requiredKeys = HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("mute", "Boolean")))
738
- if (requiredKeys) {
741
+ val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("mute", "Boolean")))
742
+ if (requiredKeys === null) {
739
743
  val mute = data.getBoolean("mute")
740
744
  val peers = hmsSDK?.getRemotePeers()
741
745
  if (peers != null) {
742
746
  for (remotePeer in peers) {
743
747
  val peerId = remotePeer.peerID
744
- val peer = HmsHelper.getRemotePeerFromPeerId(peerId, hmsSDK?.getRoom())
748
+ val peer = HMSHelper.getRemotePeerFromPeerId(peerId, hmsSDK?.getRoom())
745
749
  peer?.audioTrack?.isPlaybackAllowed = !mute
746
750
  }
747
- val localPeerData = HmsDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
748
- val remotePeerData = HmsDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
751
+ val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
752
+ val remotePeerData = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
749
753
 
750
754
  val map: WritableMap = Arguments.createMap()
751
755
 
@@ -755,38 +759,39 @@ class HmsSDK(
755
759
  delegate.emitEvent("ON_PEER_UPDATE", map)
756
760
  }
757
761
  } else {
758
- this.emitRequiredKeysError()
762
+ val errorMessage = "setPlaybackForAllAudio: $requiredKeys"
763
+ self.emitRequiredKeysError(errorMessage)
759
764
  }
760
765
  }
761
766
 
762
767
  fun setPlaybackAllowed(data: ReadableMap) {
763
768
  val requiredKeys =
764
- HmsHelper.areAllRequiredKeysAvailable(
769
+ HMSHelper.getUnavailableRequiredKey(
765
770
  data,
766
771
  arrayOf(Pair("trackId", "String"), Pair("playbackAllowed", "Boolean"))
767
772
  )
768
- if (requiredKeys) {
773
+ if (requiredKeys === null) {
769
774
  val trackId = data.getString("trackId")
770
775
  val playbackAllowed = data.getBoolean("playbackAllowed")
771
- val remoteAudioTrack = HmsHelper.getRemoteAudioTrackFromTrackId(trackId, hmsSDK?.getRoom())
772
- val remoteVideoTrack = HmsHelper.getRemoteVideoTrackFromTrackId(trackId, hmsSDK?.getRoom())
776
+ val remoteAudioTrack = HMSHelper.getRemoteAudioTrackFromTrackId(trackId, hmsSDK?.getRoom())
777
+ val remoteVideoTrack = HMSHelper.getRemoteVideoTrackFromTrackId(trackId, hmsSDK?.getRoom())
773
778
  if (remoteAudioTrack != null) {
774
779
  remoteAudioTrack.isPlaybackAllowed = playbackAllowed
775
780
  } else if (remoteVideoTrack != null) {
776
781
  remoteVideoTrack.isPlaybackAllowed = playbackAllowed
777
782
  }
778
783
  } else {
779
- this.emitRequiredKeysError()
784
+ val errorMessage = "setPlaybackAllowed: $requiredKeys"
785
+ self.emitRequiredKeysError(errorMessage)
780
786
  }
781
787
  }
782
788
 
783
789
  fun isPlaybackAllowed(data: ReadableMap, callback: Promise?) {
784
- val requiredKeys =
785
- HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("trackId", "String")))
786
- if (requiredKeys) {
790
+ val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String")))
791
+ if (requiredKeys === null) {
787
792
  val trackId = data.getString("trackId")
788
- val remoteAudioTrack = HmsHelper.getRemoteAudioTrackFromTrackId(trackId, hmsSDK?.getRoom())
789
- val remoteVideoTrack = HmsHelper.getRemoteVideoTrackFromTrackId(trackId, hmsSDK?.getRoom())
793
+ val remoteAudioTrack = HMSHelper.getRemoteAudioTrackFromTrackId(trackId, hmsSDK?.getRoom())
794
+ val remoteVideoTrack = HMSHelper.getRemoteVideoTrackFromTrackId(trackId, hmsSDK?.getRoom())
790
795
  when {
791
796
  remoteAudioTrack != null -> {
792
797
  val isPlaybackAllowed = remoteAudioTrack.isPlaybackAllowed
@@ -801,23 +806,25 @@ class HmsSDK(
801
806
  }
802
807
  }
803
808
  } else {
804
- callback?.reject("101", "TRACK_ID_NOT_FOUND")
809
+ val errorMessage = "isPlaybackAllowed: $requiredKeys"
810
+ self.emitRequiredKeysError(errorMessage)
811
+ rejectCallback(callback, errorMessage)
805
812
  }
806
813
  }
807
814
 
808
815
  fun getRoom(callback: Promise?) {
809
- val roomData = HmsDecoder.getHmsRoom(hmsSDK?.getRoom())
816
+ val roomData = HMSDecoder.getHmsRoom(hmsSDK?.getRoom())
810
817
  callback?.resolve(roomData)
811
818
  }
812
819
 
813
820
  fun setVolume(data: ReadableMap) {
814
821
  val requiredKeys =
815
- HmsHelper.areAllRequiredKeysAvailable(
822
+ HMSHelper.getUnavailableRequiredKey(
816
823
  data,
817
824
  arrayOf(Pair("trackId", "String"), Pair("volume", "Float"))
818
825
  )
819
826
 
820
- if (requiredKeys) {
827
+ if (requiredKeys === null) {
821
828
  val trackId = data.getString("trackId")
822
829
  val volume = data.getDouble("volume")
823
830
 
@@ -848,15 +855,14 @@ class HmsSDK(
848
855
  this.emitCustomError("REMOTE_PEERS_NOT_FOUND")
849
856
  }
850
857
  } else {
851
- this.emitRequiredKeysError()
858
+ val errorMessage = "setVolume: $requiredKeys"
859
+ self.emitRequiredKeysError(errorMessage)
852
860
  }
853
861
  }
854
862
 
855
863
  fun getVolume(data: ReadableMap, callback: Promise?) {
856
- val requiredKeys =
857
- HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("trackId", "String")))
858
-
859
- if (requiredKeys) {
864
+ val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String")))
865
+ if (requiredKeys === null) {
860
866
  val trackId = data.getString("trackId")
861
867
 
862
868
  val localPeer = hmsSDK?.getLocalPeer()
@@ -868,15 +874,16 @@ class HmsSDK(
868
874
  }
869
875
  callback?.reject("101", "TRACK_IDS_DO_NOT_MATCH")
870
876
  } else {
871
- callback?.reject("101", "TRACK_NOT_FOUND")
877
+ val errorMessage = "getVolume: $requiredKeys"
878
+ self.emitRequiredKeysError(errorMessage)
879
+ rejectCallback(callback, errorMessage)
872
880
  }
873
881
  }
874
882
 
875
883
  fun changeMetadata(data: ReadableMap, callback: Promise?) {
876
884
  val requiredKeys =
877
- HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("metadata", "String")))
878
-
879
- if (requiredKeys) {
885
+ HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("metadata", "String")))
886
+ if (requiredKeys === null) {
880
887
  val metadata = data.getString("metadata")
881
888
 
882
889
  if (metadata != null) {
@@ -894,24 +901,26 @@ class HmsSDK(
894
901
  )
895
902
  }
896
903
  } else {
897
- self.emitRequiredKeysError()
904
+ val errorMessage = "changeMetadata: $requiredKeys"
905
+ self.emitRequiredKeysError(errorMessage)
906
+ rejectCallback(callback, errorMessage)
898
907
  }
899
908
  }
900
909
 
901
910
  fun startRTMPOrRecording(data: ReadableMap, callback: Promise?) {
902
911
  val requiredKeys =
903
- HmsHelper.areAllRequiredKeysAvailable(
912
+ HMSHelper.getUnavailableRequiredKey(
904
913
  data,
905
914
  arrayOf(Pair("record", "Boolean"), Pair("meetingURL", "String"))
906
915
  )
907
- if (requiredKeys) {
916
+ if (requiredKeys === null) {
908
917
  val record = data.getBoolean("record")
909
918
  val meetingURL = data.getString("meetingURL") as String
910
919
  var rtmpURLs = data.getArray("rtmpURLs")
911
920
  if (rtmpURLs == null) {
912
921
  rtmpURLs = Arguments.createArray()
913
922
  }
914
- val rtmpURLsList = HmsHelper.getRtmpUrls(rtmpURLs)
923
+ val rtmpURLsList = HMSHelper.getRtmpUrls(rtmpURLs)
915
924
  val config = HMSRecordingConfig(meetingURL, rtmpURLsList, record)
916
925
 
917
926
  hmsSDK?.startRtmpOrRecording(
@@ -927,8 +936,9 @@ class HmsSDK(
927
936
  }
928
937
  )
929
938
  } else {
930
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
931
- self.emitRequiredKeysError()
939
+ val errorMessage = "startRTMPOrRecording: $requiredKeys"
940
+ self.emitRequiredKeysError(errorMessage)
941
+ rejectCallback(callback, errorMessage)
932
942
  }
933
943
  }
934
944
 
@@ -978,12 +988,12 @@ class HmsSDK(
978
988
 
979
989
  fun startHLSStreaming(data: ReadableMap, callback: Promise?) {
980
990
  val requiredKeys =
981
- HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("meetingURLVariants", "Array")))
982
- if (requiredKeys) {
991
+ HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("meetingURLVariants", "Array")))
992
+ if (requiredKeys === null) {
983
993
  val meetingURLVariants =
984
994
  data.getArray("meetingURLVariants")?.toArrayList() as? ArrayList<HashMap<String, String>>
985
- val hlsMeetingUrlVariant = HmsHelper.getHMSHLSMeetingURLVariants(meetingURLVariants)
986
- val hlsRecordingConfig = HmsHelper.getHlsRecordingConfig(data)
995
+ val hlsMeetingUrlVariant = HMSHelper.getHMSHLSMeetingURLVariants(meetingURLVariants)
996
+ val hlsRecordingConfig = HMSHelper.getHlsRecordingConfig(data)
987
997
  val config = HMSHLSConfig(hlsMeetingUrlVariant, hlsRecordingConfig)
988
998
 
989
999
  hmsSDK?.startHLSStreaming(
@@ -999,8 +1009,9 @@ class HmsSDK(
999
1009
  }
1000
1010
  )
1001
1011
  } else {
1002
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
1003
- self.emitRequiredKeysError()
1012
+ val errorMessage = "startHLSStreaming: $requiredKeys"
1013
+ self.emitRequiredKeysError(errorMessage)
1014
+ rejectCallback(callback, errorMessage)
1004
1015
  }
1005
1016
  }
1006
1017
 
@@ -1041,8 +1052,8 @@ class HmsSDK(
1041
1052
  }
1042
1053
 
1043
1054
  fun changeName(data: ReadableMap, callback: Promise?) {
1044
- val requiredKeys = HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("name", "String")))
1045
- if (requiredKeys) {
1055
+ val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("name", "String")))
1056
+ if (requiredKeys === null) {
1046
1057
  val name = data.getString("name")
1047
1058
  if (name != null && name != "") {
1048
1059
  hmsSDK?.changeName(
@@ -1063,8 +1074,9 @@ class HmsSDK(
1063
1074
  callback?.reject("101", "NAME_UNDEFINED")
1064
1075
  }
1065
1076
  } else {
1066
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
1067
- self.emitRequiredKeysError()
1077
+ val errorMessage = "changeName: $requiredKeys"
1078
+ self.emitRequiredKeysError(errorMessage)
1079
+ rejectCallback(callback, errorMessage)
1068
1080
  }
1069
1081
  }
1070
1082
  }