weizhengliang 3 gadi atpakaļ
vecāks
revīzija
8b7e338696

+ 1 - 1
callingbed/src/main/java/com/wdkl/app/ncs/callingbed/activity/CallingbedActivity.kt

@@ -275,7 +275,7 @@ class CallingbedActivity :BaseActivity<CallingbedActivityPresenter, CallingbedMa
                     initDevice()
                 })
                 try {
-                    Thread.sleep(8000)
+                    Thread.sleep(15000)
                 } catch (e: Exception) {
                     //
                 }

+ 14 - 9
callingbed/src/main/java/com/wdkl/app/ncs/callingbed/fragment/SkyCallFragment.kt

@@ -601,16 +601,21 @@ class SkyCallFragment: BaseCallFragment(), CallSession.CallSessionCallback {
                 //分机呼叫主机时,主机打过来了
                 val tcpModel = messageEvent.message as TcpModel
                 if (tcpModel.getAction() == TcpAction.VoiceAction.CALL) {
-                    interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
-                    fromId = tcpModel.fromId
-                    Constant.fromId = tcpModel.fromId
-                    Constant.interactionId = interactionVO?.id
-                    Constant.CALL_STATE = Constant.CALL_CALLING
+                    val curInteractionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
+                    if (interactionVO != null && curInteractionVO.id == interactionVO?.id) {
+                        interactionVO = curInteractionVO
+                        fromId = tcpModel.fromId
+                        Constant.fromId = tcpModel.fromId
+                        Constant.interactionId = interactionVO?.id
+                        Constant.CALL_STATE = Constant.CALL_CALLING
 
-                    RingPlayHelper.stopRingTone()
-                    VoiceUtil.acceptAudioCall(Constant.DEVICE_ID, fromId, interactionVO?.id)
-                    acceptCall()
-                    checkCallSuccess()
+                        RingPlayHelper.stopRingTone()
+                        VoiceUtil.acceptAudioCall(Constant.DEVICE_ID, fromId, interactionVO?.id)
+                        acceptCall()
+                        checkCallSuccess()
+                    } else {
+                        VoiceUtil.inAudioCall(Constant.DEVICE_ID, tcpModel.fromId, curInteractionVO.id)
+                    }
                 }
             }
 

+ 5 - 0
middleware/src/main/code/com/wdkl/ncs/android/middleware/tcp/channel/VoiceUtil.java

@@ -118,4 +118,9 @@ public class VoiceUtil {
         TcpModel tcpModel = VoiceUtil.voiceReject(fromId, toId, interactionId);
         TcpClient.getInstance().sendMsg(tcpModel.toJson());
     }
+
+    public static void inAudioCall(Integer fromId, Integer toId, Integer interactionId) {
+        TcpModel tcpModel = VoiceUtil.voiceCalling(fromId, toId, interactionId);
+        TcpClient.getInstance().sendMsg(tcpModel.toJson());
+    }
 }