diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobmanager/JobTracker.java b/app/src/main/java/org/thoughtcrime/securesms/jobmanager/JobTracker.java index c88209c52a..33ef06331e 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobmanager/JobTracker.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobmanager/JobTracker.java @@ -37,14 +37,6 @@ public class JobTracker { */ synchronized void addListener(@NonNull JobFilter filter, @NonNull JobListener listener) { jobListeners.add(new ListenerInfo(filter, listener)); - - Stream.of(jobInfos.values()) - .filter(info -> info.getJobState() != null) - .filter(info -> filter.matches(info.getJob())) - .forEach(state-> { - //noinspection ConstantConditions We already filter for nulls above - listenerExecutor.execute(() -> listener.onStateChanged(state.getJob(), state.getJobState())); - }); } /** diff --git a/app/src/main/java/org/thoughtcrime/securesms/messages/RestStrategy.java b/app/src/main/java/org/thoughtcrime/securesms/messages/RestStrategy.java index 38dd9749a2..1584b2f9a4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/messages/RestStrategy.java +++ b/app/src/main/java/org/thoughtcrime/securesms/messages/RestStrategy.java @@ -34,6 +34,8 @@ public class RestStrategy extends MessageRetrievalStrategy { QueueFindingJobListener queueListener = new QueueFindingJobListener(); try (IncomingMessageProcessor.Processor processor = ApplicationDependencies.getIncomingMessageProcessor().acquire()) { + jobManager.addListener(job -> job.getParameters().getQueue() != null && job.getParameters().getQueue().startsWith(PushProcessMessageJob.QUEUE_PREFIX), queueListener); + int jobCount = enqueuePushDecryptJobs(processor, startTime, timeout); if (jobCount == 0) { @@ -43,8 +45,6 @@ public class RestStrategy extends MessageRetrievalStrategy { Log.d(TAG, jobCount + " PushDecryptMessageJob(s) were enqueued."); } - jobManager.addListener(job -> job.getParameters().getQueue() != null && job.getParameters().getQueue().startsWith(PushProcessMessageJob.QUEUE_PREFIX), queueListener); - long timeRemainingMs = blockUntilQueueDrained(PushDecryptMessageJob.QUEUE, TimeUnit.SECONDS.toMillis(10)); Set processQueues = queueListener.getQueues();