diff --git a/app/src/main/java/com/nextcloud/talk/controllers/CallController.java b/app/src/main/java/com/nextcloud/talk/controllers/CallController.java index 5e0b8d368..280bf0f06 100644 --- a/app/src/main/java/com/nextcloud/talk/controllers/CallController.java +++ b/app/src/main/java/com/nextcloud/talk/controllers/CallController.java @@ -461,7 +461,7 @@ public class CallController extends BaseController { } if (!inCall) { - startCall(); + fetchSignalingSettings(); } } else if (getActivity() != null && EffortlessPermissions.somePermissionPermanentlyDenied(getActivity(), PERMISSIONS_CALL)) { @@ -500,7 +500,7 @@ public class CallController extends BaseController { } if (!inCall) { - startCall(); + fetchSignalingSettings(); } } @@ -518,7 +518,7 @@ public class CallController extends BaseController { EffortlessPermissions.hasPermissions(getActivity(), PERMISSIONS_MICROPHONE))) { checkIfSomeAreApproved(); } else if (!inCall) { - startCall(); + fetchSignalingSettings(); } } @@ -652,7 +652,7 @@ public class CallController extends BaseController { } if (isVoiceOnlyCall && !inCall) { - startCall(); + fetchSignalingSettings(); } } else if (getActivity() != null && EffortlessPermissions.somePermissionPermanentlyDenied(getActivity(), @@ -780,9 +780,6 @@ public class CallController extends BaseController { } } - private void startCall() { - startPullingSignalingMessages(); - } private void animateCallControls(boolean show, long startDelay) { if (isVoiceOnlyCall) { @@ -878,7 +875,7 @@ public class CallController extends BaseController { super.onDestroy(); } - private void startPullingSignalingMessages() { + private void fetchSignalingSettings() { leavingCall = false; ncApi.getSignalingSettings(credentials, ApiUtils.getUrlForSignalingSettings(baseUrl)) diff --git a/app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/Settings.java b/app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/Settings.java index f16cbd1a7..23a387846 100644 --- a/app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/Settings.java +++ b/app/src/main/java/com/nextcloud/talk/models/json/signaling/settings/Settings.java @@ -35,4 +35,10 @@ public class Settings { @JsonField(name = "turnservers") List turnServers; + + @JsonField(name = "server") + String externalSignalingServer; + + @JsonField(name = "ticket") + String externalSignalingTicket; } diff --git a/app/src/main/java/com/nextcloud/talk/webrtc/ScarletHelper.java b/app/src/main/java/com/nextcloud/talk/webrtc/ScarletHelper.java index 87bfa91ff..33be69a92 100644 --- a/app/src/main/java/com/nextcloud/talk/webrtc/ScarletHelper.java +++ b/app/src/main/java/com/nextcloud/talk/webrtc/ScarletHelper.java @@ -24,15 +24,11 @@ import com.nextcloud.talk.api.ExternalSignaling; import com.nextcloud.talk.application.NextcloudTalkApplication; import com.tinder.scarlet.Scarlet; import com.tinder.scarlet.messageadapter.moshi.MoshiMessageAdapter; -import com.tinder.scarlet.retry.ExponentialBackoffStrategy; import com.tinder.scarlet.retry.LinearBackoffStrategy; import com.tinder.scarlet.streamadapter.rxjava2.RxJava2StreamAdapterFactory; import com.tinder.scarlet.websocket.okhttp.OkHttpClientUtils; -import com.tinder.scarlet.websocket.okhttp.OkHttpWebSocket; -import java.util.ArrayList; import java.util.HashMap; -import java.util.List; import java.util.Map; import javax.inject.Inject;