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

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 (141) 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 +2 -2
  84. package/android/src/main/java/com/reactnativehmssdk/HMSHelper.kt +35 -5
  85. package/android/src/main/java/com/reactnativehmssdk/HMSManager.kt +2 -2
  86. package/android/src/main/java/com/reactnativehmssdk/HMSRNSDK.kt +53 -50
  87. package/ios/HMSDecoder.swift +1 -1
  88. package/ios/HMSHelper.swift +13 -0
  89. package/ios/HMSManager.m +1 -1
  90. package/ios/HMSManager.swift +2 -2
  91. package/ios/HMSRNSDK.swift +177 -147
  92. package/lib/commonjs/classes/HMSEncoder.js +26 -10
  93. package/lib/commonjs/classes/HMSEncoder.js.map +1 -1
  94. package/lib/commonjs/classes/HMSLogger.js +2 -2
  95. package/lib/commonjs/classes/HMSLogger.js.map +1 -1
  96. package/lib/commonjs/classes/HMSMessage.js +1 -1
  97. package/lib/commonjs/classes/HMSMessage.js.map +1 -1
  98. package/lib/commonjs/classes/HMSRTMPConfig.js +3 -0
  99. package/lib/commonjs/classes/HMSRTMPConfig.js.map +1 -1
  100. package/lib/commonjs/classes/HMSRtmpVideoResolution.js +23 -0
  101. package/lib/commonjs/classes/HMSRtmpVideoResolution.js.map +1 -0
  102. package/lib/commonjs/classes/HMSSDK.js +87 -43
  103. package/lib/commonjs/classes/HMSSDK.js.map +1 -1
  104. package/lib/commonjs/index.js +14 -14
  105. package/lib/commonjs/index.js.map +1 -1
  106. package/lib/module/classes/HMSEncoder.js +24 -9
  107. package/lib/module/classes/HMSEncoder.js.map +1 -1
  108. package/lib/module/classes/HMSLogger.js +2 -2
  109. package/lib/module/classes/HMSLogger.js.map +1 -1
  110. package/lib/module/classes/HMSMessage.js +1 -1
  111. package/lib/module/classes/HMSMessage.js.map +1 -1
  112. package/lib/module/classes/HMSRTMPConfig.js +3 -0
  113. package/lib/module/classes/HMSRTMPConfig.js.map +1 -1
  114. package/lib/module/classes/HMSRtmpVideoResolution.js +14 -0
  115. package/lib/module/classes/HMSRtmpVideoResolution.js.map +1 -0
  116. package/lib/module/classes/HMSSDK.js +86 -37
  117. package/lib/module/classes/HMSSDK.js.map +1 -1
  118. package/lib/module/index.js +1 -1
  119. package/lib/module/index.js.map +1 -1
  120. package/lib/typescript/classes/HMSEncoder.d.ts +4 -2
  121. package/lib/typescript/classes/HMSLogger.d.ts +1 -1
  122. package/lib/typescript/classes/HMSMessage.d.ts +3 -3
  123. package/lib/typescript/classes/HMSRTMPConfig.d.ts +3 -0
  124. package/lib/typescript/classes/HMSRtmpVideoResolution.d.ts +8 -0
  125. package/lib/typescript/classes/HMSSDK.d.ts +4 -4
  126. package/lib/typescript/index.d.ts +1 -1
  127. package/package.json +1 -19
  128. package/react-native-hms.podspec +1 -1
  129. package/src/classes/HMSEncoder.ts +24 -9
  130. package/src/classes/HMSLogger.ts +2 -2
  131. package/src/classes/HMSMessage.ts +4 -4
  132. package/src/classes/HMSRTMPConfig.ts +5 -0
  133. package/src/classes/HMSRtmpVideoResolution.ts +9 -0
  134. package/src/classes/HMSSDK.tsx +96 -37
  135. package/src/index.ts +1 -1
  136. package/lib/commonjs/classes/HMSSpeakerUpdate.js +0 -26
  137. package/lib/commonjs/classes/HMSSpeakerUpdate.js.map +0 -1
  138. package/lib/module/classes/HMSSpeakerUpdate.js +0 -17
  139. package/lib/module/classes/HMSSpeakerUpdate.js.map +0 -1
  140. package/lib/typescript/classes/HMSSpeakerUpdate.d.ts +0 -11
  141. package/src/classes/HMSSpeakerUpdate.ts +0 -17
