diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsViewModel.java b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsViewModel.java index 2dfaa7d3e5..d225781d38 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsViewModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsViewModel.java @@ -63,8 +63,9 @@ public final class AddGroupDetailsViewModel extends ViewModel { }); nonGv2CapableMembers = LiveDataUtil.mapAsync(membersToCheckGv2CapabilityOf, memberList -> repository.checkCapabilities(Stream.of(memberList).map(newGroupCandidate -> newGroupCandidate.getMember().getId()).toList())); - canSubmitForm = FeatureFlags.groupsV1ForcedMigration() ? LiveDataUtil.just(false) - : LiveDataUtil.combineLatest(isMms, isValidName, (mms, validName) -> mms || validName); + canSubmitForm = LiveDataUtil.combineLatest(LiveDataUtil.combineLatest(isMms, isValidName, (mms, validName) -> mms || validName), + nonGv2CapableMembers, + (canSubmit, nonGv2) -> canSubmit && !(FeatureFlags.groupsV1ForcedMigration() && nonGv2.size() > 0)); repository.resolveMembers(recipientIds, initialMembers::postValue); } 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 9fdb5d7687..614b069f89 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java @@ -60,7 +60,7 @@ public final class FeatureFlags { private static final String CLIENT_EXPIRATION = "android.clientExpiration"; public static final String DONATE_MEGAPHONE = "android.donate"; private static final String VIEWED_RECEIPTS = "android.viewed.receipts"; - private static final String GV1_FORCED_MIGRATE = "android.groupsV1Migration.forced"; + private static final String GV1_FORCED_MIGRATE = "android.groupsV1Migration.forced.2"; private static final String SEND_VIEWED_RECEIPTS = "android.sendViewedReceipts"; private static final String CUSTOM_VIDEO_MUXER = "android.customVideoMuxer"; private static final String CDS_REFRESH_INTERVAL = "cds.syncInterval.seconds"; @@ -146,7 +146,8 @@ public final class FeatureFlags { ANIMATED_STICKER_MIN_MEMORY, ANIMATED_STICKER_MIN_TOTAL_MEMORY, MESSAGE_PROCESSOR_ALARM_INTERVAL, - MESSAGE_PROCESSOR_DELAY + MESSAGE_PROCESSOR_DELAY, + GV1_FORCED_MIGRATE ); /**