mirror of
https://github.com/signalapp/Signal-Android.git
synced 2025-12-26 22:20:20 +00:00
Fix issue where you couldn't delete a blocked announcement group.
This commit is contained in:
@@ -33,6 +33,7 @@ import org.thoughtcrime.securesms.sms.MessageSender;
|
||||
import org.thoughtcrime.securesms.util.FeatureFlags;
|
||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||
import org.whispersystems.libsignal.util.guava.Optional;
|
||||
import org.whispersystems.signalservice.internal.push.exceptions.GroupPatchNotAcceptedException;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
@@ -177,7 +178,15 @@ final class MessageRequestRepository {
|
||||
if (resolved.isGroup() && resolved.requireGroupId().isPush()) {
|
||||
try {
|
||||
GroupManager.leaveGroupFromBlockOrMessageRequest(context, resolved.requireGroupId().requirePush());
|
||||
} catch (GroupChangeException | IOException e) {
|
||||
} catch (GroupChangeException | GroupPatchNotAcceptedException e) {
|
||||
if (DatabaseFactory.getGroupDatabase(context).isCurrentMember(resolved.requireGroupId().requirePush(), Recipient.self().getId())) {
|
||||
Log.w(TAG, "Failed to leave group, and we're still a member.", e);
|
||||
error.onError(GroupChangeFailureReason.fromException(e));
|
||||
return;
|
||||
} else {
|
||||
Log.w(TAG, "Failed to leave group, but we're not a member, so ignoring.");
|
||||
}
|
||||
} catch (IOException e) {
|
||||
Log.w(TAG, e);
|
||||
error.onError(GroupChangeFailureReason.fromException(e));
|
||||
return;
|
||||
|
||||
Reference in New Issue
Block a user