@@ -0,0 +1,195 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <module external.linked.project.id="android:unitTest" external.linked.project.path="$MODULE_DIR$/../.." external.root.project.path="$MODULE_DIR$/../.." external.system.id="GRADLE" external.system.module.type="sourceSet" type="JAVA_MODULE" version="4">
3
+ <component name="FacetManager">
4
+ <facet type="kotlin-language" name="Kotlin">
5
+ <configuration version="5" platform="JVM 1.8" allPlatforms="JVM [1.8]" useProjectSettings="false">
6
+ <compilerSettings>
7
+ <option name="additionalArguments" value="-Xallow-no-source-files" />
8
+ </compilerSettings>
9
+ <compilerArguments>
10
+ <flagArguments>
11
+ <flagArg name="noReflect" arg="true" />
12
+ <flagArg name="noStdlib" arg="true" />
13
+ </flagArguments>
14
+ <stringArguments>
15
+ <stringArg name="classpath">
16
+ <args>
17
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/8ed76e3698e0bc700507730f5ba2137b/transformed/react-native-0.69.1-debug-api.jar</arg>
18
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.infer.annotation/infer-annotation/0.18.0/27539793fe93ed7d92b6376281c16cda8278ab2f/infer-annotation-0.18.0.jar</arg>
19
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.google.code.findbugs/jsr305/3.0.2/25ea2e8b0c338a877313bd4672d3fe056ea78f0d/jsr305-3.0.2.jar</arg>
20
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-annotations-jvm/1.3.72/7dba6c57de526588d8080317bda0c14cd88c8055/kotlin-annotations-jvm-1.3.72.jar</arg>
21
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.yoga/proguard-annotations/1.19.0/fcbbb39052e6490eaaf6a6959c49c3a4fbe87c63/proguard-annotations-1.19.0.jar</arg>
22
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/javax.inject/javax.inject/1/6975da39a7040257bd51d21a231b76c915872d38/javax.inject-1.jar</arg>
23
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/4b9dc9122dfcd48146ad80fe374dbf3a/transformed/appcompat-1.4.1-api.jar</arg>
24
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/1c5ea4daeaf43301ff1e89ff8ef0a90f/transformed/appcompat-resources-1.4.1-api.jar</arg>
25
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/98bac70e329a0d3a7d7274a5ce22339c/transformed/swiperefreshlayout-1.0.0-api.jar</arg>
26
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/5a2d5b56931db97564262e4dd60f8c36/transformed/fragment-1.3.6-api.jar</arg>
27
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/284051b43e6ef25ed7b9086e4b6a019b/transformed/activity-1.2.4-api.jar</arg>
28
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/66abf91a949344f06e196a5ed8521b26/transformed/drawerlayout-1.0.0-api.jar</arg>
29
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/9e014b70992963948c9996ebe5062ecf/transformed/vectordrawable-animated-1.1.0-api.jar</arg>
30
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/9bc722c6122ef9e5c236c4ad3ada1ac3/transformed/vectordrawable-1.1.0-api.jar</arg>
31
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/9c3def852521f799f16b674bad91a80d/transformed/viewpager-1.0.0-api.jar</arg>
32
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/0fc4f7793d70c3acf8715ae6ddaf9743/transformed/loader-1.0.0-api.jar</arg>
33
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/b8943bdb73ecc35a92e536a583ba6b27/transformed/customview-1.0.0-api.jar</arg>
34
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/951bb7edc484356cf3ba0b612a019a7d/transformed/core-1.7.0-api.jar</arg>
35
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/cae22f2626b4e8b0d74e1398cd13bc27/transformed/cursoradapter-1.0.0-api.jar</arg>
36
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/e24e62ce5a52a667099d4f500abad5f7/transformed/lifecycle-viewmodel-savedstate-2.3.1-api.jar</arg>
37
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/8496531c424433353d8f36304f5799f0/transformed/savedstate-1.1.0-api.jar</arg>
38
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/4371ed4c75d1fe7486fd9b9e18ee844e/transformed/interpolator-1.0.0-api.jar</arg>
39
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/9f26e5ff33fa79cec621ba329e10a61b/transformed/lifecycle-runtime-2.4.0-api.jar</arg>
40
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/f62a3afeffc771ba7bd4fcdbd9d48182/transformed/versionedparcelable-1.1.1-api.jar</arg>
41
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/3f937b7a6173135a1270dfdd179ff3cd/transformed/lifecycle-viewmodel-2.3.1-api.jar</arg>
42
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.collection/collection/1.1.0/1f27220b47669781457de0d600849a5de0e89909/collection-1.1.0.jar</arg>
43
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/1251af4a422fac083c34be2a44029fe5/transformed/lifecycle-livedata-2.0.0-api.jar</arg>
44
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/38d061075f51b93b77c51af37709d8a6/transformed/lifecycle-livedata-core-2.3.1-api.jar</arg>
45
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.lifecycle/lifecycle-common/2.4.0/1fdb7349701e9cf2f0a69fc10642b6fef6bb3e12/lifecycle-common-2.4.0.jar</arg>
46
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/225bd884bf752cd40ccec08ea9f65f90/transformed/core-runtime-2.1.0-api.jar</arg>
47
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.arch.core/core-common/2.1.0/b3152fc64428c9354344bd89848ecddc09b6f07e/core-common-2.1.0.jar</arg>
48
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/androidx.annotation/annotation/1.3.0/21f49f5f9b85fc49de712539f79123119740595/annotation-1.3.0.jar</arg>
49
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/b1392658ba2f82ec933bd0f52a2b3a05/transformed/annotation-experimental-1.1.0-api.jar</arg>
50
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/32894cd905a7ac59475cb2b39c98cc9d/transformed/autofill-1.1.0-api.jar</arg>
51
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/bb119d77aadf69638363202725ce595d/transformed/fresco-2.5.0-api.jar</arg>
52
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/69c17cb32dec443453dcf2b42ea80111/transformed/fbcore-2.5.0-api.jar</arg>
53
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/cf51dec4b413f5a144bb84e78e5be479/transformed/soloader-0.10.3-api.jar</arg>
54
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.soloader/annotation/0.10.3/dc58463712cb3e5f03d8ee5ac9743b9ced9afa77/annotation-0.10.3.jar</arg>
55
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.soloader/nativeloader/0.10.3/171783d0f3f525fb9e18eb3af758c0b3aaeaed69/nativeloader-0.10.3.jar</arg>
56
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/b07558198dc34f4d95b13b19057c004b/transformed/ui-common-2.5.0-api.jar</arg>
57
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/2b6a0d60e2e9255a478e8d0d3876bf15/transformed/drawee-2.5.0-api.jar</arg>
58
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/4163ee7181e29b9eedb79c8f25572933/transformed/imagepipeline-2.5.0-api.jar</arg>
59
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/41b6cae29317fadbd700731c0b6a9ce4/transformed/imagepipeline-base-2.5.0-api.jar</arg>
60
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/2b6134924ec422e1c283851ef6531c4e/transformed/imagepipeline-native-2.5.0-api.jar</arg>
61
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/2943a8617202fcfa403726e2f2f76ccb/transformed/memory-type-ashmem-2.5.0-api.jar</arg>
62
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/f878710c67854ec60790b0d248ba2687/transformed/memory-type-native-2.5.0-api.jar</arg>
63
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/3ecc806396a5304abd80f5863b3a6822/transformed/memory-type-java-2.5.0-api.jar</arg>
64
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/feb06ddd7a7305227c860547980094fb/transformed/nativeimagefilters-2.5.0-api.jar</arg>
65
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/1c51949bdbe1e7c1137ecfedb7c39921/transformed/nativeimagetranscoder-2.5.0-api.jar</arg>
66
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/8bff7427ab90df1594256a5dbd42af9d/transformed/imagepipeline-okhttp3-2.5.0-api.jar</arg>
67
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup.okhttp3/okhttp-urlconnection/4.9.2/3b9e64d3d56370bc7488ed8b336d17a8013cb336/okhttp-urlconnection-4.9.2.jar</arg>
68
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup.okhttp3/okhttp/4.9.2/5302714ee9320b64cf65ed865e5f65981ef9ba46/okhttp-4.9.2.jar</arg>
69
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.squareup.okio/okio/2.9.0/dcc813b08ce5933f8bdfd1dfbab4ad4bd170e7a/okio-jvm-2.9.0.jar</arg>
70
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx/kotlinx-coroutines-core-jvm/1.6.0/f3b8fd26c2e76d2f18cbc36aacb6e349fcb9fd5f/kotlinx-coroutines-core-jvm-1.6.0.jar</arg>
71
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx/kotlinx-coroutines-android/1.6.0/453fa53456bbaea50e51bd92d7f16f7bf6fcc58e/kotlinx-coroutines-android-1.6.0.jar</arg>
72
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk8/1.6.10/e80fe6ac3c3573a80305f5ec43f86b829e8ab53d/kotlin-stdlib-jdk8-1.6.10.jar</arg>
73
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-jdk7/1.6.10/e1c380673654a089c4f0c9f83d0ddfdc1efdb498/kotlin-stdlib-jdk7-1.6.10.jar</arg>
74
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.6.10/b8af3fe6f1ca88526914929add63cf5e7c5049af/kotlin-stdlib-1.6.10.jar</arg>
75
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains/annotations/13.0/919f0dfe192fb4e063e7dacadee7f8bb9a2672a9/annotations-13.0.jar</arg>
76
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib-common/1.6.10/c118700e3a33c8a0d9adc920e9dec0831171925/kotlin-stdlib-common-1.6.10.jar</arg>
77
+ <arg>$USER_HOME$/.gradle/caches/modules-2/files-2.1/com.facebook.fbjni/fbjni-java-only/0.2.2/de5152e6b7ce18dd242be23994e702309e66e7da/fbjni-java-only-0.2.2.jar</arg>
78
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/9a4a6c93885dd8432e9c3fbe24faa2f7/transformed/lib-2.4.2-api.jar</arg>
79
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/af1d83b39e706bf5c8171c9f1c8c569d/transformed/webrtc-m97-api.jar</arg>
80
+ <arg>$USER_HOME$/.gradle/caches/transforms-3/43630e9b70fd1a26e124ad5eff187a73/transformed/constraintlayout-2.1.3-api.jar</arg>
81
+ <arg>$USER_HOME$/Library/Android/sdk/platforms/android-30/android.jar</arg>
82
+ <arg>$USER_HOME$/Library/Android/sdk/build-tools/28.0.3/core-lambda-stubs.jar</arg>
83
+ </args>
84
+ </stringArg>
85
+ <stringArg name="destination" arg="$MODULE_DIR$/../../build/tmp/kotlin-classes/debugUnitTest" />
86
+ <stringArg name="jvmTarget" arg="1.8" />
87
+ <stringArg name="moduleName" arg="android_debug" />
88
+ <stringArg name="apiVersion" arg="1.5" />
89
+ <stringArg name="languageVersion" arg="1.5" />
90
+ </stringArguments>
91
+ <arrayArguments>
92
+ <arrayArg name="friendPaths">
93
+ <args>
94
+ <arg>$MODULE_DIR$/../../build/tmp/kotlin-classes/debug</arg>
95
+ <arg>$MODULE_DIR$/../../build/intermediates/javac/debug/classes</arg>
96
+ </args>
97
+ </arrayArg>
98
+ <arrayArg name="pluginClasspaths" />
99
+ <arrayArg name="pluginOptions" />
100
+ </arrayArguments>
101
+ </compilerArguments>
102
+ </configuration>
103
+ </facet>
104
+ <facet type="android" name="Android">
105
+ <configuration>
106
+ <option name="SELECTED_BUILD_VARIANT" value="debug" />
107
+ <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
108
+ <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
109
+ <afterSyncTasks>
110
+ <task>generateDebugSources</task>
111
+ </afterSyncTasks>
112
+ <option name="ALLOW_USER_CONFIGURATION" value="false" />
113
+ <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
114
+ <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
115
+ <option name="RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/../../src/main/res;file://$MODULE_DIR$/../../src/debug/res;file://$MODULE_DIR$/../../build/generated/res/rs/debug;file://$MODULE_DIR$/../../build/generated/res/resValues/debug" />
116
+ <option name="TEST_RES_FOLDERS_RELATIVE_PATH" value="file://$MODULE_DIR$/../../src/androidTest/res;file://$MODULE_DIR$/../../src/androidTestDebug/res;file://$MODULE_DIR$/../../build/generated/res/rs/androidTest/debug;file://$MODULE_DIR$/../../build/generated/res/resValues/androidTest/debug" />
117
+ <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
118
+ <option name="PROJECT_TYPE" value="1" />
119
+ </configuration>
120
+ </facet>
121
+ </component>
122
+ <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="true">
123
+ <exclude-output />
124
+ <content url="file://$MODULE_DIR$/../../build/generated/ap_generated_sources/debugUnitTest/out" />
125
+ <content url="file://$MODULE_DIR$/../../src/test" />
126
+ <content url="file://$MODULE_DIR$/../../src/testDebug" />
127
+ <orderEntry type="jdk" jdkName="Android API 30 Platform" jdkType="Android SDK" />
128
+ <orderEntry type="sourceFolder" forTests="false" />
129
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.infer.annotation:infer-annotation:0.18.0" level="project" />
130
+ <orderEntry type="library" scope="TEST" name="Gradle: com.google.code.findbugs:jsr305:3.0.2" level="project" />
131
+ <orderEntry type="library" scope="TEST" name="Gradle: org.jetbrains.kotlin:kotlin-annotations-jvm:1.3.72" level="project" />
132
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.yoga:proguard-annotations:1.19.0" level="project" />
133
+ <orderEntry type="library" scope="TEST" name="Gradle: javax.inject:javax.inject:1" level="project" />
134
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.collection:collection:1.1.0" level="project" />
135
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.lifecycle:lifecycle-common:2.4.0" level="project" />
136
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.arch.core:core-common:2.1.0" level="project" />
137
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.annotation:annotation:1.3.0" level="project" />
138
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.soloader:annotation:0.10.3" level="project" />
139
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.soloader:nativeloader:0.10.3" level="project" />
140
+ <orderEntry type="library" scope="TEST" name="Gradle: com.squareup.okhttp3:okhttp-urlconnection:4.9.2" level="project" />
141
+ <orderEntry type="library" scope="TEST" name="Gradle: com.squareup.okhttp3:okhttp:4.9.2" level="project" />
142
+ <orderEntry type="library" scope="TEST" name="Gradle: com.squareup.okio:okio:2.9.0" level="project" />
143
+ <orderEntry type="library" scope="TEST" name="Gradle: org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.6.0" level="project" />
144
+ <orderEntry type="library" scope="TEST" name="Gradle: org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.0" level="project" />
145
+ <orderEntry type="library" scope="TEST" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.10" level="project" />
146
+ <orderEntry type="library" scope="TEST" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10" level="project" />
147
+ <orderEntry type="library" scope="TEST" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib:1.6.10" level="project" />
148
+ <orderEntry type="library" scope="TEST" name="Gradle: org.jetbrains:annotations:13.0" level="project" />
149
+ <orderEntry type="library" scope="TEST" name="Gradle: org.jetbrains.kotlin:kotlin-stdlib-common:1.6.10" level="project" />
150
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fbjni:fbjni-java-only:0.2.2" level="project" />
151
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.react:react-native:0.69.1:debug@aar" level="project" />
152
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.appcompat:appcompat:1.4.1@aar" level="project" />
153
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.appcompat:appcompat-resources:1.4.1@aar" level="project" />
154
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.swiperefreshlayout:swiperefreshlayout:1.0.0@aar" level="project" />
155
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.fragment:fragment:1.3.6@aar" level="project" />
156
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.activity:activity:1.2.4@aar" level="project" />
157
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.drawerlayout:drawerlayout:1.0.0@aar" level="project" />
158
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.vectordrawable:vectordrawable-animated:1.1.0@aar" level="project" />
159
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.vectordrawable:vectordrawable:1.1.0@aar" level="project" />
160
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.viewpager:viewpager:1.0.0@aar" level="project" />
161
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.loader:loader:1.0.0@aar" level="project" />
162
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.customview:customview:1.0.0@aar" level="project" />
163
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.core:core:1.7.0@aar" level="project" />
164
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.cursoradapter:cursoradapter:1.0.0@aar" level="project" />
165
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.lifecycle:lifecycle-viewmodel-savedstate:2.3.1@aar" level="project" />
166
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.savedstate:savedstate:1.1.0@aar" level="project" />
167
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.interpolator:interpolator:1.0.0@aar" level="project" />
168
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.lifecycle:lifecycle-runtime:2.4.0@aar" level="project" />
169
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.versionedparcelable:versionedparcelable:1.1.1@aar" level="project" />
170
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.lifecycle:lifecycle-viewmodel:2.3.1@aar" level="project" />
171
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.lifecycle:lifecycle-livedata:2.0.0@aar" level="project" />
172
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.lifecycle:lifecycle-livedata-core:2.3.1@aar" level="project" />
173
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.arch.core:core-runtime:2.1.0@aar" level="project" />
174
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.annotation:annotation-experimental:1.1.0@aar" level="project" />
175
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.autofill:autofill:1.1.0@aar" level="project" />
176
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:fresco:2.5.0@aar" level="project" />
177
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:fbcore:2.5.0@aar" level="project" />
178
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.soloader:soloader:0.10.3@aar" level="project" />
179
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:ui-common:2.5.0@aar" level="project" />
180
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:drawee:2.5.0@aar" level="project" />
181
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:imagepipeline:2.5.0@aar" level="project" />
182
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:imagepipeline-base:2.5.0@aar" level="project" />
183
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:imagepipeline-native:2.5.0@aar" level="project" />
184
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:memory-type-ashmem:2.5.0@aar" level="project" />
185
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:memory-type-native:2.5.0@aar" level="project" />
186
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:memory-type-java:2.5.0@aar" level="project" />
187
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:nativeimagefilters:2.5.0@aar" level="project" />
188
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:nativeimagetranscoder:2.5.0@aar" level="project" />
189
+ <orderEntry type="library" scope="TEST" name="Gradle: com.facebook.fresco:imagepipeline-okhttp3:2.5.0@aar" level="project" />
190
+ <orderEntry type="library" scope="TEST" name="Gradle: com.github.100mslive.android-sdk:lib:2.4.2@aar" level="project" />
191
+ <orderEntry type="library" scope="TEST" name="Gradle: com.github.100mslive:webrtc:m97@aar" level="project" />
192
+ <orderEntry type="library" scope="TEST" name="Gradle: androidx.constraintlayout:constraintlayout:2.1.3@aar" level="project" />
193
+ </component>
194
+ <component name="TestModuleProperties" production-module="android.main" />
195
+ </module>
@@ -3,6 +3,9 @@
3
3
  <component name="ProjectModuleManager">
