Change summary
src/main/java/eu/siacs/conversations/ui/RtpSessionActivity.java | 13
src/main/java/eu/siacs/conversations/xmpp/jingle/JingleRtpConnection.java | 6
2 files changed, 13 insertions(+), 6 deletions(-)
Detailed changes
@@ -532,6 +532,8 @@ public class RtpSessionActivity extends XmppActivity
setWith(account.getRoster().getContact(with), null);
} else if (Intent.ACTION_VIEW.equals(action)) {
final String extraLastState = intent.getStringExtra(EXTRA_LAST_REPORTED_STATE);
+ final String lastAction = intent.getStringExtra(EXTRA_LAST_ACTION);
+ final Set<Media> media = actionToMedia(lastAction);
final RtpEndUserState state =
extraLastState == null ? null : RtpEndUserState.valueOf(extraLastState);
if (state != null) {
@@ -548,10 +550,13 @@ public class RtpSessionActivity extends XmppActivity
.fireJingleRtpConnectionStateUpdates()) {
return;
}
- if (END_CARD.contains(state)
- || xmppConnectionService
- .getJingleConnectionManager()
- .hasMatchingProposal(account, with)) {
+ if (END_CARD.contains(state)) {
+ return;
+ }
+ if (xmppConnectionService
+ .getJingleConnectionManager()
+ .hasMatchingProposal(account, with)) {
+ putScreenInCallMode(media);
return;
}
Log.d(Config.LOGTAG, "restored state (" + state + ") was not an end card. finishing");
@@ -34,7 +34,6 @@ import eu.siacs.conversations.entities.Conversation;
import eu.siacs.conversations.entities.Conversational;
import eu.siacs.conversations.entities.Message;
import eu.siacs.conversations.entities.RtpSessionStatus;
-import eu.siacs.conversations.services.AppRTCAudioManager;
import eu.siacs.conversations.services.CallIntegration;
import eu.siacs.conversations.ui.RtpSessionActivity;
import eu.siacs.conversations.xml.Element;
@@ -73,7 +72,10 @@ public class JingleRtpConnection extends AbstractJingleConnection
public static final List<State> STATES_SHOWING_ONGOING_CALL =
Arrays.asList(
- State.PROCEED, State.SESSION_INITIALIZED_PRE_APPROVED, State.SESSION_ACCEPTED);
+ State.PROPOSED,
+ State.PROCEED,
+ State.SESSION_INITIALIZED_PRE_APPROVED,
+ State.SESSION_ACCEPTED);
private static final long BUSY_TIME_OUT = 30;
private final WebRTCWrapper webRTCWrapper = new WebRTCWrapper(this);