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

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 (197) hide show
  1. package/README.md +15 -4
  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/.idea/compiler.xml +6 -0
  10. package/android/.idea/gradle.xml +6 -1
  11. package/android/.idea/jarRepositories.xml +40 -0
  12. package/android/.idea/libraries/Gradle__androidx_activity_activity_1_2_4_aar.xml +16 -0
  13. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_1_3_0.xml +11 -0
  14. package/android/.idea/libraries/Gradle__androidx_annotation_annotation_experimental_1_1_0_aar.xml +13 -0
  15. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_1_4_1_aar.xml +16 -0
  16. package/android/.idea/libraries/Gradle__androidx_appcompat_appcompat_resources_1_4_1_aar.xml +13 -0
  17. package/android/.idea/libraries/Gradle__androidx_arch_core_core_common_2_1_0.xml +11 -0
  18. package/android/.idea/libraries/Gradle__androidx_arch_core_core_runtime_2_1_0_aar.xml +13 -0
  19. package/android/.idea/libraries/Gradle__androidx_autofill_autofill_1_1_0_aar.xml +16 -0
  20. package/android/.idea/libraries/Gradle__androidx_collection_collection_1_1_0.xml +11 -0
  21. package/android/.idea/libraries/Gradle__androidx_constraintlayout_constraintlayout_2_1_3_aar.xml +13 -0
  22. package/android/.idea/libraries/Gradle__androidx_core_core_1_7_0_aar.xml +16 -0
  23. package/android/.idea/libraries/Gradle__androidx_cursoradapter_cursoradapter_1_0_0_aar.xml +13 -0
  24. package/android/.idea/libraries/Gradle__androidx_customview_customview_1_0_0_aar.xml +13 -0
  25. package/android/.idea/libraries/Gradle__androidx_drawerlayout_drawerlayout_1_0_0_aar.xml +16 -0
  26. package/android/.idea/libraries/Gradle__androidx_fragment_fragment_1_3_6_aar.xml +16 -0
  27. package/android/.idea/libraries/Gradle__androidx_interpolator_interpolator_1_0_0_aar.xml +13 -0
  28. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_common_2_4_0.xml +11 -0
  29. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_2_0_0_aar.xml +13 -0
  30. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_livedata_core_2_3_1_aar.xml +13 -0
  31. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_runtime_2_4_0_aar.xml +13 -0
  32. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_2_3_1_aar.xml +13 -0
  33. package/android/.idea/libraries/Gradle__androidx_lifecycle_lifecycle_viewmodel_savedstate_2_3_1_aar.xml +13 -0
  34. package/android/.idea/libraries/Gradle__androidx_loader_loader_1_0_0_aar.xml +13 -0
  35. package/android/.idea/libraries/Gradle__androidx_savedstate_savedstate_1_1_0_aar.xml +13 -0
  36. package/android/.idea/libraries/Gradle__androidx_swiperefreshlayout_swiperefreshlayout_1_0_0_aar.xml +16 -0
  37. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_1_1_0_aar.xml +13 -0
  38. package/android/.idea/libraries/Gradle__androidx_vectordrawable_vectordrawable_animated_1_1_0_aar.xml +13 -0
  39. package/android/.idea/libraries/Gradle__androidx_versionedparcelable_versionedparcelable_1_1_1_aar.xml +13 -0
  40. package/android/.idea/libraries/Gradle__androidx_viewpager_viewpager_1_0_0_aar.xml +13 -0
  41. package/android/.idea/libraries/Gradle__com_facebook_fbjni_fbjni_java_only_0_2_2.xml +13 -0
  42. package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_2_5_0_aar.xml +15 -0
  43. package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_2_5_0_aar.xml +18 -0
  44. package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_2_5_0_aar.xml +18 -0
  45. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_2_5_0_aar.xml +18 -0
  46. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_2_5_0_aar.xml +18 -0
  47. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_native_2_5_0_aar.xml +15 -0
  48. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_2_5_0_aar.xml +15 -0
  49. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_ashmem_2_5_0_aar.xml +15 -0
  50. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_java_2_5_0_aar.xml +15 -0
  51. package/android/.idea/libraries/Gradle__com_facebook_fresco_memory_type_native_2_5_0_aar.xml +15 -0
  52. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagefilters_2_5_0_aar.xml +15 -0
  53. package/android/.idea/libraries/Gradle__com_facebook_fresco_nativeimagetranscoder_2_5_0_aar.xml +15 -0
  54. package/android/.idea/libraries/Gradle__com_facebook_fresco_ui_common_2_5_0_aar.xml +15 -0
  55. package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_18_0.xml +13 -0
  56. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_69_1_debug_aar.xml +14 -0
  57. package/android/.idea/libraries/Gradle__com_facebook_soloader_annotation_0_10_3.xml +13 -0
  58. package/android/.idea/libraries/Gradle__com_facebook_soloader_nativeloader_0_10_3.xml +13 -0
  59. package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_10_3_aar.xml +15 -0
  60. package/android/.idea/libraries/Gradle__com_facebook_yoga_proguard_annotations_1_19_0.xml +13 -0
  61. package/android/.idea/libraries/Gradle__com_github_100mslive_android_sdk_lib_2_4_2_aar.xml +11 -0
  62. package/android/.idea/libraries/Gradle__com_github_100mslive_webrtc_m97_aar.xml +11 -0
  63. package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2.xml +13 -0
  64. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_4_9_2.xml +13 -0
  65. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_4_9_2.xml +13 -0
  66. package/android/.idea/libraries/Gradle__com_squareup_okio_okio_2_9_0.xml +13 -0
  67. package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1.xml +13 -0
  68. package/android/.idea/libraries/Gradle__org_jetbrains_annotations_13_0.xml +13 -0
  69. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_annotations_jvm_1_3_72.xml +13 -0
  70. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_1_6_10.xml +13 -0
  71. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_common_1_6_10.xml +13 -0
  72. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk7_1_6_10.xml +13 -0
  73. package/android/.idea/libraries/Gradle__org_jetbrains_kotlin_kotlin_stdlib_jdk8_1_6_10.xml +13 -0
  74. package/android/.idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_android_1_6_0.xml +13 -0
  75. package/android/.idea/libraries/Gradle__org_jetbrains_kotlinx_kotlinx_coroutines_core_jvm_1_6_0.xml +13 -0
  76. package/android/.idea/misc.xml +1 -1
  77. package/android/.idea/modules/android.androidTest.iml +201 -0
  78. package/android/.idea/modules/android.iml +28 -6
  79. package/android/.idea/modules/android.main.iml +196 -0
  80. package/android/.idea/modules/android.unitTest.iml +195 -0
  81. package/android/.idea/modules.xml +3 -0
  82. package/android/build.gradle +3 -3
  83. package/android/src/main/java/com/reactnativehmssdk/{HmsDecoder.kt → HMSDecoder.kt} +40 -36
  84. package/android/src/main/java/com/reactnativehmssdk/{HmsHelper.kt → HMSHelper.kt} +73 -10
  85. package/android/src/main/java/com/reactnativehmssdk/{HmsModule.kt → HMSManager.kt} +51 -41
  86. package/android/src/main/java/com/reactnativehmssdk/{HmsSDK.kt → HMSRNSDK.kt} +194 -190
  87. package/android/src/main/java/com/reactnativehmssdk/{HmssdkViewManager.kt → HMSSDKViewManager.kt} +11 -11
  88. package/android/src/main/java/com/reactnativehmssdk/{HmsView.kt → HMSView.kt} +3 -3
  89. package/android/src/main/java/com/reactnativehmssdk/HmsScreenshareActivity.kt +17 -18
  90. package/android/src/main/java/com/reactnativehmssdk/HmssdkPackage.kt +2 -2
  91. package/ios/{HmsDecoder.swift → HMSDecoder.swift} +27 -26
  92. package/ios/{HmsHelper.swift → HMSHelper.swift} +26 -7
  93. package/ios/{HmsManager.m → HMSManager.m} +2 -1
  94. package/ios/{HmsManager.swift → HMSManager.swift} +46 -38
  95. package/ios/{HmsSDK.swift → HMSRNSDK.swift} +246 -225
  96. package/ios/{HmsView.m → HMSView.m} +1 -1
  97. package/ios/{HmsView.swift → HMSView.swift} +7 -6
  98. package/lib/commonjs/classes/HMSBrowserRecordingState.js.map +1 -1
  99. package/lib/commonjs/classes/HMSEncoder.js +27 -10
  100. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  101. package/lib/commonjs/classes/HMSLocalAudioTrack.js +3 -3
  102. package/lib/commonjs/classes/HMSLocalAudioTrack.js.map +1 -1
  103. package/lib/commonjs/classes/HMSLocalVideoTrack.js +3 -3
  104. package/lib/commonjs/classes/HMSLocalVideoTrack.js.map +1 -1
  105. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  106. package/lib/commonjs/classes/HMSMessage.js +1 -1
  107. package/lib/commonjs/classes/HMSMessage.js.map +1 -1
  108. package/lib/commonjs/classes/HMSRTMPConfig.js +3 -0
  109. package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
  110. package/lib/commonjs/classes/HMSRemoteAudioTrack.js +3 -3
  111. package/lib/commonjs/classes/HMSRemoteAudioTrack.js.map +1 -1
  112. package/lib/commonjs/classes/HMSRemoteVideoTrack.js +3 -3
  113. package/lib/commonjs/classes/HMSRemoteVideoTrack.js.map +1 -1
  114. package/lib/commonjs/classes/HMSRoom.js +3 -0
  115. package/lib/commonjs/classes/HMSRoom.js.map +1 -1
  116. package/lib/commonjs/classes/HMSRoomUpdate.js +1 -3
  117. package/lib/commonjs/classes/HMSRoomUpdate.js.map +1 -1
  118. package/lib/commonjs/classes/HMSRtmpStreamingState.js.map +1 -1
  119. package/lib/commonjs/classes/HMSRtmpVideoResolution.js +23 -0
  120. package/lib/commonjs/classes/HMSRtmpVideoResolution.js.map +1 -0
  121. package/lib/commonjs/classes/HMSSDK.js +47 -40
  122. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  123. package/lib/commonjs/classes/HMSServerRecordingState.js.map +1 -1
  124. package/lib/commonjs/classes/HMSTrackSource.js +15 -0
  125. package/lib/commonjs/classes/HMSTrackSource.js.map +1 -0
  126. package/lib/commonjs/classes/HmsView.js +2 -2
  127. package/lib/commonjs/classes/HmsView.js.map +1 -1
  128. package/lib/commonjs/index.js +28 -14
  129. package/lib/commonjs/index.js.map +1 -1
  130. package/lib/module/classes/HMSBrowserRecordingState.js.map +1 -1
  131. package/lib/module/classes/HMSEncoder.js +25 -9
  132. package/lib/module/classes/HMSEncoder.js.map +1 -1
  133. package/lib/module/classes/HMSLocalAudioTrack.js +3 -3
  134. package/lib/module/classes/HMSLocalAudioTrack.js.map +1 -1
  135. package/lib/module/classes/HMSLocalVideoTrack.js +3 -3
  136. package/lib/module/classes/HMSLocalVideoTrack.js.map +1 -1
  137. package/lib/module/classes/HMSMessage.js +1 -1
  138. package/lib/module/classes/HMSMessage.js.map +1 -1
  139. package/lib/module/classes/HMSRTMPConfig.js +3 -0
  140. package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
  141. package/lib/module/classes/HMSRemoteAudioTrack.js +3 -3
  142. package/lib/module/classes/HMSRemoteAudioTrack.js.map +1 -1
  143. package/lib/module/classes/HMSRemoteVideoTrack.js +3 -3
  144. package/lib/module/classes/HMSRemoteVideoTrack.js.map +1 -1
  145. package/lib/module/classes/HMSRoom.js +3 -0
  146. package/lib/module/classes/HMSRoom.js.map +1 -1
  147. package/lib/module/classes/HMSRoomUpdate.js +1 -3
  148. package/lib/module/classes/HMSRoomUpdate.js.map +1 -1
  149. package/lib/module/classes/HMSRtmpStreamingState.js.map +1 -1
  150. package/lib/module/classes/HMSRtmpVideoResolution.js +14 -0
  151. package/lib/module/classes/HMSRtmpVideoResolution.js.map +1 -0
  152. package/lib/module/classes/HMSSDK.js +45 -39
  153. package/lib/module/classes/HMSSDK.js.map +1 -1
  154. package/lib/module/classes/HMSServerRecordingState.js.map +1 -1
  155. package/lib/module/classes/HMSTrackSource.js +8 -0
  156. package/lib/module/classes/HMSTrackSource.js.map +1 -0
  157. package/lib/module/classes/HmsView.js +2 -2
  158. package/lib/module/classes/HmsView.js.map +1 -1
  159. package/lib/module/index.js +2 -1
  160. package/lib/module/index.js.map +1 -1
  161. package/lib/typescript/classes/HMSBrowserRecordingState.d.ts +2 -2
  162. package/lib/typescript/classes/HMSEncoder.d.ts +4 -2
  163. package/lib/typescript/classes/HMSMessage.d.ts +3 -3
  164. package/lib/typescript/classes/HMSRTMPConfig.d.ts +3 -0
  165. package/lib/typescript/classes/HMSRoom.d.ts +2 -0
  166. package/lib/typescript/classes/HMSRoomUpdate.d.ts +1 -3
  167. package/lib/typescript/classes/HMSRtmpStreamingState.d.ts +2 -2
  168. package/lib/typescript/classes/HMSRtmpVideoResolution.d.ts +8 -0
  169. package/lib/typescript/classes/HMSSDK.d.ts +3 -3
  170. package/lib/typescript/classes/HMSServerRecordingState.d.ts +2 -2
  171. package/lib/typescript/classes/HMSTrackSource.d.ts +5 -0
  172. package/lib/typescript/index.d.ts +2 -1
  173. package/package.json +1 -1
  174. package/react-native-hms.podspec +2 -2
  175. package/src/classes/HMSBrowserRecordingState.ts +2 -2
  176. package/src/classes/HMSEncoder.ts +25 -9
  177. package/src/classes/HMSLocalAudioTrack.ts +3 -3
  178. package/src/classes/HMSLocalVideoTrack.ts +3 -3
  179. package/src/classes/HMSMessage.ts +4 -4
  180. package/src/classes/HMSRTMPConfig.ts +5 -0
  181. package/src/classes/HMSRemoteAudioTrack.ts +3 -3
  182. package/src/classes/HMSRemoteVideoTrack.ts +3 -3
  183. package/src/classes/HMSRoom.ts +3 -0
  184. package/src/classes/HMSRoomUpdate.ts +1 -3
  185. package/src/classes/HMSRtmpStreamingState.ts +2 -2
  186. package/src/classes/HMSRtmpVideoResolution.ts +9 -0
  187. package/src/classes/HMSSDK.tsx +47 -40
  188. package/src/classes/HMSServerRecordingState.ts +2 -2
  189. package/src/classes/HMSTrackSource.ts +5 -0
  190. package/src/classes/HmsView.tsx +2 -2
  191. package/src/index.ts +2 -1
  192. package/lib/commonjs/classes/HMSSpeakerUpdate.js +0 -26
  193. package/lib/commonjs/classes/HMSSpeakerUpdate.js.map +0 -1
  194. package/lib/module/classes/HMSSpeakerUpdate.js +0 -17
  195. package/lib/module/classes/HMSSpeakerUpdate.js.map +0 -1
  196. package/lib/typescript/classes/HMSSpeakerUpdate.d.ts +0 -11
  197. 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
 