4
4
  <modules>
5
5
  <module fileurl="file://$PROJECT_DIR$/.idea/modules/android.iml" filepath="$PROJECT_DIR$/.idea/modules/android.iml" />
6
+ <module fileurl="file://$PROJECT_DIR$/.idea/modules/android.androidTest.iml" filepath="$PROJECT_DIR$/.idea/modules/android.androidTest.iml" />
7
+ <module fileurl="file://$PROJECT_DIR$/.idea/modules/android.main.iml" filepath="$PROJECT_DIR$/.idea/modules/android.main.iml" />
8
+ <module fileurl="file://$PROJECT_DIR$/.idea/modules/android.unitTest.iml" filepath="$PROJECT_DIR$/.idea/modules/android.unitTest.iml" />
6
9
  </modules>
7
10
  </component>
8
11
  </project>
@@ -63,8 +63,8 @@ dependencies {
63
63
  //noinspection GradleDynamicVersion
64
64
  implementation "com.facebook.react:react-native:+"
65
65
  implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version" // From node_modules
66
- implementation 'com.github.100mslive.android-sdk:lib:2.3.9'
67
- implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.0'
68
- implementation 'androidx.constraintlayout:constraintlayout:2.1.0'
66
+ implementation 'com.github.100mslive.android-sdk:lib:2.4.4'
67
+ implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.0'
68
+ implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
69
69
  implementation 'androidx.appcompat:appcompat:1.3.1'
70
70
  }
