aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/java/eu/siacs/conversations/ui/ConversationFragment.java15
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();
}
});