Change summary
src/main/java/eu/siacs/conversations/entities/MucOptions.java | 6
src/main/java/eu/siacs/conversations/ui/ConferenceDetailsActivity.java | 2
src/main/java/eu/siacs/conversations/ui/MucUsersActivity.java | 2
3 files changed, 7 insertions(+), 3 deletions(-)
Detailed changes
@@ -413,10 +413,14 @@ public class MucOptions {
}
public ArrayList<User> getUsers(boolean includeOffline) {
+ return getUsers(true, false);
+ }
+
+ public ArrayList<User> getUsers(boolean includeOffline, boolean includeOutcast) {
synchronized (users) {
ArrayList<User> users = new ArrayList<>();
for (User user : this.users) {
- if (!user.isDomain() && (includeOffline ? user.getAffiliation().ranks(Affiliation.NONE) : user.getRole().ranks(Role.PARTICIPANT))) {
+ if (!user.isDomain() && (includeOffline ? (includeOutcast || user.getAffiliation().ranks(Affiliation.NONE)) : user.getRole().ranks(Role.PARTICIPANT))) {
users.add(user);
}
}
@@ -668,7 +668,7 @@ public class ConferenceDetailsActivity extends XmppActivity implements OnConvers
});
this.mUserPreviewAdapter.submitList(MucOptions.sub(users, GridManager.getCurrentColumnCount(binding.users)));
this.binding.invite.setVisibility(mucOptions.canInvite() ? View.VISIBLE : View.GONE);
- this.binding.showUsers.setVisibility(users.size() > 0 ? View.VISIBLE : View.GONE);
+ this.binding.showUsers.setVisibility(mucOptions.getUsers(true, mucOptions.getSelf().getAffiliation().ranks(MucOptions.Affiliation.ADMIN)).size() > 0 ? View.VISIBLE : View.GONE);
this.binding.showUsers.setText(getResources().getQuantityString(R.plurals.view_users, users.size(), users.size()));
this.binding.usersWrapper.setVisibility(users.size() > 0 || mucOptions.canInvite() ? View.VISIBLE : View.GONE);
if (users.size() == 0) {
@@ -60,7 +60,7 @@ public class MucUsersActivity extends XmppActivity implements XmppConnectionServ
private void loadAndSubmitUsers() {
if (mConversation != null) {
- allUsers = mConversation.getMucOptions().getUsers();
+ allUsers = mConversation.getMucOptions().getUsers(true, mConversation.getMucOptions().getSelf().getAffiliation().ranks(MucOptions.Affiliation.ADMIN));
submitFilteredList(mSearchEditText != null ? mSearchEditText.getText().toString() : null);
}
}