diff --git a/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java b/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java index 5ff2026429e0c751790ef73077e481617ad50530..7dc9fc8fb834871ec2140f71eaa2b62559199bd9 100644 --- a/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java +++ b/src/main/java/eu/siacs/conversations/ui/adapter/MessageAdapter.java @@ -629,10 +629,6 @@ public class MessageAdapter extends ArrayAdapter { final String nick = UIHelper.getMessageDisplayName(message); SpannableStringBuilder body = getSpannableBody(message); final var processMarkup = body.getSpans(0, body.length(), Message.PlainTextSpan.class).length > 0; - boolean hasMeCommand = message.hasMeCommand(); - if (hasMeCommand) { - body = body.replace(0, Message.ME_COMMAND.length(), nick + " "); - } if (body.length() > Config.MAX_DISPLAY_MESSAGE_CHARS) { body = new SpannableStringBuilder(body, 0, Config.MAX_DISPLAY_MESSAGE_CHARS); body.append("\u2026"); @@ -666,8 +662,12 @@ public class MessageAdapter extends ArrayAdapter { } } } + boolean hasMeCommand = body.toString().startsWith(Message.ME_COMMAND); + if (hasMeCommand) { + body = body.replace(0, Message.ME_COMMAND.length(), nick + " "); + } if (!message.isPrivateMessage()) { - if (hasMeCommand) { + if (hasMeCommand && body.length() > nick.length()) { body.setSpan( new StyleSpan(Typeface.BOLD_ITALIC), 0,