|
@@ -914,7 +914,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
|
|
|
|
"B" -> {
|
|
"B" -> {
|
|
//分机挂断
|
|
//分机挂断
|
|
- outCallList.remove(addr.toUpperCase(Locale.ROOT))
|
|
|
|
|
|
+ //outCallList.remove(addr.toUpperCase(Locale.ROOT))
|
|
if (Constant.CALL_STATE == Constant.CALL_CALLING) {
|
|
if (Constant.CALL_STATE == Constant.CALL_CALLING) {
|
|
if (addr.equals(curDeviceUart, true)) {
|
|
if (addr.equals(curDeviceUart, true)) {
|
|
/*EventBus.getDefault().post(MessageEvent("handoff", Constant.EVENT_END_CALL))
|
|
/*EventBus.getDefault().post(MessageEvent("handoff", Constant.EVENT_END_CALL))
|
|
@@ -1052,6 +1052,18 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
return
|
|
return
|
|
}*/
|
|
}*/
|
|
|
|
|
|
|
|
+ //判断是否是一定时间内的重复呼叫
|
|
|
|
+ if (callingList.size > 0) {
|
|
|
|
+ for (callingItem in callingList) {
|
|
|
|
+ val time = System.currentTimeMillis()
|
|
|
|
+ Log.e(TAG, "tcp call $uart, ${callingItem.uart}, time: ${time - callingItem.time}")
|
|
|
|
+ if (uart.equals(callingItem.uart, true) && (time - callingItem.time < 6000)) {
|
|
|
|
+ //重复呼叫,直接返回
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
if (Constant.TCP_CONNECTED) {
|
|
if (Constant.TCP_CONNECTED) {
|
|
//通过串口地址查找到对应分机设备id
|
|
//通过串口地址查找到对应分机设备id
|
|
if (FrameHelper.frameDeviceList.size > 0 ) {
|
|
if (FrameHelper.frameDeviceList.size > 0 ) {
|
|
@@ -1350,7 +1362,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
Log.d("tcp", "cancel bed call: " + frameDevice.frame.fullName)
|
|
Log.d("tcp", "cancel bed call: " + frameDevice.frame.fullName)
|
|
bedMac = frameDevice.device.ethMac.toUpperCase(Locale.ROOT)
|
|
bedMac = frameDevice.device.ethMac.toUpperCase(Locale.ROOT)
|
|
SerialPortHelper.closeSoundChannel(bedMac)
|
|
SerialPortHelper.closeSoundChannel(bedMac)
|
|
- outCallList.remove(bedMac)
|
|
|
|
|
|
+ //outCallList.remove(bedMac)
|
|
}
|
|
}
|
|
|
|
|
|
//关闭门灯
|
|
//关闭门灯
|
|
@@ -1503,7 +1515,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
showCallFragment()
|
|
showCallFragment()
|
|
|
|
|
|
//从呼叫列表移除
|
|
//从呼叫列表移除
|
|
- outCallList.remove(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
|
|
|
|
+ //outCallList.remove(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
|
|
|
|
//关闭门灯
|
|
//关闭门灯
|
|
val doorAddr = getDoorLightAddr(curDeviceUart)
|
|
val doorAddr = getDoorLightAddr(curDeviceUart)
|
|
@@ -1511,18 +1523,20 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
SerialPortHelper.closeDoorLight(doorAddr)
|
|
SerialPortHelper.closeDoorLight(doorAddr)
|
|
}
|
|
}
|
|
|
|
|
|
- val sipCore = WdklSipService.getCore()
|
|
|
|
- if (sipCore == null || TextUtils.isEmpty(targetSip)) {
|
|
|
|
- //通话失败,重置并返回主界面
|
|
|
|
- showMessage("Core或targetSipId为空!")
|
|
|
|
- handoffCall()
|
|
|
|
- } else {
|
|
|
|
- val addressToCall = sipCore.interpretUrl(targetSip)
|
|
|
|
- val params = sipCore.createCallParams(null)
|
|
|
|
- params?.isVideoEnabled = false
|
|
|
|
- if (addressToCall != null) {
|
|
|
|
- sipCore.inviteAddressWithParams(addressToCall, params!!)
|
|
|
|
- Log.d(TAG, ">>>>>>>>>>> invite address: " + addressToCall.asString())
|
|
|
|
|
|
+ if (SettingConfig.getSipEnabled(activity)) {
|
|
|
|
+ val sipCore = WdklSipService.getCore()
|
|
|
|
+ if (sipCore == null || TextUtils.isEmpty(targetSip)) {
|
|
|
|
+ //通话失败,重置并返回主界面
|
|
|
|
+ showMessage("Core或targetSipId为空!")
|
|
|
|
+ handoffCall()
|
|
|
|
+ } else {
|
|
|
|
+ val addressToCall = sipCore.interpretUrl(targetSip)
|
|
|
|
+ val params = sipCore.createCallParams(null)
|
|
|
|
+ params?.isVideoEnabled = false
|
|
|
|
+ if (addressToCall != null) {
|
|
|
|
+ sipCore.inviteAddressWithParams(addressToCall, params!!)
|
|
|
|
+ Log.d(TAG, ">>>>>>>>>>> invite address: " + addressToCall.asString())
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else if (tcpModel.getAction() == TcpAction.VoiceAction.SUCCESS) {
|
|
} else if (tcpModel.getAction() == TcpAction.VoiceAction.SUCCESS) {
|
|
@@ -1539,7 +1553,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
}*/
|
|
}*/
|
|
|
|
|
|
//呼叫成功,添加到呼叫列表
|
|
//呼叫成功,添加到呼叫列表
|
|
- outCallList.add(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
|
|
|
|
+ //outCallList.add(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
|
|
|
|
/*if (callingList.size > 0) {
|
|
/*if (callingList.size > 0) {
|
|
for ((index, e) in callingList.withIndex()) {
|
|
for ((index, e) in callingList.withIndex()) {
|
|
@@ -1575,7 +1589,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
//我方呼出,对方拒绝
|
|
//我方呼出,对方拒绝
|
|
val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
|
|
val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
|
|
//从呼叫列表移除
|
|
//从呼叫列表移除
|
|
- outCallList.remove(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
|
|
|
|
+ //outCallList.remove(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
|
|
|
|
//if (curInteractionVO!!.id == interactionVO.id) {
|
|
//if (curInteractionVO!!.id == interactionVO.id) {
|
|
Constant.CALL_STATE = Constant.CALL_STANDBY
|
|
Constant.CALL_STATE = Constant.CALL_STANDBY
|
|
@@ -1597,7 +1611,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
//}
|
|
//}
|
|
|
|
|
|
//从呼叫列表移除
|
|
//从呼叫列表移除
|
|
- outCallList.remove(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
|
|
|
|
+ //outCallList.remove(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
|
|
|
|
showMessage(R.string.call_busy)
|
|
showMessage(R.string.call_busy)
|
|
//关闭分机呼叫和门灯
|
|
//关闭分机呼叫和门灯
|
|
@@ -1624,7 +1638,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
//对方挂断,不论我方呼出或呼入
|
|
//对方挂断,不论我方呼出或呼入
|
|
val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
|
|
val interactionVO = Gson().fromJson(tcpModel.data.toString(), InteractionVO::class.java)
|
|
//从呼叫列表移除
|
|
//从呼叫列表移除
|
|
- outCallList.remove(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
|
|
|
|
+ //outCallList.remove(interactionVO.fromEthIp.toUpperCase(Locale.ROOT))
|
|
|
|
|
|
//if (curInteractionVO!!.id == interactionVO.id) {
|
|
//if (curInteractionVO!!.id == interactionVO.id) {
|
|
Constant.CALL_STATE = Constant.CALL_STANDBY
|
|
Constant.CALL_STATE = Constant.CALL_STANDBY
|
|
@@ -1692,14 +1706,14 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
}
|
|
}
|
|
|
|
|
|
//从呼叫列表移除
|
|
//从呼叫列表移除
|
|
- outCallList.remove(ethMac.toUpperCase(Locale.ROOT))
|
|
|
|
|
|
+ //outCallList.remove(ethMac.toUpperCase(Locale.ROOT))
|
|
}
|
|
}
|
|
} else if (tcpModel.action == TcpAction.VoiceAction.RS485ACCEPT) {
|
|
} else if (tcpModel.action == TcpAction.VoiceAction.RS485ACCEPT) {
|
|
Log.d(TAG, "rs485 accept: " + tcpModel.data)
|
|
Log.d(TAG, "rs485 accept: " + tcpModel.data)
|
|
if (tcpModel.data != null) {
|
|
if (tcpModel.data != null) {
|
|
val ethMac = tcpModel.data.toString()
|
|
val ethMac = tcpModel.data.toString()
|
|
//从呼叫列表移除
|
|
//从呼叫列表移除
|
|
- outCallList.remove(ethMac.toUpperCase(Locale.ROOT))
|
|
|
|
|
|
+ //outCallList.remove(ethMac.toUpperCase(Locale.ROOT))
|
|
}
|
|
}
|
|
RingPlayHelper.stopRingTone()
|
|
RingPlayHelper.stopRingTone()
|
|
showCallFragment()
|
|
showCallFragment()
|
|
@@ -1712,7 +1726,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
if (tcpModel.data != null) {
|
|
if (tcpModel.data != null) {
|
|
val ethMac = tcpModel.data.toString()
|
|
val ethMac = tcpModel.data.toString()
|
|
//从呼叫列表移除
|
|
//从呼叫列表移除
|
|
- outCallList.remove(ethMac.toUpperCase(Locale.ROOT))
|
|
|
|
|
|
+ //outCallList.remove(ethMac.toUpperCase(Locale.ROOT))
|
|
}
|
|
}
|
|
|
|
|
|
handoffCall()
|
|
handoffCall()
|
|
@@ -1722,7 +1736,7 @@ class MainActivity :BaseActivity<MainActivityPresenter, MainActivityLayoutBindin
|
|
if (tcpModel.data != null) {
|
|
if (tcpModel.data != null) {
|
|
val ethMac = tcpModel.data.toString()
|
|
val ethMac = tcpModel.data.toString()
|
|
//从呼叫列表移除
|
|
//从呼叫列表移除
|
|
- outCallList.remove(ethMac.toUpperCase(Locale.ROOT))
|
|
|
|
|
|
+ //outCallList.remove(ethMac.toUpperCase(Locale.ROOT))
|
|
|
|
|
|
rejectCall()
|
|
rejectCall()
|
|
SerialPortHelper.closeSoundChannel(ethMac)
|
|
SerialPortHelper.closeSoundChannel(ethMac)
|