修复测试反馈问题
This commit is contained in:
@@ -23,6 +23,7 @@ import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.Map;
|
||||
import java.util.Timer;
|
||||
import java.util.TimerTask;
|
||||
|
||||
@@ -49,7 +50,7 @@ public class CallClientManager {
|
||||
public static final String AUDIO_FLOAT = "audioFloatWindow";//浮窗
|
||||
private static CallClientManager manager;
|
||||
private SurfaceView localVideo, remoteVideo;
|
||||
private List<OnCallStatusListener> listeners;
|
||||
private Map<Class,OnCallStatusListener> listeners;
|
||||
private CallTimeTask timeTask = null;
|
||||
|
||||
public static CallClientManager getManager() {
|
||||
@@ -60,7 +61,7 @@ public class CallClientManager {
|
||||
}
|
||||
|
||||
private CallClientManager() {
|
||||
listeners = new ArrayList<>();
|
||||
listeners = new HashMap<>();
|
||||
init();
|
||||
}
|
||||
|
||||
@@ -83,19 +84,19 @@ public class CallClientManager {
|
||||
RongCallClient.setReceivedCallListener(new CallMeListener());
|
||||
}
|
||||
|
||||
public void addOnVoIPCallListener(OnCallStatusListener statusListener) {
|
||||
listeners.add(statusListener);
|
||||
public void addOnVoIPCallListener(Class zlass,OnCallStatusListener statusListener) {
|
||||
listeners.put(zlass,statusListener);
|
||||
RongCallClient.getInstance().setVoIPCallListener(new CallStatusListener(new OnCallStatusListener() {
|
||||
@Override
|
||||
public void onCallWait(SurfaceView localVideo) {
|
||||
for (OnCallStatusListener listener : listeners) {
|
||||
for (OnCallStatusListener listener : listeners.values()) {
|
||||
listener.onCallWait(localVideo);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCallStart(String userId, SurfaceView remoteVideo) {
|
||||
for (OnCallStatusListener listener : listeners) {
|
||||
for (OnCallStatusListener listener : listeners.values()) {
|
||||
listener.onCallStart(userId, remoteVideo);
|
||||
}
|
||||
startTimer(null);
|
||||
@@ -103,7 +104,7 @@ public class CallClientManager {
|
||||
|
||||
@Override
|
||||
public void onCallEnd() {
|
||||
for (OnCallStatusListener listener : listeners) {
|
||||
for (OnCallStatusListener listener : listeners.values()) {
|
||||
listener.onCallEnd();
|
||||
}
|
||||
endTimer();
|
||||
@@ -111,15 +112,15 @@ public class CallClientManager {
|
||||
|
||||
@Override
|
||||
public void onStartFirstFrame() {
|
||||
for (OnCallStatusListener listener : listeners) {
|
||||
for (OnCallStatusListener listener : listeners.values()) {
|
||||
listener.onStartFirstFrame();
|
||||
}
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
public void removeOnVoIPCallListener(OnCallStatusListener statusListener) {
|
||||
listeners.remove(statusListener);
|
||||
public void removeOnVoIPCallListener(Class zlass) {
|
||||
listeners.remove(zlass);
|
||||
}
|
||||
|
||||
public void checkMoney(String targetId, boolean video, OnSendMessageListener listener) {
|
||||
@@ -149,24 +150,22 @@ public class CallClientManager {
|
||||
RongCallClient.getInstance().setVoIPCallListener(new CallStatusListener(new OnCallStatusListener() {
|
||||
@Override
|
||||
public void onCallWait(SurfaceView localVideo) {
|
||||
for (OnCallStatusListener listener : listeners) {
|
||||
for (OnCallStatusListener listener : listeners.values()) {
|
||||
listener.onCallWait(localVideo);
|
||||
}
|
||||
ToastUtil.show(R.string.call_tips1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCallStart(String userId, SurfaceView remoteVideo) {
|
||||
for (OnCallStatusListener listener : listeners) {
|
||||
for (OnCallStatusListener listener : listeners.values()) {
|
||||
listener.onCallStart(userId, remoteVideo);
|
||||
}
|
||||
ToastUtil.show(R.string.call_tips2);
|
||||
startTimer(targetId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCallEnd() {
|
||||
for (OnCallStatusListener listener : listeners) {
|
||||
for (OnCallStatusListener listener : listeners.values()) {
|
||||
listener.onCallEnd();
|
||||
}
|
||||
endTimer();
|
||||
@@ -174,7 +173,7 @@ public class CallClientManager {
|
||||
|
||||
@Override
|
||||
public void onStartFirstFrame() {
|
||||
for (OnCallStatusListener listener : listeners) {
|
||||
for (OnCallStatusListener listener : listeners.values()) {
|
||||
listener.onStartFirstFrame();
|
||||
}
|
||||
}
|
||||
@@ -188,24 +187,22 @@ public class CallClientManager {
|
||||
RongCallClient.getInstance().setVoIPCallListener(new CallStatusListener(new OnCallStatusListener() {
|
||||
@Override
|
||||
public void onCallWait(SurfaceView localVideo) {
|
||||
for (OnCallStatusListener listener : listeners) {
|
||||
for (OnCallStatusListener listener : listeners.values()) {
|
||||
listener.onCallWait(localVideo);
|
||||
}
|
||||
ToastUtil.show(R.string.call_tips1);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCallStart(String userId, SurfaceView remoteVideo) {
|
||||
for (OnCallStatusListener listener : listeners) {
|
||||
for (OnCallStatusListener listener : listeners.values()) {
|
||||
listener.onCallStart(userId, remoteVideo);
|
||||
}
|
||||
ToastUtil.show(R.string.call_tips2);
|
||||
startTimer(targetId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCallEnd() {
|
||||
for (OnCallStatusListener listener : listeners) {
|
||||
for (OnCallStatusListener listener : listeners.values()) {
|
||||
listener.onCallEnd();
|
||||
}
|
||||
endTimer();
|
||||
@@ -213,7 +210,7 @@ public class CallClientManager {
|
||||
|
||||
@Override
|
||||
public void onStartFirstFrame() {
|
||||
for (OnCallStatusListener listener : listeners) {
|
||||
for (OnCallStatusListener listener : listeners.values()) {
|
||||
listener.onStartFirstFrame();
|
||||
}
|
||||
}
|
||||
@@ -245,6 +242,14 @@ public class CallClientManager {
|
||||
return activeTime == 0 ? 0 : (System.currentTimeMillis() - activeTime) / 1000;
|
||||
}
|
||||
|
||||
public String getSessionId() {
|
||||
RongCallSession callSession = RongCallClient.getInstance().getCallSession();
|
||||
if(callSession==null){
|
||||
return "";
|
||||
}
|
||||
return callSession.getCallerUserId();
|
||||
}
|
||||
|
||||
private class CallTimeTask extends TimerTask {
|
||||
Handler handler = new Handler(Looper.getMainLooper());
|
||||
|
||||
@@ -260,7 +265,7 @@ public class CallClientManager {
|
||||
|
||||
@Override
|
||||
public boolean cancel() {
|
||||
if(sessionId.equals(targetId)){
|
||||
if (sessionId.equals(targetId)) {
|
||||
System.err.println("接听方不计费 结束");
|
||||
return super.cancel();
|
||||
}
|
||||
@@ -287,7 +292,7 @@ public class CallClientManager {
|
||||
}
|
||||
isCallVideo = callSession.getMediaType() == RongCallCommon.CallMediaType.VIDEO;
|
||||
activeTime = callSession.getActiveTime();
|
||||
sessionId=callSession.getCallerUserId();
|
||||
sessionId = callSession.getCallerUserId();
|
||||
long time = getTime(activeTime);
|
||||
checkTime(time);
|
||||
String extra;
|
||||
@@ -304,7 +309,7 @@ public class CallClientManager {
|
||||
extra = String.format(Locale.ROOT, "%02d:%02d", (time % 3600) / 60, (time % 60));
|
||||
}
|
||||
handler.post(() -> {
|
||||
for (OnCallStatusListener listener : listeners) {
|
||||
for (OnCallStatusListener listener : listeners.values()) {
|
||||
listener.onTime(extra);
|
||||
if (warningTime <= 60) {
|
||||
listener.onTimeWarning(warningTime--);
|
||||
@@ -319,11 +324,11 @@ public class CallClientManager {
|
||||
if (StringUtil.isEmpty(targetId)) {
|
||||
return;
|
||||
}
|
||||
if(sessionId.equals(targetId)){
|
||||
if (sessionId.equals(targetId)) {
|
||||
System.err.println("接听方不计费");
|
||||
return;
|
||||
}
|
||||
if(time==0){
|
||||
if (time == 0) {
|
||||
return;
|
||||
}
|
||||
time = time % 10;
|
||||
@@ -350,7 +355,7 @@ public class CallClientManager {
|
||||
warningTime = bean.getMp3Time();
|
||||
}
|
||||
if (warningTime <= 60) {
|
||||
for (OnCallStatusListener listener : listeners) {
|
||||
for (OnCallStatusListener listener : listeners.values()) {
|
||||
listener.onTimeWarning(warningTime);
|
||||
}
|
||||
}
|
||||
@@ -360,7 +365,7 @@ public class CallClientManager {
|
||||
public void onError(int status, String msg) {
|
||||
super.onError(status, msg);
|
||||
if (status == OnSendMessageListener.STATUS_NOT_PRICE) {
|
||||
for (OnCallStatusListener listener : listeners) {
|
||||
for (OnCallStatusListener listener : listeners.values()) {
|
||||
listener.onErrorNotPrice(msg);
|
||||
}
|
||||
endCall();
|
||||
@@ -548,12 +553,12 @@ public class CallClientManager {
|
||||
* 如果对端调用{@link RongCallClient#startCall(int, boolean, Conversation.ConversationType, String, List, List, RongCallCommon.CallMediaType, String, StartCameraCallback)} 或
|
||||
* {@link RongCallClient#acceptCall(String, int, boolean, StartCameraCallback)}开始的音视频通话,则可以使用如下设置改变对端视频流的镜像显示:<br />
|
||||
* <pre class="prettyprint">
|
||||
* public void onRemoteUserJoined(String userId, RongCallCommon.CallMediaType mediaType, int userType, SurfaceView remoteVideo) {
|
||||
* if (null != remoteVideo) {
|
||||
* ((RongRTCVideoView) remoteVideo).setMirror( boolean);//观看对方视频流是否镜像处理
|
||||
* }
|
||||
* }
|
||||
* </pre>
|
||||
* public void onRemoteUserJoined(String userId, RongCallCommon.CallMediaType mediaType, int userType, SurfaceView remoteVideo) {
|
||||
* if (null != remoteVideo) {
|
||||
* ((RongRTCVideoView) remoteVideo).setMirror( boolean);//观看对方视频流是否镜像处理
|
||||
* }
|
||||
* }
|
||||
* </pre>
|
||||
*/
|
||||
@Override
|
||||
public void onRemoteUserJoined(String userId, RongCallCommon.CallMediaType mediaType, int userType, SurfaceView remoteVideo) {
|
||||
|
||||
Reference in New Issue
Block a user