Do not allow values that aren't in options if !open

Stephen Paul Weber created

In case the existing value is no longer an option

Change summary

src/main/java/eu/siacs/conversations/entities/Conversation.java | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

Detailed changes

src/main/java/eu/siacs/conversations/entities/Conversation.java 🔗

@@ -2382,9 +2382,10 @@ public class Conversation extends AbstractEntity
                     binding.list.setOnItemClickListener((parent, view, position, id) -> {
                         Set<String> values = new HashSet<>();
                         if (multi) {
+                            final var optionValues = options.stream().map(o -> o.getValue()).collect(Collectors.toSet());
                             values.addAll(field.getValues());
                             for (final String value : field.getValues()) {
-                                if (filteredValues.contains(value)) {
+                                if (filteredValues.contains(value) || (!open && !optionValues.contains(value))) {
                                     values.remove(value);
                                 }
                             }