mirror of
https://github.com/nextcloud/talk-android
synced 2025-03-06 14:27:24 +00: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.settings.IceServer;
|
||||
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.MagicFlipView;
|
||||
import com.nextcloud.talk.utils.NotificationUtils;
|
||||
@ -1181,7 +1182,8 @@ public class CallController extends BaseController {
|
||||
public void onMessageEvent(WebSocketCommunicationEvent webSocketCommunicationEvent) {
|
||||
if (webSocketCommunicationEvent.getType().equals("hello")) {
|
||||
callSession = webSocketClient.getSessionId();
|
||||
MagicPeerConnectionWrapper magicPeerConnectionWrapper = alwaysGetPeerConnectionWrapperForSessionId(callSession);
|
||||
webSocketClient.joinRoomWithRoomId(roomToken);
|
||||
//MagicPeerConnectionWrapper magicPeerConnectionWrapper = alwaysGetPeerConnectionWrapperForSessionId(callSession);
|
||||
} else if (webSocketCommunicationEvent.equals("MCUPeerReady")) {
|
||||
}
|
||||
}
|
||||
@ -1339,6 +1341,9 @@ public class CallController extends BaseController {
|
||||
@Override
|
||||
public void onNext(GenericOverall genericOverall) {
|
||||
if (isMultiSession) {
|
||||
if (externalSignalingServer != null) {
|
||||
webSocketClient.joinRoomWithRoomId("");
|
||||
}
|
||||
if (getActivity() != null) {
|
||||
getActivity().finish();
|
||||
}
|
||||
@ -1371,6 +1376,10 @@ public class CallController extends BaseController {
|
||||
|
||||
@Override
|
||||
public void onNext(GenericOverall genericOverall) {
|
||||
if (externalSignalingServer != null) {
|
||||
webSocketClient.joinRoomWithRoomId("");
|
||||
}
|
||||
|
||||
if (getActivity() != null) {
|
||||
getActivity().finish();
|
||||
}
|
||||
|
@ -33,5 +33,5 @@ import lombok.Data;
|
||||
@Parcel
|
||||
public class RoomOverallWebSocketMessage extends BaseWebSocketMessage {
|
||||
@JsonField(name = "room")
|
||||
RoomOverallWebSocketMessage roomOverallWebSocketMessage;
|
||||
RoomWebSocketMessage roomWebSocketMessage;
|
||||
}
|
||||
|
@ -89,10 +89,6 @@ public class MagicPeerConnectionWrapper {
|
||||
if (peerConnection != null) {
|
||||
peerConnection.addStream(localMediaStream);
|
||||
|
||||
if (hasMCU) {
|
||||
EventBus.getDefault().post(new WebSocketCommunicationEvent("MCUPeerReady", null));
|
||||
}
|
||||
|
||||
if (hasInitiated || hasMCU) {
|
||||
DataChannel.Init init = new DataChannel.Init();
|
||||
init.negotiated = false;
|
||||
|
@ -27,10 +27,13 @@ import com.bluelinelabs.logansquare.LoganSquare;
|
||||
import com.nextcloud.talk.application.NextcloudTalkApplication;
|
||||
import com.nextcloud.talk.events.WebSocketCommunicationEvent;
|
||||
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.CallOverallWebSocketMessage;
|
||||
import com.nextcloud.talk.models.json.websocket.HelloResponseOverallWebSocketMessage;
|
||||
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;
|
||||
|
||||
@ -154,4 +157,18 @@ public class MagicWebSocketInstance extends WebSocketListener {
|
||||
public WebSocket getWebSocket() {
|
||||
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