From 268c9a1c2640fbe4cbec6ed014bc71d7f54f56f1 Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Mon, 8 May 2023 10:23:33 -0400 Subject: [PATCH] Fix conversation list not updating with current state. --- .../thoughtcrime/securesms/jobs/ThreadUpdateJob.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/ThreadUpdateJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/ThreadUpdateJob.java index 9a761e1c0f..6bc5beb775 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/ThreadUpdateJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/ThreadUpdateJob.java @@ -2,12 +2,13 @@ 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.JsonJobData; import org.thoughtcrime.securesms.jobmanager.Job; +import org.thoughtcrime.securesms.jobmanager.JsonJobData; /** * A job that effectively debounces thread updates through a combination of having a max instance count @@ -36,8 +37,13 @@ public final class ThreadUpdateJob extends BaseJob { this.threadId = threadId; } + @WorkerThread public static void enqueue(long threadId) { - ApplicationDependencies.getJobManager().add(new ThreadUpdateJob(threadId)); + if (ApplicationDependencies.getIncomingMessageObserver().getDecryptionDrained()) { + SignalDatabase.threads().update(threadId, true); + } else { + ApplicationDependencies.getJobManager().add(new ThreadUpdateJob(threadId)); + } } @Override