From 9c54e39eae2ba7c908a43bca358c71b039b82cf0 Mon Sep 17 00:00:00 2001 From: Alan Evans Date: Thu, 23 Jul 2020 11:25:32 -0300 Subject: [PATCH] Adjust scope of Groups V2 feature flag. --- .../groups/ui/creategroup/CreateGroupActivity.java | 2 +- .../securesms/jobs/PushProcessMessageJob.java | 12 ++++++------ .../securesms/jobs/RequestGroupV2InfoWorkerJob.java | 5 ----- 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/CreateGroupActivity.java b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/CreateGroupActivity.java index fa8b09f8f9..96ea29bcd2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/CreateGroupActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/CreateGroupActivity.java @@ -150,7 +150,7 @@ public class CreateGroupActivity extends ContactSelectionActivity { stopwatch.split("registered"); - if (FeatureFlags.groupsV2()) { + if (FeatureFlags.groupsV2create()) { try { new GroupsV2CapabilityChecker().refreshCapabilitiesIfNecessary(resolved); } catch (IOException e) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushProcessMessageJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushProcessMessageJob.java index c1c8bbc7d5..01814b2f3b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushProcessMessageJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushProcessMessageJob.java @@ -1755,6 +1755,12 @@ public final class PushProcessMessageJob extends BaseJob { } else if (conversation.isGroup()) { GroupDatabase groupDatabase = DatabaseFactory.getGroupDatabase(context); Optional groupId = GroupUtil.idFromGroupContext(message.getGroupContext()); + boolean isGv2Message = message.isGroupV2Message(); + + if (isGv2Message && !FeatureFlags.groupsV2() && groupDatabase.isUnknownGroup(groupId.get())) { + Log.i(TAG, "Ignoring GV2 message for a new group by feature flag."); + return true; + } if (groupId.isPresent() && groupDatabase.isUnknownGroup(groupId.get())) { return false; @@ -1763,17 +1769,11 @@ public final class PushProcessMessageJob extends BaseJob { boolean isTextMessage = message.getBody().isPresent(); boolean isMediaMessage = message.getAttachments().isPresent() || message.getQuote().isPresent() || message.getSharedContacts().isPresent(); boolean isExpireMessage = message.isExpirationUpdate(); - boolean isGv2Message = message.isGroupV2Message(); boolean isGv2Update = message.isGroupV2Update(); boolean isContentMessage = !message.isGroupV1Update() && !isGv2Update && !isExpireMessage && (isTextMessage || isMediaMessage); boolean isGroupActive = groupId.isPresent() && groupDatabase.isActive(groupId.get()); boolean isLeaveMessage = message.getGroupContext().isPresent() && message.getGroupContext().get().getGroupV1Type() == SignalServiceGroup.Type.QUIT; - if (isGv2Message && !FeatureFlags.groupsV2()) { - Log.i(TAG, "Ignoring GV2 message by feature flag."); - return true; - } - return (isContentMessage && !isGroupActive) || (sender.isBlocked() && !isLeaveMessage && !isGv2Update); } else { return sender.isBlocked(); diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/RequestGroupV2InfoWorkerJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/RequestGroupV2InfoWorkerJob.java index 60ac892e1f..98cce1e732 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/RequestGroupV2InfoWorkerJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/RequestGroupV2InfoWorkerJob.java @@ -71,11 +71,6 @@ final class RequestGroupV2InfoWorkerJob extends BaseJob { @Override public void onRun() throws IOException, GroupNotAMemberException, GroupChangeBusyException { - if (!FeatureFlags.groupsV2()) { - Log.w(TAG, "Group update skipped due to feature flag " + groupId); - return; - } - Log.i(TAG, "Updating group to revision " + toRevision); Optional group = DatabaseFactory.getGroupDatabase(context).getGroup(groupId);