fix:完善状态变更和通知

This commit is contained in:
liyi 2024-12-09 12:05:34 +08:00
parent 7a9464dfa1
commit 041c0b7775
6 changed files with 20 additions and 19 deletions

View File

@ -32,6 +32,8 @@ class UdpTalkAcceptHandler extends ScpMessageBaseHandle
_handleCheckTalkDataTimer();
//
_handleStartSendTalkExpectDataRequest();
//
talkStatus.setDuringCall();
}
}
@ -57,7 +59,7 @@ class UdpTalkAcceptHandler extends ScpMessageBaseHandle
//
startChartManage.stopTalkPingMessageTimer();
startChartManage.stopTalkExpectMessageTimer();
startChartManage.changeCallingStatus(false);
talkStatus.setNotTalkPing();
});
}
@ -70,7 +72,7 @@ class UdpTalkAcceptHandler extends ScpMessageBaseHandle
EasyLoading.showToast('通话连接失败', duration: 2000.milliseconds);
startChartManage.stopTalkPingMessageTimer();
startChartManage.stopTalkExpectMessageTimer();
startChartManage.changeCallingStatus(false);
talkStatus.setNotTalkData();
});
}

View File

@ -5,6 +5,7 @@ import 'package:star_lock/talk/startChart/handle/scp_message_base_handle.dart';
import 'package:star_lock/talk/startChart/handle/scp_message_handle.dart';
import 'package:star_lock/talk/startChart/proto/gateway_reset.pb.dart';
import 'package:star_lock/talk/startChart/proto/generic.pb.dart';
import 'package:star_lock/talk/startChart/proto/talk_expect.pb.dart';
import '../../start_chart_manage.dart';
@ -12,7 +13,9 @@ class UdpTalkExpectHandler extends ScpMessageBaseHandle
implements ScpMessageHandler {
@override
void handleReq(ScpMessage scpMessage) {
// TODO:
//
final TalkExpect talkExpect = scpMessage.Payload;
print('收到预期音视频数据请求');
}
@override

View File

@ -19,8 +19,7 @@ class UdpTalkPingHandler extends ScpMessageBaseHandle
if (checkGenericRespSuccess(genericResp)) {
//
talkePingOverTimeTimerManager.receiveMessage();
//
startChartManage.changeCallingStatus(true);
}
}

View File

@ -18,7 +18,7 @@ class UdpTalkRejectHandler extends ScpMessageBaseHandle
@override
void handleResp(ScpMessage scpMessage) {
//
EasyLoading.showToast('对方已经拒绝接听', duration: 2000.milliseconds);
talkStatus.setRejected();
}
@override

View File

@ -75,7 +75,6 @@ class StartChartManage {
);
String relayPeerId = ''; // peerId
bool _calling = false; //
// StartChartTalkStatus
StartChartTalkStatus talkStatus = StartChartTalkStatus.instance;
@ -138,16 +137,6 @@ class StartChartManage {
}
}
///
bool checkIsCalling() {
return _calling;
}
///
void changeCallingStatus(bool status) {
_calling = status;
}
// udp
Future<void> _onlineRelayService() async {
var addressIListenFrom = InternetAddress.anyIPv4;
@ -255,6 +244,7 @@ class StartChartManage {
FromPeerId: FromPeerId,
);
await _sendMessage(message: message);
talkStatus.setWaitingAnswer();
}
//
@ -742,4 +732,12 @@ class StartChartManage {
void changeTalkExpectDataType({required TalkExpect talkExpect}) {
defaultTalkExpect = talkExpect;
}
///
void destruction() {
stopTalkExpectMessageTimer();
stopTalkPingMessageTimer();
stopHeartbeat();
stopReStartOnlineStartChartServer();
}
}

View File

@ -40,6 +40,7 @@ class StartChartTalkStatus {
//
void _setStatus(TalkStatus newStatus) {
if (_status == newStatus) return; //
print("对讲状态变化: ${_status.name} -> ${newStatus.name}");
//
_status = newStatus;
@ -49,8 +50,6 @@ class StartChartTalkStatus {
//
void _onStatusChanged(TalkStatus newStatus) {
// UI
print("对讲状态变化: ${_status.name} -> ${newStatus.name}");
//
EventBusManager().eventBus!.fire(TalkStatusChangeEvent(_status, newStatus));
}