aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Gultsch <daniel@gultsch.de>2016-05-17 10:43:48 +0200
committerDaniel Gultsch <daniel@gultsch.de>2016-05-17 10:43:48 +0200
commit14952ba5e5ffbbbda2d0453157f03779ffbdaffb (patch)
tree2212262513d822aaeb49f91de8b21530d1159b63
parentfc5304c6feb302334d15be183d55663965a29de1 (diff)
offer offline members to be invited again
Diffstat (limited to '')
-rw-r--r--src/main/java/eu/siacs/conversations/entities/MucOptions.java18
-rw-r--r--src/main/java/eu/siacs/conversations/ui/XmppActivity.java2
2 files changed, 17 insertions, 3 deletions
diff --git a/src/main/java/eu/siacs/conversations/entities/MucOptions.java b/src/main/java/eu/siacs/conversations/entities/MucOptions.java
index 50641f5a..e931f5fd 100644
--- a/src/main/java/eu/siacs/conversations/entities/MucOptions.java
+++ b/src/main/java/eu/siacs/conversations/entities/MucOptions.java
@@ -349,7 +349,7 @@ public class MucOptions {
User user = findUserByFullJid(jid);
if (user != null) {
users.remove(user);
- if (user.affiliation.ranks(Affiliation.MEMBER)) {
+ if (user.affiliation.ranks(Affiliation.MEMBER) && user.realJid != null) {
user.role = Role.NONE;
user.avatar = null;
user.fullJid = null;
@@ -417,7 +417,21 @@ public class MucOptions {
}
public ArrayList<User> getUsers() {
- return new ArrayList<>(users);
+ return getUsers(true);
+ }
+
+ public ArrayList<User> getUsers(boolean includeOffline) {
+ if (includeOffline) {
+ return new ArrayList<>(users);
+ } else {
+ ArrayList<User> onlineUsers = new ArrayList<>();
+ for(User user : users) {
+ if(user.getRole().ranks(Role.PARTICIPANT)) {
+ onlineUsers.add(user);
+ }
+ }
+ return onlineUsers;
+ }
}
public List<User> getUsers(int max) {
diff --git a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java
index e963ef4c..858806e3 100644
--- a/src/main/java/eu/siacs/conversations/ui/XmppActivity.java
+++ b/src/main/java/eu/siacs/conversations/ui/XmppActivity.java
@@ -478,7 +478,7 @@ public abstract class XmppActivity extends Activity {
ChooseContactActivity.class);
List<String> contacts = new ArrayList<>();
if (conversation.getMode() == Conversation.MODE_MULTI) {
- for (MucOptions.User user : conversation.getMucOptions().getUsers()) {
+ for (MucOptions.User user : conversation.getMucOptions().getUsers(false)) {
Jid jid = user.getRealJid();
if (jid != null) {
contacts.add(jid.toBareJid().toString());