diff options
Diffstat (limited to '')
-rw-r--r-- | src/main/java/de/pixart/messenger/ui/ConversationFragment.java | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java index 97e8bb5f0..39534be2d 100644 --- a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java +++ b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java @@ -1139,10 +1139,15 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke if (message.getConversation().getMode() == Conversation.MODE_MULTI) { Jid user = message.getCounterpart(); if (user != null && !user.isBareJid()) { - if (!message.getConversation().getMucOptions().isUserInRoom(user)) { - Toast.makeText(activity, getActivity().getString(R.string.user_has_left_conference, user.getResource()), Toast.LENGTH_SHORT).show(); + final MucOptions mucOptions = message.getConversation().getMucOptions(); + if (mucOptions.participating() || message.getConversation().getNextCounterpart() != null) { + if (!mucOptions.isUserInRoom(user)) { + Toast.makeText(getActivity(), activity.getString(R.string.user_has_left_conference, user.getResource()), Toast.LENGTH_SHORT).show(); + } + highlightInConference(user.getResource()); + } else { + Toast.makeText(getActivity(), R.string.you_are_not_participating, Toast.LENGTH_SHORT).show(); } - highlightInConference(user.getResource()); } return; } else { @@ -2002,7 +2007,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke } if (this.conversation != null) { final String msg = this.binding.textinput.getText().toString(); - if (this.conversation.setNextMessage(msg)) { + if (this.conversation.getStatus() != Conversation.STATUS_ARCHIVED && this.conversation.setNextMessage(msg)) { this.activity.xmppConnectionService.updateConversation(this.conversation); } updateChatState(this.conversation, msg); @@ -2145,7 +2150,10 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke //do nothing } } else { - highlightInConference(nick); + final MucOptions mucOptions = conversation.getMucOptions(); + if (mucOptions.participating() || conversation.getNextCounterpart() != null) { + highlightInConference(nick); + } } } else { appendText(text); |