diff options
author | iNPUTmice <daniel@gultsch.de> | 2015-04-09 12:46:54 +0200 |
---|---|---|
committer | iNPUTmice <daniel@gultsch.de> | 2015-04-09 12:46:54 +0200 |
commit | 332fe0fd194a80501cf935f22faed645f3032b57 (patch) | |
tree | 7733821f5ce527d08f3f828eaabe56e15df59c0e /src/main/java/eu/siacs/conversations/entities/Account.java | |
parent | f880473435b6c3167edc727eacccef377643a8c5 (diff) |
don't resume old session when changing resource
Diffstat (limited to 'src/main/java/eu/siacs/conversations/entities/Account.java')
-rw-r--r-- | src/main/java/eu/siacs/conversations/entities/Account.java | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/main/java/eu/siacs/conversations/entities/Account.java b/src/main/java/eu/siacs/conversations/entities/Account.java index 2bc2c9540..fe1030945 100644 --- a/src/main/java/eu/siacs/conversations/entities/Account.java +++ b/src/main/java/eu/siacs/conversations/entities/Account.java @@ -229,11 +229,17 @@ public class Account extends AbstractEntity { return jid.getResourcepart(); } - public void setResource(final String resource) { - try { - jid = Jid.fromParts(jid.getLocalpart(), jid.getDomainpart(), resource); - } catch (final InvalidJidException ignored) { + public boolean setResource(final String resource) { + final String oldResource = jid.getResourcepart(); + if (oldResource == null || !oldResource.equals(resource)) { + try { + jid = Jid.fromParts(jid.getLocalpart(), jid.getDomainpart(), resource); + return true; + } catch (final InvalidJidException ignored) { + return true; + } } + return false; } public Jid getJid() { |