diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/migration/GroupsV1MigrationInitiationBottomSheetDialogFragment.java b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/migration/GroupsV1MigrationInitiationBottomSheetDialogFragment.java index 1afe479bbb..7e0447ccc9 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/migration/GroupsV1MigrationInitiationBottomSheetDialogFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/migration/GroupsV1MigrationInitiationBottomSheetDialogFragment.java @@ -21,6 +21,7 @@ import org.thoughtcrime.securesms.groups.ui.GroupMemberListView; import org.thoughtcrime.securesms.recipients.RecipientId; import org.thoughtcrime.securesms.util.BottomSheetUtil; import org.thoughtcrime.securesms.util.ThemeUtil; +import org.thoughtcrime.securesms.util.ViewUtil; import org.thoughtcrime.securesms.util.views.SimpleProgressDialog; /** @@ -38,6 +39,8 @@ public final class GroupsV1MigrationInitiationBottomSheetDialogFragment extends private GroupMemberListView ineligibleList; private TextView ineligibleTitle; private View ineligibleContainer; + private View upgradeButton; + private View spinner; public static void showForInitiation(@NonNull FragmentManager manager, @NonNull RecipientId groupRecipientId) { Bundle args = new Bundle(); @@ -71,6 +74,8 @@ public final class GroupsV1MigrationInitiationBottomSheetDialogFragment extends this.ineligibleContainer = view.findViewById(R.id.gv1_migrate_ineligible_container); this.ineligibleTitle = view.findViewById(R.id.gv1_migrate_ineligible_title); this.ineligibleList = view.findViewById(R.id.gv1_migrate_ineligible_list); + this.upgradeButton = view.findViewById(R.id.gv1_migrate_upgrade_button); + this.spinner = view.findViewById(R.id.gv1_migrate_spinner); inviteList.setNestedScrollingEnabled(false); ineligibleList.setNestedScrollingEnabled(false); @@ -82,8 +87,9 @@ public final class GroupsV1MigrationInitiationBottomSheetDialogFragment extends viewModel = ViewModelProviders.of(this, new GroupsV1MigrationInitiationViewModel.Factory(groupRecipientId)).get(GroupsV1MigrationInitiationViewModel.class); viewModel.getMigrationState().observe(getViewLifecycleOwner(), this::onMigrationStateChanged); + upgradeButton.setEnabled(false); + upgradeButton.setOnClickListener(v -> onUpgradeClicked()); view.findViewById(R.id.gv1_migrate_cancel_button).setOnClickListener(v -> dismiss()); - view.findViewById(R.id.gv1_migrate_upgrade_button).setOnClickListener(v -> onUpgradeClicked()); } @Override @@ -107,6 +113,9 @@ public final class GroupsV1MigrationInitiationBottomSheetDialogFragment extends } else { ineligibleContainer.setVisibility(View.GONE); } + + upgradeButton.setEnabled(true); + spinner.setVisibility(View.GONE); } private void onUpgradeClicked() { diff --git a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/migration/GroupsV1MigrationRepository.java b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/migration/GroupsV1MigrationRepository.java index 9bd0b40ae7..998e93bebf 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/groups/ui/migration/GroupsV1MigrationRepository.java +++ b/app/src/main/java/org/thoughtcrime/securesms/groups/ui/migration/GroupsV1MigrationRepository.java @@ -20,6 +20,7 @@ import org.thoughtcrime.securesms.recipients.Recipient; import org.thoughtcrime.securesms.recipients.RecipientId; import org.thoughtcrime.securesms.recipients.RecipientUtil; import org.thoughtcrime.securesms.transport.RetryLaterException; +import org.thoughtcrime.securesms.util.Util; import java.io.IOException; import java.util.Collections; @@ -83,7 +84,11 @@ final class GroupsV1MigrationRepository { } try { - RecipientUtil.ensureUuidsAreAvailable(ApplicationDependencies.getApplication(), group.getParticipants()); + List registered = Stream.of(group.getParticipants()) + .filter(Recipient::isRegistered) + .toList(); + + RecipientUtil.ensureUuidsAreAvailable(ApplicationDependencies.getApplication(), registered); } catch (IOException e) { Log.w(TAG, "Failed to refresh UUIDs!", e); } diff --git a/app/src/main/res/layout/groupsv1_migration_bottom_sheet.xml b/app/src/main/res/layout/groupsv1_migration_bottom_sheet.xml index 39fd4064fc..13c9fb9383 100644 --- a/app/src/main/res/layout/groupsv1_migration_bottom_sheet.xml +++ b/app/src/main/res/layout/groupsv1_migration_bottom_sheet.xml @@ -76,6 +76,13 @@ + +