X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/1548ce9c795662a0dcd6666415c2ecc0a5a88852..dda23e76ac4ed8d88f23c9f39b7110460a8a1ed5:/src/main/java/org/asamk/signal/dbus/DbusProperties.java diff --git a/src/main/java/org/asamk/signal/dbus/DbusProperties.java b/src/main/java/org/asamk/signal/dbus/DbusProperties.java index 37cc35e3..419a034b 100644 --- a/src/main/java/org/asamk/signal/dbus/DbusProperties.java +++ b/src/main/java/org/asamk/signal/dbus/DbusProperties.java @@ -7,6 +7,7 @@ import org.freedesktop.dbus.types.Variant; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.stream.Collectors; public abstract class DbusProperties implements Properties { @@ -25,7 +26,7 @@ public abstract class DbusProperties implements Properties { return handler.get(); } - private java.util.Optional getHandlerOptional(final String interfaceName) { + private Optional getHandlerOptional(final String interfaceName) { return handlers.stream().filter(h -> h.getInterfaceName().equals(interfaceName)).findFirst(); } @@ -61,6 +62,9 @@ public abstract class DbusProperties implements Properties { .getProperties() .stream() .filter(p -> p.getGetter() != null) - .collect(Collectors.toMap(DbusProperty::getName, p -> new Variant<>(p.getGetter().get()))); + .collect(Collectors.toMap(DbusProperty::getName, p -> { + final Object o = p.getGetter().get(); + return o instanceof Variant variant ? variant : new Variant<>(o); + })); } }