Change summary
src/main/java/eu/siacs/conversations/xmpp/XmppConnection.java | 4
src/main/java/eu/siacs/conversations/xmpp/jingle/stanzas/JinglePacket.java | 5
2 files changed, 6 insertions(+), 3 deletions(-)
Detailed changes
@@ -710,7 +710,9 @@ public class XmppConnection implements Runnable {
if (Config.BACKGROUND_STANZA_LOGGING && mXmppConnectionService.checkListeners()) {
Log.d(Config.LOGTAG, "[background stanza] " + element);
}
- if (element instanceof IqPacket && element.hasChild("jingle", Namespace.JINGLE)) {
+ if (element instanceof IqPacket
+ && (((IqPacket) element).getType() == IqPacket.TYPE.SET)
+ && element.hasChild("jingle", Namespace.JINGLE)) {
return JinglePacket.upgrade((IqPacket) element);
} else {
return element;
@@ -29,6 +29,7 @@ public class JinglePacket extends IqPacket {
public static JinglePacket upgrade(final IqPacket iqPacket) {
Preconditions.checkArgument(iqPacket.hasChild("jingle", Namespace.JINGLE));
+ Preconditions.checkArgument(iqPacket.getType() == TYPE.SET);
final JinglePacket jinglePacket = new JinglePacket();
jinglePacket.setAttributes(iqPacket.getAttributes());
jinglePacket.setChildren(iqPacket.getChildren());
@@ -70,11 +71,11 @@ public class JinglePacket extends IqPacket {
public ReasonWrapper getReason() {
final Element reasonElement = getJingleChild("reason");
if (reasonElement == null) {
- return new ReasonWrapper(Reason.UNKNOWN,null);
+ return new ReasonWrapper(Reason.UNKNOWN, null);
}
String text = null;
Reason reason = Reason.UNKNOWN;
- for(Element child : reasonElement.getChildren()) {
+ for (Element child : reasonElement.getChildren()) {
if ("text".equals(child.getName())) {
text = child.getContent();
} else {