fixed rare npe

This commit is contained in:
iNPUTmice 2014-09-23 11:48:48 +02:00
parent 59009ded82
commit 12c2fde61b
1 changed files with 21 additions and 20 deletions

View File

@ -259,32 +259,33 @@ public class MessageParser extends AbstractParser implements
}
private void parseNonMessage(Element packet, Account account) {
String from = packet.getAttribute("from");
if (packet.hasChild("event", "http://jabber.org/protocol/pubsub#event")) {
Element event = packet.findChild("event",
"http://jabber.org/protocol/pubsub#event");
parseEvent(event, packet.getAttribute("from"), account);
} else if (packet.hasChild("displayed", "urn:xmpp:chat-markers:0")) {
} else if (from != null
&& packet.hasChild("displayed", "urn:xmpp:chat-markers:0")) {
String id = packet
.findChild("displayed", "urn:xmpp:chat-markers:0")
.getAttribute("id");
String[] fromParts = packet.getAttribute("from").split("/",2);
updateLastseen(packet, account, true);
mXmppConnectionService.markMessage(account, fromParts[0], id,
Message.STATUS_SEND_DISPLAYED);
} else if (packet.hasChild("received", "urn:xmpp:chat-markers:0")) {
mXmppConnectionService.markMessage(account, from.split("/", 2)[0],
id, Message.STATUS_SEND_DISPLAYED);
} else if (from != null
&& packet.hasChild("received", "urn:xmpp:chat-markers:0")) {
String id = packet.findChild("received", "urn:xmpp:chat-markers:0")
.getAttribute("id");
String[] fromParts = packet.getAttribute("from").split("/",2);
updateLastseen(packet, account, false);
mXmppConnectionService.markMessage(account, fromParts[0], id,
Message.STATUS_SEND_RECEIVED);
} else if (packet.hasChild("received", "urn:xmpp:receipts")) {
mXmppConnectionService.markMessage(account, from.split("/", 2)[0],
id, Message.STATUS_SEND_RECEIVED);
} else if (from != null
&& packet.hasChild("received", "urn:xmpp:receipts")) {
String id = packet.findChild("received", "urn:xmpp:receipts")
.getAttribute("id");
String[] fromParts = packet.getAttribute("from").split("/");
updateLastseen(packet, account, false);
mXmppConnectionService.markMessage(account, fromParts[0], id,
Message.STATUS_SEND_RECEIVED);
mXmppConnectionService.markMessage(account, from.split("/", 2)[0],
id, Message.STATUS_SEND_RECEIVED);
} else if (packet.hasChild("x", "http://jabber.org/protocol/muc#user")) {
Element x = packet.findChild("x",
"http://jabber.org/protocol/muc#user");