let message parser not artifically fail on messages with no to attribute

This commit is contained in:
Daniel Gultsch 2015-12-17 14:30:00 +01:00
parent 43dd681239
commit e10a0b0c4c

View file

@ -304,17 +304,17 @@ public class MessageParser extends AbstractParser implements
final Jid from = packet.getFrom(); final Jid from = packet.getFrom();
final String remoteMsgId = packet.getId(); final String remoteMsgId = packet.getId();
if (from == null || to == null) { if (from == null) {
Log.d(Config.LOGTAG,"no to or from in: "+packet.toString()); Log.d(Config.LOGTAG,"no from in: "+packet.toString());
return; return;
} }
boolean isTypeGroupChat = packet.getType() == MessagePacket.TYPE_GROUPCHAT; boolean isTypeGroupChat = packet.getType() == MessagePacket.TYPE_GROUPCHAT;
boolean isProperlyAddressed = !to.isBareJid() || account.countPresences() == 1; boolean isProperlyAddressed = (to != null ) && (!to.isBareJid() || account.countPresences() == 1);
boolean isMucStatusMessage = from.isBareJid() && mucUserElement != null && mucUserElement.hasChild("status"); boolean isMucStatusMessage = from.isBareJid() && mucUserElement != null && mucUserElement.hasChild("status");
if (packet.fromAccount(account)) { if (packet.fromAccount(account)) {
status = Message.STATUS_SEND; status = Message.STATUS_SEND;
counterpart = to; counterpart = to != null ? to : account.getJid();
} else { } else {
status = Message.STATUS_RECEIVED; status = Message.STATUS_RECEIVED;
counterpart = from; counterpart = from;