diff options
Diffstat (limited to '')
-rw-r--r-- | src/main/java/de/pixart/messenger/ui/ConversationFragment.java | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java index 371bdb5e5..4207a1b5e 100644 --- a/src/main/java/de/pixart/messenger/ui/ConversationFragment.java +++ b/src/main/java/de/pixart/messenger/ui/ConversationFragment.java @@ -960,7 +960,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke message.setEdited(message.getUuid()); message.setUuid(UUID.randomUUID().toString()); } - switch (message.getConversation().getNextEncryption()) { + switch (conversation.getNextEncryption()) { case Message.ENCRYPTION_OTR: sendOtrMessage(message); break; @@ -1204,11 +1204,11 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke messageListAdapter.setOnContactPictureClicked(message -> { final boolean received = message.getStatus() <= Message.STATUS_RECEIVED; if (received) { - if (message.getConversation().getMode() == Conversation.MODE_MULTI) { + if (message.getConversation() instanceof Conversation && message.getConversation().getMode() == Conversation.MODE_MULTI) { Jid user = message.getCounterpart(); if (user != null && !user.isBareJid()) { - final MucOptions mucOptions = message.getConversation().getMucOptions(); - if (mucOptions.participating() || message.getConversation().getNextCounterpart() != null) { + final MucOptions mucOptions = ((Conversation) message.getConversation()).getMucOptions(); + if (mucOptions.participating() || ((Conversation) 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(); } @@ -1350,7 +1350,8 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke } if (relevantForCorrection.getType() == Message.TYPE_TEXT && relevantForCorrection.isLastCorrectableMessage() - && (m.getConversation().getMucOptions().nonanonymous() || m.getConversation().getMode() == Conversation.MODE_SINGLE)) { + && m.getConversation() instanceof Conversation + && (((Conversation) m.getConversation()).getMucOptions().nonanonymous() || m.getConversation().getMode() == Conversation.MODE_SINGLE)) { correctMessage.setVisible(true); } if ((m.isFileOrImage() && !deleted && !receiving) || (m.getType() == Message.TYPE_TEXT && !m.treatAsDownloadable())) { @@ -1898,9 +1899,12 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke public void resendMessage(final Message message) { if (message != null && message.isFileOrImage()) { + if (!(message.getConversation() instanceof Conversation)) { + return; + } + final Conversation conversation = (Conversation) message.getConversation(); DownloadableFile file = activity.xmppConnectionService.getFileBackend().getFile(message); if (file.exists()) { - final Conversation conversation = message.getConversation(); final XmppConnection xmppConnection = conversation.getAccount().getXmppConnection(); if (!message.hasFileOnRemoteHost() && xmppConnection != null @@ -2797,7 +2801,7 @@ public class ConversationFragment extends XmppFragment implements EditMessage.Ke protected void sendOtrMessage(final Message message) { final ConversationsActivity activity = (ConversationsActivity) getActivity(); final XmppConnectionService xmppService = activity.xmppConnectionService; - activity.selectPresence(message.getConversation(), + activity.selectPresence(conversation, () -> { message.setCounterpart(conversation.getNextCounterpart()); xmppService.sendMessage(message); |