mirror of
https://github.com/oxen-io/session-android.git
synced 2025-06-09 12:58:34 +00:00
Don't enqueue duplicate PushDecryptMessageJobs.
This commit is contained in:
parent
ea8e13b1c8
commit
1cd6b58ece
@ -50,7 +50,7 @@ public class PushDatabase extends Database {
|
|||||||
Optional<Long> messageId = find(envelope);
|
Optional<Long> messageId = find(envelope);
|
||||||
|
|
||||||
if (messageId.isPresent()) {
|
if (messageId.isPresent()) {
|
||||||
return messageId.get();
|
return -1;
|
||||||
} else {
|
} else {
|
||||||
ContentValues values = new ContentValues();
|
ContentValues values = new ContentValues();
|
||||||
values.put(TYPE, envelope.getType());
|
values.put(TYPE, envelope.getType());
|
||||||
|
@ -14,6 +14,7 @@ import org.thoughtcrime.securesms.jobmanager.JobManager;
|
|||||||
import org.thoughtcrime.securesms.jobs.PushDecryptMessageJob;
|
import org.thoughtcrime.securesms.jobs.PushDecryptMessageJob;
|
||||||
import org.thoughtcrime.securesms.logging.Log;
|
import org.thoughtcrime.securesms.logging.Log;
|
||||||
import org.thoughtcrime.securesms.recipients.Recipient;
|
import org.thoughtcrime.securesms.recipients.Recipient;
|
||||||
|
import org.whispersystems.libsignal.util.guava.Optional;
|
||||||
import org.whispersystems.signalservice.api.messages.SignalServiceEnvelope;
|
import org.whispersystems.signalservice.api.messages.SignalServiceEnvelope;
|
||||||
|
|
||||||
import java.io.Closeable;
|
import java.io.Closeable;
|
||||||
@ -90,15 +91,21 @@ public class IncomingMessageProcessor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private @NonNull String processMessage(@NonNull SignalServiceEnvelope envelope) {
|
private @Nullable String processMessage(@NonNull SignalServiceEnvelope envelope) {
|
||||||
Log.i(TAG, "Received message. Inserting in PushDatabase.");
|
Log.i(TAG, "Received message. Inserting in PushDatabase.");
|
||||||
|
|
||||||
long id = pushDatabase.insert(envelope);
|
long id = pushDatabase.insert(envelope);
|
||||||
|
|
||||||
|
if (id > 0) {
|
||||||
PushDecryptMessageJob job = new PushDecryptMessageJob(context, id);
|
PushDecryptMessageJob job = new PushDecryptMessageJob(context, id);
|
||||||
|
|
||||||
jobManager.add(job);
|
jobManager.add(job);
|
||||||
|
|
||||||
return job.getId();
|
return job.getId();
|
||||||
|
} else {
|
||||||
|
Log.w(TAG, "The envelope was already present in the PushDatabase.");
|
||||||
|
return null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void processReceipt(@NonNull SignalServiceEnvelope envelope) {
|
private void processReceipt(@NonNull SignalServiceEnvelope envelope) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user