package org.asamk.signal.manager.util;
-import com.google.protobuf.InvalidProtocolBufferException;
-
import org.asamk.signal.manager.api.Pair;
import org.asamk.signal.manager.api.Profile;
import org.signal.libsignal.protocol.IdentityKey;
import org.whispersystems.signalservice.api.crypto.InvalidCiphertextException;
import org.whispersystems.signalservice.api.crypto.ProfileCipher;
import org.whispersystems.signalservice.api.profiles.SignalServiceProfile;
-import org.whispersystems.signalservice.internal.push.SignalServiceProtos;
+import org.whispersystems.signalservice.internal.push.PaymentAddress;
import java.io.IOException;
import java.util.Base64;
public class ProfileUtils {
- private final static Logger logger = LoggerFactory.getLogger(ProfileUtils.class);
+ private static final Logger logger = LoggerFactory.getLogger(ProfileUtils.class);
public static Profile decryptProfile(
final ProfileKey profileKey, final SignalServiceProfile encryptedProfile
public static HashSet<Profile.Capability> getCapabilities(final SignalServiceProfile encryptedProfile) {
final var capabilities = new HashSet<Profile.Capability>();
- if (encryptedProfile.getCapabilities().isGv1Migration()) {
- capabilities.add(Profile.Capability.gv1Migration);
- }
if (encryptedProfile.getCapabilities().isStorage()) {
capabilities.add(Profile.Capability.storage);
}
- if (encryptedProfile.getCapabilities().isSenderKey()) {
- capabilities.add(Profile.Capability.senderKey);
- }
- if (encryptedProfile.getCapabilities().isAnnouncementGroup()) {
- capabilities.add(Profile.Capability.announcementGroup);
- }
return capabilities;
}
return null;
}
- SignalServiceProtos.PaymentAddress paymentAddress;
+ PaymentAddress paymentAddress;
try {
- paymentAddress = SignalServiceProtos.PaymentAddress.parseFrom(decrypted);
- } catch (InvalidProtocolBufferException e) {
+ paymentAddress = PaymentAddress.ADAPTER.decode(decrypted);
+ } catch (IOException e) {
logger.debug("Failed to parse payment address", e);
return null;
}