From 39a11ce26c207cef2952b64d890af5b15437f492 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Wed, 27 Apr 2022 14:24:50 -0400 Subject: [PATCH] Ensure message resends are called on a background thread. --- .../conversation/ConversationParentFragment.java | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java index af4416e0f..12019b0a6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java +++ b/app/src/main/java/org/thoughtcrime/securesms/conversation/ConversationParentFragment.java @@ -3767,11 +3767,15 @@ public class ConversationParentFragment extends Fragment if (messageRecord.isIdentityMismatchFailure()) { SafetyNumberChangeDialog.show(requireContext(), getChildFragmentManager(), messageRecord); } else if (messageRecord.hasFailedWithNetworkFailures()) { - new AlertDialog.Builder(requireContext()) - .setMessage(R.string.conversation_activity__message_could_not_be_sent) - .setNegativeButton(android.R.string.cancel, null) - .setPositiveButton(R.string.conversation_activity__send, (dialog, which) -> MessageSender.resend(requireContext(), messageRecord)) - .show(); + new MaterialAlertDialogBuilder(requireContext()) + .setMessage(R.string.conversation_activity__message_could_not_be_sent) + .setNegativeButton(android.R.string.cancel, null) + .setPositiveButton(R.string.conversation_activity__send, (dialog, which) -> { + SignalExecutors.BOUNDED.execute(() -> { + MessageSender.resend(requireContext(), messageRecord); + }); + }) + .show(); } else { MessageDetailsFragment.create(messageRecord, recipient.getId()).show(getChildFragmentManager(), null); }