mirror of
https://github.com/nextcloud/talk-android
synced 2025-03-06 14:27:24 +00:00
Keep retrying if pulling signaling messages fails
When the internal signaling server is used the observable to pull signaling messages is subscribed again after each completion, but in case of an error it was retried only 3 times. Those 3 times are not in a row, though, but in total for the whole observable, no matter how many times it was subscribed again. Due to the limitation on retries in a long call with a flaky connection pulling the signaling messages could fail more than 3 times, which caused the observable to finish with an error and therefore stop further pullings. In this situation the Android app would not notice if other participants joined or left the call, and thus it would not establish a connection with them or stop it. To prevent that now the number of retries is unlimited (although the retry is still stopped if the local participant is no longer in the call). Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
This commit is contained in:
parent
3d0e0984af
commit
54deafa514
@ -1480,7 +1480,7 @@ public class CallActivity extends CallBaseActivity {
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.repeatWhen(observable -> observable)
|
||||
.takeWhile(observable -> isConnectionEstablished())
|
||||
.retry(3, observable -> isConnectionEstablished())
|
||||
.retry(observable -> isConnectionEstablished())
|
||||
.subscribe(new Observer<SignalingOverall>() {
|
||||
@Override
|
||||
public void onSubscribe(@io.reactivex.annotations.NonNull Disposable d) {
|
||||
|
Loading…
Reference in New Issue
Block a user