diff options
author | Christian Schneppe <christian@pix-art.de> | 2016-09-17 11:14:11 +0200 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2016-09-17 11:14:11 +0200 |
commit | c3f3f662592fda629d5eea625a387b04f666bc92 (patch) | |
tree | 68db2cc51a63d2b8a75bbc7e31fb6a4114827be6 /src/main/java/de/pixart/messenger/xmpp | |
parent | 4f5aba38e2011593dc5500b0e68675f6c78eaa9e (diff) |
store jid if it was changed during bind
Diffstat (limited to 'src/main/java/de/pixart/messenger/xmpp')
-rw-r--r-- | src/main/java/de/pixart/messenger/xmpp/XmppConnection.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java b/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java index ef07d379a..8f1948b50 100644 --- a/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java +++ b/src/main/java/de/pixart/messenger/xmpp/XmppConnection.java @@ -994,8 +994,11 @@ public class XmppConnection implements Runnable { final Element jid = bind.findChild("jid"); if (jid != null && jid.getContent() != null) { try { - account.setJid(Jid.fromString(jid.getContent())); - if (streamFeatures.hasChild("session") + if (account.setJid(Jid.fromString(jid.getContent()))) { + Log.d(Config.LOGTAG, account.getJid().toBareJid() + ": bare jid changed during bind. updating database"); + mXmppConnectionService.databaseBackend.updateAccount(account); + } + if (streamFeatures.hasChild("session") && !streamFeatures.findChild("session").hasChild("optional")) { sendStartSession(); } else { |