Capability multi-room-users was introduced 2018

Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
Joas Schilling 2021-05-04 07:53:34 +02:00
parent 61a2d389b4
commit ca9a622030
No known key found for this signature in database
GPG Key ID: 7076EA9751AACDDA

View File

@ -258,8 +258,6 @@ public class CallController extends BaseController {
private boolean videoOn = false; private boolean videoOn = false;
private boolean audioOn = false; private boolean audioOn = false;
private boolean isMultiSession = false;
private boolean isVoiceOnlyCall; private boolean isVoiceOnlyCall;
private boolean isIncomingCallFromNotification; private boolean isIncomingCallFromNotification;
private Handler callControlHandler = new Handler(); private Handler callControlHandler = new Handler();
@ -1196,15 +1194,7 @@ public class CallController extends BaseController {
@Override @Override
public void onNext(CapabilitiesOverall capabilitiesOverall) { public void onNext(CapabilitiesOverall capabilitiesOverall) {
isMultiSession = capabilitiesOverall.getOcs().getData() // FIXME check for compatible Call API version
.getCapabilities() != null && capabilitiesOverall.getOcs().getData()
.getCapabilities().getSpreedCapability() != null &&
capabilitiesOverall.getOcs().getData()
.getCapabilities().getSpreedCapability()
.getFeatures() != null && capabilitiesOverall.getOcs().getData()
.getCapabilities().getSpreedCapability()
.getFeatures().contains("multi-room-users");
if (hasExternalSignalingServer) { if (hasExternalSignalingServer) {
setupAndInitiateWebSocketsConnection(); setupAndInitiateWebSocketsConnection();
} else { } else {
@ -1214,7 +1204,7 @@ public class CallController extends BaseController {
@Override @Override
public void onError(Throwable e) { public void onError(Throwable e) {
isMultiSession = false;
} }
@Override @Override
@ -1302,12 +1292,6 @@ public class CallController extends BaseController {
ApplicationWideCurrentRoomHolder.getInstance().setInCall(true); ApplicationWideCurrentRoomHolder.getInstance().setInCall(true);
// Start pulling signaling messages
String urlToken = null;
if (isMultiSession) {
urlToken = roomToken;
}
if (!TextUtils.isEmpty(roomToken)) { if (!TextUtils.isEmpty(roomToken)) {
NotificationUtils.INSTANCE.cancelExistingNotificationsForRoom(getApplicationContext(), conversationUser, roomToken); NotificationUtils.INSTANCE.cancelExistingNotificationsForRoom(getApplicationContext(), conversationUser, roomToken);
} }
@ -1316,7 +1300,7 @@ public class CallController extends BaseController {
int apiVersion = ApiUtils.getSignalingApiVersion(conversationUser, new int[] {2, 1}); int apiVersion = ApiUtils.getSignalingApiVersion(conversationUser, new int[] {2, 1});
ncApi.pullSignalingMessages(credentials, ApiUtils.getUrlForSignaling(apiVersion, ncApi.pullSignalingMessages(credentials, ApiUtils.getUrlForSignaling(apiVersion,
baseUrl, urlToken)) baseUrl, roomToken))
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())
.repeatWhen(observable -> observable) .repeatWhen(observable -> observable)
@ -1587,15 +1571,11 @@ public class CallController extends BaseController {
@Override @Override
public void onNext(GenericOverall genericOverall) { public void onNext(GenericOverall genericOverall) {
if (isMultiSession) {
if (shutDownView && getActivity() != null) { if (shutDownView && getActivity() != null) {
getActivity().finish(); getActivity().finish();
} else if (!shutDownView && (currentCallStatus.equals(CallStatus.RECONNECTING) || currentCallStatus.equals(CallStatus.PUBLISHER_FAILED))) { } else if (!shutDownView && (currentCallStatus.equals(CallStatus.RECONNECTING) || currentCallStatus.equals(CallStatus.PUBLISHER_FAILED))) {
initiateCall(); initiateCall();
} }
} else {
leaveRoom(shutDownView);
}
} }
@Override @Override
@ -2007,14 +1987,9 @@ public class CallController extends BaseController {
String stringToSend = stringBuilder.toString(); String stringToSend = stringBuilder.toString();
strings.add(stringToSend); strings.add(stringToSend);
String urlToken = null;
if (isMultiSession) {
urlToken = roomToken;
}
int apiVersion = ApiUtils.getSignalingApiVersion(conversationUser, new int[] {2, 1}); int apiVersion = ApiUtils.getSignalingApiVersion(conversationUser, new int[] {2, 1});
ncApi.sendSignalingMessages(credentials, ApiUtils.getUrlForSignaling(apiVersion, baseUrl, urlToken), ncApi.sendSignalingMessages(credentials, ApiUtils.getUrlForSignaling(apiVersion, baseUrl, roomToken),
strings.toString()) strings.toString())
.retry(3) .retry(3)
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())