Handle additional phone call discard reason.

This commit is contained in:
John Preston 2025-02-07 15:47:09 +04:00
parent 5ebdf3ed39
commit a0821f5a01
2 changed files with 8 additions and 6 deletions

View file

@ -447,16 +447,17 @@ Call ComputeCallData(const MTPDmessageActionPhoneCall &call) {
auto result = Call(); auto result = Call();
result.finishReason = [&] { result.finishReason = [&] {
if (const auto reason = call.vreason()) { if (const auto reason = call.vreason()) {
switch (reason->type()) { return reason->match([](const MTPDphoneCallDiscardReasonBusy &) {
case mtpc_phoneCallDiscardReasonBusy:
return CallFinishReason::Busy; return CallFinishReason::Busy;
case mtpc_phoneCallDiscardReasonDisconnect: }, [](const MTPDphoneCallDiscardReasonDisconnect &) {
return CallFinishReason::Disconnected; return CallFinishReason::Disconnected;
case mtpc_phoneCallDiscardReasonHangup: }, [](const MTPDphoneCallDiscardReasonHangup &) {
return CallFinishReason::Hangup; return CallFinishReason::Hangup;
case mtpc_phoneCallDiscardReasonMissed: }, [](const MTPDphoneCallDiscardReasonMissed &) {
return CallFinishReason::Missed; return CallFinishReason::Missed;
} }, [](const MTPDphoneCallDiscardReasonAllowGroupCall &) {
return CallFinishReason::AllowGroupCall;
});
Unexpected("Call reason type."); Unexpected("Call reason type.");
} }
return CallFinishReason::Hangup; return CallFinishReason::Hangup;

View file

@ -46,6 +46,7 @@ enum class CallFinishReason : char {
Busy, Busy,
Disconnected, Disconnected,
Hangup, Hangup,
AllowGroupCall,
}; };
struct SharedContact final { struct SharedContact final {