aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/entities/Bookmark.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2018-11-23 14:04:55 +0100
committerChristian Schneppe <christian@pix-art.de>2018-11-23 14:04:55 +0100
commitdfb0139a6ca303f23e737d513d50e6789e122573 (patch)
tree46d99895f58171ecb97f0708d11e18556a517f41 /src/main/java/de/pixart/messenger/entities/Bookmark.java
parent21b4f2476c8879e7711571a5f1b9bfd0c56fda51 (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.java12
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() {