Fragmentize MessageDetails.

This commit is contained in:
Alex Hart
2022-02-11 14:03:51 -04:00
committed by Greyson Parrelli
parent b3f4e0a7fe
commit fb1ba5a13e
6 changed files with 50 additions and 86 deletions

View File

@@ -123,7 +123,7 @@ import org.thoughtcrime.securesms.jobs.MultiDeviceViewOnceOpenJob;
import org.thoughtcrime.securesms.keyvalue.SignalStore;
import org.thoughtcrime.securesms.linkpreview.LinkPreview;
import org.thoughtcrime.securesms.longmessage.LongMessageFragment;
import org.thoughtcrime.securesms.messagedetails.MessageDetailsActivity;
import org.thoughtcrime.securesms.messagedetails.MessageDetailsFragment;
import org.thoughtcrime.securesms.messagerequests.MessageRequestState;
import org.thoughtcrime.securesms.messagerequests.MessageRequestViewModel;
import org.thoughtcrime.securesms.mms.GlideApp;
@@ -1005,7 +1005,7 @@ public class ConversationFragment extends LoggingFragment implements Multiselect
}
private void handleDisplayDetails(ConversationMessage message) {
startActivity(MessageDetailsActivity.getIntentForMessageDetails(requireContext(), message.getMessageRecord(), recipient.getId(), threadId));
MessageDetailsFragment.create(message.getMessageRecord(), recipient.getId()).show(getChildFragmentManager(), null);
}
private void handleForwardMessageParts(Set<MultiselectPart> multiselectParts) {

View File

@@ -212,7 +212,7 @@ import org.thoughtcrime.securesms.mediaoverview.MediaOverviewActivity;
import org.thoughtcrime.securesms.mediasend.Media;
import org.thoughtcrime.securesms.mediasend.MediaSendActivityResult;
import org.thoughtcrime.securesms.mediasend.v2.MediaSelectionActivity;
import org.thoughtcrime.securesms.messagedetails.MessageDetailsActivity;
import org.thoughtcrime.securesms.messagedetails.MessageDetailsFragment;
import org.thoughtcrime.securesms.messagerequests.MessageRequestState;
import org.thoughtcrime.securesms.messagerequests.MessageRequestViewModel;
import org.thoughtcrime.securesms.messagerequests.MessageRequestsBottomView;
@@ -3730,7 +3730,7 @@ public class ConversationParentFragment extends Fragment
@Override
public void onMessageWithErrorClicked(@NonNull MessageRecord messageRecord) {
if (messageRecord.isIdentityMismatchFailure()) {
SafetyNumberChangeDialog.show(requireActivity(), messageRecord);
SafetyNumberChangeDialog.show(requireContext(), getChildFragmentManager(), messageRecord);
} else if (messageRecord.hasFailedWithNetworkFailures()) {
new AlertDialog.Builder(requireContext())
.setMessage(R.string.conversation_activity__message_could_not_be_sent)
@@ -3738,7 +3738,7 @@ public class ConversationParentFragment extends Fragment
.setPositiveButton(R.string.conversation_activity__send, (dialog, which) -> MessageSender.resend(requireContext(), messageRecord))
.show();
} else {
startActivity(MessageDetailsActivity.getIntentForMessageDetails(requireContext(), messageRecord, messageRecord.getRecipient().getId(), messageRecord.getThreadId()));
MessageDetailsFragment.create(messageRecord, recipient.getId()).show(getChildFragmentManager(), null);
}
}

View File

@@ -2,6 +2,7 @@ package org.thoughtcrime.securesms.conversation.ui.error;
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.LayoutInflater;
@@ -77,9 +78,9 @@ public final class SafetyNumberChangeDialog extends DialogFragment implements Sa
fragment.show(fragmentManager, SAFETY_NUMBER_DIALOG);
}
public static void show(@NonNull FragmentActivity fragmentActivity, @NonNull MessageRecord messageRecord) {
public static void show(@NonNull Context context, @NonNull FragmentManager fragmentManager, @NonNull MessageRecord messageRecord) {
List<String> ids = Stream.of(messageRecord.getIdentityKeyMismatches())
.map(mismatch -> mismatch.getRecipientId(fragmentActivity).serialize())
.map(mismatch -> mismatch.getRecipientId(context).serialize())
.distinct()
.toList();
@@ -90,7 +91,7 @@ public final class SafetyNumberChangeDialog extends DialogFragment implements Sa
arguments.putInt(CONTINUE_TEXT_RESOURCE_EXTRA, R.string.safety_number_change_dialog__send_anyway);
SafetyNumberChangeDialog fragment = new SafetyNumberChangeDialog();
fragment.setArguments(arguments);
fragment.show(fragmentActivity.getSupportFragmentManager(), SAFETY_NUMBER_DIALOG);
fragment.show(fragmentManager, SAFETY_NUMBER_DIALOG);
}
public static void showForCall(@NonNull FragmentManager fragmentManager, @NonNull RecipientId recipientId) {