From ca9032e1099e6d7ee1343cd5da98e9557668dc17 Mon Sep 17 00:00:00 2001 From: Niels Andriesse Date: Fri, 11 Oct 2019 14:59:13 +1100 Subject: [PATCH] Quick fix crash --- .../conversation/ConversationActivity.java | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java b/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java index 1a3095f843..e50f0fa078 100644 --- a/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java +++ b/src/org/thoughtcrime/securesms/conversation/ConversationActivity.java @@ -413,6 +413,7 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity composeText.setText(newText); composeText.setSelection(newText.length()); userSelectionView.hide(); + currentMentionStartIndex = -1; return Unit.INSTANCE; }); } @@ -2094,10 +2095,14 @@ public class ConversationActivity extends PassphraseRequiredActionBarActivity if (result.length() < 1 && !attachmentManager.isAttachmentPresent()) throw new InvalidMessageException(); int shift = 0; for (Mention mention : mentions) { - int startIndex = mention.getLocationInString() + shift; - int endIndex = startIndex + mention.getDisplayName().length() + 1; // + 1 to include the @ - shift = shift + mention.getHexEncodedPublicKey().length() - mention.getDisplayName().length(); - result = result.substring(0, startIndex) + "@" + mention.getHexEncodedPublicKey() + result.substring(endIndex); + try { + int startIndex = mention.getLocationInString() + shift; + int endIndex = startIndex + mention.getDisplayName().length() + 1; // + 1 to include the @ + shift = shift + mention.getHexEncodedPublicKey().length() - mention.getDisplayName().length(); + result = result.substring(0, startIndex) + "@" + mention.getHexEncodedPublicKey() + result.substring(endIndex); + } catch (Exception exception) { + // Do nothing + } } return result; }