dbus method to get contact info

This commit is contained in:
Finn 2017-02-19 13:34:49 -08:00
parent 8e8de2fe39
commit beff4f91f0
2 changed files with 28 additions and 0 deletions

View file

@ -19,6 +19,10 @@ public interface Signal extends DBusInterface {
void sendGroupMessage(String message, List<String> 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;

View file

@ -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));