Fix a strange crash with no turn/stun

Signed-off-by: Mario Danic <mario@lovelyhq.com>
This commit is contained in:
Mario Danic 2018-05-15 10:16:15 +02:00
parent 3fd44dfc35
commit 328009f186

View File

@ -786,28 +786,35 @@ public class CallActivity extends AppCompatActivity {
@Override @Override
public void onNext(SignalingSettingsOverall signalingSettingsOverall) { public void onNext(SignalingSettingsOverall signalingSettingsOverall) {
IceServer iceServer; IceServer iceServer;
for (int i = 0; i < signalingSettingsOverall.getOcs().getSettings().getStunServers().size(); if (signalingSettingsOverall != null && signalingSettingsOverall.getOcs() != null &&
i++) { signalingSettingsOverall.getOcs().getSettings() != null) {
iceServer = signalingSettingsOverall.getOcs().getSettings().getStunServers().get(i); if (signalingSettingsOverall.getOcs().getSettings().getStunServers() != null) {
if (TextUtils.isEmpty(iceServer.getUsername()) || TextUtils.isEmpty(iceServer for (int i = 0; i < signalingSettingsOverall.getOcs().getSettings().getStunServers().size();
.getCredential())) { i++) {
iceServers.add(new PeerConnection.IceServer(iceServer.getUrl())); iceServer = signalingSettingsOverall.getOcs().getSettings().getStunServers().get(i);
} else { if (TextUtils.isEmpty(iceServer.getUsername()) || TextUtils.isEmpty(iceServer
iceServers.add(new PeerConnection.IceServer(iceServer.getUrl(), .getCredential())) {
iceServer.getUsername(), iceServer.getCredential())); iceServers.add(new PeerConnection.IceServer(iceServer.getUrl()));
} else {
iceServers.add(new PeerConnection.IceServer(iceServer.getUrl(),
iceServer.getUsername(), iceServer.getCredential()));
}
}
} }
}
for (int i = 0; i < signalingSettingsOverall.getOcs().getSettings().getTurnServers().size(); if (signalingSettingsOverall.getOcs().getSettings().getTurnServers() != null) {
i++) { for (int i = 0; i < signalingSettingsOverall.getOcs().getSettings().getTurnServers().size();
iceServer = signalingSettingsOverall.getOcs().getSettings().getTurnServers().get(i); i++) {
for (int j = 0; j < iceServer.getUrls().size(); j++) { iceServer = signalingSettingsOverall.getOcs().getSettings().getTurnServers().get(i);
if (TextUtils.isEmpty(iceServer.getUsername()) || TextUtils.isEmpty(iceServer for (int j = 0; j < iceServer.getUrls().size(); j++) {
.getCredential())) { if (TextUtils.isEmpty(iceServer.getUsername()) || TextUtils.isEmpty(iceServer
iceServers.add(new PeerConnection.IceServer(iceServer.getUrls().get(j))); .getCredential())) {
} else { iceServers.add(new PeerConnection.IceServer(iceServer.getUrls().get(j)));
iceServers.add(new PeerConnection.IceServer(iceServer.getUrls().get(j), } else {
iceServer.getUsername(), iceServer.getCredential())); iceServers.add(new PeerConnection.IceServer(iceServer.getUrls().get(j),
iceServer.getUsername(), iceServer.getCredential()));
}
}
} }
} }
} }