From beff4f91f03123e834455fa5ea25c4e2b12d5cb6 Mon Sep 17 00:00:00 2001 From: Finn Date: Sun, 19 Feb 2017 13:34:49 -0800 Subject: [PATCH] dbus method to get contact info --- src/main/java/org/asamk/Signal.java | 4 ++++ src/main/java/org/asamk/signal/Manager.java | 24 +++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/src/main/java/org/asamk/Signal.java b/src/main/java/org/asamk/Signal.java index 02fc22dd..e7555f07 100644 --- a/src/main/java/org/asamk/Signal.java +++ b/src/main/java/org/asamk/Signal.java @@ -19,6 +19,10 @@ public interface Signal extends DBusInterface { void sendGroupMessage(String message, List attachments, byte[] groupId) throws EncapsulatedExceptions, GroupNotFoundException, AttachmentInvalidException, IOException; + String getContactName(String number); + + void setContactName(String number, String name); + class MessageReceived extends DBusSignal { private long timestamp; private String sender; diff --git a/src/main/java/org/asamk/signal/Manager.java b/src/main/java/org/asamk/signal/Manager.java index 578565ef..9b7267f5 100644 --- a/src/main/java/org/asamk/signal/Manager.java +++ b/src/main/java/org/asamk/signal/Manager.java @@ -775,6 +775,30 @@ class Manager implements Signal { sendMessage(messageBuilder, recipients); } + @Override + public String getContactName(String number) { + ContactInfo contact = contactStore.getContact(number); + if(contact == null) { + return number; + } else { + return contact.name; + } + } + + @Override + public void setContactName(String number, String name) { + ContactInfo contact = contactStore.getContact(number); + if(contact == null) { + contact = new ContactInfo(); + contact.number = number; + System.out.println("Add contact " + number + " named " + name); + } else { + System.out.println("Updating contact " + number + " name " + contact.name + " -> " + name); + } + contact.name = name; + contactStore.updateContact(contact); + } + private void requestSyncGroups() throws IOException { SignalServiceProtos.SyncMessage.Request r = SignalServiceProtos.SyncMessage.Request.newBuilder().setType(SignalServiceProtos.SyncMessage.Request.Type.GROUPS).build(); SignalServiceSyncMessage message = SignalServiceSyncMessage.forRequest(new RequestMessage(r));