diff options
author | Christian Schneppe <christian@pix-art.de> | 2018-11-23 14:04:55 +0100 |
---|---|---|
committer | Christian Schneppe <christian@pix-art.de> | 2018-11-23 14:04:55 +0100 |
commit | dfb0139a6ca303f23e737d513d50e6789e122573 (patch) | |
tree | 46d99895f58171ecb97f0708d11e18556a517f41 /src/main/java/de/pixart/messenger/entities/Bookmark.java | |
parent | 21b4f2476c8879e7711571a5f1b9bfd0c56fda51 (diff) |
fixed race condition that prevented bookmark nick to be used
Diffstat (limited to 'src/main/java/de/pixart/messenger/entities/Bookmark.java')
-rw-r--r-- | src/main/java/de/pixart/messenger/entities/Bookmark.java | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/main/java/de/pixart/messenger/entities/Bookmark.java b/src/main/java/de/pixart/messenger/entities/Bookmark.java index fc7725bb5..e670673dd 100644 --- a/src/main/java/de/pixart/messenger/entities/Bookmark.java +++ b/src/main/java/de/pixart/messenger/entities/Bookmark.java @@ -87,6 +87,11 @@ public class Bookmark extends Element implements ListItem { return this.jid; } + public Jid getFullJid() { + final String nick = getNick(); + return jid == null || nick == null || nick.trim().isEmpty() ? jid : jid.withResource(nick); + } + @Override public List<Tag> getTags(Context context) { ArrayList<Tag> tags = new ArrayList<>(); @@ -160,7 +165,12 @@ public class Bookmark extends Element implements ListItem { if (this.conversation != null) { this.conversation.clear(); } - this.conversation = new WeakReference<>(conversation); + if (conversation == null) { + this.conversation = null; + } else { + this.conversation = new WeakReference<>(conversation); + conversation.getMucOptions().notifyOfBookmarkNick(getNick()); + } } public String getBookmarkName() { |