From a2290a34fca2fd04809b58a48fb1cd31c941eb50 Mon Sep 17 00:00:00 2001 From: jubb Date: Mon, 3 May 2021 17:58:02 +1000 Subject: [PATCH] feat: add polling in background --- .../securesms/loki/api/BackgroundPollWorker.kt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/src/main/java/org/thoughtcrime/securesms/loki/api/BackgroundPollWorker.kt b/app/src/main/java/org/thoughtcrime/securesms/loki/api/BackgroundPollWorker.kt index a39cbb0aca..7b4f2c2aa6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/loki/api/BackgroundPollWorker.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/loki/api/BackgroundPollWorker.kt @@ -9,8 +9,10 @@ import nl.komponents.kovenant.all import nl.komponents.kovenant.functional.map import org.session.libsession.messaging.jobs.MessageReceiveJob import org.session.libsession.messaging.open_groups.OpenGroup +import org.session.libsession.messaging.open_groups.OpenGroupV2 import org.session.libsession.messaging.sending_receiving.pollers.ClosedGroupPoller import org.session.libsession.messaging.sending_receiving.pollers.OpenGroupPoller +import org.session.libsession.messaging.sending_receiving.pollers.OpenGroupV2Poller import org.session.libsession.snode.SnodeAPI import org.session.libsession.utilities.TextSecurePreferences import org.session.libsignal.utilities.logging.Log @@ -90,6 +92,14 @@ class BackgroundPollWorker(val context: Context, params: WorkerParameters) : Wor promises.add(poller.pollForNewMessages()) } + val openGroupsV2 = DatabaseFactory.getLokiThreadDatabase(context).getAllV2OpenGroups().values.groupBy(OpenGroupV2::server) + + openGroupsV2.values.map { groups -> + OpenGroupV2Poller(groups) + }.forEach { poller -> + promises.add(poller.compactPoll(true).map{ /*Unit*/ }) + } + // Wait till all the promises get resolved all(promises).get()