Add pending and failed states for admin delete.

This commit is contained in:
Michelle Tang
2026-03-03 11:14:11 -05:00
committed by Greyson Parrelli
parent 3af8b6050c
commit 74d9e3248b
19 changed files with 247 additions and 46 deletions

View File

@@ -519,9 +519,9 @@ public class MessageSender {
}
public static void sendAdminDelete(long messageId) {
// TODO(michelle): Update with failure states
SignalDatabase.messages().markAsDeleteBySelf(messageId);
AdminDeleteSendJob job = AdminDeleteSendJob.create(messageId);
SignalDatabase.messages().markAsPendingAdminDelete(messageId);
AdminDeleteSendJob job = AdminDeleteSendJob.create(messageId, Collections.emptyList());
if (job != null) {
AppDependencies.getJobManager().add(job);
} else {
@@ -529,6 +529,16 @@ public class MessageSender {
}
}
public static void resendAdminDelete(MessageRecord message, List<RecipientId> filteredRecipients) {
SignalDatabase.messages().markAsPendingAdminDelete(message.getId());
AdminDeleteSendJob job = AdminDeleteSendJob.create(message.getId(), filteredRecipients);
if (job != null) {
AppDependencies.getJobManager().add(job);
} else {
Log.w(TAG, "[resendAdminDelete] Could not resend the admin delete job.");
}
}
public static void resendGroupMessage(@NonNull Context context, @NonNull MessageRecord messageRecord, @NonNull Set<RecipientId> filterRecipientIds) {
if (!messageRecord.isMms()) throw new AssertionError("Not Group");
sendGroupPush(context, messageRecord.getToRecipient(), messageRecord.getId(), filterRecipientIds, Collections.emptyList());