diff options
author | Daniel Gultsch <daniel@gultsch.de> | 2016-02-17 16:51:36 +0100 |
---|---|---|
committer | Daniel Gultsch <daniel@gultsch.de> | 2016-02-17 16:51:36 +0100 |
commit | 59978e157ccbf4717a15238ddb0b0d0d422d7e3f (patch) | |
tree | 1d01b8da5f741afd2c69fbb8fef259257af5d05f /src/main/java/eu/siacs/conversations/ui | |
parent | 3626e4b3a0d3d3da4be1bdf7645045d8cf892b50 (diff) |
only offer message correction for the very last message
Diffstat (limited to 'src/main/java/eu/siacs/conversations/ui')
-rw-r--r-- | src/main/java/eu/siacs/conversations/ui/ConversationFragment.java | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java index 6ead9962..c02a33b0 100644 --- a/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java +++ b/src/main/java/eu/siacs/conversations/ui/ConversationFragment.java @@ -514,6 +514,10 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa private void populateContextMenu(ContextMenu menu) { final Message m = this.selectedMessage; + Message relevantForCorrection = m; + while(relevantForCorrection.mergeable(relevantForCorrection.next())) { + relevantForCorrection = relevantForCorrection.next(); + } if (m.getType() != Message.TYPE_STATUS) { activity.getMenuInflater().inflate(R.menu.message_context, menu); menu.setHeaderTitle(R.string.message_options); @@ -530,9 +534,8 @@ public class ConversationFragment extends Fragment implements EditMessage.Keyboa && m.treatAsDownloadable() != Message.Decision.MUST) { copyText.setVisible(true); } - if (m.getType() == Message.TYPE_TEXT - && m.getStatus() != Message.STATUS_RECEIVED - && !m.isCarbon()) { + if (relevantForCorrection.getType() == Message.TYPE_TEXT + && relevantForCorrection.isLastCorrectableMessage()) { correctMessage.setVisible(true); } if ((m.getType() != Message.TYPE_TEXT |