diff --git a/src/org/thoughtcrime/securesms/ConversationListItem.java b/src/org/thoughtcrime/securesms/ConversationListItem.java index 51a42a7e2..9d8a86657 100644 --- a/src/org/thoughtcrime/securesms/ConversationListItem.java +++ b/src/org/thoughtcrime/securesms/ConversationListItem.java @@ -113,7 +113,8 @@ public class ConversationListItem extends RelativeLayout } public void unbind() { - this.recipients.removeListener(this); + if (this.recipients != null) + this.recipients.removeListener(this); } private void initializeContactWidgetVisibility() { diff --git a/src/org/thoughtcrime/securesms/crypto/KeyExchangeProcessor.java b/src/org/thoughtcrime/securesms/crypto/KeyExchangeProcessor.java index 3aa97481b..42a7bde14 100644 --- a/src/org/thoughtcrime/securesms/crypto/KeyExchangeProcessor.java +++ b/src/org/thoughtcrime/securesms/crypto/KeyExchangeProcessor.java @@ -111,8 +111,10 @@ public class KeyExchangeProcessor { sessionRecord.save(); - DatabaseFactory.getIdentityDatabase(context) - .saveIdentity(masterSecret, recipient, message.getIdentityKey()); + if (message.hasIdentityKey()) { + DatabaseFactory.getIdentityDatabase(context) + .saveIdentity(masterSecret, recipient, message.getIdentityKey()); + } DecryptingQueue.scheduleRogueMessages(context, masterSecret, recipient);