prevent QR code parser from crashing fixed #839

This commit is contained in:
Daniel Gultsch 2015-01-05 15:08:13 +01:00
parent bdb335e6b0
commit 2679824770
1 changed files with 13 additions and 6 deletions

View File

@ -18,9 +18,13 @@ public class XmppUri {
try {
parse(Uri.parse(uri));
} catch (IllegalArgumentException e) {
try {
jid = Jid.fromString(uri).toBareJid().toString();
} catch (InvalidJidException e2) {
jid = null;
}
}
}
public XmppUri(Uri uri) {
parse(uri);
@ -42,6 +46,13 @@ public class XmppUri {
try {
jid = URLDecoder.decode(uri.getEncodedPath(), "UTF-8").split("/")[1];
} catch (final UnsupportedEncodingException ignored) {
jid = null;
}
} else {
try {
jid = Jid.fromString(uri.toString()).toBareJid().toString();
} catch (final InvalidJidException ignored) {
jid = null;
}
}
}
@ -62,7 +73,7 @@ public class XmppUri {
public Jid getJid() {
try {
return Jid.fromString(this.jid);
return this.jid == null ? null :Jid.fromString(this.jid);
} catch (InvalidJidException e) {
return null;
}
@ -71,8 +82,4 @@ public class XmppUri {
public String getFingerprint() {
return this.fingerprint;
}
public boolean isMuc() {
return this.muc;
}
}