filter method
Implementation
List<EnhancedRoomModel> filter(List<EnhancedRoomModel> rooms) {
List<EnhancedRoomModel> newRooms = [];
for (var element in rooms) {
var ok = true;
if (loggedIn != null) {
List<String> blockedMembers = loggedIn!.getBlocked();
// do not add room if all members are blocked
if (element.roomModel.members != null) {
int bad = 0;
for (var member in element.roomModel.members!) {
if (blockedMembers.contains(member)) {
bad++;
}
}
// this room is ok if there are more members in it other than blocked members, excluding myself
ok = (element.roomModel.members!.length - 1 > bad);
}
}
if (ok) {
newRooms.add(element);
}
}
return newRooms;
}