update UI in case proposal gets retracted by system

This commit is contained in:
Daniel Gultsch 2024-01-14 18:17:55 +01:00
parent a44ad6015d
commit dfa389f61f
No known key found for this signature in database
GPG key ID: F43D18AD2A0982C2

View file

@ -663,7 +663,7 @@ public class JingleConnectionManager extends AbstractConnectionManager {
} }
} }
private void retractSessionProposal(RtpSessionProposal rtpSessionProposal) { private void retractSessionProposal(final RtpSessionProposal rtpSessionProposal) {
final Account account = rtpSessionProposal.account; final Account account = rtpSessionProposal.account;
toneManager.transition(RtpEndUserState.ENDED, rtpSessionProposal.media); toneManager.transition(RtpEndUserState.ENDED, rtpSessionProposal.media);
Log.d( Log.d(
@ -673,6 +673,11 @@ public class JingleConnectionManager extends AbstractConnectionManager {
+ rtpSessionProposal.with); + rtpSessionProposal.with);
this.rtpSessionProposals.remove(rtpSessionProposal); this.rtpSessionProposals.remove(rtpSessionProposal);
rtpSessionProposal.callIntegration.retracted(); rtpSessionProposal.callIntegration.retracted();
mXmppConnectionService.notifyJingleRtpConnectionUpdate(
account,
rtpSessionProposal.with,
rtpSessionProposal.sessionId,
RtpEndUserState.RETRACTED);
final MessagePacket messagePacket = final MessagePacket messagePacket =
mXmppConnectionService.getMessageGenerator().sessionRetract(rtpSessionProposal); mXmppConnectionService.getMessageGenerator().sessionRetract(rtpSessionProposal);
writeLogMissedOutgoing( writeLogMissedOutgoing(
@ -749,7 +754,8 @@ public class JingleConnectionManager extends AbstractConnectionManager {
if (proposal.account == account && with.asBareJid().equals(proposal.with)) { if (proposal.account == account && with.asBareJid().equals(proposal.with)) {
// CallIntegrationConnectionService starts RtpSessionActivity with ACTION_VIEW // CallIntegrationConnectionService starts RtpSessionActivity with ACTION_VIEW
// and an EXTRA_LAST_REPORTED_STATE of DISCOVERING devices. however due to // and an EXTRA_LAST_REPORTED_STATE of DISCOVERING devices. however due to
// possible race conditions the state might have already moved on so we are going // possible race conditions the state might have already moved on so we are
// going
// to update the UI // to update the UI
final RtpEndUserState endUserState = state.toEndUserState(); final RtpEndUserState endUserState = state.toEndUserState();
mXmppConnectionService.notifyJingleRtpConnectionUpdate( mXmppConnectionService.notifyJingleRtpConnectionUpdate(