@@ -263,7 +263,7 @@ object HMSDecoder {
263
263
  return resolution
264
264
  }
265
265
 
266
- fun getHmsRemotePeers(remotePeers: Array<HMSRemotePeer>?): WritableArray {
266
+ fun getHmsRemotePeers(remotePeers: List<HMSRemotePeer>?): WritableArray {
267
267
  val peers: WritableArray = Arguments.createArray()
268
268
  if (remotePeers != null) {
269
269
  for (peer in remotePeers) {
@@ -485,7 +485,7 @@ object HMSDecoder {
485
485
  return subscribeDegradationParams
486
486
  }
487
487
 
488
- private fun getAllPeers(peers: Array<HMSPeer>?): WritableArray {
488
+ private fun getAllPeers(peers: List<HMSPeer>?): WritableArray {
489
489
  val decodedPeers: WritableArray = Arguments.createArray()
490
490
  if (peers != null) {
491
491
  for (peer in peers) {
@@ -7,6 +7,7 @@ import android.os.Handler
7
7
  import android.util.Base64
8
8
  import android.util.Log
9
9
  import android.view.PixelCopy
10
+ import android.webkit.URLUtil
10
11
  import androidx.annotation.RequiresApi
11
12
  import com.facebook.react.bridge.*
12
13
  import com.facebook.react.bridge.ReadableArray
@@ -17,10 +18,7 @@ import java.util.*
17
18
  import live.hms.video.error.HMSException
18
19
  import live.hms.video.media.codec.HMSAudioCodec
19
20
  import live.hms.video.media.codec.HMSVideoCodec
20
- import live.hms.video.media.settings.HMSAudioTrackSettings
21
- import live.hms.video.media.settings.HMSTrackSettings
22
- import live.hms.video.media.settings.HMSVideoResolution
23
- import live.hms.video.media.settings.HMSVideoTrackSettings
21
+ import live.hms.video.media.settings.*
24
22
  import live.hms.video.media.tracks.HMSRemoteAudioTrack
25
23
  import live.hms.video.media.tracks.HMSRemoteVideoTrack
26
24
  import live.hms.video.media.tracks.HMSTrack
@@ -296,7 +294,7 @@ object HMSHelper {
296
294
  }
297
295
  }
298
296
 
299
- fun getRtmpUrls(rtmpURLsList: ReadableArray?): List<String> {
297
+ private fun getRtmpUrls(rtmpURLsList: ReadableArray?): List<String> {
300
298
  val rtmpURLs = mutableListOf<String>()
301
299
  if (rtmpURLsList !== null) {
302
300
  for (rtmpURL in rtmpURLsList.toArrayList()) {
@@ -357,6 +355,38 @@ object HMSHelper {
357
355
  return meetingURLVariant
358
356
  }
359
357
 
358
+ private fun getResolution(data: ReadableMap): HMSRtmpVideoResolution {
359
+ val height = data.getInt("height")
360
+ val width = data.getInt("width")
361
+ return HMSRtmpVideoResolution(width, height)
362
+ }
363
+
364
+ fun getRtmpConfig(data: ReadableMap): HMSRecordingConfig? {
365
+ val record = data.getBoolean("record")
366
+ var meetingURL = ""
367
+ var rtmpURLs = listOf<String>()
368
+ var resolution: HMSRtmpVideoResolution? = null
369
+ if (areAllRequiredKeysAvailable(data, arrayOf(Pair("meetingURL", "String")))) {
370
+ val meetingURLValid = data.getString("meetingURL") as String
371
+ if (URLUtil.isValidUrl(meetingURLValid)) {
372
+ meetingURL = meetingURLValid
373
+ } else {
374
+ return null
375
+ }
376
+ }
377
+
378
+ if (areAllRequiredKeysAvailable(data, arrayOf(Pair("rtmpURLs", "Array")))) {
379
+ val rtmpURLsValid = data.getArray("rtmpURLs")
380
+ rtmpURLs = this.getRtmpUrls(rtmpURLsValid)
381
+ }
382
+
383
+ if (areAllRequiredKeysAvailable(data, arrayOf(Pair("resolution", "Map")))) {
384
+ val resolutionValid = data.getMap("resolution")
385
+ resolution = resolutionValid?.let { this.getResolution(it) }
386
+ }
387
+ return HMSRecordingConfig(meetingURL, rtmpURLs, record, resolution)
388
+ }
389
+
360
390
  fun getHmsConfig(credentials: ReadableMap): HMSConfig {
361
391
  var config =
362
392
  HMSConfig(
@@ -202,10 +202,10 @@ class HMSManager(reactContext: ReactApplicationContext) :
202
202
  }
203
203
 
204
204
  @ReactMethod
205
- fun remoteMuteAllAudio(data: ReadableMap) {
205
+ fun remoteMuteAllAudio(data: ReadableMap, callback: Promise?) {
206
206
  val hms = HMSHelper.getHms(data, hmsCollection)
207
207
 
208
- hms?.remoteMuteAllAudio()
208
+ hms?.remoteMuteAllAudio(callback)
209
209
  }
210
210
 
211
211
  @ReactMethod
@@ -31,6 +31,7 @@ class HMSRNSDK(
31
31
  private var recentRoleChangeRequest: HMSRoleChangeRequest? = null
32
32
  private var context: ReactApplicationContext = reactApplicationContext
33
33
  private var previewInProgress: Boolean = false
34
+ private var reconnectingStage: Boolean = false
34
35
  private var id: String = sdkId
35
36
  private var self = this
36
37
 
@@ -85,7 +86,7 @@ class HMSRNSDK(
85
86
 
86
87
  fun preview(credentials: ReadableMap) {
87
88
  if (previewInProgress) {
88
- self.emitCustomError("PREVIEW_ALREADY_IN_PROGRESS")
89
+ self.emitCustomError("PREVIEW_IS_IN_PROGRESS")
89
90
  return
90
91
  }
91
92
  val requiredKeys =
@@ -181,6 +182,7 @@ class HMSRNSDK(
181
182
  arrayOf(Pair("username", "String"), Pair("authToken", "String"))
182
183
  )
183
184
  if (requiredKeys === null) {
185
+ reconnectingStage = false
184
186
  val config = HMSHelper.getHmsConfig(credentials)
185
187
 
186
188
  HMSCoroutineScope.launch {
@@ -312,6 +314,7 @@ class HMSRNSDK(
312
314
  }
313
315
 
314
316
  override fun onReconnected() {
317
+ reconnectingStage = false
315
318
  val data: WritableMap = Arguments.createMap()
316
319
  data.putString("event", "RECONNECTED")
317
320
  data.putString("id", id)
@@ -319,7 +322,9 @@ class HMSRNSDK(
319
322
  }
320
323
 
321
324
  override fun onReconnecting(error: HMSException) {
325
+ reconnectingStage = true
322
326
  val data: WritableMap = Arguments.createMap()
327
+ data.putMap("error", HMSDecoder.getError(error))
323
328
  data.putString("event", "RECONNECTING")
324
329
  data.putString("id", id)
325
330
  delegate.emitEvent("RECONNECTING", data)
@@ -340,7 +345,6 @@ class HMSRNSDK(
340
345
  object : HMSAudioListener {
341
346
  override fun onAudioLevelUpdate(speakers: Array<HMSSpeaker>) {
342
347
  val data: WritableMap = Arguments.createMap()
343
- data.putInt("count", speakers.size)
344
348
  data.putString("event", "ON_SPEAKER")
345
349
 
346
350
  val peers: WritableArray = Arguments.createArray()
@@ -351,7 +355,7 @@ class HMSRNSDK(
351
355
  speakerArray.putMap("track", HMSDecoder.getHmsTrack(speaker.hmsTrack))
352
356
  peers.pushMap(speakerArray)
353
357
  }
354
- data.putArray("peers", peers)
358
+ data.putArray("speakers", peers)
355
359
  data.putString("id", id)
356
360
  delegate.emitEvent("ON_SPEAKER", data)
357
361
  }
@@ -381,19 +385,23 @@ class HMSRNSDK(
381
385
  }
382
386
 
383
387
  fun leave(callback: Promise?) {
384
- hmsSDK?.leave(
385
- object : HMSActionResultListener {
386
- override fun onSuccess() {
387
- screenshareCallback = null
388
- callback?.resolve(emitHMSSuccess())
389
- }
388
+ if (reconnectingStage) {
389
+ callback?.reject("101", "Still in reconnecting stage")
390
+ } else {
391
+ hmsSDK?.leave(
392
+ object : HMSActionResultListener {
393
+ override fun onSuccess() {
394
+ screenshareCallback = null
395
+ callback?.resolve(emitHMSSuccess())
396
+ }
390
397
 
391
- override fun onError(error: HMSException) {
392
- callback?.reject(error.code.toString(), error.message)
393
- self.emitHMSError(error)
398
+ override fun onError(error: HMSException) {
399
+ callback?.reject(error.code.toString(), error.message)
400
+ self.emitHMSError(error)
401
+ }
394
402
  }
395
- }
396
- )
403
+ )
404
+ }
397
405
  }
398
406
 
399
407
  fun sendBroadcastMessage(data: ReadableMap, callback: Promise?) {
@@ -612,17 +620,11 @@ class HMSRNSDK(
612
620
  val requiredKeys = HMSHelper.getUnavailableRequiredKey(data, arrayOf(Pair("trackId", "String")))
613
621
  if (requiredKeys === null) {
614
622
  val trackId = data.getString("trackId")
615
- val localTrack = HMSHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
616
- if (localTrack == null) {
617
- val track = HMSHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
618
- if (track != null) {
619
- val mute = track.isMute
620
- callback?.resolve(mute)
621
- } else {
622
- callback?.reject("101", "NOT_FOUND")
623
- }
623
+ val track = HMSHelper.getTrackFromTrackId(trackId, hmsSDK?.getRoom())
624
+ if (track == null) {
625
+ callback?.reject("101", "TRACK_NOT_FOUND")
624
626
  } else {
625
- val mute = localTrack.isMute
627
+ val mute = track.isMute
626
628
  callback?.resolve(mute)
627
629
  }
628
630
  } else {
@@ -710,13 +712,13 @@ class HMSRNSDK(
710
712
  )
711
713
  recentRoleChangeRequest = null
712
714
  } else {
713
- val errorMessage = "acceptRoleChange: recentRoleChangeRequest null"
715
+ val errorMessage = "acceptRoleChange: recentRoleChangeRequest not found"
714
716
  self.emitRequiredKeysError(errorMessage)
715
717
  rejectCallback(callback, errorMessage)
716
718
  }
717
719
  }
718
720
 
719
- fun remoteMuteAllAudio() {
721
+ fun remoteMuteAllAudio(callback: Promise?) {
720
722
  val allAudioTracks = hmsSDK?.getRoom()?.let { HmsUtilities.getAllAudioTracks(it) }
721
723
  if (allAudioTracks != null) {
722
724
  var customError: HMSException? = null
@@ -732,10 +734,13 @@ class HMSRNSDK(
732
734
  }
733
735
  )
734
736
  }
735
- if (customError != null) {
736
- self.emitHMSError(customError!!)
737
+ if (customError === null) {
738
+ callback?.resolve(emitHMSSuccess())
739
+ } else {
740
+ rejectCallback(callback, customError!!.message)
737
741
  }
738
742
  }
743
+ rejectCallback(callback, "Audio tracks not found")
739
744
  }
740
745
 
741
746
  fun setPlaybackForAllAudio(data: ReadableMap) {
@@ -803,7 +808,7 @@ class HMSRNSDK(
803
808
  callback?.resolve(isPlaybackAllowed)
804
809
  }
805
810
  else -> {
806
- callback?.reject("101", "NOT_FOUND")
811
+ callback?.reject("101", "TRACK_NOT_FOUND")
807
812
  }
808
813
  }
809
814
  } else {
@@ -851,7 +856,7 @@ class HMSRNSDK(
851
856
  }
852
857
  }
853
858
  }
854
- this.emitCustomError("TRACKID_NOT_MATCHED")
859
+ this.emitCustomError("TRACK_NOT_FOUND")
855
860
  } else {
856
861
  this.emitCustomError("REMOTE_PEERS_NOT_FOUND")
857
862
  }
@@ -915,27 +920,25 @@ class HMSRNSDK(
915
920
  arrayOf(Pair("record", "Boolean"), Pair("meetingURL", "String"))
916
921
  )
917
922
  if (requiredKeys === null) {
918
- val record = data.getBoolean("record")
919
- val meetingURL = data.getString("meetingURL") as String
920
- var rtmpURLs = data.getArray("rtmpURLs")
921
- if (rtmpURLs == null) {
922
- rtmpURLs = Arguments.createArray()
923
- }
924
- val rtmpURLsList = HMSHelper.getRtmpUrls(rtmpURLs)
925
- val config = HMSRecordingConfig(meetingURL, rtmpURLsList, record)
926
-
927
- hmsSDK?.startRtmpOrRecording(
928
- config,
929
- object : HMSActionResultListener {
930
- override fun onSuccess() {
931
- callback?.resolve(emitHMSSuccess())
932
- }
933
- override fun onError(error: HMSException) {
934
- callback?.reject(error.code.toString(), error.message)
935
- self.emitHMSError(error)
923
+ val config = HMSHelper.getRtmpConfig(data)
924
+ if (config === null) {
925
+ val errorMessage = "startRTMPOrRecording: INVALID_MEETING_URL_PASSED"
926
+ self.emitRequiredKeysError(errorMessage)
927
+ rejectCallback(callback, errorMessage)
928
+ } else {
929
+ hmsSDK?.startRtmpOrRecording(
930
+ config,
931
+ object : HMSActionResultListener {
932
+ override fun onSuccess() {
933
+ callback?.resolve(emitHMSSuccess())
934
+ }
935
+ override fun onError(error: HMSException) {
936
+ callback?.reject(error.code.toString(), error.message)
937
+ self.emitHMSError(error)
938
+ }
936
939
  }
937
- }
938
- )
940
+ )
941
+ }
939
942
  } else {
940
943
  val errorMessage = "startRTMPOrRecording: $requiredKeys"
941
944
  self.emitRequiredKeysError(errorMessage)
@@ -591,7 +591,7 @@ class HMSDecoder: NSObject {
591
591
  }
592
592
 
593
593
  static func getHmsMessageRecipient(_ recipient: HMSMessageRecipient) -> [String: Any] {
594
- return ["recipientPeer": getHmsPeer(recipient.peerRecipient), "recipientRoles": getAllRoles(recipient.rolesRecipient), "type": self.getRecipientType(from: recipient.type)]
594
+ return ["recipientPeer": getHmsPeer(recipient.peerRecipient), "recipientRoles": getAllRoles(recipient.rolesRecipient), "recipientType": self.getRecipientType(from: recipient.type)]
595
595
  }
596
596
 
597
597
  static func getHmsNetworkQuality(_ hmsNetworkQuality: HMSNetworkQuality?) -> [String: Any] {
@@ -3,6 +3,19 @@ import Foundation
3
3
 
4
4
  class HMSHelper: NSObject {
5
5
 
6
+ static func getUnavailableRequiredKey(_ data: NSDictionary, _ requiredKeys: [String]) -> String {
7
+ for (key) in requiredKeys {
8
+ let value = data.object(forKey: key)
9
+ if (value == nil) {
10
+ return key + "_Is_Required"
11
+ }
12
+ if (value is NSNull) {
13
+ return key + "_Is_Null"
14
+ }
15
+ }
16
+ return "SEND_ALL_REQUIRED_KEYS"
17
+ }
18
+
6
19
  static func getPeerFromPeerId(_ peerID: String?, remotePeers: [HMSRemotePeer]?, localPeer: HMSLocalPeer?) -> HMSPeer? {
7
20
 
8
21
  guard let peerID = peerID, let peers = remotePeers else { return nil }
package/ios/HMSManager.m CHANGED
@@ -26,7 +26,7 @@ RCT_EXTERN_METHOD(setVolume: (NSDictionary) data)
26
26
  RCT_EXTERN_METHOD(build : (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
27
27
  RCT_EXTERN_METHOD(leave: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
28
28
  RCT_EXTERN_METHOD(setPlaybackForAllAudio: (NSDictionary) mute)
29
- RCT_EXTERN_METHOD(remoteMuteAllAudio: (NSDictionary) data)
29
+ RCT_EXTERN_METHOD(remoteMuteAllAudio: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
30
30
  RCT_EXTERN_METHOD(isPlaybackAllowed: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
31
31
  RCT_EXTERN_METHOD(changeMetadata: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
32
32
  RCT_EXTERN_METHOD(startRTMPOrRecording: (NSDictionary) data :(RCTPromiseResolveBlock) resolve :(RCTPromiseRejectBlock) reject)
@@ -225,10 +225,10 @@ class HMSManager: RCTEventEmitter {
225
225
  }
226
226
 
227
227
  @objc
228
- func remoteMuteAllAudio(_ data: NSDictionary) {
228
+ func remoteMuteAllAudio(_ data: NSDictionary, _ resolve: RCTPromiseResolveBlock?, _ reject: RCTPromiseRejectBlock?) {
229
229
  let hms = HMSHelper.getHms(data, hmsCollection)
230
230
 
231
- hms?.remoteMuteAllAudio()
231
+ hms?.remoteMuteAllAudio(resolve, reject)
232
232
  }
233
233
 
234
234
  @objc