aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/entities/MucOptions.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2017-08-01 12:40:05 +0200
committerChristian Schneppe <christian@pix-art.de>2017-08-01 12:40:05 +0200
commite8c191dcd2e97977ee6a5e2738295d22e411ca9e (patch)
tree8c613061a3464a1349db216e442de08ef5282167 /src/main/java/de/pixart/messenger/entities/MucOptions.java
parent8b6981c6ebf8286eb690764aaa8165a7a398c8da (diff)
fetch device ids for muc members w/o known devices
Diffstat (limited to 'src/main/java/de/pixart/messenger/entities/MucOptions.java')
-rw-r--r--src/main/java/de/pixart/messenger/entities/MucOptions.java10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/main/java/de/pixart/messenger/entities/MucOptions.java b/src/main/java/de/pixart/messenger/entities/MucOptions.java
index ef2f4bee4..3e2349c9c 100644
--- a/src/main/java/de/pixart/messenger/entities/MucOptions.java
+++ b/src/main/java/de/pixart/messenger/entities/MucOptions.java
@@ -448,13 +448,16 @@ public class MucOptions {
return user;
}
- public void updateUser(User user) {
+ //returns true if real jid was new;
+ public boolean updateUser(User user) {
User old;
+ boolean realJidFound = false;
if (user.fullJid == null && user.realJid != null) {
old = findUserByRealJid(user.realJid);
+ realJidFound = old != null;
if (old != null) {
if (old.fullJid != null) {
- return; //don't add. user already exists
+ return false; //don't add. user already exists
} else {
synchronized (users) {
users.remove(old);
@@ -463,6 +466,7 @@ public class MucOptions {
}
} else if (user.realJid != null) {
old = findUserByRealJid(user.realJid);
+ realJidFound = old != null;
synchronized (users) {
if (old != null && old.fullJid == null) {
users.remove(old);
@@ -479,8 +483,10 @@ public class MucOptions {
&& user.getAffiliation().outranks(Affiliation.OUTCAST)
&& !fullJidIsSelf) {
this.users.add(user);
+ return !realJidFound && user.realJid != null;
}
}
+ return false;
}
public User findUserByFullJid(Jid jid) {