diff --git a/service/src/main/java/org/whispersystems/textsecuregcm/grpc/ProfileGrpcHelper.java b/service/src/main/java/org/whispersystems/textsecuregcm/grpc/ProfileGrpcHelper.java index 24fb5f487..d39849dbe 100644 --- a/service/src/main/java/org/whispersystems/textsecuregcm/grpc/ProfileGrpcHelper.java +++ b/service/src/main/java/org/whispersystems/textsecuregcm/grpc/ProfileGrpcHelper.java @@ -12,7 +12,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.UUID; -import org.signal.chat.profile.AccountCapabilities; import org.signal.chat.profile.Badge; import org.signal.chat.profile.BadgeSvg; import org.signal.chat.profile.GetExpiringProfileKeyCredentialResponse; @@ -81,16 +80,12 @@ public class ProfileGrpcHelper { } @VisibleForTesting - static AccountCapabilities buildAccountCapabilities(final Account account) { - final AccountCapabilities.Builder capabilitiesBuilder = AccountCapabilities.newBuilder(); - - Arrays.stream(DeviceCapability.values()) + static List buildAccountCapabilities(final Account account) { + return Arrays.stream(DeviceCapability.values()) .filter(DeviceCapability::includeInProfile) .filter(account::hasCapability) .map(DeviceCapabilityUtil::toGrpcDeviceCapability) - .forEach(capabilitiesBuilder::addCapabilities); - - return capabilitiesBuilder.build(); + .toList(); } private static List buildBadgeSvgs(final List badgeSvgs) { @@ -111,7 +106,7 @@ public class ProfileGrpcHelper { final ProfileBadgeConverter profileBadgeConverter) { final GetUnversionedProfileResponse.Builder responseBuilder = GetUnversionedProfileResponse.newBuilder() .setIdentityKey(ByteString.copyFrom(targetAccount.getIdentityKey(targetIdentifier.identityType()).serialize())) - .setCapabilities(buildAccountCapabilities(targetAccount)); + .addAllCapabilities(buildAccountCapabilities(targetAccount)); switch (targetIdentifier.identityType()) { case ACI -> { diff --git a/service/src/main/proto/org/signal/chat/profile.proto b/service/src/main/proto/org/signal/chat/profile.proto index 59577524a..09ed9ad9a 100644 --- a/service/src/main/proto/org/signal/chat/profile.proto +++ b/service/src/main/proto/org/signal/chat/profile.proto @@ -241,7 +241,7 @@ message GetUnversionedProfileResponse { /** * A list of capabilities enabled on the account. */ - AccountCapabilities capabilities = 4; + repeated common.DeviceCapability capabilities = 4; /** * A list of badges associated with the account. */ @@ -317,10 +317,6 @@ message ProfileAvatarUploadAttributes { bytes signature = 7; } -message AccountCapabilities { - repeated common.DeviceCapability capabilities = 1; -} - message Badge { /** * An ID that uniquely identifies the badge. diff --git a/service/src/test/java/org/whispersystems/textsecuregcm/grpc/ProfileAnonymousGrpcServiceTest.java b/service/src/test/java/org/whispersystems/textsecuregcm/grpc/ProfileAnonymousGrpcServiceTest.java index 1d3a8d42b..b57edfe0b 100644 --- a/service/src/test/java/org/whispersystems/textsecuregcm/grpc/ProfileAnonymousGrpcServiceTest.java +++ b/service/src/test/java/org/whispersystems/textsecuregcm/grpc/ProfileAnonymousGrpcServiceTest.java @@ -36,7 +36,6 @@ import org.junit.jupiter.params.provider.MethodSource; import org.mockito.Mock; import org.signal.chat.common.IdentityType; import org.signal.chat.common.ServiceIdentifier; -import org.signal.chat.profile.AccountCapabilities; import org.signal.chat.profile.CredentialType; import org.signal.chat.profile.GetExpiringProfileKeyCredentialAnonymousRequest; import org.signal.chat.profile.GetExpiringProfileKeyCredentialRequest; @@ -161,9 +160,7 @@ public class ProfileAnonymousGrpcServiceTest extends SimpleBaseGrpcTest