@Override
public void subscribeReceive() {
if (dbusMessageHandler == null) {
- dbusMessageHandler = new DbusReceiveMessageHandler(m, connection, objectPath);
+ dbusMessageHandler = new DbusReceiveMessageHandler(connection, objectPath);
m.addReceiveHandler(dbusMessageHandler);
}
subscriberCount++;
}
}
+ @Override
+ public void deleteRecipient(final String recipient) throws Error.Failure {
+ try {
+ m.deleteRecipient(getSingleRecipientIdentifier(recipient, m.getSelfNumber()));
+ } catch (IOException e) {
+ throw new Error.Failure("Recipient not found");
+ }
+ }
+
+ @Override
+ public void deleteContact(final String recipient) throws Error.Failure {
+ try {
+ m.deleteContact(getSingleRecipientIdentifier(recipient, m.getSelfNumber()));
+ } catch (IOException e) {
+ throw new Error.Failure("Contact not found");
+ }
+ }
+
@Override
public long sendGroupMessage(final String message, final List<String> attachments, final byte[] groupId) {
try {
public List<String> listNumbers() {
return Stream.concat(m.getIdentities().stream().map(Identity::recipient),
m.getContacts().stream().map(Pair::first))
- .map(a -> a.getNumber().orElse(null))
+ .map(a -> a.number().orElse(null))
.filter(Objects::nonNull)
.distinct()
.collect(Collectors.toList());
// Try profiles if no contact name was found
for (var identity : m.getIdentities()) {
final var address = identity.recipient();
- var number = address.getNumber().orElse(null);
+ var number = address.number().orElse(null);
if (number != null) {
Profile profile = null;
try {