juggleim-rnsdk 0.1.6 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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$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$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$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$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$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$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$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$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$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.uniqueId24 +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.uniqueId22 +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.uniqueId15 +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.uniqueId23 +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.uniqueId20 +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.uniqueId18 +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$3.class.uniqueId17 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$4.class.uniqueId21 +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.uniqueId16 +0 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/JuggleIMManager$9.class.uniqueId19 +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 +24 -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 +6 -7
- 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 +79 -0
- package/src/call/ZegoSurfaceView.tsx +24 -0
- package/src/call/index.ts +8 -0
- package/src/index.d.ts +422 -864
- package/src/index.js +1 -0
- package/src/types.d.ts +453 -0
- package/android/build/tmp/compileDebugJavaWithJavac/compileTransaction/stash-dir/GenericCustomMessage.class.uniqueId0 +0 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
|
|
2
|
+
export enum CallStatus {
|
|
3
|
+
IDLE = 0,
|
|
4
|
+
INCOMING = 1,
|
|
5
|
+
OUTGOING = 2,
|
|
6
|
+
CONNECTING = 3,
|
|
7
|
+
CONNECTED = 4,
|
|
8
|
+
JOIN = 5,
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export enum CallMediaType {
|
|
12
|
+
VOICE = 0,
|
|
13
|
+
VIDEO = 1,
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export enum CallFinishReason {
|
|
17
|
+
UNKNOWN = 0,
|
|
18
|
+
HANGUP = 1,
|
|
19
|
+
DECLINE = 2,
|
|
20
|
+
BUSY = 3,
|
|
21
|
+
NO_RESPONSE = 4,
|
|
22
|
+
CANCEL = 5,
|
|
23
|
+
OTHER_SIDE_HANGUP = 6,
|
|
24
|
+
OTHER_SIDE_DECLINE = 7,
|
|
25
|
+
OTHER_SIDE_BUSY = 8,
|
|
26
|
+
OTHER_SIDE_NO_RESPONSE = 9,
|
|
27
|
+
OTHER_SIDE_CANCEL = 10,
|
|
28
|
+
ROOM_DESTROY = 11,
|
|
29
|
+
NETWORK_ERROR = 12,
|
|
30
|
+
ACCEPT_ON_OTHER_CLIENT = 13,
|
|
31
|
+
HANGUP_ON_OTHER_CLIENT = 14,
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export enum CallErrorCode {
|
|
35
|
+
SUCCESS = 0,
|
|
36
|
+
CALL_EXIST = 1,
|
|
37
|
+
CANT_ACCEPT_WHILE_NOT_INVITED = 2,
|
|
38
|
+
ACCEPT_FAIL = 3,
|
|
39
|
+
JOIN_MEDIA_ROOM_FAIL = 4,
|
|
40
|
+
INVALID_PARAMETER = 5,
|
|
41
|
+
INVITE_FAIL = 6,
|
|
42
|
+
JOIN_ROOM_FAIL = 7,
|
|
43
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
|
|
2
|
+
import { UserInfo } from '../index';
|
|
3
|
+
import { CallMediaType } from './CallConst';
|
|
4
|
+
import { CallMember } from './CallMember';
|
|
5
|
+
|
|
6
|
+
export interface CallInfo {
|
|
7
|
+
callId: string;
|
|
8
|
+
isMultiCall: boolean;
|
|
9
|
+
mediaType: CallMediaType;
|
|
10
|
+
owner: UserInfo;
|
|
11
|
+
members: CallMember[];
|
|
12
|
+
extra: string;
|
|
13
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
|
|
2
|
+
import { UserInfo } from '../index';
|
|
3
|
+
import { CallStatus } from './CallConst';
|
|
4
|
+
|
|
5
|
+
export interface CallMember {
|
|
6
|
+
userInfo: UserInfo;
|
|
7
|
+
callStatus: CallStatus;
|
|
8
|
+
startTime: number;
|
|
9
|
+
connectTime: number;
|
|
10
|
+
finishTime: number;
|
|
11
|
+
inviter: UserInfo;
|
|
12
|
+
}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
|
|
2
|
+
import { NativeModules, NativeEventEmitter, findNodeHandle, Component, Platform } from 'react-native';
|
|
3
|
+
import { request, PERMISSIONS, RESULTS } from 'react-native-permissions';
|
|
4
|
+
import { CallStatus, CallMediaType, CallFinishReason, CallErrorCode } from './CallConst';
|
|
5
|
+
import { CallMember } from './CallMember';
|
|
6
|
+
|
|
7
|
+
const { JuggleIMCallModule } = NativeModules;
|
|
8
|
+
const eventEmitter = new NativeEventEmitter(JuggleIMCallModule);
|
|
9
|
+
|
|
10
|
+
export interface CallVideoDenoiseParams {
|
|
11
|
+
// Add properties as needed
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export interface CallSessionListener {
|
|
15
|
+
onCallConnect?(): void;
|
|
16
|
+
onCallFinish?(finishReason: CallFinishReason): void;
|
|
17
|
+
onErrorOccur?(errorCode: CallErrorCode): void;
|
|
18
|
+
onUsersInvite?(inviterId: string, userIdList: string[]): void;
|
|
19
|
+
onUsersConnect?(userIdList: string[]): void;
|
|
20
|
+
onUsersLeave?(userIdList: string[]): void;
|
|
21
|
+
onUserCameraEnable?(userId: string, enable: boolean): void;
|
|
22
|
+
onUserMicrophoneEnable?(userId: string, enable: boolean): void;
|
|
23
|
+
onSoundLevelUpdate?(soundLevels: { [userId: string]: number }): void;
|
|
24
|
+
onVideoFirstFrameRender?(userId: string): void;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export class CallSession {
|
|
28
|
+
callId: string;
|
|
29
|
+
isMultiCall: boolean;
|
|
30
|
+
mediaType: CallMediaType;
|
|
31
|
+
callStatus: CallStatus;
|
|
32
|
+
startTime: number;
|
|
33
|
+
connectTime: number;
|
|
34
|
+
finishTime: number;
|
|
35
|
+
owner: string;
|
|
36
|
+
inviter: string;
|
|
37
|
+
finishReason: CallFinishReason;
|
|
38
|
+
members: CallMember[];
|
|
39
|
+
currentMember: CallMember;
|
|
40
|
+
extra: string;
|
|
41
|
+
|
|
42
|
+
constructor(props: any) {
|
|
43
|
+
this.callId = props.callId;
|
|
44
|
+
this.isMultiCall = props.isMultiCall;
|
|
45
|
+
this.mediaType = props.mediaType;
|
|
46
|
+
this.callStatus = props.callStatus;
|
|
47
|
+
this.startTime = props.startTime;
|
|
48
|
+
this.connectTime = props.connectTime;
|
|
49
|
+
this.finishTime = props.finishTime;
|
|
50
|
+
this.owner = props.owner;
|
|
51
|
+
this.inviter = props.inviter;
|
|
52
|
+
this.finishReason = props.finishReason;
|
|
53
|
+
this.members = props.members;
|
|
54
|
+
this.currentMember = props.currentMember;
|
|
55
|
+
this.extra = props.extra;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
addListener(listener: CallSessionListener): () => void {
|
|
59
|
+
const key = `CallSession_${this.callId}_${Date.now()}`;
|
|
60
|
+
JuggleIMCallModule.addSessionListener(this.callId, key);
|
|
61
|
+
|
|
62
|
+
// Using a simpler event listening approach might be needed if multiple listeners are attached.
|
|
63
|
+
// Ideally we filter events by callId
|
|
64
|
+
const subscriptions = [
|
|
65
|
+
eventEmitter.addListener('CallSession_onCallConnect', (event) => {
|
|
66
|
+
console.log('CallSession_onCallConnect', event);
|
|
67
|
+
if (event.callId === this.callId && listener.onCallConnect) listener.onCallConnect();
|
|
68
|
+
}),
|
|
69
|
+
eventEmitter.addListener('CallSession_onCallFinish', (event) => {
|
|
70
|
+
console.log('CallSession_onCallFinish', event);
|
|
71
|
+
if (event.callId === this.callId && listener.onCallFinish) listener.onCallFinish(event.finishReason);
|
|
72
|
+
}),
|
|
73
|
+
eventEmitter.addListener('CallSession_onErrorOccur', (event) => {
|
|
74
|
+
console.log('CallSession_onErrorOccur', event);
|
|
75
|
+
if (event.callId === this.callId && listener.onErrorOccur) listener.onErrorOccur(event.errorCode);
|
|
76
|
+
}),
|
|
77
|
+
eventEmitter.addListener('CallSession_onUsersInvite', (event) => {
|
|
78
|
+
console.log('CallSession_onUsersInvite', event);
|
|
79
|
+
if (event.callId === this.callId && listener.onUsersInvite) listener.onUsersInvite(event.inviterId, event.userIdList);
|
|
80
|
+
}),
|
|
81
|
+
eventEmitter.addListener('CallSession_onUsersConnect', (event) => {
|
|
82
|
+
console.log('CallSession_onUsersConnect', event);
|
|
83
|
+
if (event.callId === this.callId && listener.onUsersConnect) listener.onUsersConnect(event.userIdList);
|
|
84
|
+
}),
|
|
85
|
+
eventEmitter.addListener('CallSession_onUsersLeave', (event) => {
|
|
86
|
+
console.log('CallSession_onUsersLeave', event);
|
|
87
|
+
if (event.callId === this.callId && listener.onUsersLeave) listener.onUsersLeave(event.userIdList);
|
|
88
|
+
}),
|
|
89
|
+
eventEmitter.addListener('CallSession_onUserCameraEnable', (event) => {
|
|
90
|
+
console.log('CallSession_onUserCameraEnable', event);
|
|
91
|
+
if (event.callId === this.callId && listener.onUserCameraEnable) listener.onUserCameraEnable(event.userId, event.enable);
|
|
92
|
+
}),
|
|
93
|
+
eventEmitter.addListener('CallSession_onUserMicrophoneEnable', (event) => {
|
|
94
|
+
console.log('CallSession_onUserMicrophoneEnable', event);
|
|
95
|
+
if (event.callId === this.callId && listener.onUserMicrophoneEnable) listener.onUserMicrophoneEnable(event.userId, event.enable);
|
|
96
|
+
}),
|
|
97
|
+
eventEmitter.addListener('CallSession_onSoundLevelUpdate', (event) => {
|
|
98
|
+
if (event.callId === this.callId && listener.onSoundLevelUpdate) listener.onSoundLevelUpdate(event.soundLevels);
|
|
99
|
+
}),
|
|
100
|
+
eventEmitter.addListener('CallSession_onVideoFirstFrameRender', (event) => {
|
|
101
|
+
console.log('CallSession_onVideoFirstFrameRender', event);
|
|
102
|
+
if (event.callId === this.callId && listener.onVideoFirstFrameRender) listener.onVideoFirstFrameRender(event.userId);
|
|
103
|
+
}),
|
|
104
|
+
];
|
|
105
|
+
|
|
106
|
+
return () => {
|
|
107
|
+
subscriptions.forEach(sub => sub.remove());
|
|
108
|
+
JuggleIMCallModule.removeSessionListener(this.callId, key);
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
accept() {
|
|
113
|
+
JuggleIMCallModule.accept(this.callId);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
hangup() {
|
|
117
|
+
JuggleIMCallModule.hangup(this.callId);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
enableCamera(enable: boolean) {
|
|
121
|
+
JuggleIMCallModule.enableCamera(this.callId, enable);
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
muteMicrophone(mute: boolean) {
|
|
125
|
+
JuggleIMCallModule.muteMicrophone(this.callId, mute);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
muteSpeaker(mute: boolean) {
|
|
129
|
+
JuggleIMCallModule.muteSpeaker(this.callId, mute);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
setSpeakerEnable(enable: boolean) {
|
|
133
|
+
JuggleIMCallModule.setSpeakerEnable(this.callId, enable);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
useFrontCamera(enable: boolean) {
|
|
137
|
+
JuggleIMCallModule.useFrontCamera(this.callId, enable);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
inviteUsers(userIdList: string[]) {
|
|
141
|
+
JuggleIMCallModule.inviteUsers(this.callId, userIdList);
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
enableAEC(enable: boolean) {
|
|
145
|
+
JuggleIMCallModule.enableAEC(this.callId, enable);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
setVideoDenoiseParams(params: CallVideoDenoiseParams) {
|
|
149
|
+
JuggleIMCallModule.setVideoDenoiseParams(this.callId, params);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
setVideoView(userId: string, view: Component | null): Promise<void> {
|
|
153
|
+
return JuggleIMCallModule.setVideoView(this.callId, userId, view);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
async startPreview(view: Component | null): Promise<void> {
|
|
157
|
+
console.log('startPreview', this.callId, this.mediaType, Platform.OS, view);
|
|
158
|
+
try {
|
|
159
|
+
if (this.mediaType === CallMediaType.VIDEO) {
|
|
160
|
+
const cameraPerm = Platform.OS === 'ios' ? PERMISSIONS.IOS.CAMERA : PERMISSIONS.ANDROID.CAMERA;
|
|
161
|
+
const micPerm = Platform.OS === 'ios' ? PERMISSIONS.IOS.MICROPHONE : PERMISSIONS.ANDROID.RECORD_AUDIO;
|
|
162
|
+
const camRes = await request(cameraPerm);
|
|
163
|
+
const micRes = await request(micPerm);
|
|
164
|
+
console.log('startPreview', this.callId, this.mediaType, Platform.OS, camRes, micRes);
|
|
165
|
+
if (camRes !== RESULTS.GRANTED || micRes !== RESULTS.GRANTED) {
|
|
166
|
+
console.warn('Camera or microphone permission not granted', camRes, micRes);
|
|
167
|
+
return Promise.reject('Camera or microphone permission not granted');
|
|
168
|
+
}
|
|
169
|
+
} else if (this.mediaType === CallMediaType.VOICE) {
|
|
170
|
+
const micPerm = Platform.OS === 'ios' ? PERMISSIONS.IOS.MICROPHONE : PERMISSIONS.ANDROID.RECORD_AUDIO;
|
|
171
|
+
const micRes = await request(micPerm);
|
|
172
|
+
if (micRes !== RESULTS.GRANTED) {
|
|
173
|
+
console.warn('Microphone permission not granted', micRes);
|
|
174
|
+
return Promise.reject('Microphone permission not granted');
|
|
175
|
+
}
|
|
176
|
+
} else {
|
|
177
|
+
return Promise.reject('Unsupported media type');
|
|
178
|
+
}
|
|
179
|
+
} catch (e) {
|
|
180
|
+
console.warn('Permission request error', e);
|
|
181
|
+
return Promise.reject(e);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
return JuggleIMCallModule.startPreview(this.callId, view);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
|
|
2
|
+
import { NativeModules, NativeEventEmitter } from 'react-native';
|
|
3
|
+
import { CallSession } from './CallSession';
|
|
4
|
+
import { CallMediaType } from './CallConst';
|
|
5
|
+
import { CallInfo } from './CallInfo';
|
|
6
|
+
import { Conversation } from '../types';
|
|
7
|
+
|
|
8
|
+
const { JuggleIMCallModule } = NativeModules;
|
|
9
|
+
const eventEmitter = new NativeEventEmitter(JuggleIMCallModule);
|
|
10
|
+
|
|
11
|
+
export interface CallReceiveListener {
|
|
12
|
+
onCallReceive(callSession: CallSession): void;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export interface ConversationCallListener {
|
|
16
|
+
onCallInfoUpdate(callInfo: CallInfo, conversation: Conversation, isFinished: boolean): void;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export default class JuggleIMCall {
|
|
20
|
+
static initZegoEngine(appId: number): void {
|
|
21
|
+
JuggleIMCallModule.initZegoEngine(appId);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
static initLiveKitEngine(): void {
|
|
25
|
+
JuggleIMCallModule.initLiveKitEngine();
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
static initAgoraEngine(appId: string): void {
|
|
29
|
+
JuggleIMCallModule.initAgoraEngine(appId);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
static startSingleCall(userId: string, mediaType: CallMediaType, extra?: string): Promise<CallSession> {
|
|
33
|
+
return JuggleIMCallModule.startSingleCall(userId, mediaType, extra || "")
|
|
34
|
+
.then((session: any) => new CallSession(session));
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
static startMultiCall(userIdList: string[], mediaType: CallMediaType, extra?: string, conversation?: Conversation): Promise<CallSession> {
|
|
38
|
+
return JuggleIMCallModule.startMultiCall(userIdList, mediaType, extra || "", conversation)
|
|
39
|
+
.then((session: any) => new CallSession(session));
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
static joinCall(callId: string): Promise<CallSession> {
|
|
43
|
+
return JuggleIMCallModule.joinCall(callId)
|
|
44
|
+
.then((session: any) => new CallSession(session));
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
static getCallSession(callId: string): Promise<CallSession | null> {
|
|
48
|
+
return JuggleIMCallModule.getCallSession(callId)
|
|
49
|
+
.then((session: any) => session ? new CallSession(session) : null);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
static addReceiveListener(listener: CallReceiveListener): () => void {
|
|
53
|
+
const key = `CallManager_Receive_${Date.now()}`;
|
|
54
|
+
JuggleIMCallModule.addReceiveListener(key);
|
|
55
|
+
const sub = eventEmitter.addListener('CallManager_onCallReceive', (event) => {
|
|
56
|
+
if (event.key === key) {
|
|
57
|
+
listener.onCallReceive(new CallSession(event.callSession));
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
return () => {
|
|
61
|
+
sub.remove();
|
|
62
|
+
JuggleIMCallModule.removeReceiveListener(key);
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
static addConversationCallListener(listener: ConversationCallListener): () => void {
|
|
67
|
+
const key = `CallManager_Conversation_${Date.now()}`;
|
|
68
|
+
JuggleIMCallModule.addConversationCallListener(key);
|
|
69
|
+
const sub = eventEmitter.addListener('CallManager_onCallInfoUpdate', (event) => {
|
|
70
|
+
if (event.key === key) {
|
|
71
|
+
listener.onCallInfoUpdate(event.callInfo, event.conversation, event.isFinished);
|
|
72
|
+
}
|
|
73
|
+
});
|
|
74
|
+
return () => {
|
|
75
|
+
sub.remove();
|
|
76
|
+
JuggleIMCallModule.removeConversationCallListener(key);
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import {
|
|
4
|
+
requireNativeComponent,
|
|
5
|
+
ViewProps,
|
|
6
|
+
Platform,
|
|
7
|
+
View
|
|
8
|
+
} from 'react-native';
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
export interface SurfaceViewProps extends ViewProps {
|
|
12
|
+
zOrderMediaOverlay?: boolean;
|
|
13
|
+
zOrderOnTop?: boolean;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
const ZegoSurfaceViewManager = Platform.select<React.ComponentType<SurfaceViewProps>>({
|
|
17
|
+
ios: requireNativeComponent<SurfaceViewProps>('ZegoSurfaceView'),
|
|
18
|
+
android: requireNativeComponent<SurfaceViewProps>('RCTZegoSurfaceView'), // * android.view.SurfaceView
|
|
19
|
+
})!;
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
export const ZegoSurfaceView: React.FC<SurfaceViewProps> = (props) => {
|
|
23
|
+
return <ZegoSurfaceViewManager {...props} />;
|
|
24
|
+
};
|