Fix issue where you couldn't delete a blocked announcement group.
This commit is contained in:
parent
21b82e291b
commit
eba3c55ec8
1 changed files with 10 additions and 1 deletions
|
@ -33,6 +33,7 @@ import org.thoughtcrime.securesms.sms.MessageSender;
|
||||||
import org.thoughtcrime.securesms.util.FeatureFlags;
|
import org.thoughtcrime.securesms.util.FeatureFlags;
|
||||||
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
import org.thoughtcrime.securesms.util.TextSecurePreferences;
|
||||||
import org.whispersystems.libsignal.util.guava.Optional;
|
import org.whispersystems.libsignal.util.guava.Optional;
|
||||||
|
import org.whispersystems.signalservice.internal.push.exceptions.GroupPatchNotAcceptedException;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -177,7 +178,15 @@ final class MessageRequestRepository {
|
||||||
if (resolved.isGroup() && resolved.requireGroupId().isPush()) {
|
if (resolved.isGroup() && resolved.requireGroupId().isPush()) {
|
||||||
try {
|
try {
|
||||||
GroupManager.leaveGroupFromBlockOrMessageRequest(context, resolved.requireGroupId().requirePush());
|
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);
|
Log.w(TAG, e);
|
||||||
error.onError(GroupChangeFailureReason.fromException(e));
|
error.onError(GroupChangeFailureReason.fromException(e));
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Add table
Reference in a new issue