From 09c668acb2c0da43a91a04727f8e3e7c34a91588 Mon Sep 17 00:00:00 2001 From: nielsandriesse Date: Mon, 10 Aug 2020 11:48:27 +1000 Subject: [PATCH] Start and stop the closed group poller as needed --- .../thoughtcrime/securesms/ApplicationContext.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/org/thoughtcrime/securesms/ApplicationContext.java b/src/org/thoughtcrime/securesms/ApplicationContext.java index 0903e3c959..f2e869378f 100644 --- a/src/org/thoughtcrime/securesms/ApplicationContext.java +++ b/src/org/thoughtcrime/securesms/ApplicationContext.java @@ -61,11 +61,13 @@ import org.thoughtcrime.securesms.logging.PersistentLogger; import org.thoughtcrime.securesms.logging.UncaughtExceptionLogger; import org.thoughtcrime.securesms.loki.activities.HomeActivity; import org.thoughtcrime.securesms.loki.api.BackgroundPollWorker; +import org.thoughtcrime.securesms.loki.api.ClosedGroupPoller; import org.thoughtcrime.securesms.loki.api.LokiPushNotificationManager; import org.thoughtcrime.securesms.loki.api.PublicChatManager; import org.thoughtcrime.securesms.loki.database.LokiAPIDatabase; import org.thoughtcrime.securesms.loki.database.LokiThreadDatabase; import org.thoughtcrime.securesms.loki.database.LokiUserDatabase; +import org.thoughtcrime.securesms.loki.database.SharedSenderKeysDatabase; import org.thoughtcrime.securesms.loki.protocol.SessionRequestMessageSendJob; import org.thoughtcrime.securesms.loki.protocol.SessionResetImplementation; import org.thoughtcrime.securesms.loki.utilities.Broadcaster; @@ -154,6 +156,7 @@ public class ApplicationContext extends MultiDexApplication implements Dependenc // Loki public MessageNotifier messageNotifier = null; public Poller poller = null; + public ClosedGroupPoller closedGroupPoller = null; public PublicChatManager publicChatManager = null; private PublicChatAPI publicChatAPI = null; public Broadcaster broadcaster = null; @@ -507,16 +510,20 @@ public class ApplicationContext extends MultiDexApplication implements Dependenc } return Unit.INSTANCE; }); + SharedSenderKeysDatabase sskDatabase = DatabaseFactory.getSSKDatabase(this); + ClosedGroupPoller.Companion.configureIfNeeded(this, sskDatabase); + closedGroupPoller = ClosedGroupPoller.Companion.getShared(); } public void startPollingIfNeeded() { setUpPollingIfNeeded(); if (poller != null) { poller.startIfNeeded(); } + if (closedGroupPoller != null) { closedGroupPoller.startIfNeeded(); } } public void stopPolling() { - if (poller == null) { return; } - poller.stopIfNeeded(); + if (poller != null) { poller.stopIfNeeded(); } + if (closedGroupPoller != null) { closedGroupPoller.stopIfNeeded(); } } private void resubmitProfilePictureIfNeeded() {