diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/IndividualSendJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/IndividualSendJob.java index 86ab3cd00f..c3319c3a41 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/IndividualSendJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/IndividualSendJob.java @@ -106,9 +106,14 @@ public class IndividualSendJob extends PushSendJob { ApplicationDependencies.getScheduledMessageManager().scheduleIfNecessary(); return; } - Set attachmentUploadIds = enqueueCompressingAndUploadAttachmentsChains(jobManager, message); - jobManager.add(IndividualSendJob.create(messageId, recipient, attachmentUploadIds.size() > 0, isScheduledSend), attachmentUploadIds, isScheduledSend ? null : recipient.getId().toQueueKey()); + Set attachmentUploadIds = enqueueCompressingAndUploadAttachmentsChains(jobManager, message); + boolean hasMedia = attachmentUploadIds.size() > 0; + boolean addHardDependencies = hasMedia && !isScheduledSend; + + jobManager.add(IndividualSendJob.create(messageId, recipient, hasMedia, isScheduledSend), + attachmentUploadIds, + addHardDependencies ? recipient.getId().toQueueKey() : null); } catch (NoSuchMessageException | MmsException e) { Log.w(TAG, "Failed to enqueue message.", e); SignalDatabase.messages().markAsSentFailed(messageId); diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java index 72635027a9..285f30c78a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java @@ -136,7 +136,12 @@ public final class PushGroupSendJob extends PushSendJob { throw new MmsException("Inactive group!"); } - jobManager.add(new PushGroupSendJob(messageId, destination, filterAddresses, !attachmentUploadIds.isEmpty(), isScheduledSend), attachmentUploadIds, attachmentUploadIds.isEmpty() || isScheduledSend ? null : destination.toQueueKey()); + boolean hasMedia = attachmentUploadIds.size() > 0; + boolean addHardDependencies = hasMedia && !isScheduledSend; + + jobManager.add(new PushGroupSendJob(messageId, destination, filterAddresses, hasMedia, isScheduledSend), + attachmentUploadIds, + addHardDependencies ? destination.toQueueKey() : null); } catch (NoSuchMessageException | MmsException e) { Log.w(TAG, "Failed to enqueue message.", e);