From 7251fdcb7805bb4b8c362836b8515463a1038bbd Mon Sep 17 00:00:00 2001 From: liyi Date: Thu, 23 Jan 2025 09:44:56 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E5=A2=9E=E5=8A=A0=E5=8F=AA=E6=9C=89?= =?UTF-8?q?=E5=9C=A8=E6=8E=A5=E5=90=AC=E6=88=90=E5=8A=9F=E6=88=96=E8=80=85?= =?UTF-8?q?=E7=AD=89=E5=BE=85=E6=8E=A5=E5=90=AC=E7=8A=B6=E6=80=81=E6=89=8D?= =?UTF-8?q?=E5=A4=84=E7=90=86=E6=8C=82=E6=96=AD=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handle/impl/udp_talk_hangup_handler.dart | 34 +++++++++---------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/lib/talk/startChart/handle/impl/udp_talk_hangup_handler.dart b/lib/talk/startChart/handle/impl/udp_talk_hangup_handler.dart index a0da47d7..80a9051a 100644 --- a/lib/talk/startChart/handle/impl/udp_talk_hangup_handler.dart +++ b/lib/talk/startChart/handle/impl/udp_talk_hangup_handler.dart @@ -17,25 +17,25 @@ class UdpTalkHangUpHandler extends ScpMessageBaseHandle implements ScpMessageHandler { @override void handleReq(ScpMessage scpMessage) { - // if (talkStatus.status != TalkStatus.answeredSuccessfully) { - // // 如果不是接听中,不处理通话中挂断请求 - // return; - // } + // 只有接听成功或者等待接听时才处理挂断请求 + if (talkStatus.status == TalkStatus.answeredSuccessfully || + talkStatus.status == TalkStatus.passiveCallWaitingAnswer || + talkStatus.status == TalkStatus.proactivelyCallWaitingAnswer) { + // 回复请求 + replySuccessMessage(scpMessage); + talkStatus.setHangingUpDuring(); + stopRingtone(); + startChartManage.stopTalkExpectMessageTimer(); + startChartManage.stopTalkPingMessageTimer(); + // 挂断之后,停止对讲请求超时监听定时器 - // 回复请求 - replySuccessMessage(scpMessage); - talkStatus.setHangingUpDuring(); - stopRingtone(); - startChartManage.stopTalkExpectMessageTimer(); - startChartManage.stopTalkPingMessageTimer(); - // 挂断之后,停止对讲请求超时监听定时器 + talkeRequestOverTimeTimerManager.cancel(); + talkePingOverTimeTimerManager.cancel(); + talkDataOverTimeTimerManager.cancel(); - talkeRequestOverTimeTimerManager.cancel(); - talkePingOverTimeTimerManager.cancel(); - talkDataOverTimeTimerManager.cancel(); - - // EasyLoading.showToast('已挂断'.tr); - Get.back(); + EasyLoading.showToast('已挂断'.tr); + Get.back(); + } } @override