Add some extra preconditions to reaction processing.

This commit is contained in:
Greyson Parrelli
2021-05-24 14:42:55 -04:00
parent 5a28cf616d
commit 1fad5e2c1e
3 changed files with 48 additions and 24 deletions

View File

@@ -150,17 +150,17 @@ public class MmsSmsDatabase extends Database {
return 0;
}
public @Nullable MessageRecord getMessageFor(long timestamp, RecipientId author) {
MmsSmsDatabase db = DatabaseFactory.getMmsSmsDatabase(context);
public @Nullable MessageRecord getMessageFor(long timestamp, RecipientId authorId) {
Recipient author = Recipient.resolved(authorId);
try (Cursor cursor = queryTables(PROJECTION, MmsSmsColumns.NORMALIZED_DATE_SENT + " = " + timestamp, null, null)) {
MmsSmsDatabase.Reader reader = db.readerFor(cursor);
MmsSmsDatabase.Reader reader = readerFor(cursor);
MessageRecord messageRecord;
while ((messageRecord = reader.getNext()) != null) {
if ((Recipient.resolved(author).isSelf() && messageRecord.isOutgoing()) ||
(!Recipient.resolved(author).isSelf() && messageRecord.getIndividualRecipient().getId().equals(author)))
if ((author.isSelf() && messageRecord.isOutgoing()) ||
(!author.isSelf() && messageRecord.getIndividualRecipient().getId().equals(authorId)))
{
return messageRecord;
}

View File

@@ -1318,7 +1318,7 @@ public class ThreadDatabase extends Database {
}
}
private @Nullable ThreadRecord getThreadRecord(@Nullable Long threadId) {
public @Nullable ThreadRecord getThreadRecord(@Nullable Long threadId) {
if (threadId == null) {
return null;
}