juggleim-rnsdk 0.1.6 → 0.1.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.
- package/android/.gradle/8.9/checksums/checksums.lock +0 -0
- package/android/.gradle/8.9/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/8.9/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/8.9/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
- package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/8.9/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/.settings/org.eclipse.buildship.core.prefs +12 -1
- package/android/build/.transforms/42b8ab7e96b9440b0e91d2ecba5f579c/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$1.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$10.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$11.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$12.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$13.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$14.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$15.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$16.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$17.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$18.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$19.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$2.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$20.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$21.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$22.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$23.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$24.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$3.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$4.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$5.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$6.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$7.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$8.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager$9.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMManager.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/JuggleIMPackage.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/call/JuggleIMCallModule$1.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/call/JuggleIMCallModule$2.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/call/JuggleIMCallModule$3.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/call/JuggleIMCallModule.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/call/view/RCTZegoSurfaceViewManager.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/juggleim/call/view/ZegoSurfaceView.dex +0 -0
- package/android/build/.transforms/a3b636e0768beb7635f48b7f77613c33/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -1
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$1.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$10.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$11.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$12.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$13.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$14.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$15.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$16.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$17.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$18.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$19.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$2.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$20.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$21.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$22.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$23.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$24.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$3.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$4.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$5.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$6.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$7.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$8.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager$9.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMManager.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/JuggleIMPackage.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/call/JuggleIMCallModule$1.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/call/JuggleIMCallModule$2.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/call/JuggleIMCallModule$3.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/call/JuggleIMCallModule.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/call/view/RCTZegoSurfaceViewManager.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/juggleim/call/view/ZegoSurfaceView.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$10.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$11.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$12.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$13.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$14.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$15.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$16.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$17.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$18.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$19.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$2.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$20.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$21.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$22.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$23.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$24.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$3.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$4.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$5.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$6.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$7.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$8.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager$9.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMManager.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/JuggleIMPackage.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/call/JuggleIMCallModule$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/call/JuggleIMCallModule$2.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/call/JuggleIMCallModule$3.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/call/JuggleIMCallModule.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/call/view/RCTZegoSurfaceViewManager.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/juggleim/call/view/ZegoSurfaceView.class +0 -0
- package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$1.class.uniqueId25 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$10.class.uniqueId0 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$11.class.uniqueId14 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$12.class.uniqueId23 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$13.class.uniqueId7 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$14.class.uniqueId16 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$15.class.uniqueId6 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$16.class.uniqueId11 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$17.class.uniqueId24 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$18.class.uniqueId8 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$19.class.uniqueId21 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$2.class.uniqueId3 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$20.class.uniqueId5 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$21.class.uniqueId13 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$22.class.uniqueId19 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$23.class.uniqueId10 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$24.class.uniqueId15 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$3.class.uniqueId18 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$4.class.uniqueId22 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$5.class.uniqueId9 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$6.class.uniqueId12 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$7.class.uniqueId4 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$8.class.uniqueId17 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$9.class.uniqueId20 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager.class.uniqueId1 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMPackage.class.uniqueId2 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/android/build.gradle +2 -0
- package/android/src/main/java/com/juggleim/JuggleIMManager.java +54 -3
- package/android/src/main/java/com/juggleim/JuggleIMPackage.java +4 -1
- package/android/src/main/java/com/juggleim/call/JuggleIMCallModule.java +507 -0
- package/android/src/main/java/com/juggleim/call/view/RCTZegoSurfaceViewManager.java +32 -0
- package/android/src/main/java/com/juggleim/call/view/ZegoSurfaceView.java +43 -0
- package/ios/JModelFactory.m +12 -3
- package/ios/JuggleIMManager.m +33 -8
- package/ios/call/JuggleIMCallModule.h +10 -0
- package/ios/call/JuggleIMCallModule.m +520 -0
- package/ios/call/README.md +51 -0
- package/ios/call/view/ZegoSurfaceView.h +7 -0
- package/ios/call/view/ZegoSurfaceView.m +45 -0
- package/ios/call/view/ZegoSurfaceViewManager.h +5 -0
- package/ios/call/view/ZegoSurfaceViewManager.m +12 -0
- package/juggleim-rnsdk.podspec +2 -0
- package/package.json +1 -1
- package/src/call/CallConst.ts +43 -0
- package/src/call/CallInfo.ts +13 -0
- package/src/call/CallMember.ts +12 -0
- package/src/call/CallSession.ts +186 -0
- package/src/call/JuggleIMCall.ts +136 -0
- package/src/call/ZegoSurfaceView.tsx +24 -0
- package/src/call/index.ts +8 -0
- package/src/index.d.ts +429 -864
- package/src/index.js +10 -0
- package/src/types.d.ts +453 -0
- package/README.md +0 -552
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GenericCustomMessage.class.uniqueId0 +0 -0
|
@@ -0,0 +1,507 @@
|
|
|
1
|
+
|
|
2
|
+
package com.juggleim.call;
|
|
3
|
+
|
|
4
|
+
import com.facebook.react.bridge.Arguments;
|
|
5
|
+
import com.facebook.react.bridge.Promise;
|
|
6
|
+
import com.facebook.react.bridge.ReactApplicationContext;
|
|
7
|
+
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
8
|
+
import com.facebook.react.bridge.ReactMethod;
|
|
9
|
+
import com.facebook.react.bridge.ReadableArray;
|
|
10
|
+
import com.facebook.react.bridge.ReadableMap;
|
|
11
|
+
import com.facebook.react.bridge.WritableArray;
|
|
12
|
+
import com.facebook.react.bridge.WritableMap;
|
|
13
|
+
import com.facebook.react.modules.core.DeviceEventManagerModule;
|
|
14
|
+
import com.juggle.im.JIM;
|
|
15
|
+
import com.juggle.im.call.CallConst;
|
|
16
|
+
import com.juggle.im.call.ICallManager;
|
|
17
|
+
import com.juggle.im.call.ICallSession;
|
|
18
|
+
import com.juggle.im.call.internal.CallManager;
|
|
19
|
+
import com.juggle.im.call.model.CallInfo;
|
|
20
|
+
import com.juggle.im.call.model.CallMember;
|
|
21
|
+
import com.juggle.im.call.model.CallVideoDenoiseParams;
|
|
22
|
+
import com.juggle.im.model.Conversation;
|
|
23
|
+
import com.juggle.im.model.UserInfo;
|
|
24
|
+
import com.juggleim.RNTypeConverter;
|
|
25
|
+
import com.facebook.react.bridge.UIManager;
|
|
26
|
+
import com.facebook.react.uimanager.UIManagerHelper;
|
|
27
|
+
import com.facebook.react.uimanager.common.ViewUtil;
|
|
28
|
+
import java.util.ArrayList;
|
|
29
|
+
import java.util.HashMap;
|
|
30
|
+
import java.util.List;
|
|
31
|
+
import java.util.Map;
|
|
32
|
+
import android.util.Log;
|
|
33
|
+
|
|
34
|
+
public class JuggleIMCallModule extends ReactContextBaseJavaModule {
|
|
35
|
+
private static final String MODULE_NAME = "JuggleIMCallModule";
|
|
36
|
+
private final ReactApplicationContext mReactContext;
|
|
37
|
+
private final Map<String, ICallManager.ICallReceiveListener> mReceiveListeners = new HashMap<>();
|
|
38
|
+
private final Map<String, ICallManager.IConversationCallListener> mConversationCallListeners = new HashMap<>();
|
|
39
|
+
private final Map<String, ICallSession.ICallSessionListener> mSessionListeners = new HashMap<>();
|
|
40
|
+
// Store session listeners by callId + key
|
|
41
|
+
private final Map<String, Map<String, ICallSession.ICallSessionListener>> mCallSessionListeners = new HashMap<>();
|
|
42
|
+
|
|
43
|
+
public JuggleIMCallModule(ReactApplicationContext reactContext) {
|
|
44
|
+
super(reactContext);
|
|
45
|
+
mReactContext = reactContext;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
@Override
|
|
49
|
+
public String getName() {
|
|
50
|
+
return MODULE_NAME;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
@ReactMethod
|
|
54
|
+
public void addListener(String eventName) {
|
|
55
|
+
// Required for RN built-in Event Emitter Calls.
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
@ReactMethod
|
|
59
|
+
public void removeListeners(Integer count) {
|
|
60
|
+
// Required for RN built-in Event Emitter Calls.
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
private ICallManager getCallManager() {
|
|
64
|
+
return JIM.getInstance().getCallManager();
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
@ReactMethod
|
|
68
|
+
public void initZegoEngine(int appId) {
|
|
69
|
+
getCallManager().initZegoEngine(appId, mReactContext);
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
@ReactMethod
|
|
73
|
+
public void initLiveKitEngine() {
|
|
74
|
+
getCallManager().initLiveKitEngine(mReactContext);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
@ReactMethod
|
|
78
|
+
public void initAgoraEngine(String appId) {
|
|
79
|
+
getCallManager().initAgoraEngine(appId, mReactContext);
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
@ReactMethod
|
|
83
|
+
public void startSingleCall(String userId, int mediaType, String extra, Promise promise) {
|
|
84
|
+
try {
|
|
85
|
+
ICallSession session = getCallManager().startSingleCall(userId, CallConst.CallMediaType.setValue(mediaType),
|
|
86
|
+
extra, null);
|
|
87
|
+
promise.resolve(convertCallSessionToMap(session));
|
|
88
|
+
} catch (Exception e) {
|
|
89
|
+
promise.reject(e);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
@ReactMethod
|
|
94
|
+
public void startMultiCall(ReadableArray userIdList, int mediaType, String extra, ReadableMap conversationMap,
|
|
95
|
+
Promise promise) {
|
|
96
|
+
try {
|
|
97
|
+
List<String> userIds = new ArrayList<>();
|
|
98
|
+
for (int i = 0; i < userIdList.size(); i++) {
|
|
99
|
+
userIds.add(userIdList.getString(i));
|
|
100
|
+
}
|
|
101
|
+
Conversation conversation = null;
|
|
102
|
+
if (conversationMap != null) {
|
|
103
|
+
conversation = RNTypeConverter.fromReadableMap(conversationMap, Conversation.class);
|
|
104
|
+
}
|
|
105
|
+
ICallSession session = getCallManager().startMultiCall(userIds, CallConst.CallMediaType.setValue(mediaType),
|
|
106
|
+
conversation, extra, null);
|
|
107
|
+
promise.resolve(convertCallSessionToMap(session));
|
|
108
|
+
} catch (Exception e) {
|
|
109
|
+
promise.reject(e);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
@ReactMethod
|
|
114
|
+
public void joinCall(String callId, Promise promise) {
|
|
115
|
+
try {
|
|
116
|
+
ICallSession session = getCallManager().joinCall(callId, null);
|
|
117
|
+
promise.resolve(convertCallSessionToMap(session));
|
|
118
|
+
} catch (Exception e) {
|
|
119
|
+
promise.reject(e);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
@ReactMethod
|
|
124
|
+
public void getCallSession(String callId, Promise promise) {
|
|
125
|
+
ICallSession session = getCallManager().getCallSession(callId);
|
|
126
|
+
if (session != null) {
|
|
127
|
+
promise.resolve(convertCallSessionToMap(session));
|
|
128
|
+
} else {
|
|
129
|
+
promise.resolve(null);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
@ReactMethod
|
|
134
|
+
public void addReceiveListener(String key) {
|
|
135
|
+
ICallManager.ICallReceiveListener listener = new ICallManager.ICallReceiveListener() {
|
|
136
|
+
@Override
|
|
137
|
+
public void onCallReceive(ICallSession callSession) {
|
|
138
|
+
WritableMap params = Arguments.createMap();
|
|
139
|
+
params.putString("key", key);
|
|
140
|
+
params.putMap("callSession", convertCallSessionToMap(callSession));
|
|
141
|
+
sendEvent("CallManager_onCallReceive", params);
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
mReceiveListeners.put(key, listener);
|
|
145
|
+
getCallManager().addReceiveListener(key, listener);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
@ReactMethod
|
|
149
|
+
public void removeReceiveListener(String key) {
|
|
150
|
+
ICallManager.ICallReceiveListener listener = mReceiveListeners.remove(key);
|
|
151
|
+
if (listener != null) {
|
|
152
|
+
getCallManager().removeReceiveListener(key);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
@ReactMethod
|
|
157
|
+
public void addConversationCallListener(String key) {
|
|
158
|
+
ICallManager.IConversationCallListener listener = new ICallManager.IConversationCallListener() {
|
|
159
|
+
@Override
|
|
160
|
+
public void onCallInfoUpdate(CallInfo callInfo, Conversation conversation, boolean isFinished) {
|
|
161
|
+
WritableMap params = Arguments.createMap();
|
|
162
|
+
params.putString("key", key);
|
|
163
|
+
params.putMap("callInfo", convertCallInfoToMap(callInfo));
|
|
164
|
+
// params.putMap("conversation", RNTypeConverter.toWritableMap(conversation));
|
|
165
|
+
// // Use RNTypeConverter for Conversation
|
|
166
|
+
// Since I can't access RNTypeConverter.toWritableMap easily if it's protected
|
|
167
|
+
// or I need to handle Enums manually for Conversation if needed.
|
|
168
|
+
// Assuming RNTypeConverter works fine for POJO Conversation.
|
|
169
|
+
// But RNTypeConverter.toWritableMap(obj) is public.
|
|
170
|
+
params.putMap("conversation", RNTypeConverter.toWritableMap(conversation));
|
|
171
|
+
params.putBoolean("isFinished", isFinished);
|
|
172
|
+
sendEvent("CallManager_onCallInfoUpdate", params);
|
|
173
|
+
}
|
|
174
|
+
};
|
|
175
|
+
mConversationCallListeners.put(key, listener);
|
|
176
|
+
getCallManager().addConversationCallListener(key, listener);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
@ReactMethod
|
|
180
|
+
public void removeConversationCallListener(String key) {
|
|
181
|
+
ICallManager.IConversationCallListener listener = mConversationCallListeners.remove(key);
|
|
182
|
+
if (listener != null) {
|
|
183
|
+
getCallManager().removeConversationCallListener(key);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// Session Methods
|
|
188
|
+
|
|
189
|
+
@ReactMethod
|
|
190
|
+
public void accept(String callId) {
|
|
191
|
+
ICallSession session = getCallManager().getCallSession(callId);
|
|
192
|
+
if (session != null)
|
|
193
|
+
session.accept();
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
@ReactMethod
|
|
197
|
+
public void hangup(String callId) {
|
|
198
|
+
ICallSession session = getCallManager().getCallSession(callId);
|
|
199
|
+
if (session != null)
|
|
200
|
+
session.hangup();
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
@ReactMethod
|
|
204
|
+
public void enableCamera(String callId, boolean enable) {
|
|
205
|
+
ICallSession session = getCallManager().getCallSession(callId);
|
|
206
|
+
if (session != null)
|
|
207
|
+
session.enableCamera(enable);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
@ReactMethod
|
|
211
|
+
public void muteMicrophone(String callId, boolean mute) {
|
|
212
|
+
ICallSession session = getCallManager().getCallSession(callId);
|
|
213
|
+
if (session != null)
|
|
214
|
+
session.muteMicrophone(mute);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
@ReactMethod
|
|
218
|
+
public void muteSpeaker(String callId, boolean mute) {
|
|
219
|
+
ICallSession session = getCallManager().getCallSession(callId);
|
|
220
|
+
if (session != null)
|
|
221
|
+
session.muteSpeaker(mute);
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
@ReactMethod
|
|
225
|
+
public void setSpeakerEnable(String callId, boolean enable) {
|
|
226
|
+
ICallSession session = getCallManager().getCallSession(callId);
|
|
227
|
+
if (session != null)
|
|
228
|
+
session.setSpeakerEnable(enable);
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
@ReactMethod
|
|
232
|
+
public void useFrontCamera(String callId, boolean enable) {
|
|
233
|
+
ICallSession session = getCallManager().getCallSession(callId);
|
|
234
|
+
if (session != null)
|
|
235
|
+
session.useFrontCamera(enable);
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
@ReactMethod
|
|
239
|
+
public void inviteUsers(String callId, ReadableArray userIdList) {
|
|
240
|
+
ICallSession session = getCallManager().getCallSession(callId);
|
|
241
|
+
if (session != null) {
|
|
242
|
+
List<String> list = new ArrayList<>();
|
|
243
|
+
for (int i = 0; i < userIdList.size(); i++) {
|
|
244
|
+
list.add(userIdList.getString(i));
|
|
245
|
+
}
|
|
246
|
+
session.inviteUsers(list);
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
@ReactMethod
|
|
251
|
+
public void enableAEC(String callId, boolean enable) {
|
|
252
|
+
ICallSession session = getCallManager().getCallSession(callId);
|
|
253
|
+
if (session != null)
|
|
254
|
+
session.enableAEC(enable);
|
|
255
|
+
}
|
|
256
|
+
|
|
257
|
+
@ReactMethod
|
|
258
|
+
public void setVideoDenoiseParams(String callId, ReadableMap params) {
|
|
259
|
+
ICallSession session = getCallManager().getCallSession(callId);
|
|
260
|
+
if (session != null) {
|
|
261
|
+
CallVideoDenoiseParams p = new CallVideoDenoiseParams();
|
|
262
|
+
// TODO: Populate 'p' from 'params'
|
|
263
|
+
session.setVideoDenoiseParams(p);
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
@ReactMethod
|
|
268
|
+
public void setVideoView(String callId, String userId, int viewTag, Promise promise) {
|
|
269
|
+
mReactContext.runOnUiQueueThread(() -> {
|
|
270
|
+
ICallSession session = getCallManager().getCallSession(callId);
|
|
271
|
+
if (session == null)
|
|
272
|
+
return;
|
|
273
|
+
|
|
274
|
+
try {
|
|
275
|
+
int uiManagerType = ViewUtil.getUIManagerType(viewTag);
|
|
276
|
+
UIManager uiManager = UIManagerHelper.getUIManager(mReactContext, uiManagerType);
|
|
277
|
+
android.view.View view = uiManager.resolveView(viewTag);
|
|
278
|
+
session.setVideoView(userId, ((com.juggleim.call.view.ZegoSurfaceView) view).getView());
|
|
279
|
+
} catch (Exception e) {
|
|
280
|
+
e.printStackTrace();
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
promise.resolve(null);
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
@ReactMethod
|
|
287
|
+
public void startPreview(String callId, int viewTag, Promise promise) {
|
|
288
|
+
mReactContext.runOnUiQueueThread(() -> {
|
|
289
|
+
ICallSession session = getCallManager().getCallSession(callId);
|
|
290
|
+
if (session == null)
|
|
291
|
+
return;
|
|
292
|
+
|
|
293
|
+
try {
|
|
294
|
+
int uiManagerType = ViewUtil.getUIManagerType(viewTag);
|
|
295
|
+
UIManager uiManager = UIManagerHelper.getUIManager(mReactContext, uiManagerType);
|
|
296
|
+
android.view.View view = uiManager.resolveView(viewTag);
|
|
297
|
+
Log.d("JuggleIMCall",
|
|
298
|
+
"viewTag: " + viewTag + ", uiManagerType: " + uiManagerType + ", uiManager: " + uiManager
|
|
299
|
+
+ ", view: " + view);
|
|
300
|
+
if (view == null) {
|
|
301
|
+
return;
|
|
302
|
+
}
|
|
303
|
+
session.startPreview(((com.juggleim.call.view.ZegoSurfaceView) view).getView());
|
|
304
|
+
} catch (Exception e) {
|
|
305
|
+
e.printStackTrace();
|
|
306
|
+
}
|
|
307
|
+
});
|
|
308
|
+
promise.resolve(null);
|
|
309
|
+
}
|
|
310
|
+
|
|
311
|
+
@ReactMethod
|
|
312
|
+
public void addSessionListener(String callId, String key) {
|
|
313
|
+
ICallSession session = getCallManager().getCallSession(callId);
|
|
314
|
+
if (session == null) {
|
|
315
|
+
Log.d("JuggleIMCall", "addSessionListener: session is null");
|
|
316
|
+
return;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
ICallSession.ICallSessionListener listener = new ICallSession.ICallSessionListener() {
|
|
320
|
+
@Override
|
|
321
|
+
public void onCallConnect() {
|
|
322
|
+
WritableMap params = Arguments.createMap();
|
|
323
|
+
params.putString("callId", callId);
|
|
324
|
+
sendEvent("CallSession_onCallConnect", params);
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
@Override
|
|
328
|
+
public void onCallFinish(CallConst.CallFinishReason finishReason) {
|
|
329
|
+
WritableMap params = Arguments.createMap();
|
|
330
|
+
params.putString("callId", callId);
|
|
331
|
+
params.putInt("finishReason", finishReason.getValue());
|
|
332
|
+
sendEvent("CallSession_onCallFinish", params);
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
@Override
|
|
336
|
+
public void onErrorOccur(CallConst.CallErrorCode errorCode) {
|
|
337
|
+
WritableMap params = Arguments.createMap();
|
|
338
|
+
params.putString("callId", callId);
|
|
339
|
+
params.putInt("errorCode", errorCode.getValue());
|
|
340
|
+
sendEvent("CallSession_onErrorOccur", params);
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
@Override
|
|
344
|
+
public void onUsersInvite(String inviterId, List<String> userIdList) {
|
|
345
|
+
WritableMap params = Arguments.createMap();
|
|
346
|
+
params.putString("callId", callId);
|
|
347
|
+
params.putString("inviterId", inviterId);
|
|
348
|
+
params.putArray("userIdList", convertListToWritableArray(userIdList));
|
|
349
|
+
sendEvent("CallSession_onUsersInvite", params);
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
@Override
|
|
353
|
+
public void onUsersConnect(List<String> userIdList) {
|
|
354
|
+
WritableMap params = Arguments.createMap();
|
|
355
|
+
params.putString("callId", callId);
|
|
356
|
+
params.putArray("userIdList", convertListToWritableArray(userIdList));
|
|
357
|
+
sendEvent("CallSession_onUsersConnect", params);
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
@Override
|
|
361
|
+
public void onUsersLeave(List<String> userIdList) {
|
|
362
|
+
WritableMap params = Arguments.createMap();
|
|
363
|
+
params.putString("callId", callId);
|
|
364
|
+
params.putArray("userIdList", convertListToWritableArray(userIdList));
|
|
365
|
+
sendEvent("CallSession_onUsersLeave", params);
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
@Override
|
|
369
|
+
public void onUserCameraEnable(String userId, boolean enable) {
|
|
370
|
+
WritableMap params = Arguments.createMap();
|
|
371
|
+
params.putString("callId", callId);
|
|
372
|
+
params.putString("userId", userId);
|
|
373
|
+
params.putBoolean("enable", enable);
|
|
374
|
+
sendEvent("CallSession_onUserCameraEnable", params);
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
@Override
|
|
378
|
+
public void onUserMicrophoneEnable(String userId, boolean enable) {
|
|
379
|
+
WritableMap params = Arguments.createMap();
|
|
380
|
+
params.putString("callId", callId);
|
|
381
|
+
params.putString("userId", userId);
|
|
382
|
+
params.putBoolean("enable", enable);
|
|
383
|
+
sendEvent("CallSession_onUserMicrophoneEnable", params);
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
@Override
|
|
387
|
+
public void onSoundLevelUpdate(HashMap<String, Float> soundLevels) {
|
|
388
|
+
WritableMap params = Arguments.createMap();
|
|
389
|
+
params.putString("callId", callId);
|
|
390
|
+
WritableMap levels = Arguments.createMap();
|
|
391
|
+
for (Map.Entry<String, Float> entry : soundLevels.entrySet()) {
|
|
392
|
+
levels.putDouble(entry.getKey(), entry.getValue().doubleValue());
|
|
393
|
+
}
|
|
394
|
+
params.putMap("soundLevels", levels);
|
|
395
|
+
sendEvent("CallSession_onSoundLevelUpdate", params);
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
@Override
|
|
399
|
+
public void onVideoFirstFrameRender(String userId) {
|
|
400
|
+
WritableMap params = Arguments.createMap();
|
|
401
|
+
params.putString("callId", callId);
|
|
402
|
+
params.putString("userId", userId);
|
|
403
|
+
sendEvent("CallSession_onVideoFirstFrameRender", params);
|
|
404
|
+
}
|
|
405
|
+
};
|
|
406
|
+
|
|
407
|
+
// Store listener
|
|
408
|
+
if (!mCallSessionListeners.containsKey(callId)) {
|
|
409
|
+
mCallSessionListeners.put(callId, new HashMap<>());
|
|
410
|
+
}
|
|
411
|
+
mCallSessionListeners.get(callId).put(key, listener);
|
|
412
|
+
|
|
413
|
+
session.addListener(key, listener);
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
@ReactMethod
|
|
417
|
+
public void removeSessionListener(String callId, String key) {
|
|
418
|
+
ICallSession session = getCallManager().getCallSession(callId);
|
|
419
|
+
if (session != null) {
|
|
420
|
+
session.removeListener(key);
|
|
421
|
+
}
|
|
422
|
+
if (mCallSessionListeners.containsKey(callId)) {
|
|
423
|
+
mCallSessionListeners.get(callId).remove(key);
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
private void sendEvent(String eventName, WritableMap params) {
|
|
428
|
+
mReactContext
|
|
429
|
+
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
|
|
430
|
+
.emit(eventName, params);
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
private WritableMap convertCallSessionToMap(ICallSession session) {
|
|
434
|
+
WritableMap map = Arguments.createMap();
|
|
435
|
+
map.putString("callId", session.getCallId());
|
|
436
|
+
map.putBoolean("isMultiCall", session.isMultiCall());
|
|
437
|
+
map.putInt("mediaType", session.getMediaType().getValue());
|
|
438
|
+
map.putInt("callStatus", session.getCallStatus().getStatus());
|
|
439
|
+
map.putDouble("startTime", session.getStartTime());
|
|
440
|
+
map.putDouble("connectTime", session.getConnectTime());
|
|
441
|
+
map.putDouble("finishTime", session.getFinishTime());
|
|
442
|
+
map.putString("owner", session.getOwner());
|
|
443
|
+
map.putString("inviter", session.getInviter());
|
|
444
|
+
map.putInt("finishReason", session.getFinishReason() == null ? 0 : session.getFinishReason().getValue());
|
|
445
|
+
map.putString("extra", session.getExtra());
|
|
446
|
+
|
|
447
|
+
WritableArray members = Arguments.createArray();
|
|
448
|
+
for (CallMember member : session.getMembers()) {
|
|
449
|
+
members.pushMap(convertCallMemberToMap(member));
|
|
450
|
+
}
|
|
451
|
+
map.putArray("members", members);
|
|
452
|
+
|
|
453
|
+
if (session.getCurrentCallMember() != null) {
|
|
454
|
+
map.putMap("currentMember", convertCallMemberToMap(session.getCurrentCallMember()));
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
return map;
|
|
458
|
+
}
|
|
459
|
+
|
|
460
|
+
private WritableMap convertCallMemberToMap(CallMember member) {
|
|
461
|
+
WritableMap map = Arguments.createMap();
|
|
462
|
+
map.putMap("userInfo", convertUserInfoToMap(member.getUserInfo()));
|
|
463
|
+
map.putInt("callStatus", member.getCallStatus().getStatus());
|
|
464
|
+
map.putDouble("startTime", member.getStartTime());
|
|
465
|
+
map.putDouble("connectTime", member.getConnectTime());
|
|
466
|
+
map.putDouble("finishTime", member.getFinishTime());
|
|
467
|
+
map.putMap("inviter", convertUserInfoToMap(member.getInviter()));
|
|
468
|
+
return map;
|
|
469
|
+
}
|
|
470
|
+
|
|
471
|
+
private WritableMap convertUserInfoToMap(UserInfo userInfo) {
|
|
472
|
+
if (userInfo == null)
|
|
473
|
+
return null;
|
|
474
|
+
WritableMap map = Arguments.createMap();
|
|
475
|
+
map.putString("userId", userInfo.getUserId());
|
|
476
|
+
map.putString("nickname", userInfo.getUserName());
|
|
477
|
+
map.putString("avatar", userInfo.getPortrait());
|
|
478
|
+
return map;
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
private WritableMap convertCallInfoToMap(CallInfo info) {
|
|
482
|
+
WritableMap map = Arguments.createMap();
|
|
483
|
+
map.putString("callId", info.getCallId());
|
|
484
|
+
map.putBoolean("isMultiCall", info.isMultiCall());
|
|
485
|
+
map.putInt("mediaType", info.getMediaType().getValue());
|
|
486
|
+
map.putMap("owner", convertUserInfoToMap(info.getOwner()));
|
|
487
|
+
map.putString("extra", info.getExtra());
|
|
488
|
+
|
|
489
|
+
WritableArray members = Arguments.createArray();
|
|
490
|
+
for (CallMember member : info.getMembers()) {
|
|
491
|
+
members.pushMap(convertCallMemberToMap(member));
|
|
492
|
+
}
|
|
493
|
+
map.putArray("members", members);
|
|
494
|
+
|
|
495
|
+
return map;
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
private WritableArray convertListToWritableArray(List<String> list) {
|
|
499
|
+
WritableArray array = Arguments.createArray();
|
|
500
|
+
if (list != null) {
|
|
501
|
+
for (String item : list) {
|
|
502
|
+
array.pushString(item);
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
return array;
|
|
506
|
+
}
|
|
507
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
|
|
2
|
+
package com.juggleim.call.view;
|
|
3
|
+
|
|
4
|
+
import com.facebook.react.uimanager.SimpleViewManager;
|
|
5
|
+
import com.facebook.react.uimanager.ThemedReactContext;
|
|
6
|
+
import com.facebook.react.uimanager.annotations.ReactProp;
|
|
7
|
+
|
|
8
|
+
import androidx.annotation.NonNull;
|
|
9
|
+
|
|
10
|
+
public class RCTZegoSurfaceViewManager extends SimpleViewManager<ZegoSurfaceView> {
|
|
11
|
+
@NonNull
|
|
12
|
+
@Override
|
|
13
|
+
public String getName() {
|
|
14
|
+
return "RCTZegoSurfaceView";
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
@NonNull
|
|
18
|
+
@Override
|
|
19
|
+
protected ZegoSurfaceView createViewInstance(@NonNull ThemedReactContext reactContext) {
|
|
20
|
+
return new ZegoSurfaceView(reactContext);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@ReactProp(name = "zOrderMediaOverlay")
|
|
24
|
+
public void setZOrderMediaOverlay(ZegoSurfaceView view, boolean isMediaOverlay) {
|
|
25
|
+
view.setZOrderMediaOverlay(isMediaOverlay);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@ReactProp(name = "zOrderOnTop")
|
|
29
|
+
public void setZOrderOnTop(ZegoSurfaceView view, boolean onTop) {
|
|
30
|
+
view.setZOrderOnTop(onTop);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
|
|
2
|
+
package com.juggleim.call.view;
|
|
3
|
+
|
|
4
|
+
import android.content.Context;
|
|
5
|
+
import android.view.SurfaceView;
|
|
6
|
+
import android.widget.FrameLayout;
|
|
7
|
+
|
|
8
|
+
import androidx.annotation.NonNull;
|
|
9
|
+
|
|
10
|
+
public class ZegoSurfaceView extends FrameLayout {
|
|
11
|
+
|
|
12
|
+
private SurfaceView surfaceView;
|
|
13
|
+
|
|
14
|
+
public ZegoSurfaceView(@NonNull Context context) {
|
|
15
|
+
super(context);
|
|
16
|
+
surfaceView = new SurfaceView(context);
|
|
17
|
+
addView(surfaceView);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
public SurfaceView getView() {
|
|
21
|
+
return surfaceView;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
public void setZOrderMediaOverlay(boolean isMediaOverlay) {
|
|
25
|
+
removeView(surfaceView);
|
|
26
|
+
surfaceView.setZOrderMediaOverlay(isMediaOverlay);
|
|
27
|
+
addView(surfaceView);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
public void setZOrderOnTop(boolean onTop) {
|
|
31
|
+
removeView(surfaceView);
|
|
32
|
+
surfaceView.setZOrderOnTop(onTop);
|
|
33
|
+
addView(surfaceView);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
@Override
|
|
37
|
+
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
|
|
38
|
+
int width = MeasureSpec.getSize(widthMeasureSpec);
|
|
39
|
+
int height = MeasureSpec.getSize(heightMeasureSpec);
|
|
40
|
+
surfaceView.layout(0, 0, width, height);
|
|
41
|
+
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
|
|
42
|
+
}
|
|
43
|
+
}
|
package/ios/JModelFactory.m
CHANGED
|
@@ -158,11 +158,13 @@
|
|
|
158
158
|
if (info.userId) {
|
|
159
159
|
[dic setObject:info.userId forKey:@"userId"];
|
|
160
160
|
}
|
|
161
|
+
// Map iOS userName to JS 'nickname' field
|
|
161
162
|
if (info.userName) {
|
|
162
|
-
[dic setObject:info.userName forKey:@"
|
|
163
|
+
[dic setObject:info.userName forKey:@"nickname"];
|
|
163
164
|
}
|
|
165
|
+
// Map iOS portrait to JS 'avatar' field
|
|
164
166
|
if (info.portrait) {
|
|
165
|
-
[dic setObject:info.portrait forKey:@"
|
|
167
|
+
[dic setObject:info.portrait forKey:@"avatar"];
|
|
166
168
|
}
|
|
167
169
|
if (info.extraDic) {
|
|
168
170
|
[dic setObject:info.extraDic forKey:@"extraMap"];
|
|
@@ -326,8 +328,9 @@
|
|
|
326
328
|
if (callSession.owner) {
|
|
327
329
|
[dic setObject:callSession.owner forKey:@"owner"];
|
|
328
330
|
}
|
|
331
|
+
// Map iOS inviterId to JS 'inviter' field
|
|
329
332
|
if (callSession.inviterId) {
|
|
330
|
-
[dic setObject:callSession.inviterId forKey:@"
|
|
333
|
+
[dic setObject:callSession.inviterId forKey:@"inviter"];
|
|
331
334
|
}
|
|
332
335
|
if (callSession.extra) {
|
|
333
336
|
[dic setObject:callSession.extra forKey:@"extra"];
|
|
@@ -340,6 +343,12 @@
|
|
|
340
343
|
}
|
|
341
344
|
[dic setObject:memberDicArray forKey:@"members"];
|
|
342
345
|
|
|
346
|
+
// Add currentMember field
|
|
347
|
+
if (callSession.currentCallMember) {
|
|
348
|
+
[dic setObject:[self callMemberToDic:callSession.currentCallMember]
|
|
349
|
+
forKey:@"currentMember"];
|
|
350
|
+
}
|
|
351
|
+
|
|
343
352
|
return [dic copy];
|
|
344
353
|
}
|
|
345
354
|
|
package/ios/JuggleIMManager.m
CHANGED
|
@@ -652,6 +652,32 @@ RCT_EXPORT_METHOD(getConversationInfo : (NSDictionary *)
|
|
|
652
652
|
}
|
|
653
653
|
}
|
|
654
654
|
|
|
655
|
+
/**
|
|
656
|
+
* 上传图片
|
|
657
|
+
*/
|
|
658
|
+
RCT_EXPORT_METHOD(uploadImage : (NSString *)localPath resolver : (
|
|
659
|
+
RCTPromiseResolveBlock)resolve rejecter : (RCTPromiseRejectBlock)reject) {
|
|
660
|
+
NSString *path = localPath;
|
|
661
|
+
if ([path hasPrefix:@"file://"]) {
|
|
662
|
+
path = [path substringFromIndex:7];
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
UIImage *image = [UIImage imageWithContentsOfFile:path];
|
|
666
|
+
if (!image) {
|
|
667
|
+
reject(@"-1", @"Image decode failed", nil);
|
|
668
|
+
return;
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
[JIM.shared.messageManager uploadImage:image
|
|
672
|
+
success:^(NSString *url) {
|
|
673
|
+
resolve(url);
|
|
674
|
+
}
|
|
675
|
+
error:^(JErrorCode code) {
|
|
676
|
+
reject([NSString stringWithFormat:@"%ld", (long)code], @"Upload failed",
|
|
677
|
+
nil);
|
|
678
|
+
}];
|
|
679
|
+
}
|
|
680
|
+
|
|
655
681
|
/**
|
|
656
682
|
* 创建会话信息
|
|
657
683
|
*/
|
|
@@ -819,13 +845,12 @@ RCT_EXPORT_METHOD(setUnread : (NSDictionary *)conversationMap resolver : (
|
|
|
819
845
|
/**
|
|
820
846
|
* 获取置顶会话列表
|
|
821
847
|
*/
|
|
822
|
-
RCT_EXPORT_METHOD(getTopConversationInfoList
|
|
823
|
-
|
|
824
|
-
|
|
825
|
-
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
: JPullDirectionOlder;
|
|
848
|
+
RCT_EXPORT_METHOD(getTopConversationInfoList:(int)count
|
|
849
|
+
timestamp:(double)timestamp
|
|
850
|
+
pullDirection:(int)pullDirection
|
|
851
|
+
resolver:(RCTPromiseResolveBlock)resolve
|
|
852
|
+
rejecter:(RCTPromiseRejectBlock)reject) {
|
|
853
|
+
JPullDirection direction = pullDirection == 0 ? JPullDirectionNewer : JPullDirectionOlder;
|
|
829
854
|
|
|
830
855
|
NSArray<JConversationInfo *> *conversationInfos =
|
|
831
856
|
[JIM.shared.conversationManager
|
|
@@ -1168,7 +1193,7 @@ RCT_EXPORT_METHOD(getMessages : (NSDictionary *)conversationDict direction : (
|
|
|
1168
1193
|
|
|
1169
1194
|
JPullDirection pullDirection =
|
|
1170
1195
|
direction == 0 ? JPullDirectionNewer : JPullDirectionOlder;
|
|
1171
|
-
|
|
1196
|
+
NSLog(@"getMessages start");
|
|
1172
1197
|
[JIM.shared.messageManager
|
|
1173
1198
|
getMessages:conversation
|
|
1174
1199
|
direction:pullDirection
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#import <React/RCTBridgeModule.h>
|
|
2
|
+
#import <React/RCTEventEmitter.h>
|
|
3
|
+
#import <React/RCTViewManager.h>
|
|
4
|
+
#import <React/RCTUIManager.h>
|
|
5
|
+
/**
|
|
6
|
+
* Juggle IM Call React Native iOS 模块
|
|
7
|
+
*/
|
|
8
|
+
@interface JuggleIMCallModule : RCTEventEmitter <RCTBridgeModule>
|
|
9
|
+
|
|
10
|
+
@end
|