|
@@ -177,6 +177,9 @@ class NurseHomeActivity : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
|
|
|
intentFilter.addAction(Intent.ACTION_TIME_TICK)
|
|
|
intentFilter.addAction(Intent.ACTION_TIMEZONE_CHANGED)
|
|
|
intentFilter.addAction(Intent.ACTION_TIME_CHANGED)
|
|
|
+ //手柄状态监听
|
|
|
+ intentFilter.addAction(Constants.HOOK_OFF)
|
|
|
+ intentFilter.addAction(Constants.HOOK_ON)
|
|
|
registerReceiver(receiver, intentFilter)
|
|
|
}
|
|
|
|
|
@@ -267,7 +270,10 @@ class NurseHomeActivity : BaseActivity<NurseHomeActivityPresenter, ActivityNurs
|
|
|
*页面销毁回调
|
|
|
*/
|
|
|
override fun destory() {
|
|
|
+ Constants.CALL_STATE = Constants.CALL_STANDBY
|
|
|
countDownTimer.cancel()
|
|
|
+ unregisterReceiver(receiver)
|
|
|
+ SocketManager.getInstance().unConnect()
|
|
|
}
|
|
|
/**
|
|
|
*处理错误信息
|
|
@@ -576,6 +582,33 @@ fun call(tyte:Int){
|
|
|
} else {
|
|
|
view_title_layout_tv_point.setBackgroundResource(R.color.red_color)
|
|
|
}
|
|
|
+ } else if (intent.action == Constants.HOOK_ON) {
|
|
|
+ Log.e(TAG,"手柄放下 ")
|
|
|
+ Constants.hookOn = true
|
|
|
+ if (Constants.CALL_STATE == Constants.CALL_OUTGOING) {
|
|
|
+ //呼出取消
|
|
|
+ Constants.CALL_STATE = Constants.CALL_STANDBY
|
|
|
+ DeviceChannel.calling = false
|
|
|
+ VoiceUtil.cancelAudioCall(Integer.parseInt(Constants.ids), callTargetId)
|
|
|
+ CallDialogHelper.dismissCallDialog()
|
|
|
+ countDownTimer.cancel()
|
|
|
+ } else if (Constants.CALL_STATE == Constants.CALL_INCOMING) {
|
|
|
+ //来电拒接
|
|
|
+ Constants.CALL_STATE = Constants.CALL_STANDBY
|
|
|
+ DeviceChannel.calling = false
|
|
|
+ VoiceUtil.rejectAudioCall(Integer.parseInt(Constants.ids), Constants.fromId, Constants.interactionId)
|
|
|
+ CallDialogHelper.dismissCallDialog()
|
|
|
+ }
|
|
|
+ } else if (intent.action == Constants.HOOK_OFF) {
|
|
|
+ Log.e(TAG,"手柄拿起 ")
|
|
|
+ Constants.hookOn = false
|
|
|
+ if (Constants.CALL_STATE == Constants.CALL_INCOMING) {
|
|
|
+ //来电接听
|
|
|
+ Constants.CALL_STATE = Constants.CALL_CALLING
|
|
|
+ DeviceChannel.calling = true
|
|
|
+ VoiceUtil.acceptAudioCall(Integer.parseInt(Constants.ids), Constants.fromId, Constants.interactionId)
|
|
|
+ CallDialogHelper.dismissCallDialog()
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -657,6 +690,7 @@ fun call(tyte:Int){
|
|
|
if (tcpModel.getAction() == TcpAction.VoiceAction.CALL) {//收到新的呼叫
|
|
|
Constants.fromId = tcpModel.fromId
|
|
|
Constants.interactionId = interactionVO.id
|
|
|
+ Constants.CALL_STATE = Constants.CALL_INCOMING
|
|
|
|
|
|
CallDialogHelper.dismissCallDialog()
|
|
|
CallDialogHelper.showCallDialog(this@NurseHomeActivity, 1, interactionVO.fromFrameFullName, View.OnClickListener {
|
|
@@ -682,42 +716,49 @@ fun call(tyte:Int){
|
|
|
countDownTimer.cancel()
|
|
|
|
|
|
DeviceChannel.calling = true
|
|
|
+ Constants.CALL_STATE = Constants.CALL_CALLING
|
|
|
if (Constants.call_type == 1) {
|
|
|
CallSingleActivity.openActivity(activity, interactionVO.toSipId, true, interactionVO.toSipId, false, false)
|
|
|
} else {
|
|
|
CallSingleActivity.openActivity(activity, interactionVO.toSipId, true, interactionVO.toSipId, true, false)
|
|
|
}
|
|
|
} else if (tcpModel.getAction() == TcpAction.VoiceAction.REJECT) {//对方拒绝
|
|
|
+ Constants.CALL_STATE = Constants.CALL_STANDBY
|
|
|
DeviceChannel.calling = false
|
|
|
CallDialogHelper.dismissCallDialog()
|
|
|
countDownTimer.cancel()
|
|
|
} else if (tcpModel.getAction() == TcpAction.VoiceAction.CANCEL) {//对方取消
|
|
|
+ Constants.CALL_STATE = Constants.CALL_STANDBY
|
|
|
DeviceChannel.calling = false
|
|
|
CallDialogHelper.dismissCallDialog()
|
|
|
countDownTimer.cancel()
|
|
|
} else if (tcpModel.getAction() == TcpAction.VoiceAction.CALLING) {//对方通话中
|
|
|
showMessage("对方忙线中")
|
|
|
+ Constants.CALL_STATE = Constants.CALL_STANDBY
|
|
|
DeviceChannel.calling = false
|
|
|
CallDialogHelper.dismissCallDialog()
|
|
|
countDownTimer.cancel()
|
|
|
} else if (tcpModel.getAction() == TcpAction.VoiceAction.FAILED) {//对方不在线 呼叫失败
|
|
|
showMessage("对方离线或不存在,呼叫失败")
|
|
|
DeviceChannel.calling = false
|
|
|
+ Constants.CALL_STATE = Constants.CALL_STANDBY
|
|
|
CallDialogHelper.dismissCallDialog()
|
|
|
countDownTimer.cancel()
|
|
|
} else if (tcpModel.getAction() == TcpAction.VoiceAction.HANDOFF) {//对方挂断
|
|
|
+ Constants.CALL_STATE = Constants.CALL_STANDBY
|
|
|
DeviceChannel.calling = false
|
|
|
CallDialogHelper.dismissCallDialog()
|
|
|
countDownTimer.cancel()
|
|
|
} else if (tcpModel.getAction() == TcpAction.VoiceAction.SUCCESS) {//服务器返回的呼叫成功tcp
|
|
|
callTargetId = interactionVO.toDeviceId
|
|
|
countDownTimer.start()
|
|
|
+ Constants.CALL_STATE = Constants.CALL_OUTGOING
|
|
|
|
|
|
CallDialogHelper.dismissCallDialog()
|
|
|
CallDialogHelper.showCallDialog(this@NurseHomeActivity, 0, "", View.OnClickListener {
|
|
|
//呼出取消
|
|
|
DeviceChannel.calling = false
|
|
|
- VoiceUtil.cancelAudioCall(Integer.parseInt(Constants.ids), interactionVO.toDeviceId)
|
|
|
+ VoiceUtil.cancelAudioCall(Integer.parseInt(Constants.ids), callTargetId)
|
|
|
CallDialogHelper.dismissCallDialog()
|
|
|
countDownTimer.cancel()
|
|
|
}, View.OnClickListener {
|