diff options
Diffstat (limited to 'src/main/java/eu/siacs/conversations/ui/ConversationFragment.java')
-rw-r--r-- | src/main/java/eu/siacs/conversations/ui/ConversationFragment.java | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java index 287d1636..1d26ff8a 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java @@ -35,6 +35,7 @@ import net.java.otr4j.session.SessionStatus; import java.util.ArrayList; import java.util.List; +import java.util.NoSuchElementException; import java.util.concurrent.ConcurrentLinkedQueue; import eu.siacs.conversations.R; @@ -503,6 +504,8 @@ public class ConversationFragment extends Fragment { } this.activity = (ConversationActivity) getActivity(); this.conversation = conversation; + this.mDecryptJobRunning = false; + this.mEncryptedMessages.clear(); if (this.conversation.getMode() == Conversation.MODE_MULTI) { this.conversation.setNextCounterpart(null); } @@ -626,7 +629,11 @@ public class ConversationFragment extends Fragment { @Override public void success(Message message) { mDecryptJobRunning = false; - mEncryptedMessages.remove(); + try { + mEncryptedMessages.remove(); + } catch (final NoSuchElementException ignored) { + + } activity.xmppConnectionService.updateMessage(message); } @@ -634,7 +641,11 @@ public class ConversationFragment extends Fragment { public void error(int error, Message message) { message.setEncryption(Message.ENCRYPTION_DECRYPTION_FAILED); mDecryptJobRunning = false; - mEncryptedMessages.remove(); + try { + mEncryptedMessages.remove(); + } catch (final NoSuchElementException ignored) { + + } activity.xmppConnectionService.updateConversationUi(); } }); |