|
@@ -42,6 +42,7 @@ import com.wdkl.ncs.android.middleware.tcp.NettyClient;
|
|
|
import com.wdkl.ncs.android.middleware.tcp.channel.DeviceChannel;
|
|
|
import com.wdkl.ncs.android.middleware.tcp.channel.VoiceUtil;
|
|
|
import com.wdkl.ncs.android.middleware.tcp.dto.TcpModel;
|
|
|
+import com.wdkl.ncs.android.middleware.tcp.enums.DeviceTypeEnum;
|
|
|
import com.wdkl.ncs.android.middleware.tcp.enums.TcpAction;
|
|
|
import com.wdkl.ncs.android.middleware.tcp.enums.TcpType;
|
|
|
import com.wdkl.rtc.util.Constant;
|
|
@@ -79,6 +80,7 @@ public class CallSingleActivity extends AppCompatActivity {
|
|
|
JanusClient janusClient;
|
|
|
ILogUpload iLogUpload = new LogUpload();
|
|
|
VideoRoomCallback videoRoomCallback;
|
|
|
+ boolean isSimulateBed = false;
|
|
|
|
|
|
private SingleCallFragment currentFragment;
|
|
|
//振动
|
|
@@ -120,7 +122,12 @@ public class CallSingleActivity extends AppCompatActivity {
|
|
|
isAudioOnly = intent.getBooleanExtra(EXTRA_AUDIO_ONLY,true);
|
|
|
recTcpModel = (TcpModel) intent.getSerializableExtra(EXTRA_TCPMODEL);
|
|
|
showName = intent.getStringExtra(EXTRA_SHOWNAME);
|
|
|
- Log.d(TAG, recTcpModel.toJson());
|
|
|
+
|
|
|
+ if (recTcpModel !=null && recTcpModel.getData() != null) {
|
|
|
+ Log.d(TAG, recTcpModel.toJson());
|
|
|
+ InteractionVO interactionVO = new Gson().fromJson(recTcpModel.getData().toString(), InteractionVO.class);
|
|
|
+ isSimulateBed = (interactionVO.getFromDeviceType() == DeviceTypeEnum.SIMULATE_BED_DEVICE.value());
|
|
|
+ }
|
|
|
|
|
|
// 权限检测
|
|
|
String[] perms;
|
|
@@ -247,9 +254,16 @@ public class CallSingleActivity extends AppCompatActivity {
|
|
|
//MediaPlayHelper.getInstance().playResMusic(R.raw.outgoing_call, 0.8f, true);
|
|
|
//RingPlayHelper.playRingTone(this, R.raw.ring_back2, true);
|
|
|
janusClient.setCallState(EnumType.CallState.Outgoing);
|
|
|
- //janusClient.connect();
|
|
|
+ janusClient.connect();
|
|
|
} else {
|
|
|
- janusClient.setCallState(EnumType.CallState.Incoming);
|
|
|
+ //模拟分机呼叫由主机建立通话
|
|
|
+ if (isSimulateBed) {
|
|
|
+ janusClient.setCallState(EnumType.CallState.Outgoing);
|
|
|
+ janusClient.connect();
|
|
|
+ } else {
|
|
|
+ janusClient.setCallState(EnumType.CallState.Incoming);
|
|
|
+ }
|
|
|
+
|
|
|
//MediaPlayHelper.getInstance().playResMusic(R.raw.incoming_call, 1.0f, true);
|
|
|
//RingPlayHelper.playRingTone(this, R.raw.incoming_call, true);
|
|
|
/*long[] pattern = new long[]{100L, 2000L, 1000L, 2000L, 1000L, 2000L};
|
|
@@ -388,7 +402,13 @@ public class CallSingleActivity extends AppCompatActivity {
|
|
|
janusClient.destroyRoom(janusClient.getCurrentHandleId(), null);
|
|
|
}
|
|
|
} else {
|
|
|
- janusClient.leaveRoom();
|
|
|
+ if (isSimulateBed) {
|
|
|
+ if (janusClient.getCurrentHandleId()!=null) {
|
|
|
+ janusClient.destroyRoom(janusClient.getCurrentHandleId(), null);
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ janusClient.leaveRoom();
|
|
|
+ }
|
|
|
}
|
|
|
janusClient.disConnect();
|
|
|
}
|