From: Adimarantis <74186638+bublath@users.noreply.github.com> Date: Fri, 19 Feb 2021 16:54:59 +0000 (+0100) Subject: Add updateProfile to Dbus (#522) X-Git-Tag: v0.8.1~18 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/d0ce3c1543543c157069772a3e4991c9b5566cbb Add updateProfile to Dbus (#522) * Added updateProfile on Dbus * added updateProfile on Dbus (fix) Co-authored-by: Adimarantis --- diff --git a/src/main/java/org/asamk/Signal.java b/src/main/java/org/asamk/Signal.java index 7f5d54d6..1c7d9f1c 100644 --- a/src/main/java/org/asamk/Signal.java +++ b/src/main/java/org/asamk/Signal.java @@ -51,6 +51,8 @@ public interface Signal extends DBusInterface { boolean isRegistered(); + void updateProfile(String name,String about,String aboutEmoji,String avatarPath,boolean removeAvatar) throws Error.Failure; + class MessageReceived extends DBusSignal { private final long timestamp; diff --git a/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java b/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java index a2f6cace..4f23d461 100644 --- a/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java +++ b/src/main/java/org/asamk/signal/dbus/DbusSignalImpl.java @@ -13,6 +13,8 @@ import org.whispersystems.libsignal.util.Pair; import org.whispersystems.signalservice.api.messages.SendMessageResult; import org.whispersystems.signalservice.api.push.SignalServiceAddress; import org.whispersystems.signalservice.api.util.InvalidNumberException; +import org.whispersystems.libsignal.util.guava.Optional; +import org.asamk.signal.manager.storage.contacts.ContactInfo; import java.io.File; import java.io.IOException; @@ -248,4 +250,20 @@ public class DbusSignalImpl implements Signal { public boolean isRegistered() { return true; } + + @Override + public void updateProfile(final String name,final String about,final String aboutEmoji, String avatarPath, final boolean removeAvatar) { + try { + if (avatarPath.isEmpty()) { + avatarPath = null; + } + Optional avatarFile = removeAvatar + ? Optional.absent() + : avatarPath == null ? null : Optional.of(new File(avatarPath)); + m.setProfile(name, about, aboutEmoji, avatarFile); + } catch (IOException e) { + throw new Error.Failure(e.getMessage()); + } + } + }