From 5bb8de673eab187d6e52fb8ea2612d9cd13772cf Mon Sep 17 00:00:00 2001 From: Marcel Hibbe Date: Thu, 11 Nov 2021 15:24:43 +0100 Subject: [PATCH] hangup call notification screen after 1 minute Signed-off-by: Marcel Hibbe --- .../talk/activities/CallNotificationActivity.java | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/activities/CallNotificationActivity.java b/app/src/main/java/com/nextcloud/talk/activities/CallNotificationActivity.java index 7c126e4d6..4d211e030 100644 --- a/app/src/main/java/com/nextcloud/talk/activities/CallNotificationActivity.java +++ b/app/src/main/java/com/nextcloud/talk/activities/CallNotificationActivity.java @@ -69,6 +69,7 @@ import org.parceler.Parcels; import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.TimeUnit; import javax.inject.Inject; @@ -76,6 +77,7 @@ import androidx.annotation.Nullable; import androidx.annotation.RequiresApi; import autodagger.AutoInjector; import butterknife.OnClick; +import io.reactivex.Observable; import io.reactivex.Observer; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.Disposable; @@ -217,7 +219,9 @@ public class CallNotificationActivity extends CallBaseActivity { ncApi.getPeersForCall(credentials, ApiUtils.getUrlForCall(apiVersion, userBeingCalled.getBaseUrl(), currentConversation.getToken())) .subscribeOn(Schedulers.io()) - .takeWhile(observable -> !leavingScreen) + .repeatWhen(completed -> completed.zipWith(Observable.range(1, 12), (n, i) -> i) + .flatMap(retryCount -> Observable.timer(5, TimeUnit.SECONDS)) + .takeWhile(observable -> !leavingScreen)) .subscribe(new Observer() { @Override public void onSubscribe(Disposable d) { @@ -253,9 +257,7 @@ public class CallNotificationActivity extends CallBaseActivity { @Override public void onComplete() { - if (!leavingScreen) { - handler.postDelayed(() -> checkIfAnyParticipantsRemainInRoom(), 5000); - } + runOnUiThread(() -> hangup()); } });