From 2d890d50522d2e842cf9f743c08e6b9e2158fe1f Mon Sep 17 00:00:00 2001 From: Mario Danic Date: Sat, 20 Jan 2018 09:41:07 +0100 Subject: [PATCH] Fix a bug with signaling Signed-off-by: Mario Danic --- app/build.gradle | 4 ++-- .../java/com/nextcloud/talk/activities/CallActivity.java | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 5ff51fe82..e97a09f60 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,8 +12,8 @@ android { targetSdkVersion 27 testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" - versionCode 24 - versionName "1.0.13" + versionCode 25 + versionName "1.0.14" // Enabling multidex support. multiDexEnabled true diff --git a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java index 51c9b2e2d..0264540ec 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java +++ b/app/src/main/java/com/nextcloud/talk/activities/CallActivity.java @@ -777,6 +777,7 @@ public class CallActivity extends AppCompatActivity { ncApi.joinRoom(credentials, ApiHelper.getUrlForRoom(userEntity.getBaseUrl(), roomToken)) .subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()) + .retry(3) .subscribe(new Observer() { @Override public void onSubscribe(Disposable d) { @@ -788,6 +789,7 @@ public class CallActivity extends AppCompatActivity { ncApi.joinCall(credentials, ApiHelper.getUrlForCall(userEntity.getBaseUrl(), roomToken)) .subscribeOn(Schedulers.newThread()) + .retry(3) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer() { @Override @@ -808,7 +810,7 @@ public class CallActivity extends AppCompatActivity { .observeOn(AndroidSchedulers.mainThread()) .repeatWhen(observable -> observable.delay(5000, TimeUnit.MILLISECONDS)) .takeWhile(observable -> inCall) - .retry(3) + .retry(3, observable -> inCall) .subscribe(new Observer() { @Override public void onSubscribe(Disposable d) { @@ -836,8 +838,9 @@ public class CallActivity extends AppCompatActivity { userEntity.getToken()), ApiHelper.getUrlForSignaling(userEntity.getBaseUrl())) .subscribeOn(Schedulers.newThread()) .observeOn(AndroidSchedulers.mainThread()) + .repeatWhen(observable -> observable) .takeWhile(observable -> inCall) - .retry(3) + .retry(3, observable -> inCall) .subscribe(new Observer() { @Override public void onSubscribe(Disposable d) { @@ -860,10 +863,12 @@ public class CallActivity extends AppCompatActivity { @Override public void onError(Throwable e) { + dispose(signalingDisposable); } @Override public void onComplete() { + dispose(signalingDisposable); } });