Browse Source

remove unused files

matrixbirds 5 years ago
parent
commit
a16a1c28d4

+ 50
- 6
android/build.gradle View File

1
 apply plugin: 'com.android.library'
1
 apply plugin: 'com.android.library'
2
 
2
 
3
+buildscript {
4
+    repositories {
5
+        google()
6
+        jcenter()
7
+    }
8
+    dependencies {
9
+        classpath 'com.android.tools.build:gradle:3.1.2'
10
+    }
11
+}
12
+
13
+def DEFAULT_COMPILE_SDK_VERSION = 27
14
+def DEFAULT_BUILD_TOOLS_VERSION = "27.0.3"
15
+def DEFAULT_TARGET_SDK_VERSION = 27
16
+def DEFAULT_ANDROID_SUPPORT_VERSION = "27.1.0"
17
+
3
 android {
18
 android {
4
-    compileSdkVersion 23
5
-    buildToolsVersion "23.0.1"
19
+    compileSdkVersion rootProject.hasProperty('compileSdkVersion') ? rootProject.compileSdkVersion : DEFAULT_COMPILE_SDK_VERSION
20
+    buildToolsVersion rootProject.hasProperty('buildToolsVersion') ? rootProject.buildToolsVersion : DEFAULT_BUILD_TOOLS_VERSION
6
 
21
 
7
     defaultConfig {
22
     defaultConfig {
8
         minSdkVersion 16
23
         minSdkVersion 16
9
-        targetSdkVersion 22
24
+        targetSdkVersion rootProject.hasProperty('targetSdkVersion') ? rootProject.targetSdkVersion : DEFAULT_TARGET_SDK_VERSION
10
         versionCode 1
25
         versionCode 1
11
         versionName "1.0"
26
         versionName "1.0"
12
 
27
 
19
             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
34
             proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
20
         }
35
         }
21
     }
36
     }
37
+
38
+    splits {
39
+        abi {
40
+            enable true
41
+
42
+            reset()
43
+
44
+            include "armeabi-v7a", "arm64-v8a", "x86", "x86_64"
45
+            // Specify that we do not want an additional universal SDK
46
+            universalApk false
47
+        }
48
+    }
22
 }
49
 }
23
 
50
 
24
 dependencies {
51
 dependencies {
25
-    implementation "com.facebook.react:react-native:+"
52
+    def androidSupportVersion = rootProject.hasProperty("androidSupportVersion")  ? rootProject.androidSupportVersion : DEFAULT_ANDROID_SUPPORT_VERSION
53
+    // from internet
26
     implementation fileTree(dir: 'libs', include: ['*.jar'])
54
     implementation fileTree(dir: 'libs', include: ['*.jar'])
55
+    implementation "com.android.support:appcompat-v7:$androidSupportVersion"
56
+    implementation "io.agora.rtc:full-sdk:2.3.3"
57
+    // from node_modules
58
+    implementation "com.facebook.react:react-native:+"
59
+    implementation 'com.google.code.gson:gson:2.8.5'
27
 }
60
 }
61
+//
62
+//configurations.all {
63
+//    exclude group: 'com.facebook.react', module: 'react-native'
64
+//}
28
 
65
 
29
-configurations.all {
30
-    exclude group: 'com.facebook.react', module: 'react-native'
66
+repositories {
67
+    mavenCentral()
68
+    mavenLocal()
69
+    maven {
70
+        url "file:///Users/ly/GithubPremium/react-native-agora/node_modules/react-native"
71
+    }
72
+    jcenter()
73
+    google()
31
 }
74
 }
75
+

BIN
android/gradle/wrapper/gradle-wrapper.jar View File


+ 5
- 0
android/gradle/wrapper/gradle-wrapper.properties View File

1
+distributionBase=GRADLE_USER_HOME
2
+distributionPath=wrapper/dists
3
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.zip
4
+zipStoreBase=GRADLE_USER_HOME
5
+zipStorePath=wrapper/dists

+ 172
- 0
android/gradlew View File