@@ -87,17 +85,17 @@ class HmsSDK(
87
85
 
88
86
  fun preview(credentials: ReadableMap) {
89
87
  if (previewInProgress) {
90
- self.emitCustomError("PREVIEW_ALREADY_IN_PROGRESS")
88
+ self.emitCustomError("PREVIEW_IS_IN_PROGRESS")
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
  }
@@ -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,43 +601,39 @@ 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())
617
- if (localTrack == null) {
618
- val track = HmsHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
619
- if (track != null) {
620
- val mute = track.isMute
621
- callback?.resolve(mute)
622
- } else {
623
- callback?.reject("101", "NOT_FOUND")
624
- }
614
+ val track = HMSHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
615
+ if (track == null) {
616
+ callback?.reject("101", "TRACK_NOT_FOUND")
625
617
  } else {
626
- val mute = localTrack.isMute
618
+ val mute = track.isMute
627
619
  callback?.resolve(mute)
628
620
  }
629
621
  } else {
630
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
622
+ val errorMessage = "isMute: $requiredKeys"
623
+ self.emitRequiredKeysError(errorMessage)
624
+ rejectCallback(callback, errorMessage)
631
625
  }
632
626
  }
633
627
 
634
628
  fun removePeer(data: ReadableMap, callback: Promise?) {
635
629
  val requiredKeys =
636
- HmsHelper.areAllRequiredKeysAvailable(
630
+ HMSHelper.getUnavailableRequiredKey(
637
631
  data,
638
632
  arrayOf(Pair("peerId", "String"), Pair("reason", "String"))
639
633
  )
640
- if (requiredKeys) {
634
+ if (requiredKeys === null) {
641
635
  val peerId = data.getString("peerId")
642
- val peer = HmsHelper.getRemotePeerFromPeerId(peerId, hmsSDK?.getRoom())
636
+ val peer = HMSHelper.getRemotePeerFromPeerId(peerId, hmsSDK?.getRoom())
643
637
 
644
638
  if (peer != null) {
645
639
  hmsSDK?.removePeerRequest(
@@ -660,18 +654,19 @@ class HmsSDK(
660
654
  callback?.reject("101", "PEER_NOT_FOUND")
661
655
  }
662
656
  } else {
663
- self.emitRequiredKeysError()
664
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
657
+ val errorMessage = "removePeer: $requiredKeys"
658
+ self.emitRequiredKeysError(errorMessage)
659
+ rejectCallback(callback, errorMessage)
665
660
  }
666
661
  }
667
662
 
668
663
  fun endRoom(data: ReadableMap, callback: Promise?) {
669
664
  val requiredKeys =
670
- HmsHelper.areAllRequiredKeysAvailable(
665
+ HMSHelper.getUnavailableRequiredKey(
671
666
  data,
672
667
  arrayOf(Pair("lock", "Boolean"), Pair("reason", "String"))
673
668
  )
674
- if (requiredKeys) {
669
+ if (requiredKeys === null) {
675
670
  hmsSDK?.endRoom(
676
671
  data.getString("reason") as String,
677
672
  data.getBoolean("lock"),
@@ -686,14 +681,14 @@ class HmsSDK(
686
681
  }
687
682
  )
688
683
  } else {
689
- self.emitRequiredKeysError()
690
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
684
+ val errorMessage = "endRoom: $requiredKeys"
685
+ self.emitRequiredKeysError(errorMessage)
686
+ rejectCallback(callback, errorMessage)
691
687
  }
692
688
  }
693
689
 
694
690
  fun acceptRoleChange(callback: Promise?) {
695
691
  if (recentRoleChangeRequest !== null) {
696
-
697
692
  hmsSDK?.acceptChangeRole(
698
693
  recentRoleChangeRequest!!,
699
694
  object : HMSActionResultListener {
@@ -706,8 +701,11 @@ class HmsSDK(
706
701
  }
707
702
  }
708
703
  )
709
-
710
704
  recentRoleChangeRequest = null
705
+ } else {
706
+ val errorMessage = "acceptRoleChange: recentRoleChangeRequest not found"
707
+ self.emitRequiredKeysError(errorMessage)
708
+ rejectCallback(callback, errorMessage)
711
709
  }
712
710
  }
713
711
 
@@ -734,18 +732,18 @@ class HmsSDK(
734
732
  }
735
733
 
736
734
  fun setPlaybackForAllAudio(data: ReadableMap) {
737
- val requiredKeys = HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("mute", "Boolean")))
738
- if (requiredKeys) {
735
+ val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("mute", "Boolean")))
736
+ if (requiredKeys === null) {
739
737
  val mute = data.getBoolean("mute")
740
738
  val peers = hmsSDK?.getRemotePeers()
741
739
  if (peers != null) {
742
740
  for (remotePeer in peers) {
743
741
  val peerId = remotePeer.peerID
744
- val peer = HmsHelper.getRemotePeerFromPeerId(peerId, hmsSDK?.getRoom())
742
+ val peer = HMSHelper.getRemotePeerFromPeerId(peerId, hmsSDK?.getRoom())
745
743
  peer?.audioTrack?.isPlaybackAllowed = !mute
746
744
  }
747
- val localPeerData = HmsDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
748
- val remotePeerData = HmsDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
745
+ val localPeerData = HMSDecoder.getHmsLocalPeer(hmsSDK?.getLocalPeer())
746
+ val remotePeerData = HMSDecoder.getHmsRemotePeers(hmsSDK?.getRemotePeers())
749
747
 
750
748
  val map: WritableMap = Arguments.createMap()
751
749
 
@@ -755,38 +753,39 @@ class HmsSDK(
755
753
  delegate.emitEvent("ON_PEER_UPDATE", map)
756
754
  }
757
755
  } else {
758
- this.emitRequiredKeysError()
756
+ val errorMessage = "setPlaybackForAllAudio: $requiredKeys"
757
+ self.emitRequiredKeysError(errorMessage)
759
758
  }
760
759
  }
761
760
 
762
761
  fun setPlaybackAllowed(data: ReadableMap) {
763
762
  val requiredKeys =
764
- HmsHelper.areAllRequiredKeysAvailable(
763
+ HMSHelper.getUnavailableRequiredKey(
765
764
  data,
766
765
  arrayOf(Pair("trackId", "String"), Pair("playbackAllowed", "Boolean"))
767
766
  )
768
- if (requiredKeys) {
767
+ if (requiredKeys === null) {
769
768
  val trackId = data.getString("trackId")
770
769
  val playbackAllowed = data.getBoolean("playbackAllowed")
771
- val remoteAudioTrack = HmsHelper.getRemoteAudioTrackFromTrackId(trackId, hmsSDK?.getRoom())
772
- val remoteVideoTrack = HmsHelper.getRemoteVideoTrackFromTrackId(trackId, hmsSDK?.getRoom())
770
+ val remoteAudioTrack = HMSHelper.getRemoteAudioTrackFromTrackId(trackId, hmsSDK?.getRoom())
771
+ val remoteVideoTrack = HMSHelper.getRemoteVideoTrackFromTrackId(trackId, hmsSDK?.getRoom())
773
772
  if (remoteAudioTrack != null) {
774
773
  remoteAudioTrack.isPlaybackAllowed = playbackAllowed
775
774
  } else if (remoteVideoTrack != null) {
776
775
  remoteVideoTrack.isPlaybackAllowed = playbackAllowed
777
776
  }
778
777
  } else {
779
- this.emitRequiredKeysError()
778
+ val errorMessage = "setPlaybackAllowed: $requiredKeys"
779
+ self.emitRequiredKeysError(errorMessage)
780
780
  }
781
781
  }
782
782
 
783
783
  fun isPlaybackAllowed(data: ReadableMap, callback: Promise?) {
784
- val requiredKeys =
785
- HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("trackId", "String")))
786
- if (requiredKeys) {
784
+ val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String")))
785
+ if (requiredKeys === null) {
787
786
  val trackId = data.getString("trackId")
788
- val remoteAudioTrack = HmsHelper.getRemoteAudioTrackFromTrackId(trackId, hmsSDK?.getRoom())
789
- val remoteVideoTrack = HmsHelper.getRemoteVideoTrackFromTrackId(trackId, hmsSDK?.getRoom())
787
+ val remoteAudioTrack = HMSHelper.getRemoteAudioTrackFromTrackId(trackId, hmsSDK?.getRoom())
788
+ val remoteVideoTrack = HMSHelper.getRemoteVideoTrackFromTrackId(trackId, hmsSDK?.getRoom())
790
789
  when {
791
790
  remoteAudioTrack != null -> {
792
791
  val isPlaybackAllowed = remoteAudioTrack.isPlaybackAllowed
@@ -797,27 +796,29 @@ class HmsSDK(
797
796
  callback?.resolve(isPlaybackAllowed)
798
797
  }
799
798
  else -> {
800
- callback?.reject("101", "NOT_FOUND")
799
+ callback?.reject("101", "TRACK_NOT_FOUND")
801
800
  }
802
801
  }
803
802
  } else {
804
- callback?.reject("101", "TRACK_ID_NOT_FOUND")
803
+ val errorMessage = "isPlaybackAllowed: $requiredKeys"
804
+ self.emitRequiredKeysError(errorMessage)
805
+ rejectCallback(callback, errorMessage)
805
806
  }
806
807
  }
807
808
 
808
809
  fun getRoom(callback: Promise?) {
809
- val roomData = HmsDecoder.getHmsRoom(hmsSDK?.getRoom())
810
+ val roomData = HMSDecoder.getHmsRoom(hmsSDK?.getRoom())
810
811
  callback?.resolve(roomData)
811
812
  }
812
813
 
813
814
  fun setVolume(data: ReadableMap) {
814
815
  val requiredKeys =
815
- HmsHelper.areAllRequiredKeysAvailable(
816
+ HMSHelper.getUnavailableRequiredKey(
816
817
  data,
817
818
  arrayOf(Pair("trackId", "String"), Pair("volume", "Float"))
818
819
  )
819
820
 
820
- if (requiredKeys) {
821
+ if (requiredKeys === null) {
821
822
  val trackId = data.getString("trackId")
822
823
  val volume = data.getDouble("volume")
823
824
 
@@ -843,20 +844,19 @@ class HmsSDK(
843
844
  }
844
845
  }
845
846
  }
846
- this.emitCustomError("TRACKID_NOT_MATCHED")
847
+ this.emitCustomError("TRACK_NOT_FOUND")
847
848
  } else {
848
849
  this.emitCustomError("REMOTE_PEERS_NOT_FOUND")
849
850
  }
850
851
  } else {
851
- this.emitRequiredKeysError()
852
+ val errorMessage = "setVolume: $requiredKeys"
853
+ self.emitRequiredKeysError(errorMessage)
852
854
  }
853
855
  }
854
856
 
855
857
  fun getVolume(data: ReadableMap, callback: Promise?) {
856
- val requiredKeys =
857
- HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("trackId", "String")))
858
-
859
- if (requiredKeys) {
858
+ val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String")))
859
+ if (requiredKeys === null) {
860
860
  val trackId = data.getString("trackId")
861
861
 
862
862
  val localPeer = hmsSDK?.getLocalPeer()
@@ -868,15 +868,16 @@ class HmsSDK(
868
868
  }
869
869
  callback?.reject("101", "TRACK_IDS_DO_NOT_MATCH")
870
870
  } else {
871
- callback?.reject("101", "TRACK_NOT_FOUND")
871
+ val errorMessage = "getVolume: $requiredKeys"
872
+ self.emitRequiredKeysError(errorMessage)
873
+ rejectCallback(callback, errorMessage)
872
874
  }
873
875
  }
874
876
 
875
877
  fun changeMetadata(data: ReadableMap, callback: Promise?) {
876
878
  val requiredKeys =
877
- HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("metadata", "String")))
878
-
879
- if (requiredKeys) {
879
+ HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("metadata", "String")))
880
+ if (requiredKeys === null) {
880
881
  val metadata = data.getString("metadata")
881
882
 
882
883
  if (metadata != null) {
@@ -894,41 +895,42 @@ class HmsSDK(
894
895
  )
895
896
  }
896
897
  } else {
897
- self.emitRequiredKeysError()
898
+ val errorMessage = "changeMetadata: $requiredKeys"
899
+ self.emitRequiredKeysError(errorMessage)
900
+ rejectCallback(callback, errorMessage)
898
901
  }
899
902
  }
900
903
 
901
904
  fun startRTMPOrRecording(data: ReadableMap, callback: Promise?) {
902
905
  val requiredKeys =
903
- HmsHelper.areAllRequiredKeysAvailable(
906
+ HMSHelper.getUnavailableRequiredKey(
904
907
  data,
905
908
  arrayOf(Pair("record", "Boolean"), Pair("meetingURL", "String"))
906
909
  )
907
- if (requiredKeys) {
908
- val record = data.getBoolean("record")
909
- val meetingURL = data.getString("meetingURL") as String
910
- var rtmpURLs = data.getArray("rtmpURLs")
911
- if (rtmpURLs == null) {
912
- rtmpURLs = Arguments.createArray()
913
- }
914
- val rtmpURLsList = HmsHelper.getRtmpUrls(rtmpURLs)
915
- val config = HMSRecordingConfig(meetingURL, rtmpURLsList, record)
916
-
917
- hmsSDK?.startRtmpOrRecording(
918
- config,
919
- object : HMSActionResultListener {
920
- override fun onSuccess() {
921
- callback?.resolve(emitHMSSuccess())
922
- }
923
- override fun onError(error: HMSException) {
924
- callback?.reject(error.code.toString(), error.message)
925
- self.emitHMSError(error)
910
+ if (requiredKeys === null) {
911
+ val config = HMSHelper.getRtmpConfig(data)
912
+ if (config === null) {
913
+ val errorMessage = "startRTMPOrRecording: INVALID_MEETING_URL_PASSED"
914
+ self.emitRequiredKeysError(errorMessage)
915
+ rejectCallback(callback, errorMessage)
916
+ } else {
917
+ hmsSDK?.startRtmpOrRecording(
918
+ config,
919
+ object : HMSActionResultListener {
920
+ override fun onSuccess() {
921
+ callback?.resolve(emitHMSSuccess())
922
+ }
923
+ override fun onError(error: HMSException) {
924
+ callback?.reject(error.code.toString(), error.message)
925
+ self.emitHMSError(error)
926
+ }
926
927
  }
927
- }
928
- )
928
+ )
929
+ }
929
930
  } else {
930
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
931
- self.emitRequiredKeysError()
931
+ val errorMessage = "startRTMPOrRecording: $requiredKeys"
932
+ self.emitRequiredKeysError(errorMessage)
933
+ rejectCallback(callback, errorMessage)
932
934
  }
933
935
  }
934
936
 
@@ -978,12 +980,12 @@ class HmsSDK(
978
980
 
979
981
  fun startHLSStreaming(data: ReadableMap, callback: Promise?) {
980
982
  val requiredKeys =
981
- HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("meetingURLVariants", "Array")))
982
- if (requiredKeys) {
983
+ HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("meetingURLVariants", "Array")))
984
+ if (requiredKeys === null) {
983
985
  val meetingURLVariants =
984
986
  data.getArray("meetingURLVariants")?.toArrayList() as? ArrayList<HashMap<String, String>>
985
- val hlsMeetingUrlVariant = HmsHelper.getHMSHLSMeetingURLVariants(meetingURLVariants)
986
- val hlsRecordingConfig = HmsHelper.getHlsRecordingConfig(data)
987
+ val hlsMeetingUrlVariant = HMSHelper.getHMSHLSMeetingURLVariants(meetingURLVariants)
988
+ val hlsRecordingConfig = HMSHelper.getHlsRecordingConfig(data)
987
989
  val config = HMSHLSConfig(hlsMeetingUrlVariant, hlsRecordingConfig)
988
990
 
989
991
  hmsSDK?.startHLSStreaming(
@@ -999,8 +1001,9 @@ class HmsSDK(
999
1001
  }
1000
1002
  )
1001
1003
  } else {
1002
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
1003
- self.emitRequiredKeysError()
1004
+ val errorMessage = "startHLSStreaming: $requiredKeys"
1005
+ self.emitRequiredKeysError(errorMessage)
1006
+ rejectCallback(callback, errorMessage)
1004
1007
  }
1005
1008
  }
1006
1009
 
@@ -1041,8 +1044,8 @@ class HmsSDK(
1041
1044
  }
1042
1045
 
1043
1046
  fun changeName(data: ReadableMap, callback: Promise?) {
1044
- val requiredKeys = HmsHelper.areAllRequiredKeysAvailable(data, arrayOf(Pair("name", "String")))
1045
- if (requiredKeys) {
1047
+ val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("name", "String")))
1048
+ if (requiredKeys === null) {
1046
1049
  val name = data.getString("name")
1047
1050
  if (name != null && name != "") {
1048
1051
  hmsSDK?.changeName(
@@ -1063,8 +1066,9 @@ class HmsSDK(
1063
1066
  callback?.reject("101", "NAME_UNDEFINED")
1064
1067
  }
1065
1068
  } else {
1066
- callback?.reject("101", "REQUIRED_KEYS_NOT_FOUND")
1067
- self.emitRequiredKeysError()
1069
+ val errorMessage = "changeName: $requiredKeys"
1070
+ self.emitRequiredKeysError(errorMessage)
1071
+ rejectCallback(callback, errorMessage)
1068
1072
  }
1069
1073
  }
1070
1074
  }