mirror of
https://github.com/nextcloud/talk-android
synced 2025-07-11 14:54:09 +01:00
Some progress in websockets communication
This commit is contained in:
parent
72d3f5ef66
commit
53bc42fbea
@ -76,6 +76,7 @@ import com.nextcloud.talk.models.json.signaling.Signaling;
|
|||||||
import com.nextcloud.talk.models.json.signaling.SignalingOverall;
|
import com.nextcloud.talk.models.json.signaling.SignalingOverall;
|
||||||
import com.nextcloud.talk.models.json.signaling.settings.IceServer;
|
import com.nextcloud.talk.models.json.signaling.settings.IceServer;
|
||||||
import com.nextcloud.talk.models.json.signaling.settings.SignalingSettingsOverall;
|
import com.nextcloud.talk.models.json.signaling.settings.SignalingSettingsOverall;
|
||||||
|
import com.nextcloud.talk.models.json.websocket.RoomOverallWebSocketMessage;
|
||||||
import com.nextcloud.talk.utils.ApiUtils;
|
import com.nextcloud.talk.utils.ApiUtils;
|
||||||
import com.nextcloud.talk.utils.MagicFlipView;
|
import com.nextcloud.talk.utils.MagicFlipView;
|
||||||
import com.nextcloud.talk.utils.NotificationUtils;
|
import com.nextcloud.talk.utils.NotificationUtils;
|
||||||
@ -1181,7 +1182,8 @@ public class CallController extends BaseController {
|
|||||||
public void onMessageEvent(WebSocketCommunicationEvent webSocketCommunicationEvent) {
|
public void onMessageEvent(WebSocketCommunicationEvent webSocketCommunicationEvent) {
|
||||||
if (webSocketCommunicationEvent.getType().equals("hello")) {
|
if (webSocketCommunicationEvent.getType().equals("hello")) {
|
||||||
callSession = webSocketClient.getSessionId();
|
callSession = webSocketClient.getSessionId();
|
||||||
MagicPeerConnectionWrapper magicPeerConnectionWrapper = alwaysGetPeerConnectionWrapperForSessionId(callSession);
|
webSocketClient.joinRoomWithRoomId(roomToken);
|
||||||
|
//MagicPeerConnectionWrapper magicPeerConnectionWrapper = alwaysGetPeerConnectionWrapperForSessionId(callSession);
|
||||||
} else if (webSocketCommunicationEvent.equals("MCUPeerReady")) {
|
} else if (webSocketCommunicationEvent.equals("MCUPeerReady")) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1339,6 +1341,9 @@ public class CallController extends BaseController {
|
|||||||
@Override
|
@Override
|
||||||
public void onNext(GenericOverall genericOverall) {
|
public void onNext(GenericOverall genericOverall) {
|
||||||
if (isMultiSession) {
|
if (isMultiSession) {
|
||||||
|
if (externalSignalingServer != null) {
|
||||||
|
webSocketClient.joinRoomWithRoomId("");
|
||||||
|
}
|
||||||
if (getActivity() != null) {
|
if (getActivity() != null) {
|
||||||
getActivity().finish();
|
getActivity().finish();
|
||||||
}
|
}
|
||||||
@ -1371,6 +1376,10 @@ public class CallController extends BaseController {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onNext(GenericOverall genericOverall) {
|
public void onNext(GenericOverall genericOverall) {
|
||||||
|
if (externalSignalingServer != null) {
|
||||||
|
webSocketClient.joinRoomWithRoomId("");
|
||||||
|
}
|
||||||
|
|
||||||
if (getActivity() != null) {
|
if (getActivity() != null) {
|
||||||
getActivity().finish();
|
getActivity().finish();
|
||||||
}
|
}
|
||||||
|
@ -33,5 +33,5 @@ import lombok.Data;
|
|||||||
@Parcel
|
@Parcel
|
||||||
public class RoomOverallWebSocketMessage extends BaseWebSocketMessage {
|
public class RoomOverallWebSocketMessage extends BaseWebSocketMessage {
|
||||||
@JsonField(name = "room")
|
@JsonField(name = "room")
|
||||||
RoomOverallWebSocketMessage roomOverallWebSocketMessage;
|
RoomWebSocketMessage roomWebSocketMessage;
|
||||||
}
|
}
|
||||||
|
@ -89,10 +89,6 @@ public class MagicPeerConnectionWrapper {
|
|||||||
if (peerConnection != null) {
|
if (peerConnection != null) {
|
||||||
peerConnection.addStream(localMediaStream);
|
peerConnection.addStream(localMediaStream);
|
||||||
|
|
||||||
if (hasMCU) {
|
|
||||||
EventBus.getDefault().post(new WebSocketCommunicationEvent("MCUPeerReady", null));
|
|
||||||
}
|
|
||||||
|
|
||||||
if (hasInitiated || hasMCU) {
|
if (hasInitiated || hasMCU) {
|
||||||
DataChannel.Init init = new DataChannel.Init();
|
DataChannel.Init init = new DataChannel.Init();
|
||||||
init.negotiated = false;
|
init.negotiated = false;
|
||||||
|
@ -27,10 +27,13 @@ import com.bluelinelabs.logansquare.LoganSquare;
|
|||||||
import com.nextcloud.talk.application.NextcloudTalkApplication;
|
import com.nextcloud.talk.application.NextcloudTalkApplication;
|
||||||
import com.nextcloud.talk.events.WebSocketCommunicationEvent;
|
import com.nextcloud.talk.events.WebSocketCommunicationEvent;
|
||||||
import com.nextcloud.talk.models.database.UserEntity;
|
import com.nextcloud.talk.models.database.UserEntity;
|
||||||
|
import com.nextcloud.talk.models.json.rooms.RoomOverall;
|
||||||
import com.nextcloud.talk.models.json.websocket.BaseWebSocketMessage;
|
import com.nextcloud.talk.models.json.websocket.BaseWebSocketMessage;
|
||||||
import com.nextcloud.talk.models.json.websocket.CallOverallWebSocketMessage;
|
import com.nextcloud.talk.models.json.websocket.CallOverallWebSocketMessage;
|
||||||
import com.nextcloud.talk.models.json.websocket.HelloResponseOverallWebSocketMessage;
|
import com.nextcloud.talk.models.json.websocket.HelloResponseOverallWebSocketMessage;
|
||||||
import com.nextcloud.talk.models.json.websocket.HelloResponseWebSocketMessage;
|
import com.nextcloud.talk.models.json.websocket.HelloResponseWebSocketMessage;
|
||||||
|
import com.nextcloud.talk.models.json.websocket.RoomOverallWebSocketMessage;
|
||||||
|
import com.nextcloud.talk.models.json.websocket.RoomWebSocketMessage;
|
||||||
|
|
||||||
import org.greenrobot.eventbus.EventBus;
|
import org.greenrobot.eventbus.EventBus;
|
||||||
|
|
||||||
@ -154,4 +157,18 @@ public class MagicWebSocketInstance extends WebSocketListener {
|
|||||||
public WebSocket getWebSocket() {
|
public WebSocket getWebSocket() {
|
||||||
return webSocket;
|
return webSocket;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void joinRoomWithRoomId(String roomId) {
|
||||||
|
RoomOverallWebSocketMessage roomOverallWebSocketMessage = new RoomOverallWebSocketMessage();
|
||||||
|
roomOverallWebSocketMessage.setType("room");
|
||||||
|
RoomWebSocketMessage roomWebSocketMessage = new RoomWebSocketMessage();
|
||||||
|
roomWebSocketMessage.setRoomId(roomId);
|
||||||
|
roomWebSocketMessage.setSessiondId(sessionId);
|
||||||
|
roomOverallWebSocketMessage.setRoomWebSocketMessage(roomWebSocketMessage);
|
||||||
|
try {
|
||||||
|
webSocket.send(LoganSquare.serialize(roomOverallWebSocketMessage));
|
||||||
|
} catch (IOException e) {
|
||||||
|
Log.e(TAG, "Failed to serialize room overall websocket message");
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user