1
+#!/usr/bin/env sh
2
+
3
+##############################################################################
4
+##
5
+##  Gradle start up script for UN*X
6
+##
7
+##############################################################################
8
+
9
+# Attempt to set APP_HOME
10
+# Resolve links: $0 may be a link
11
+PRG="$0"
12
+# Need this for relative symlinks.
13
+while [ -h "$PRG" ] ; do
14
+    ls=`ls -ld "$PRG"`
15
+    link=`expr "$ls" : '.*-> \(.*\)$'`
16
+    if expr "$link" : '/.*' > /dev/null; then
17
+        PRG="$link"
18
+    else
19
+        PRG=`dirname "$PRG"`"/$link"
20
+    fi
21
+done
22
+SAVED="`pwd`"
23
+cd "`dirname \"$PRG\"`/" >/dev/null
24
+APP_HOME="`pwd -P`"
25
+cd "$SAVED" >/dev/null
26
+
27
+APP_NAME="Gradle"
28
+APP_BASE_NAME=`basename "$0"`
29
+
30
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
31
+DEFAULT_JVM_OPTS=""
32
+
33
+# Use the maximum available, or set MAX_FD != -1 to use that value.
34
+MAX_FD="maximum"
35
+
36
+warn () {
37
+    echo "$*"
38
+}
39
+
40
+die () {
41
+    echo
42
+    echo "$*"
43
+    echo
44
+    exit 1
45
+}
46
+
47
+# OS specific support (must be 'true' or 'false').
48
+cygwin=false
49
+msys=false
50
+darwin=false
51
+nonstop=false
52
+case "`uname`" in
53
+  CYGWIN* )
54
+    cygwin=true
55
+    ;;
56
+  Darwin* )
57
+    darwin=true
58
+    ;;
59
+  MINGW* )
60
+    msys=true
61
+    ;;
62
+  NONSTOP* )
63
+    nonstop=true
64
+    ;;
65
+esac
66
+
67
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
68
+
69
+# Determine the Java command to use to start the JVM.
70
+if [ -n "$JAVA_HOME" ] ; then
71
+    if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
72
+        # IBM's JDK on AIX uses strange locations for the executables
73
+        JAVACMD="$JAVA_HOME/jre/sh/java"
74
+    else
75
+        JAVACMD="$JAVA_HOME/bin/java"
76
+    fi
77
+    if [ ! -x "$JAVACMD" ] ; then
78
+        die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
79
+
80
+Please set the JAVA_HOME variable in your environment to match the
81
+location of your Java installation."
82
+    fi
83
+else
84
+    JAVACMD="java"
85
+    which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
86
+
87
+Please set the JAVA_HOME variable in your environment to match the
88
+location of your Java installation."
89
+fi
90
+
91
+# Increase the maximum file descriptors if we can.
92
+if [ "$cygwin" = "false" -a "$darwin" = "false" -a "$nonstop" = "false" ] ; then
93
+    MAX_FD_LIMIT=`ulimit -H -n`
94
+    if [ $? -eq 0 ] ; then
95
+        if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
96
+            MAX_FD="$MAX_FD_LIMIT"
97
+        fi
98
+        ulimit -n $MAX_FD
99
+        if [ $? -ne 0 ] ; then
100
+            warn "Could not set maximum file descriptor limit: $MAX_FD"
101
+        fi
102
+    else
103
+        warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
104
+    fi
105
+fi
106
+
107
+# For Darwin, add options to specify how the application appears in the dock
108
+if $darwin; then
109
+    GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
110
+fi
111
+
112
+# For Cygwin, switch paths to Windows format before running java
113
+if $cygwin ; then
114
+    APP_HOME=`cygpath --path --mixed "$APP_HOME"`
115
+    CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
116
+    JAVACMD=`cygpath --unix "$JAVACMD"`
117
+
118
+    # We build the pattern for arguments to be converted via cygpath
119
+    ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
120
+    SEP=""
121
+    for dir in $ROOTDIRSRAW ; do
122
+        ROOTDIRS="$ROOTDIRS$SEP$dir"
123
+        SEP="|"
124
+    done
125
+    OURCYGPATTERN="(^($ROOTDIRS))"
126
+    # Add a user-defined pattern to the cygpath arguments
127
+    if [ "$GRADLE_CYGPATTERN" != "" ] ; then
128
+        OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
129
+    fi
130
+    # Now convert the arguments - kludge to limit ourselves to /bin/sh
131
+    i=0
132
+    for arg in "$@" ; do
133
+        CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
134
+        CHECK2=`echo "$arg"|egrep -c "^-"`                                 ### Determine if an option
135
+
136
+        if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then                    ### Added a condition
137
+            eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
138
+        else
139
+            eval `echo args$i`="\"$arg\""
140
+        fi
141
+        i=$((i+1))
142
+    done
143
+    case $i in
144
+        (0) set -- ;;
145
+        (1) set -- "$args0" ;;
146
+        (2) set -- "$args0" "$args1" ;;
147
+        (3) set -- "$args0" "$args1" "$args2" ;;
148
+        (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
149
+        (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
150
+        (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
151
+        (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
152
+        (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
153
+        (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
154
+    esac
155
+fi
156
+
157
+# Escape application args
158
+save () {
159
+    for i do printf %s\\n "$i" | sed "s/'/'\\\\''/g;1s/^/'/;\$s/\$/' \\\\/" ; done
160
+    echo " "
161
+}
162
+APP_ARGS=$(save "$@")
163
+
164
+# Collect all arguments for the java command, following the shell quoting and substitution rules
165
+eval set -- $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS "\"-Dorg.gradle.appname=$APP_BASE_NAME\"" -classpath "\"$CLASSPATH\"" org.gradle.wrapper.GradleWrapperMain "$APP_ARGS"
166
+
167
+# by default we should be in the correct project dir, but when run from Finder on Mac, the cwd is wrong
168
+if [ "$(uname)" = "Darwin" ] && [ "$HOME" = "$PWD" ]; then
169
+  cd "$(dirname "$0")"
170
+fi
171
+
172
+exec "$JAVACMD" "$@"

+ 84
- 0
android/gradlew.bat View File

1
+@if "%DEBUG%" == "" @echo off
2
+@rem ##########################################################################
3
+@rem
4
+@rem  Gradle startup script for Windows
5
+@rem
6
+@rem ##########################################################################
7
+
8
+@rem Set local scope for the variables with windows NT shell
9
+if "%OS%"=="Windows_NT" setlocal
10
+
11
+set DIRNAME=%~dp0
12
+if "%DIRNAME%" == "" set DIRNAME=.
13
+set APP_BASE_NAME=%~n0
14
+set APP_HOME=%DIRNAME%
15
+
16
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
17
+set DEFAULT_JVM_OPTS=
18
+
19
+@rem Find java.exe
20
+if defined JAVA_HOME goto findJavaFromJavaHome
21
+
22
+set JAVA_EXE=java.exe
23
+%JAVA_EXE% -version >NUL 2>&1
24
+if "%ERRORLEVEL%" == "0" goto init
25
+
26
+echo.
27
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
28
+echo.
29
+echo Please set the JAVA_HOME variable in your environment to match the
30
+echo location of your Java installation.
31
+
32
+goto fail
33
+
34
+:findJavaFromJavaHome
35
+set JAVA_HOME=%JAVA_HOME:"=%
36
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
37
+
38
+if exist "%JAVA_EXE%" goto init
39
+
40
+echo.
41
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
42
+echo.
43
+echo Please set the JAVA_HOME variable in your environment to match the
44
+echo location of your Java installation.
45
+
46
+goto fail
47
+
48
+:init
49
+@rem Get command-line arguments, handling Windows variants
50
+
51
+if not "%OS%" == "Windows_NT" goto win9xME_args
52
+
53
+:win9xME_args
54
+@rem Slurp the command line arguments.
55
+set CMD_LINE_ARGS=
56
+set _SKIP=2
57
+
58
+:win9xME_args_slurp
59
+if "x%~1" == "x" goto execute
60
+
61
+set CMD_LINE_ARGS=%*
62
+
63
+:execute
64
+@rem Setup the command line
65
+
66
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
67
+
68
+@rem Execute Gradle
69
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
70
+
71
+:end
72
+@rem End local scope for the variables with windows NT shell
73
+if "%ERRORLEVEL%"=="0" goto mainEnd
74
+
75
+:fail
76
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
77
+rem the _cmd.exe /c_ return code!
78
+if  not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
79
+exit /b 1
80
+
81
+:mainEnd
82
+if "%OS%"=="Windows_NT" endlocal
83
+
84
+:omega

BIN
android/libs/agora-rtc-sdk.jar View File


BIN
ios/RCTAgora.xcodeproj/project.xcworkspace/xcuserdata/ly.xcuserdatad/UserInterfaceState.xcuserstate View File


+ 81
- 24
ios/RCTAgora/RCTAgora.m View File

316
   [self.rtcEngine setDefaultAudioRouteToSpeakerphone:defaultToSpeaker];
316
   [self.rtcEngine setDefaultAudioRouteToSpeakerphone:defaultToSpeaker];
317
 }
317
 }
318
 
318
 
319
+RCT_EXPORT_METHOD(setDefaultMuteAllRemoteAudioStreams:(BOOL)defaultToSpeaker){
320
+  [self.rtcEngine setDefaultMuteAllRemoteAudioStreams:defaultToSpeaker];
321
+}
322
+
319
 // enable video
323
 // enable video
320
 RCT_EXPORT_METHOD(enableVideo) {
324
 RCT_EXPORT_METHOD(enableVideo) {
321
   [self.rtcEngine enableVideo];
325
   [self.rtcEngine enableVideo];
346
   [self.rtcEngine muteRemoteVideoStream:uid mute:mute];
350
   [self.rtcEngine muteRemoteVideoStream:uid mute:mute];
347
 }
351
 }
348
 
352
 
353
+RCT_EXPORT_METHOD(setDefaultMuteAllRemoteVideoStreams:(BOOL)mute) {
354
+  [self.rtcEngine setDefaultMuteAllRemoteVideoStreams:mute];
355
+}
356
+
349
 // enable audio
357
 // enable audio
350
 RCT_EXPORT_METHOD(enableAudio) {
358
 RCT_EXPORT_METHOD(enableAudio) {
351
   [self.rtcEngine enableAudio];
359
   [self.rtcEngine enableAudio];
376
   [self.rtcEngine muteRemoteAudioStream:uid mute:mute];
384
   [self.rtcEngine muteRemoteAudioStream:uid mute:mute];
377
 }
385
 }
378
 
386
 
379
-// start recoding service
380
-RCT_EXPORT_METHOD(startAudioRecording:(NSDictionary*)options){
381
-  [self.rtcEngine startAudioRecording:options[@"path"] quality:(AgoraAudioRecordingQuality)[options[@"quality"] integerValue]];
382
-}
383
-
384
-// stop recoding service
385
-RCT_EXPORT_METHOD(stopAudioRecording:(NSString*)recordingKey){
386
-  [self.rtcEngine stopAudioRecording];
387
-}
387
+//// start recoding service
388
+//RCT_EXPORT_METHOD(startAudioRecording:(NSDictionary*)options){
389
+//  [self.rtcEngine startAudioRecording:options[@"path"] quality:(AgoraAudioRecordingQuality)[options[@"quality"] integerValue]];
390
+//}
391
+//
392
+//// stop recoding service
393
+//RCT_EXPORT_METHOD(stopAudioRecording:(NSString*)recordingKey){
394
+//  [self.rtcEngine stopAudioRecording];
395
+//}
388
 
396
 
389
 // adjust recorcding signal volume
397
 // adjust recorcding signal volume
390
 RCT_EXPORT_METHOD(adjustRecordingSignalVolume: (NSInteger) volume){
398
 RCT_EXPORT_METHOD(adjustRecordingSignalVolume: (NSInteger) volume){
435
 }
443
 }
436
 
444
 
437
 // set local video equalization of band frequency
445
 // set local video equalization of band frequency
438
-RCT_EXPORT_METHOD(setLocalVoiceEqualizationOfBandFrequency:(NSInteger)band gain:(NSInteger)gain) {
446
+RCT_EXPORT_METHOD(setLocalVoiceEqualization:(NSInteger)band gain:(NSInteger)gain) {
439
   AgoraAudioEqualizationBandFrequency bandType = AgoraAudioEqualizationBand31;
447
   AgoraAudioEqualizationBandFrequency bandType = AgoraAudioEqualizationBand31;
440
   switch (band) {
448
   switch (band) {
441
     case AgoraAudioEqualizationBand31:
449
     case AgoraAudioEqualizationBand31:
473
 }
481
 }
474
 
482
 
475
 // set local voice reverb of type
483
 // set local voice reverb of type
476
-RCT_EXPORT_METHOD(setLocalVoiceReverbOfType:(NSInteger)reverb value:(NSInteger)value) {
484
+RCT_EXPORT_METHOD(setLocalVoiceReverb:(NSInteger)reverb value:(NSInteger)value) {
477
   AgoraAudioReverbType reverbType = AgoraAudioReverbDryLevel;
485
   AgoraAudioReverbType reverbType = AgoraAudioReverbDryLevel;
478
   switch (reverb) {
486
   switch (reverb) {
479
     case AgoraAudioReverbDryLevel:
487
     case AgoraAudioReverbDryLevel:
525
 
533
 
526
 // adjust audio mixing playout volume
534
 // adjust audio mixing playout volume
527
 RCT_EXPORT_METHOD(adjustAudioMixingPlayoutVolume:(NSInteger) volume) {
535
 RCT_EXPORT_METHOD(adjustAudioMixingPlayoutVolume:(NSInteger) volume) {
528
-  [self.rtcEngine adjustAudioMixingVolume:volume];
536
+  [self.rtcEngine adjustAudioMixingPlayoutVolume:volume];
529
 }
537
 }
530
 
538
 
531
 // adjust audio mixing publish volume
539
 // adjust audio mixing publish volume
783
                   :(NSInteger) soundId
791
                   :(NSInteger) soundId
784
                   resolve:(RCTPromiseResolveBlock)resolve
792
                   resolve:(RCTPromiseResolveBlock)resolve
785
                   reject:(RCTPromiseRejectBlock)reject) {
793
                   reject:(RCTPromiseRejectBlock)reject) {
786
-  NSInteger res = [self.rtcEngine unloadEffect:(int)soundId];
794
+  NSInteger res = [self.rtcEngine pauseEffect:(int)soundId];
787
   if (res != 0) {
795
   if (res != 0) {
788
     reject(@"131014", @"pauseEffect failed", [self makeNSError:@{
796
     reject(@"131014", @"pauseEffect failed", [self makeNSError:@{
789
                                                                  @"code": @(131014),
797
                                                                  @"code": @(131014),
801
 }
809
 }
802
 
810
 
803
 // pause all effects
811
 // pause all effects
804
-RCT_EXPORT_METHOD(pauseAllEffects:(NSInteger) soundId
805
-                  resolve:(RCTPromiseResolveBlock)resolve
812
+RCT_EXPORT_METHOD(pauseAllEffects
813
+                  :(RCTPromiseResolveBlock)resolve
806
                   reject:(RCTPromiseRejectBlock)reject) {
814
                   reject:(RCTPromiseRejectBlock)reject) {
807
-  NSInteger res = [self.rtcEngine unloadEffect:(int)soundId];
815
+  NSInteger res = [self.rtcEngine pauseAllEffects];
808
   if (res != 0) {
816
   if (res != 0) {
809
     reject(@"131014", @"pauseAllEffects failed", [self makeNSError:@{
817
     reject(@"131014", @"pauseAllEffects failed", [self makeNSError:@{
810
                                                                      @"code": @(131014),
818
                                                                      @"code": @(131014),
943
 
951
 
944
 // gateway test start echo
952
 // gateway test start echo
945
 RCT_EXPORT_METHOD(startEchoTest
953
 RCT_EXPORT_METHOD(startEchoTest
946
-                  :(RCTResponseSenderBlock)sender
947
-                  resolve:(RCTPromiseResolveBlock)resolve
954
+                  :(RCTPromiseResolveBlock)resolve
948
                   reject:(RCTPromiseRejectBlock)reject) {
955
                   reject:(RCTPromiseRejectBlock)reject) {
949
   NSInteger res = [self.rtcEngine startEchoTest:^(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed) {
956
   NSInteger res = [self.rtcEngine startEchoTest:^(NSString * _Nonnull channel, NSUInteger uid, NSInteger elapsed) {
950
     sender(@{
957
     sender(@{
1152
   }
1159
   }
1153
 }
1160
 }
1154
 
1161
 
1162
+// set local publish fallback option
1163
+RCT_EXPORT_METHOD(setLocalPublishFallbackOption:(NSInteger)option
1164
+                  resolve:(RCTPromiseResolveBlock)resolve
1165
+                  reject:(RCTPromiseRejectBlock)reject) {
1166
+  NSInteger res = [self.rtcEngine setLocalPublishFallbackOption:option];
1167
+  if (res != 0) {
1168
+    reject(@"131039", @"setLocalPublishFallbackOption failed", [self makeNSError:@{
1169
+                                                                          @"code": @(131039),
1170
+                                                                          @"message":@{
1171
+                                                                              @"success":@(NO),
1172
+                                                                              @"value":@(res)
1173
+                                                                              }
1174
+                                                                          }]);
1175
+  } else {
1176
+    resolve(@{
1177
+              @"success": @(YES),
1178
+              @"value": @(res)
1179
+              });
1180
+  }
1181
+}
1182
+
1183
+// set remote subscribe fallback option
1184
+RCT_EXPORT_METHOD(setRemoteSubscribeFallbackOption:(NSInteger)option
1185
+                  resolve:(RCTPromiseResolveBlock)resolve
1186
+                  reject:(RCTPromiseRejectBlock)reject) {
1187
+  NSInteger res = [self.rtcEngine setRemoteSubscribeFallbackOption:option];
1188
+  if (res != 0) {
1189
+    reject(@"131040", @"setRemoteSubscribeFallbackOption failed", [self makeNSError:@{
1190
+                                                                                   @"code": @(131040),
1191
+                                                                                   @"message":@{
1192
+                                                                                       @"success":@(NO),
1193
+                                                                                       @"value":@(res)
1194
+                                                                                       }
1195
+                                                                                   }]);
1196
+  } else {
1197
+    resolve(@{
1198
+              @"success": @(YES),
1199
+              @"value": @(res)
1200
+              });
1201
+  }
1202
+}
1203
+
1204
+
1155
 // enable dual stream mode
1205
 // enable dual stream mode
1156
 RCT_EXPORT_METHOD(enableDualStreamMode
1206
 RCT_EXPORT_METHOD(enableDualStreamMode
1157
                   :(BOOL) enabled
1207
                   :(BOOL) enabled
1175
 }
1225
 }
1176
 
1226
 
1177
 // set remote video stream
1227
 // set remote video stream
1178
-RCT_EXPORT_METHOD(setRemoteVideoStream
1228
+RCT_EXPORT_METHOD(setRemoteVideoStreamType
1179
                   :(NSDictionary *) options
1229
                   :(NSDictionary *) options
1180
                   resolve:(RCTPromiseResolveBlock)resolve
1230
                   resolve:(RCTPromiseResolveBlock)resolve
1181
                   reject:(RCTPromiseRejectBlock)reject) {
1231
                   reject:(RCTPromiseRejectBlock)reject) {
1182
   NSInteger res = [self.rtcEngine setRemoteVideoStream:[options[@"uid"] integerValue]
1232
   NSInteger res = [self.rtcEngine setRemoteVideoStream:[options[@"uid"] integerValue]
1183
                                                   type:(AgoraVideoStreamType)[options[@"streamType"] integerValue]];
1233
                                                   type:(AgoraVideoStreamType)[options[@"streamType"] integerValue]];
1184
   if (res != 0) {
1234
   if (res != 0) {
1185
-    reject(@"131029", @"setRemoteVideoStream failed", [self makeNSError:@{
1235
+    reject(@"131029", @"setRemoteVideoStreamType failed", [self makeNSError:@{
1186
                                                                           @"code": @(131029),
1236
                                                                           @"code": @(131029),
1187
                                                                           @"message":@{
1237
                                                                           @"message":@{
1188
                                                                               @"success":@(NO),
1238
                                                                               @"success":@(NO),
1294
 }
1344
 }
1295
 
1345
 
1296
 // set local video mirror mode
1346
 // set local video mirror mode
1297
-RCT_EXPORT_METHOD(setLocalVideoMirroMode
1347
+RCT_EXPORT_METHOD(setLocalVideoMirrorMode
1298
                   :(NSInteger) mode
1348
                   :(NSInteger) mode
1299
                   resolve:(RCTPromiseResolveBlock)resolve
1349
                   resolve:(RCTPromiseResolveBlock)resolve
1300
                   reject:(RCTPromiseRejectBlock)reject) {
1350
                   reject:(RCTPromiseRejectBlock)reject) {
1354
             });
1404
             });
1355
 }
1405
 }
1356
 
1406
 
1357
-// isCameraFocusPositionInPreviewSupported
1358
-RCT_EXPORT_METHOD(isCameraFocusPositionInPreviewSupported
1407
+// isCameraFocusSupported
1408
+RCT_EXPORT_METHOD(isCameraFocusSupported
1359
                   :(RCTPromiseResolveBlock)resolve) {
1409
                   :(RCTPromiseResolveBlock)resolve) {
1360
   BOOL res = [self.rtcEngine isCameraFocusPositionInPreviewSupported];
1410
   BOOL res = [self.rtcEngine isCameraFocusPositionInPreviewSupported];
1361
   resolve(@{
1411
   resolve(@{
1440
 }
1490
 }
1441
 
1491
 
1442
 // getCallId
1492
 // getCallId
1443
-RCT_EXPORT_METHOD(getCallId:(RCTPromiseResolveBlock)resolve) {
1493
+RCT_EXPORT_METHOD(getCallId
1494
+                  :(RCTPromiseResolveBlock)resolve)
1495
+                  reject:(RCTPromiseRejectBlock)reject) {
1444
   resolve(@{
1496
   resolve(@{
1445
             @"success": @(YES),
1497
             @"success": @(YES),
1446
             @"value": [self.rtcEngine getCallId]
1498
             @"value": [self.rtcEngine getCallId]
1540
   [self.rtcEngine setLiveTranscoding:AgoraLiveTranscoding.defaultTranscoding];
1592
   [self.rtcEngine setLiveTranscoding:AgoraLiveTranscoding.defaultTranscoding];
1541
 }
1593
 }
1542
 
1594
 
1595
+// remove publish stream url
1596
+RCT_EXPORT_METHOD(removePublishStreamUrl:(NSDictionary *)options) {
1597
+  [self.rtcEngine removePublishStreamUrl:options[@"url"]];
1598
+}
1599
+
1543
 // set living transcoding
1600
 // set living transcoding
1544
 RCT_EXPORT_METHOD(setLiveTranscoding:(NSDictionary *)options) {
1601
 RCT_EXPORT_METHOD(setLiveTranscoding:(NSDictionary *)options) {
1545
   AgoraLiveTranscoding *transcoding = AgoraLiveTranscoding.defaultTranscoding;
1602
   AgoraLiveTranscoding *transcoding = AgoraLiveTranscoding.defaultTranscoding;