|
@@ -922,7 +922,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
} else if (Constant.CALL_STATE == Constant.CALL_INCOMING && addr.equals(curDeviceUart, true)) {
|
|
} else if (Constant.CALL_STATE == Constant.CALL_INCOMING && addr.equals(curDeviceUart, true)) {
|
|
//分机接听
|
|
//分机接听
|
|
RingPlayHelper.stopRingTone()
|
|
RingPlayHelper.stopRingTone()
|
|
- showCallFragment()
|
|
|
|
|
|
+ showCallFragment(1)
|
|
VoiceUtil.acceptAudioCall(tid, curDeviceId, fromId, curInteractionVO!!.id)
|
|
VoiceUtil.acceptAudioCall(tid, curDeviceId, fromId, curInteractionVO!!.id)
|
|
} else {
|
|
} else {
|
|
//分机呼叫
|
|
//分机呼叫
|
|
@@ -1514,7 +1514,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
Constant.CALL_STATE = Constant.CALL_INCOMING
|
|
Constant.CALL_STATE = Constant.CALL_INCOMING
|
|
if (Constant.autoAnswer) {
|
|
if (Constant.autoAnswer) {
|
|
//自动接听
|
|
//自动接听
|
|
- showCallFragment()
|
|
|
|
|
|
+ showCallFragment(1)
|
|
VoiceUtil.acceptAudioCall(tid, tcpModel.toId, fromId, interactionVO?.id)
|
|
VoiceUtil.acceptAudioCall(tid, tcpModel.toId, fromId, interactionVO?.id)
|
|
} else {
|
|
} else {
|
|
//响铃并手动接听
|
|
//响铃并手动接听
|
|
@@ -1530,7 +1530,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
curInteractionVO = interactionVO
|
|
curInteractionVO = interactionVO
|
|
curDeviceId = interactionVO.fromDeviceId
|
|
curDeviceId = interactionVO.fromDeviceId
|
|
targetSip = interactionVO.toSipId
|
|
targetSip = interactionVO.toSipId
|
|
- showCallFragment()
|
|
|
|
|
|
+ showCallFragment(0)
|
|
|
|
|
|
//从呼叫列表移除
|
|
//从呼叫列表移除
|
|
//outCallList.remove(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
//outCallList.remove(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
@@ -1540,16 +1540,6 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
if (!TextUtils.isEmpty(doorAddr)) {
|
|
if (!TextUtils.isEmpty(doorAddr)) {
|
|
SerialPortHelper.closeDoorLight(doorAddr)
|
|
SerialPortHelper.closeDoorLight(doorAddr)
|
|
}
|
|
}
|
|
-
|
|
|
|
- if (SettingConfig.getSipEnabled(activity)) {
|
|
|
|
- if (TextUtils.isEmpty(targetSip)) {
|
|
|
|
- //通话失败,重置并返回主界面
|
|
|
|
- showMessage("targetSipId为空!")
|
|
|
|
- handoffCall()
|
|
|
|
- } else {
|
|
|
|
- linphoneManager?.startCall(targetSip, false)
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
} else if (tcpModel.getAction() == TcpAction.VoiceAction.SUCCESS) {
|
|
} else if (tcpModel.getAction() == TcpAction.VoiceAction.SUCCESS) {
|
|
//呼叫成功
|
|
//呼叫成功
|
|
val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
|
|
val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
|
|
@@ -1727,7 +1717,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
//outCallList.remove(ethMac.toUpperCase(Locale.ROOT))
|
|
//outCallList.remove(ethMac.toUpperCase(Locale.ROOT))
|
|
}
|
|
}
|
|
RingPlayHelper.stopRingTone()
|
|
RingPlayHelper.stopRingTone()
|
|
- showCallFragment()
|
|
|
|
|
|
+ showCallFragment(1)
|
|
VoiceUtil.acceptAudioCall(tid, curDeviceId, fromId, curInteractionVO!!.id)
|
|
VoiceUtil.acceptAudioCall(tid, curDeviceId, fromId, curInteractionVO!!.id)
|
|
} else if (tcpModel.action == TcpAction.VoiceAction.RS485HANDOFF) {
|
|
} else if (tcpModel.action == TcpAction.VoiceAction.RS485HANDOFF) {
|
|
/*EventBus.getDefault().post(MessageEvent("handoff", Constant.EVENT_END_CALL))
|
|
/*EventBus.getDefault().post(MessageEvent("handoff", Constant.EVENT_END_CALL))
|
|
@@ -1981,21 +1971,21 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
Constant.CALL_STATE = Constant.CALL_STANDBY
|
|
Constant.CALL_STATE = Constant.CALL_STANDBY
|
|
}
|
|
}
|
|
|
|
|
|
- private fun showCallFragment() {
|
|
|
|
|
|
+ private fun showCallFragment(callState: Int) {
|
|
//模拟分机呼叫特殊性,所有呼叫都是通过转换盒,但是转换盒只有一台,同一时间只能建立一个呼叫,为保证其他分机也能呼叫(不是通话),
|
|
//模拟分机呼叫特殊性,所有呼叫都是通过转换盒,但是转换盒只有一台,同一时间只能建立一个呼叫,为保证其他分机也能呼叫(不是通话),
|
|
//所有模拟分机的通话都由对方来创建room,然后转换盒加入room来通话,所以房间id都是对方的,转换盒是被动加入通话
|
|
//所有模拟分机的通话都由对方来创建room,然后转换盒加入room来通话,所以房间id都是对方的,转换盒是被动加入通话
|
|
if (callFragment == null) {
|
|
if (callFragment == null) {
|
|
if (SettingConfig.getSipEnabled(activity)) {
|
|
if (SettingConfig.getSipEnabled(activity)) {
|
|
- var fragment = SipCallFragment()
|
|
|
|
- var bundle = Bundle()
|
|
|
|
- bundle.putInt("call_state", 1)
|
|
|
|
|
|
+ val fragment = SipCallFragment()
|
|
|
|
+ val bundle = Bundle()
|
|
|
|
+ bundle.putInt("call_state", callState)
|
|
bundle.putBoolean("audio_only", true)
|
|
bundle.putBoolean("audio_only", true)
|
|
- bundle.putString("tcp_tid", tid)
|
|
|
|
|
|
+ bundle.putString("targetSip", targetSip)
|
|
fragment.arguments = bundle
|
|
fragment.arguments = bundle
|
|
addCallFragment(fragment)
|
|
addCallFragment(fragment)
|
|
} else {
|
|
} else {
|
|
- var fragment = CallFragment()
|
|
|
|
- var bundle = Bundle()
|
|
|
|
|
|
+ val fragment = CallFragment()
|
|
|
|
+ val bundle = Bundle()
|
|
bundle.putInt("call_state", 1)
|
|
bundle.putInt("call_state", 1)
|
|
bundle.putBoolean("audio_only", true)
|
|
bundle.putBoolean("audio_only", true)
|
|
bundle.putString("targetSip", targetSip)
|
|
bundle.putString("targetSip", targetSip)
|