From 9447ea12cbdf3da79828055d7c6eb3422eae2a4b Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Tue, 8 Oct 2019 13:33:13 -0700 Subject: [PATCH] Remove concept of 'unknown' recipient. --- .../securesms/contacts/ContactSelectionListItem.java | 2 +- src/org/thoughtcrime/securesms/database/MmsDatabase.java | 2 +- src/org/thoughtcrime/securesms/jobs/MmsDownloadJob.java | 9 +++++---- .../securesms/recipients/LiveRecipientCache.java | 4 ---- src/org/thoughtcrime/securesms/recipients/Recipient.java | 2 -- .../thoughtcrime/securesms/recipients/RecipientId.java | 7 ------- 6 files changed, 7 insertions(+), 19 deletions(-) diff --git a/src/org/thoughtcrime/securesms/contacts/ContactSelectionListItem.java b/src/org/thoughtcrime/securesms/contacts/ContactSelectionListItem.java index cb0016f264..3341b10879 100644 --- a/src/org/thoughtcrime/securesms/contacts/ContactSelectionListItem.java +++ b/src/org/thoughtcrime/securesms/contacts/ContactSelectionListItem.java @@ -73,7 +73,7 @@ public class ContactSelectionListItem extends LinearLayout implements RecipientF if (type == ContactRepository.NEW_TYPE) { this.recipient = null; - this.contactPhotoImage.setAvatar(glideRequests, Recipient.UNKNOWN, false); + this.contactPhotoImage.setAvatar(glideRequests, null, false); } else if (recipientId != null) { this.recipient = Recipient.live(recipientId); this.recipient.observeForever(this); diff --git a/src/org/thoughtcrime/securesms/database/MmsDatabase.java b/src/org/thoughtcrime/securesms/database/MmsDatabase.java index 927c09399c..359d568e4d 100644 --- a/src/org/thoughtcrime/securesms/database/MmsDatabase.java +++ b/src/org/thoughtcrime/securesms/database/MmsDatabase.java @@ -1542,7 +1542,7 @@ public class MmsDatabase extends MessagingDatabase { List quoteAttachments = Stream.of(attachments).filter(Attachment::isQuote).toList(); SlideDeck quoteDeck = new SlideDeck(context, quoteAttachments); - if (quoteId > 0 && !quoteAuthor.isUnknown()) { + if (quoteId > 0) { return new Quote(quoteId, quoteAuthor, quoteText, quoteMissing, quoteDeck); } else { return null; diff --git a/src/org/thoughtcrime/securesms/jobs/MmsDownloadJob.java b/src/org/thoughtcrime/securesms/jobs/MmsDownloadJob.java index 6c92ee788c..7a5b1bb4b3 100644 --- a/src/org/thoughtcrime/securesms/jobs/MmsDownloadJob.java +++ b/src/org/thoughtcrime/securesms/jobs/MmsDownloadJob.java @@ -189,14 +189,12 @@ public class MmsDownloadJob extends BaseJob { String body = null; List attachments = new LinkedList<>(); - RecipientId from; + RecipientId from = null; if (retrieved.getFrom() != null) { from = Recipient.external(context, Util.toIsoString(retrieved.getFrom().getTextString())).getId(); } else if (notificationFrom != null) { from = notificationFrom; - } else { - from = RecipientId.UNKNOWN; } if (retrieved.getTo() != null) { @@ -211,7 +209,10 @@ public class MmsDownloadJob extends BaseJob { } } - members.add(from); + if (from != null) { + members.add(from); + } + members.add(Recipient.self().getId()); if (retrieved.getBody() != null) { diff --git a/src/org/thoughtcrime/securesms/recipients/LiveRecipientCache.java b/src/org/thoughtcrime/securesms/recipients/LiveRecipientCache.java index 06e3e53a50..d87d0c3271 100644 --- a/src/org/thoughtcrime/securesms/recipients/LiveRecipientCache.java +++ b/src/org/thoughtcrime/securesms/recipients/LiveRecipientCache.java @@ -23,7 +23,6 @@ public final class LiveRecipientCache { private final Context context; private final RecipientDatabase recipientDatabase; private final Map recipients; - private final LiveRecipient unknown; private RecipientId localRecipientId; @@ -32,13 +31,10 @@ public final class LiveRecipientCache { this.context = context.getApplicationContext(); this.recipientDatabase = DatabaseFactory.getRecipientDatabase(context); this.recipients = new LRUCache<>(1000); - this.unknown = new LiveRecipient(context, new MutableLiveData<>(), Recipient.UNKNOWN); } @AnyThread synchronized @NonNull LiveRecipient getLive(@NonNull RecipientId id) { - if (id.isUnknown()) return unknown; - LiveRecipient live = recipients.get(id); if (live == null) { diff --git a/src/org/thoughtcrime/securesms/recipients/Recipient.java b/src/org/thoughtcrime/securesms/recipients/Recipient.java index acbd90b21b..0ee318f91c 100644 --- a/src/org/thoughtcrime/securesms/recipients/Recipient.java +++ b/src/org/thoughtcrime/securesms/recipients/Recipient.java @@ -44,8 +44,6 @@ import java.util.Objects; public class Recipient { - public static final Recipient UNKNOWN = new Recipient(RecipientId.UNKNOWN); - private final RecipientId id; private final boolean resolving; private final Address address; diff --git a/src/org/thoughtcrime/securesms/recipients/RecipientId.java b/src/org/thoughtcrime/securesms/recipients/RecipientId.java index 1babb4b684..9b5f9c1576 100644 --- a/src/org/thoughtcrime/securesms/recipients/RecipientId.java +++ b/src/org/thoughtcrime/securesms/recipients/RecipientId.java @@ -15,11 +15,8 @@ import java.util.List; public class RecipientId implements Parcelable, Comparable { - private static final long UNKNOWN_ID = -1; private static final char DELIMITER = ','; - public static final RecipientId UNKNOWN = RecipientId.from(UNKNOWN_ID); - private final long id; public static RecipientId from(long id) { @@ -54,10 +51,6 @@ public class RecipientId implements Parcelable, Comparable { return out; } - public boolean isUnknown() { - return id == UNKNOWN_ID; - } - public @NonNull String serialize() { return String.valueOf(id); }