Go back to enqueuing thread update job.

This commit is contained in:
Clark
2023-05-12 12:07:52 -04:00
committed by Greyson Parrelli
parent 1b82d10b39
commit 7c37f929a5

View File

@@ -2,13 +2,12 @@ package org.thoughtcrime.securesms.jobs;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.WorkerThread;
import org.signal.core.util.ThreadUtil;
import org.thoughtcrime.securesms.database.SignalDatabase;
import org.thoughtcrime.securesms.dependencies.ApplicationDependencies;
import org.thoughtcrime.securesms.jobmanager.Job;
import org.thoughtcrime.securesms.jobmanager.JsonJobData;
import org.thoughtcrime.securesms.jobmanager.Job;
/**
* A job that effectively debounces thread updates through a combination of having a max instance count
@@ -20,7 +19,8 @@ public final class ThreadUpdateJob extends BaseJob {
private static final String KEY_THREAD_ID = "thread_id";
private static final long DEBOUNCE_INTERVAL = 3000;
private static final long DEBOUNCE_INTERVAL = 500;
private static final long DEBOUNCE_INTERVAL_WITH_BACKLOG = 3000;
private final long threadId;
@@ -37,13 +37,8 @@ public final class ThreadUpdateJob extends BaseJob {
this.threadId = threadId;
}
@WorkerThread
public static void enqueue(long threadId) {
if (ApplicationDependencies.getIncomingMessageObserver().getDecryptionDrained()) {
SignalDatabase.threads().update(threadId, true);
} else {
ApplicationDependencies.getJobManager().add(new ThreadUpdateJob(threadId));
}
ApplicationDependencies.getJobManager().add(new ThreadUpdateJob(threadId));
}
@Override
@@ -59,7 +54,11 @@ public final class ThreadUpdateJob extends BaseJob {
@Override
protected void onRun() throws Exception {
SignalDatabase.threads().update(threadId, true);
ThreadUtil.sleep(DEBOUNCE_INTERVAL);
if (ApplicationDependencies.getIncomingMessageObserver().getDecryptionDrained()) {
ThreadUtil.sleep(DEBOUNCE_INTERVAL);
} else {
ThreadUtil.sleep(DEBOUNCE_INTERVAL_WITH_BACKLOG);
}
}
@Override