From 3df67a16439d427e4f501536526ae49dce318186 Mon Sep 17 00:00:00 2001 From: Moxie Marlinspike Date: Tue, 21 May 2013 10:23:27 -0700 Subject: [PATCH] Properly return unknown recipient from SMS db on empty. --- .../thoughtcrime/securesms/database/SmsDatabase.java | 9 ++++++++- .../thoughtcrime/securesms/recipients/Recipients.java | 10 +++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/src/org/thoughtcrime/securesms/database/SmsDatabase.java b/src/org/thoughtcrime/securesms/database/SmsDatabase.java index 997b54d1f5..6ad121c186 100644 --- a/src/org/thoughtcrime/securesms/database/SmsDatabase.java +++ b/src/org/thoughtcrime/securesms/database/SmsDatabase.java @@ -434,7 +434,14 @@ public class SmsDatabase extends Database implements MmsSmsColumns { private Recipients getRecipientsFor(String address) { try { - return RecipientFactory.getRecipientsFromString(context, address, false); + Recipients recipients = RecipientFactory.getRecipientsFromString(context, address, false); + + if (recipients == null || recipients.isEmpty()) { + return new Recipients(new Recipient("Unknown", "Unknown", null, + ContactPhotoFactory.getDefaultContactPhoto(context))); + } + + return recipients; } catch (RecipientFormattingException e) { Log.w("EncryptingSmsDatabase", e); return new Recipients(new Recipient("Unknown", "Unknown", null, diff --git a/src/org/thoughtcrime/securesms/recipients/Recipients.java b/src/org/thoughtcrime/securesms/recipients/Recipients.java index 3e7eef4fc2..c7a0bb3f45 100644 --- a/src/org/thoughtcrime/securesms/recipients/Recipients.java +++ b/src/org/thoughtcrime/securesms/recipients/Recipients.java @@ -64,11 +64,11 @@ public class Recipients implements Parcelable { this.recipients.addAll(recipients.getRecipientsList()); } - public Recipients truncateToSingleRecipient() { - assert(!this.recipients.isEmpty()); - this.recipients = this.recipients.subList(0, 1); - return this; - } +// public Recipients truncateToSingleRecipient() { +// assert(!this.recipients.isEmpty()); +// this.recipients = this.recipients.subList(0, 1); +// return this; +// } public void addListener(RecipientModifiedListener listener) { for (Recipient recipient : recipients) {