aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoriNPUTmice <daniel@gultsch.de>2014-06-23 21:48:48 +0200
committeriNPUTmice <daniel@gultsch.de>2014-06-23 21:48:48 +0200
commitd7656dd420d2215de776b3665760f867aee6bea4 (patch)
tree895913dd40dbf431e7a7878897fc4e988bff73f7
parent43e276e3250ced19d7bd2d45d99ecbf6debce6a3 (diff)
fix for not being able to send otr encrypted images to offline contacts. unconfirmed
-rw-r--r--src/eu/siacs/conversations/services/XmppConnectionService.java36
1 files changed, 18 insertions, 18 deletions
diff --git a/src/eu/siacs/conversations/services/XmppConnectionService.java b/src/eu/siacs/conversations/services/XmppConnectionService.java
index 356342b4..f71a6d78 100644
--- a/src/eu/siacs/conversations/services/XmppConnectionService.java
+++ b/src/eu/siacs/conversations/services/XmppConnectionService.java
@@ -760,29 +760,29 @@ public class XmppConnectionService extends Service {
private void resendMessage(Message message) {
Account account = message.getConversation().getAccount();
- if (message.getType() == Message.TYPE_TEXT) {
+ if (message.getEncryption() == Message.ENCRYPTION_OTR) {
+ Presences presences = message.getConversation().getContact()
+ .getPresences();
+ if (!message.getConversation().hasValidOtrSession()) {
+ if ((message.getPresence() != null)
+ && (presences.has(message.getPresence()))) {
+ message.getConversation().startOtrSession(
+ getApplicationContext(), message.getPresence(),
+ true);
+ } else {
+ if (presences.size() == 1) {
+ String presence = presences.asStringArray()[0];
+ message.getConversation().startOtrSession(
+ getApplicationContext(), presence, true);
+ }
+ }
+ }
+ } else if (message.getType() == Message.TYPE_TEXT) {
MessagePacket packet = null;
if (message.getEncryption() == Message.ENCRYPTION_NONE) {
packet = mMessageGenerator.generateChat(message,true);
} else if ((message.getEncryption() == Message.ENCRYPTION_DECRYPTED)||(message.getEncryption() == Message.ENCRYPTION_PGP)) {
packet = mMessageGenerator.generatePgpChat(message,true);
- } else if (message.getEncryption() == Message.ENCRYPTION_OTR) {
- Presences presences = message.getConversation().getContact()
- .getPresences();
- if (!message.getConversation().hasValidOtrSession()) {
- if ((message.getPresence() != null)
- && (presences.has(message.getPresence()))) {
- message.getConversation().startOtrSession(
- getApplicationContext(), message.getPresence(),
- true);
- } else {
- if (presences.size() == 1) {
- String presence = presences.asStringArray()[0];
- message.getConversation().startOtrSession(
- getApplicationContext(), presence, true);
- }
- }
- }
}
if (packet != null) {
account.getXmppConnection().sendMessagePacket(packet);