mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-22 09:49:30 +01:00
Allow block of any recipient except MMS groups still.
This commit is contained in:
committed by
Greyson Parrelli
parent
f312757daf
commit
d1f6a924fb
@@ -111,7 +111,7 @@ public class RecipientUtil {
|
||||
|
||||
public static boolean isBlockable(@NonNull Recipient recipient) {
|
||||
Recipient resolved = recipient.resolve();
|
||||
return resolved.isPushGroup() || resolved.hasServiceIdentifier();
|
||||
return !resolved.isMmsGroup();
|
||||
}
|
||||
|
||||
public static List<Recipient> getEligibleForSending(@NonNull List<Recipient> recipients) {
|
||||
@@ -177,7 +177,10 @@ public class RecipientUtil {
|
||||
DatabaseFactory.getRecipientDatabase(context).setProfileSharing(recipient.getId(), true);
|
||||
ApplicationDependencies.getJobManager().add(new MultiDeviceBlockedUpdateJob());
|
||||
StorageSyncHelper.scheduleSyncForDataChange();
|
||||
ApplicationDependencies.getJobManager().add(MultiDeviceMessageRequestResponseJob.forAccept(recipient.getId()));
|
||||
|
||||
if (recipient.hasServiceIdentifier()) {
|
||||
ApplicationDependencies.getJobManager().add(MultiDeviceMessageRequestResponseJob.forAccept(recipient.getId()));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -51,7 +51,6 @@ import org.thoughtcrime.securesms.recipients.RecipientExporter;
|
||||
import org.thoughtcrime.securesms.recipients.RecipientId;
|
||||
import org.thoughtcrime.securesms.recipients.ui.notifications.CustomNotificationsDialogFragment;
|
||||
import org.thoughtcrime.securesms.util.DateUtils;
|
||||
import org.thoughtcrime.securesms.util.FeatureFlags;
|
||||
import org.thoughtcrime.securesms.util.LifecycleCursorWrapper;
|
||||
import org.thoughtcrime.securesms.util.ServiceUtil;
|
||||
import org.thoughtcrime.securesms.util.Util;
|
||||
@@ -261,10 +260,11 @@ public class ManageRecipientFragment extends LoggingFragment {
|
||||
});
|
||||
}
|
||||
|
||||
viewModel.getCanBlock().observe(getViewLifecycleOwner(), canBlock -> {
|
||||
block.setVisibility(canBlock ? View.VISIBLE : View.GONE);
|
||||
unblock.setVisibility(canBlock ? View.GONE : View.VISIBLE);
|
||||
});
|
||||
viewModel.getCanBlock().observe(getViewLifecycleOwner(),
|
||||
canBlock -> block.setVisibility(canBlock ? View.VISIBLE : View.GONE));
|
||||
|
||||
viewModel.getCanUnblock().observe(getViewLifecycleOwner(),
|
||||
canUnblock -> unblock.setVisibility(canUnblock ? View.VISIBLE : View.GONE));
|
||||
|
||||
messageButton.setOnClickListener(v -> {
|
||||
if (fromConversation) {
|
||||
|
||||
@@ -63,6 +63,7 @@ public final class ManageRecipientViewModel extends ViewModel {
|
||||
private final LiveData<Boolean> canCollapseMemberList;
|
||||
private final DefaultValueLiveData<CollapseState> groupListCollapseState;
|
||||
private final LiveData<Boolean> canBlock;
|
||||
private final LiveData<Boolean> canUnblock;
|
||||
private final LiveData<List<GroupMemberEntry.FullMember>> visibleSharedGroups;
|
||||
private final LiveData<String> sharedGroupsCountSummary;
|
||||
private final LiveData<Boolean> canAddToAGroup;
|
||||
@@ -79,7 +80,8 @@ public final class ManageRecipientViewModel extends ViewModel {
|
||||
this.disappearingMessageTimer = Transformations.map(this.recipient, r -> ExpirationUtil.getExpirationDisplayValue(context, r.getExpireMessages()));
|
||||
this.muteState = Transformations.map(this.recipient, r -> new MuteState(r.getMuteUntil(), r.isMuted()));
|
||||
this.hasCustomNotifications = Transformations.map(this.recipient, r -> r.getNotificationChannel() != null || !NotificationChannels.supported());
|
||||
this.canBlock = Transformations.map(this.recipient, r -> !r.isBlocked());
|
||||
this.canBlock = Transformations.map(this.recipient, r -> RecipientUtil.isBlockable(r) && !r.isBlocked());
|
||||
this.canUnblock = Transformations.map(this.recipient, Recipient::isBlocked);
|
||||
this.internalDetails = Transformations.map(this.recipient, this::populateInternalDetails);
|
||||
|
||||
manageRecipientRepository.getThreadId(this::onThreadIdLoaded);
|
||||
@@ -181,6 +183,10 @@ public final class ManageRecipientViewModel extends ViewModel {
|
||||
return canBlock;
|
||||
}
|
||||
|
||||
LiveData<Boolean> getCanUnblock() {
|
||||
return canUnblock;
|
||||
}
|
||||
|
||||
void handleExpirationSelection(@NonNull Context context) {
|
||||
withRecipient(recipient ->
|
||||
ExpirationDialog.show(context,
|
||||
|
||||
Reference in New Issue
Block a user