Manage group links behind feature flag.

This commit is contained in:
Alan Evans
2020-08-26 15:59:34 -03:00
parent 860f06ec9e
commit bfed03b7b5
51 changed files with 2177 additions and 80 deletions

View File

@@ -111,6 +111,24 @@ public final class DecryptedGroupUtil {
return uuidList;
}
/**
* Will not return any non-decryptable member UUIDs.
*/
public static ArrayList<UUID> removedRequestingMembersUuidList(DecryptedGroupChange groupChange) {
List<ByteString> deleteRequestingMembers = groupChange.getDeleteRequestingMembersList();
ArrayList<UUID> uuidList = new ArrayList<>(deleteRequestingMembers.size());
for (ByteString member : deleteRequestingMembers) {
UUID uuid = toUuid(member);
if(!UuidUtil.UNKNOWN_UUID.equals(uuid)) {
uuidList.add(uuid);
}
}
return uuidList;
}
public static UUID toUuid(DecryptedMember member) {
return toUuid(member.getUuid());
}

View File

@@ -1632,7 +1632,6 @@ public class PushServiceSocket {
.readTimeout(soTimeoutMillis, TimeUnit.MILLISECONDS)
.build();
// Log.d(TAG, "Opening URL: " + String.format("%s%s", connectionHolder.getUrl(), path));
Log.d(TAG, "Opening URL: <REDACTED>");
Request.Builder request = new Request.Builder().url(connectionHolder.getUrl() + path);
@@ -1960,8 +1959,13 @@ public class PushServiceSocket {
public GroupChange patchGroupsV2Group(GroupChange.Actions groupChange, String authorization, Optional<byte[]> groupLinkPassword)
throws NonSuccessfulResponseCodeException, PushNetworkException, InvalidProtocolBufferException
{
String path = groupLinkPassword.transform(p -> String.format(GROUPSV2_GROUP_PASSWORD, Base64UrlSafe.encodeBytesWithoutPadding(p)))
.or(GROUPSV2_GROUP);
String path;
if (groupLinkPassword.isPresent()) {
path = String.format(GROUPSV2_GROUP_PASSWORD, Base64UrlSafe.encodeBytesWithoutPadding(groupLinkPassword.get()));
} else {
path = GROUPSV2_GROUP;
}
ResponseBody response = makeStorageRequest(authorization,
path,