diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/v2/processing/GroupsV2StateProcessor.java b/app/src/main/java/org/thoughtcrime/securesms/groups/v2/processing/GroupsV2StateProcessor.java index eb0c8c0682..ba25a61089 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/v2/processing/GroupsV2StateProcessor.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/v2/processing/GroupsV2StateProcessor.java @@ -194,7 +194,7 @@ public final class GroupsV2StateProcessor { if (inputGroupState == null) { try { - if (FeatureFlags.internalUser()) { + if (FeatureFlags.groupsV2UpdatePaging()) { return updateLocalGroupFromServerPaged(revision, localState, timestamp); } else { boolean latestRevisionOnly = revision == LATEST && (localState == null || localState.getRevision() == GroupsV2StateProcessor.RESTORE_PLACEHOLDER_REVISION); diff --git a/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java b/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java index 12ca90c426..057f90440a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java @@ -88,6 +88,7 @@ public final class FeatureFlags { private static final String DONOR_BADGES_DISPLAY = "android.donorBadges.display.4"; private static final String CDSH = "android.cdsh"; private static final String VOICE_NOTE_RECORDING_V2 = "android.voiceNoteRecordingV2.2"; + private static final String GROUPS_V2_UPDATE_PAGING = "android.groupsv2.updatePaging"; /** * We will only store remote values for flags in this set. If you want a flag to be controllable @@ -129,7 +130,8 @@ public final class FeatureFlags { DONOR_BADGES, DONOR_BADGES_DISPLAY, CHANGE_NUMBER_ENABLED, - VOICE_NOTE_RECORDING_V2 + VOICE_NOTE_RECORDING_V2, + GROUPS_V2_UPDATE_PAGING ); @VisibleForTesting @@ -184,7 +186,8 @@ public final class FeatureFlags { SENDER_KEY_MAX_AGE, DONOR_BADGES_DISPLAY, DONATE_MEGAPHONE, - VOICE_NOTE_RECORDING_V2 + VOICE_NOTE_RECORDING_V2, + GROUPS_V2_UPDATE_PAGING ); /** @@ -435,6 +438,11 @@ public final class FeatureFlags { return getBoolean(VOICE_NOTE_RECORDING_V2, false); } + /** Whether or not to use the proper paging when updating group state. */ + public static boolean groupsV2UpdatePaging() { + return getBoolean(GROUPS_V2_UPDATE_PAGING, false); + } + /** Only for rendering debug info. */ public static synchronized @NonNull Map getMemoryValues() { return new TreeMap<>(REMOTE_VALUES);