mirror of
https://github.com/oxen-io/session-android.git
synced 2024-11-23 18:15:22 +00:00
Merge pull request #548 from RyanRory/fix-open-group-spam
Fix Open Group Notification Spam
This commit is contained in:
commit
31b5cfb4e0
@ -206,10 +206,8 @@ public class ApplicationContext extends MultiDexApplication implements Dependenc
|
||||
poller.setCaughtUp(false);
|
||||
}
|
||||
startPollingIfNeeded();
|
||||
// FIXME: Open group handling
|
||||
/*
|
||||
publicChatManager.markAllAsNotCaughtUp();
|
||||
*/
|
||||
|
||||
OpenGroupManager.INSTANCE.setAllCaughtUp(false);
|
||||
OpenGroupManager.INSTANCE.startPolling();
|
||||
}
|
||||
|
||||
|
@ -19,6 +19,8 @@ object OpenGroupManager {
|
||||
private var pollers = mutableMapOf<String, OpenGroupPollerV2>() // One for each server
|
||||
private var isPolling = false
|
||||
|
||||
var isAllCaughtUp = false
|
||||
|
||||
fun startPolling() {
|
||||
if (isPolling) { return }
|
||||
isPolling = true
|
||||
|
@ -56,6 +56,7 @@ import org.thoughtcrime.securesms.database.ThreadDatabase;
|
||||
import org.thoughtcrime.securesms.database.model.MediaMmsMessageRecord;
|
||||
import org.thoughtcrime.securesms.database.model.MessageRecord;
|
||||
import org.thoughtcrime.securesms.database.model.MmsMessageRecord;
|
||||
import org.thoughtcrime.securesms.loki.api.OpenGroupManager;
|
||||
import org.thoughtcrime.securesms.loki.protocol.SessionMetaProtocol;
|
||||
import org.thoughtcrime.securesms.loki.utilities.MentionUtilities;
|
||||
import org.thoughtcrime.securesms.mms.SlideDeck;
|
||||
@ -286,6 +287,9 @@ public class DefaultMessageNotifier implements MessageNotifier {
|
||||
} finally {
|
||||
if (telcoCursor != null) telcoCursor.close();
|
||||
if (pushCursor != null) pushCursor.close();
|
||||
if (!OpenGroupManager.INSTANCE.isAllCaughtUp()) {
|
||||
OpenGroupManager.INSTANCE.setAllCaughtUp(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -12,6 +12,7 @@ import org.session.libsession.utilities.recipients.Recipient;
|
||||
import org.session.libsession.utilities.Debouncer;
|
||||
import org.session.libsignal.utilities.ThreadUtils;
|
||||
import org.thoughtcrime.securesms.ApplicationContext;
|
||||
import org.thoughtcrime.securesms.loki.api.OpenGroupManager;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
@ -42,18 +43,12 @@ public class OptimizedMessageNotifier implements MessageNotifier {
|
||||
@Override
|
||||
public void updateNotification(@NonNull Context context) {
|
||||
Poller poller = ApplicationContext.getInstance(context).poller;
|
||||
// FIXME: Open group handling
|
||||
boolean isCaughtUp = true;
|
||||
if (poller != null) {
|
||||
isCaughtUp = isCaughtUp && poller.isCaughtUp();
|
||||
}
|
||||
|
||||
// FIXME: Open group handling
|
||||
/*
|
||||
if (publicChatManager != null) {
|
||||
isCaughtUp = isCaughtUp && publicChatManager.areAllCaughtUp();
|
||||
}
|
||||
*/
|
||||
isCaughtUp = isCaughtUp && OpenGroupManager.INSTANCE.isAllCaughtUp();
|
||||
|
||||
if (isCaughtUp) {
|
||||
performOnBackgroundThreadIfNeeded(() -> wrapped.updateNotification(context));
|
||||
@ -65,18 +60,12 @@ public class OptimizedMessageNotifier implements MessageNotifier {
|
||||
@Override
|
||||
public void updateNotification(@NonNull Context context, long threadId) {
|
||||
Poller lokiPoller = ApplicationContext.getInstance(context).poller;
|
||||
// FIXME: Open group handling
|
||||
boolean isCaughtUp = true;
|
||||
if (lokiPoller != null) {
|
||||
isCaughtUp = isCaughtUp && lokiPoller.isCaughtUp();
|
||||
}
|
||||
|
||||
// FIXME: Open group handling
|
||||
/*
|
||||
if (publicChatManager != null) {
|
||||
isCaughtUp = isCaughtUp && publicChatManager.areAllCaughtUp();
|
||||
}
|
||||
*/
|
||||
isCaughtUp = isCaughtUp && OpenGroupManager.INSTANCE.isAllCaughtUp();
|
||||
|
||||
if (isCaughtUp) {
|
||||
performOnBackgroundThreadIfNeeded(() -> wrapped.updateNotification(context, threadId));
|
||||
@ -88,18 +77,12 @@ public class OptimizedMessageNotifier implements MessageNotifier {
|
||||
@Override
|
||||
public void updateNotification(@NonNull Context context, long threadId, boolean signal) {
|
||||
Poller lokiPoller = ApplicationContext.getInstance(context).poller;
|
||||
// FIXME: Open group handling
|
||||
boolean isCaughtUp = true;
|
||||
if (lokiPoller != null) {
|
||||
isCaughtUp = isCaughtUp && lokiPoller.isCaughtUp();
|
||||
}
|
||||
|
||||
// FIXME: Open group handling
|
||||
/*
|
||||
if (publicChatManager != null) {
|
||||
isCaughtUp = isCaughtUp && publicChatManager.areAllCaughtUp();
|
||||
}
|
||||
*/
|
||||
isCaughtUp = isCaughtUp && OpenGroupManager.INSTANCE.isAllCaughtUp();
|
||||
|
||||
if (isCaughtUp) {
|
||||
performOnBackgroundThreadIfNeeded(() -> wrapped.updateNotification(context, threadId, signal));
|
||||
@ -111,18 +94,12 @@ public class OptimizedMessageNotifier implements MessageNotifier {
|
||||
@Override
|
||||
public void updateNotification(@androidx.annotation.NonNull Context context, boolean signal, int reminderCount) {
|
||||
Poller lokiPoller = ApplicationContext.getInstance(context).poller;
|
||||
// FIXME: Open group handling
|
||||
boolean isCaughtUp = true;
|
||||
if (lokiPoller != null) {
|
||||
isCaughtUp = isCaughtUp && lokiPoller.isCaughtUp();
|
||||
}
|
||||
|
||||
// FIXME: Open group handling
|
||||
/*
|
||||
if (publicChatManager != null) {
|
||||
isCaughtUp = isCaughtUp && publicChatManager.areAllCaughtUp();
|
||||
}
|
||||
*/
|
||||
isCaughtUp = isCaughtUp && OpenGroupManager.INSTANCE.isAllCaughtUp();
|
||||
|
||||
if (isCaughtUp) {
|
||||
performOnBackgroundThreadIfNeeded(() -> wrapped.updateNotification(context, signal, reminderCount));
|
||||
|
Loading…
Reference in New Issue
Block a user