package org.asamk.signal.manager.api;
import org.asamk.signal.manager.groups.GroupId;
+import org.asamk.signal.manager.storage.recipients.RecipientAddress;
import org.whispersystems.signalservice.api.push.SignalServiceAddress;
import org.whispersystems.signalservice.api.util.InvalidNumberException;
import org.whispersystems.signalservice.api.util.PhoneNumberFormatter;
public static Single fromAddress(SignalServiceAddress address) {
return new Uuid(address.getUuid());
}
+
+ public static Single fromAddress(RecipientAddress address) {
+ if (address.getNumber().isPresent()) {
+ return new Number(address.getNumber().get());
+ } else if (address.getUuid().isPresent()) {
+ return new Uuid(address.getUuid().get());
+ }
+ throw new AssertionError("RecipientAddress without identifier");
+ }
+
+ public abstract String getIdentifier();
}
public static class Uuid extends Single {
public int hashCode() {
return uuid.hashCode();
}
+
+ @Override
+ public String getIdentifier() {
+ return uuid.toString();
+ }
}
public static class Number extends Single {
public int hashCode() {
return number.hashCode();
}
+
+ @Override
+ public String getIdentifier() {
+ return number;
+ }
}
public static class Group extends RecipientIdentifier {