From 0972d8f1e1664ba221baae3cb761fb7a54ab5937 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Tue, 8 Jun 2021 12:42:51 -0400 Subject: [PATCH] Inline the GV1 forced migration flag. --- .../GroupsV1MigrationInitiationReminder.java | 24 ----------- .../conversation/ConversationActivity.java | 13 ------ .../ConversationGroupViewModel.java | 40 ------------------- .../securesms/database/GroupDatabase.java | 4 +- .../securesms/database/RecipientDatabase.java | 23 ----------- .../details/AddGroupDetailsFragment.java | 9 +---- .../details/AddGroupDetailsViewModel.java | 2 +- .../dialogs/NonGv2MemberDialog.java | 10 ++--- .../securesms/jobs/PushGroupSendJob.java | 2 +- .../mediasend/CameraContactsRepository.java | 2 +- .../MessageRequestRepository.java | 10 ++--- .../securesms/service/DirectShareService.java | 2 +- .../securesms/sharing/ShareActivity.java | 4 +- .../securesms/util/FeatureFlags.java | 8 ---- app/src/main/res/values/ids.xml | 3 -- app/src/main/res/values/strings.xml | 5 --- 16 files changed, 15 insertions(+), 146 deletions(-) delete mode 100644 app/src/main/java/org/thoughtcrime/securesms/components/reminder/GroupsV1MigrationInitiationReminder.java diff --git a/app/src/main/java/org/thoughtcrime/securesms/components/reminder/GroupsV1MigrationInitiationReminder.java b/app/src/main/java/org/thoughtcrime/securesms/components/reminder/GroupsV1MigrationInitiationReminder.java deleted file mode 100644 index 138a2c100..000000000 --- a/app/src/main/java/org/thoughtcrime/securesms/components/reminder/GroupsV1MigrationInitiationReminder.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.thoughtcrime.securesms.components.reminder; - -import android.content.Context; - -import androidx.annotation.NonNull; - -import org.thoughtcrime.securesms.R; - -/** - * Shows a reminder to upgrade a group to GV2. - */ -public class GroupsV1MigrationInitiationReminder extends Reminder { - - public GroupsV1MigrationInitiationReminder(@NonNull Context context) { - super(null, context.getString(R.string.GroupsV1MigrationInitiationReminder_to_access_new_features_like_mentions)); - addAction(new Action(context.getString(R.string.GroupsV1MigrationInitiationReminder_upgrade_group), R.id.reminder_action_gv1_initiation_update_group)); - addAction(new Action(context.getResources().getString(R.string.GroupsV1MigrationInitiationReminder_not_now), R.id.reminder_action_gv1_initiation_not_now)); - } - - @Override - public boolean isDismissable() { - return false; - } -} diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java index 6f4984ac2..9eb321be2 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationActivity.java @@ -123,7 +123,6 @@ import org.thoughtcrime.securesms.components.identity.UnverifiedBannerView; import org.thoughtcrime.securesms.components.location.SignalPlace; import org.thoughtcrime.securesms.components.mention.MentionAnnotation; import org.thoughtcrime.securesms.components.reminder.ExpiredBuildReminder; -import org.thoughtcrime.securesms.components.reminder.GroupsV1MigrationInitiationReminder; import org.thoughtcrime.securesms.components.reminder.GroupsV1MigrationSuggestionsReminder; import org.thoughtcrime.securesms.components.reminder.PendingGroupJoinRequestsReminder; import org.thoughtcrime.securesms.components.reminder.Reminder; @@ -1652,8 +1651,6 @@ public class ConversationActivity extends PassphraseRequiredActivity private void initializeGroupV1MigrationsBanners() { groupViewModel.getGroupV1MigrationSuggestions() .observe(this, s -> updateReminders()); - groupViewModel.getShowGroupsV1MigrationBanner() - .observe(this, b -> updateReminders()); } private ListenableFuture initializeDraftFromDatabase() { @@ -1812,7 +1809,6 @@ public class ConversationActivity extends PassphraseRequiredActivity Optional inviteReminder = inviteReminderModel.getReminder(); Integer actionableRequestingMembers = groupViewModel.getActionableRequestingMembers().getValue(); List gv1MigrationSuggestions = groupViewModel.getGroupV1MigrationSuggestions().getValue(); - Boolean gv1MigrationBanner = groupViewModel.getShowGroupsV1MigrationBanner().getValue(); if (UnauthorizedReminder.isEligible(this)) { reminderView.get().showReminder(new UnauthorizedReminder(this)); @@ -1837,15 +1833,6 @@ public class ConversationActivity extends PassphraseRequiredActivity startActivity(ManagePendingAndRequestingMembersActivity.newIntent(this, getRecipient().getGroupId().get().requireV2())); } }); - } else if (gv1MigrationBanner == Boolean.TRUE && recipient.get().isPushV1Group()) { - reminderView.get().showReminder(new GroupsV1MigrationInitiationReminder(this)); - reminderView.get().setOnActionClickListener(actionId -> { - if (actionId == R.id.reminder_action_gv1_initiation_update_group) { - GroupsV1MigrationInitiationBottomSheetDialogFragment.showForInitiation(getSupportFragmentManager(), recipient.getId()); - } else if (actionId == R.id.reminder_action_gv1_initiation_not_now) { - groupViewModel.onMigrationInitiationReminderBannerDismissed(recipient.getId()); - } - }); } else if (gv1MigrationSuggestions != null && gv1MigrationSuggestions.size() > 0 && recipient.get().isPushV2Group()) { reminderView.get().showReminder(new GroupsV1MigrationSuggestionsReminder(this, gv1MigrationSuggestions)); reminderView.get().setOnActionClickListener(actionId -> { diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationGroupViewModel.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationGroupViewModel.java index 81be46367..cf3574fbc 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationGroupViewModel.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationGroupViewModel.java @@ -43,15 +43,12 @@ import java.util.concurrent.TimeUnit; final class ConversationGroupViewModel extends ViewModel { - private static final long GV1_MIGRATION_REMINDER_INTERVAL = TimeUnit.DAYS.toMillis(1); - private final MutableLiveData liveRecipient; private final LiveData groupActiveState; private final LiveData selfMembershipLevel; private final LiveData actionableRequestingMembers; private final LiveData reviewState; private final LiveData> gv1MigrationSuggestions; - private final LiveData gv1MigrationReminder; private boolean firstTimeInviteFriendsTriggered; @@ -73,7 +70,6 @@ final class ConversationGroupViewModel extends ViewModel { this.selfMembershipLevel = Transformations.distinctUntilChanged(Transformations.map(groupRecord, ConversationGroupViewModel::mapToSelfMembershipLevel)); this.actionableRequestingMembers = Transformations.distinctUntilChanged(Transformations.map(groupRecord, ConversationGroupViewModel::mapToActionableRequestingMemberCount)); this.gv1MigrationSuggestions = Transformations.distinctUntilChanged(LiveDataUtil.mapAsync(groupRecord, ConversationGroupViewModel::mapToGroupV1MigrationSuggestions)); - this.gv1MigrationReminder = Transformations.distinctUntilChanged(LiveDataUtil.mapAsync(groupRecord, ConversationGroupViewModel::mapToGroupV1MigrationReminder)); this.reviewState = LiveDataUtil.combineLatest(groupRecord, duplicates, (record, dups) -> dups.isEmpty() @@ -95,13 +91,6 @@ final class ConversationGroupViewModel extends ViewModel { }); } - void onMigrationInitiationReminderBannerDismissed(@NonNull RecipientId recipientId) { - SignalExecutors.BOUNDED.execute(() -> { - DatabaseFactory.getRecipientDatabase(ApplicationDependencies.getApplication()).markGroupsV1MigrationReminderSeen(recipientId, System.currentTimeMillis()); - liveRecipient.postValue(liveRecipient.getValue()); - }); - } - /** * The number of pending group join requests that can be actioned by this client. */ @@ -125,10 +114,6 @@ final class ConversationGroupViewModel extends ViewModel { return gv1MigrationSuggestions; } - @NonNull LiveData getShowGroupsV1MigrationBanner() { - return gv1MigrationReminder; - } - private static @Nullable GroupRecord getGroupRecordForRecipient(@Nullable Recipient recipient) { if (recipient != null && recipient.isGroup()) { Application context = ApplicationDependencies.getApplication(); @@ -188,31 +173,6 @@ final class ConversationGroupViewModel extends ViewModel { .toList(); } - @WorkerThread - private static boolean mapToGroupV1MigrationReminder(@Nullable GroupRecord record) { - if (record == null || - !record.isV1Group() || - !record.isActive() || - FeatureFlags.groupsV1ForcedMigration() || - Recipient.self().getGroupsV1MigrationCapability() != Recipient.Capability.SUPPORTED || - !Recipient.resolved(record.getRecipientId()).isProfileSharing()) - { - return false; - } - - boolean canAutoMigrate = Stream.of(Recipient.resolvedList(record.getMembers())) - .allMatch(GroupsV1MigrationUtil::isAutoMigratable); - - if (canAutoMigrate) { - return false; - } - - Context context = ApplicationDependencies.getApplication(); - long lastReminderTime = DatabaseFactory.getRecipientDatabase(context).getGroupsV1MigrationReminderLastSeen(record.getRecipientId()); - - return System.currentTimeMillis() - lastReminderTime > GV1_MIGRATION_REMINDER_INTERVAL; - } - public static void onCancelJoinRequest(@NonNull Recipient recipient, @NonNull AsynchronousCallback.WorkerThread callback) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/GroupDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/GroupDatabase.java index 10a74d290..270524264 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/GroupDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/GroupDatabase.java @@ -1067,7 +1067,7 @@ private static final String[] GROUP_PROJECTION = { return GroupAccessControl.ALL_MEMBERS; } return GroupAccessControl.ONLY_ADMINS; - } else if (isV1Group() && FeatureFlags.groupsV1ForcedMigration()) { + } else if (isV1Group()) { return GroupAccessControl.NO_ONE; } else { return id.isV1() ? GroupAccessControl.ALL_MEMBERS : GroupAccessControl.ONLY_ADMINS; @@ -1083,7 +1083,7 @@ private static final String[] GROUP_PROJECTION = { return GroupAccessControl.ALL_MEMBERS; } return GroupAccessControl.ONLY_ADMINS; - } else if (isV1Group() && FeatureFlags.groupsV1ForcedMigration()) { + } else if (isV1Group()) { return GroupAccessControl.NO_ONE; } else { return GroupAccessControl.ALL_MEMBERS; diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.java b/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.java index f2dba7b65..3ba759a34 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.java +++ b/app/src/main/java/org/thoughtcrime/securesms/database/RecipientDatabase.java @@ -140,7 +140,6 @@ public class RecipientDatabase extends Database { private static final String PROFILE_JOINED_NAME = "profile_joined_name"; private static final String MENTION_SETTING = "mention_setting"; private static final String STORAGE_PROTO = "storage_proto"; - private static final String LAST_GV1_MIGRATE_REMINDER = "last_gv1_migrate_reminder"; private static final String LAST_SESSION_RESET = "last_session_reset"; private static final String WALLPAPER = "wallpaper"; private static final String WALLPAPER_URI = "wallpaper_file"; @@ -359,7 +358,6 @@ public class RecipientDatabase extends Database { MENTION_SETTING + " INTEGER DEFAULT " + MentionSetting.ALWAYS_NOTIFY.getId() + ", " + STORAGE_PROTO + " TEXT DEFAULT NULL, " + CAPABILITIES + " INTEGER DEFAULT 0, " + - LAST_GV1_MIGRATE_REMINDER + " INTEGER DEFAULT 0, " + LAST_SESSION_RESET + " BLOB DEFAULT NULL, " + WALLPAPER + " BLOB DEFAULT NULL, " + WALLPAPER_URI + " TEXT DEFAULT NULL, " + @@ -1583,27 +1581,6 @@ public class RecipientDatabase extends Database { } } - public void markGroupsV1MigrationReminderSeen(@NonNull RecipientId id, long time) { - ContentValues values = new ContentValues(1); - values.put(LAST_GV1_MIGRATE_REMINDER, time); - if (update(id, values)) { - Recipient.live(id).refresh(); - } - } - - public long getGroupsV1MigrationReminderLastSeen(@NonNull RecipientId id) { - SQLiteDatabase db = databaseHelper.getReadableDatabase(); - - try (Cursor cursor = db.query(TABLE_NAME, new String[] { LAST_GV1_MIGRATE_REMINDER }, ID_WHERE, SqlUtil.buildArgs(id), null, null, null)) { - if (cursor.moveToFirst()) { - return CursorUtil.requireLong(cursor, LAST_GV1_MIGRATE_REMINDER); - } - } - - return 0; - } - - public void setLastSessionResetTime(@NonNull RecipientId id, DeviceLastResetTime lastResetTime) { ContentValues values = new ContentValues(1); values.put(LAST_SESSION_RESET, lastResetTime.toByteArray()); diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsFragment.java b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsFragment.java index 1e0cd5f8f..adc8ea6bd 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/details/AddGroupDetailsFragment.java @@ -130,15 +130,10 @@ public class AddGroupDetailsFragment extends LoggingFragment { toolbar.setTitle(isMms ? R.string.AddGroupDetailsFragment__create_group : R.string.AddGroupDetailsFragment__name_this_group); }); viewModel.getNonGv2CapableMembers().observe(getViewLifecycleOwner(), nonGv2CapableMembers -> { - boolean forcedMigration = FeatureFlags.groupsV1ForcedMigration(); - - int stringRes = forcedMigration ? R.plurals.AddGroupDetailsFragment__d_members_do_not_support_new_groups_so_this_group_cannot_be_created - : R.plurals.AddGroupDetailsFragment__d_members_do_not_support_new_groups; - gv2Warning.setVisibility(nonGv2CapableMembers.isEmpty() ? View.GONE : View.VISIBLE); - gv2Warning.setText(requireContext().getResources().getQuantityString(stringRes, nonGv2CapableMembers.size(), nonGv2CapableMembers.size())); + gv2Warning.setText(requireContext().getResources().getQuantityString(R.plurals.AddGroupDetailsFragment__d_members_do_not_support_new_groups_so_this_group_cannot_be_created, nonGv2CapableMembers.size(), nonGv2CapableMembers.size())); gv2Warning.setLearnMoreVisible(true); - gv2Warning.setOnLinkClickListener(v -> NonGv2MemberDialog.showNonGv2Members(requireContext(), nonGv2CapableMembers, forcedMigration)); + gv2Warning.setOnLinkClickListener(v -> NonGv2MemberDialog.showNonGv2Members(requireContext(), nonGv2CapableMembers)); }); viewModel.getAvatar().observe(getViewLifecycleOwner(), avatarBytes -> { if (avatarBytes == null) { 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 2b1a792e1..b88359f6f 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 @@ -64,7 +64,7 @@ public final class AddGroupDetailsViewModel extends ViewModel { nonGv2CapableMembers = LiveDataUtil.mapAsync(membersToCheckGv2CapabilityOf, memberList -> repository.checkCapabilities(Stream.of(memberList).map(newGroupCandidate -> newGroupCandidate.getMember().getId()).toList())); canSubmitForm = LiveDataUtil.combineLatest(LiveDataUtil.combineLatest(isMms, isValidName, (mms, validName) -> mms || validName), nonGv2CapableMembers, - (canSubmit, nonGv2) -> canSubmit && !(FeatureFlags.groupsV1ForcedMigration() && nonGv2.size() > 0)); + (canSubmit, nonGv2) -> canSubmit && nonGv2.isEmpty()); repository.resolveMembers(recipientIds, initialMembers::postValue); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/dialogs/NonGv2MemberDialog.java b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/dialogs/NonGv2MemberDialog.java index 5bc018b74..87858e5c7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/dialogs/NonGv2MemberDialog.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/creategroup/dialogs/NonGv2MemberDialog.java @@ -20,7 +20,7 @@ public final class NonGv2MemberDialog { private NonGv2MemberDialog() { } - public static @Nullable Dialog showNonGv2Members(@NonNull Context context, @NonNull List recipients, boolean forcedMigration) { + public static @Nullable Dialog showNonGv2Members(@NonNull Context context, @NonNull List recipients) { int size = recipients.size(); if (size == 0) { return null; @@ -32,13 +32,9 @@ public final class NonGv2MemberDialog { // }) .setPositiveButton(android.R.string.ok, null); if (size == 1) { - int stringRes = forcedMigration ? R.string.NonGv2MemberDialog_single_users_are_non_gv2_capable_forced_migration - : R.string.NonGv2MemberDialog_single_users_are_non_gv2_capable; - builder.setMessage(context.getString(stringRes, recipients.get(0).getDisplayName(context))); + builder.setMessage(context.getString(R.string.NonGv2MemberDialog_single_users_are_non_gv2_capable_forced_migration, recipients.get(0).getDisplayName(context))); } else { - int pluralRes = forcedMigration ? R.plurals.NonGv2MemberDialog_d_users_are_non_gv2_capable_forced_migration - : R.plurals.NonGv2MemberDialog_d_users_are_non_gv2_capable; - builder.setMessage(context.getResources().getQuantityString(pluralRes, size, size)) + builder.setMessage(context.getResources().getQuantityString(R.plurals.NonGv2MemberDialog_d_users_are_non_gv2_capable_forced_migration, size, size)) .setView(R.layout.dialog_multiple_members_non_gv2_capable); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java index 2566ee16e..74f691bb6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java @@ -174,7 +174,7 @@ public final class PushGroupSendJob extends PushSendJob { throw new MmsException("Message recipient isn't a group!"); } - if (groupRecipient.isPushV1Group() && FeatureFlags.groupsV1ForcedMigration()) { + if (groupRecipient.isPushV1Group()) { throw new MmsException("No GV1 messages can be sent anymore!"); } diff --git a/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraContactsRepository.java b/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraContactsRepository.java index e03c27ac2..2cebda83c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraContactsRepository.java +++ b/app/src/main/java/org/thoughtcrime/securesms/mediasend/CameraContactsRepository.java @@ -120,7 +120,7 @@ class CameraContactsRepository { List recipients = new ArrayList<>(); - try (GroupDatabase.Reader reader = groupDatabase.getGroupsFilteredByTitle(query, false, FeatureFlags.groupsV1ForcedMigration())) { + try (GroupDatabase.Reader reader = groupDatabase.getGroupsFilteredByTitle(query, false, true)) { GroupDatabase.GroupRecord groupRecord; while ((groupRecord = reader.getNext()) != null) { RecipientId recipientId = recipientDatabase.getOrInsertFromGroupId(groupRecord.getId()); diff --git a/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestRepository.java b/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestRepository.java index ac2ec5f91..c0df3d7b5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestRepository.java +++ b/app/src/main/java/org/thoughtcrime/securesms/messagerequests/MessageRequestRepository.java @@ -103,14 +103,10 @@ final class MessageRequestRepository { } } else if (recipient.isPushV1Group()) { if (RecipientUtil.isMessageRequestAccepted(context, threadId)) { - if (FeatureFlags.groupsV1ForcedMigration()) { - if (recipient.getParticipants().size() > FeatureFlags.groupLimits().getHardLimit()) { - return MessageRequestState.DEPRECATED_GROUP_V1_TOO_LARGE; - } else { - return MessageRequestState.DEPRECATED_GROUP_V1; - } + if (recipient.getParticipants().size() > FeatureFlags.groupLimits().getHardLimit()) { + return MessageRequestState.DEPRECATED_GROUP_V1_TOO_LARGE; } else { - return MessageRequestState.NONE; + return MessageRequestState.DEPRECATED_GROUP_V1; } } else if (!recipient.isActiveGroup()) { return MessageRequestState.NONE; diff --git a/app/src/main/java/org/thoughtcrime/securesms/service/DirectShareService.java b/app/src/main/java/org/thoughtcrime/securesms/service/DirectShareService.java index d66ccc5c7..b15f4400a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/service/DirectShareService.java +++ b/app/src/main/java/org/thoughtcrime/securesms/service/DirectShareService.java @@ -67,7 +67,7 @@ public class DirectShareService extends ChooserTargetService { ComponentName componentName = new ComponentName(this, ShareActivity.class); ThreadDatabase threadDatabase = DatabaseFactory.getThreadDatabase(this); - try (ThreadDatabase.Reader reader = threadDatabase.readerFor(threadDatabase.getRecentConversationList(MAX_TARGETS, false, FeatureFlags.groupsV1ForcedMigration()))) { + try (ThreadDatabase.Reader reader = threadDatabase.readerFor(threadDatabase.getRecentConversationList(MAX_TARGETS, false, true))) { ThreadRecord record; while ((record = reader.getNext()) != null) { diff --git a/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareActivity.java b/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareActivity.java index 033b1bb59..1b8f0a372 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareActivity.java +++ b/app/src/main/java/org/thoughtcrime/securesms/sharing/ShareActivity.java @@ -217,9 +217,7 @@ public class ShareActivity extends PassphraseRequiredActivity mode |= DisplayMode.FLAG_SMS; } - if (FeatureFlags.groupsV1ForcedMigration()) { - mode |= DisplayMode.FLAG_HIDE_GROUPS_V1; - } + mode |= DisplayMode.FLAG_HIDE_GROUPS_V1; getIntent().putExtra(ContactSelectionListFragment.DISPLAY_MODE, mode); } 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 81e6f2999..3915a42c7 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java +++ b/app/src/main/java/org/thoughtcrime/securesms/util/FeatureFlags.java @@ -61,7 +61,6 @@ 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.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"; @@ -96,7 +95,6 @@ public final class FeatureFlags { CLIENT_EXPIRATION, DONATE_MEGAPHONE, VIEWED_RECEIPTS, - GV1_FORCED_MIGRATE, SEND_VIEWED_RECEIPTS, CUSTOM_VIDEO_MUXER, CDS_REFRESH_INTERVAL, @@ -158,7 +156,6 @@ public final class FeatureFlags { ANIMATED_STICKER_MIN_TOTAL_MEMORY, MESSAGE_PROCESSOR_ALARM_INTERVAL, MESSAGE_PROCESSOR_DELAY, - GV1_FORCED_MIGRATE, MP4_GIF_SEND_SUPPORT, MEDIA_QUALITY_LEVELS, RETRY_RECEIPT_LIFESPAN, @@ -284,11 +281,6 @@ public final class FeatureFlags { return getBoolean(VIEWED_RECEIPTS, false); } - /** Whether or not forced migration from GV1->GV2 is enabled. */ - public static boolean groupsV1ForcedMigration() { - return getBoolean(GV1_FORCED_MIGRATE, false); - } - /** Whether or not to send viewed receipts. */ public static boolean sendViewedReceipts() { return getBoolean(SEND_VIEWED_RECEIPTS, false); diff --git a/app/src/main/res/values/ids.xml b/app/src/main/res/values/ids.xml index 83019dd8c..dbaec8e41 100644 --- a/app/src/main/res/values/ids.xml +++ b/app/src/main/res/values/ids.xml @@ -12,9 +12,6 @@ - - - diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 554a44045..5c1bc9e2d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -574,11 +574,6 @@ These members are not capable of joining New Groups, and will be removed from the group: - - To access new features like @mentions and admins, upgrade this group. - Not now - Upgrade group - %1$d member couldn\'t be re-added to the New Group. Do you want to add them now?