show self messages from other devices as received
This commit is contained in:
parent
e3c46dc926
commit
a5256c3e83
|
@ -410,12 +410,19 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece
|
||||||
}
|
}
|
||||||
boolean isProperlyAddressed = (to != null) && (!to.isBareJid() || account.countPresences() == 0);
|
boolean isProperlyAddressed = (to != null) && (!to.isBareJid() || account.countPresences() == 0);
|
||||||
boolean isMucStatusMessage = from.isBareJid() && mucUserElement != null && mucUserElement.hasChild("status");
|
boolean isMucStatusMessage = from.isBareJid() && mucUserElement != null && mucUserElement.hasChild("status");
|
||||||
|
boolean selfAddressed;
|
||||||
if (packet.fromAccount(account)) {
|
if (packet.fromAccount(account)) {
|
||||||
status = Message.STATUS_SEND;
|
status = Message.STATUS_SEND;
|
||||||
|
selfAddressed = to == null || account.getJid().toBareJid().equals(to.toBareJid());
|
||||||
|
if (selfAddressed) {
|
||||||
|
counterpart = from;
|
||||||
|
} else {
|
||||||
counterpart = to != null ? to : account.getJid();
|
counterpart = to != null ? to : account.getJid();
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
status = Message.STATUS_RECEIVED;
|
status = Message.STATUS_RECEIVED;
|
||||||
counterpart = from;
|
counterpart = from;
|
||||||
|
selfAddressed = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
Invite invite = extractInvite(account, packet);
|
Invite invite = extractInvite(account, packet);
|
||||||
|
@ -431,6 +438,17 @@ public class MessageParser extends AbstractParser implements OnMessagePacketRece
|
||||||
serverMsgId = extractStanzaId(packet, isTypeGroupChat, conversation);
|
serverMsgId = extractStanzaId(packet, isTypeGroupChat, conversation);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (selfAddressed) {
|
||||||
|
if (mXmppConnectionService.markMessage(conversation, remoteMsgId, Message.STATUS_SEND_RECEIVED, serverMsgId)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
status = Message.STATUS_RECEIVED;
|
||||||
|
if (conversation.findMessageWithRemoteId(remoteMsgId,counterpart) != null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (isTypeGroupChat) {
|
if (isTypeGroupChat) {
|
||||||
if (conversation.getMucOptions().isSelf(counterpart)) {
|
if (conversation.getMucOptions().isSelf(counterpart)) {
|
||||||
status = Message.STATUS_SEND_RECEIVED;
|
status = Message.STATUS_SEND_RECEIVED;
|
||||||
|
|
Loading…
Reference in a new issue