Remove old Message Details.

This commit is contained in:
Cody Henthorne
2020-06-16 18:12:14 -04:00
committed by Greyson Parrelli
parent 027453bbd2
commit 1a09e70a04
18 changed files with 208 additions and 1253 deletions

View File

@@ -1,16 +1,21 @@
package org.thoughtcrime.securesms.messagedetails;
import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.ColorDrawable;
import android.os.Build;
import android.os.Bundle;
import android.view.MenuItem;
import androidx.annotation.NonNull;
import androidx.lifecycle.ViewModelProviders;
import androidx.recyclerview.widget.RecyclerView;
import org.thoughtcrime.securesms.PassphraseRequiredActionBarActivity;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.color.MaterialColor;
import org.thoughtcrime.securesms.database.MmsSmsDatabase;
import org.thoughtcrime.securesms.database.model.MessageRecord;
import org.thoughtcrime.securesms.messagedetails.MessageDetailsAdapter.MessageDetailsViewState;
import org.thoughtcrime.securesms.messagedetails.MessageDetailsViewModel.Factory;
import org.thoughtcrime.securesms.mms.GlideApp;
@@ -25,10 +30,10 @@ import java.util.List;
public final class MessageDetailsActivity extends PassphraseRequiredActionBarActivity {
public static final String MESSAGE_ID_EXTRA = "message_id";
public static final String THREAD_ID_EXTRA = "thread_id";
public static final String TYPE_EXTRA = "type";
public static final String RECIPIENT_EXTRA = "recipient_id";
private static final String MESSAGE_ID_EXTRA = "message_id";
private static final String THREAD_ID_EXTRA = "thread_id";
private static final String TYPE_EXTRA = "type";
private static final String RECIPIENT_EXTRA = "recipient_id";
private GlideRequests glideRequests;
private MessageDetailsViewModel viewModel;
@@ -36,6 +41,15 @@ public final class MessageDetailsActivity extends PassphraseRequiredActionBarAct
private DynamicTheme dynamicTheme = new DynamicDarkActionBarTheme();
public static @NonNull Intent getIntentForMessageDetails(@NonNull Context context, @NonNull MessageRecord message, @NonNull RecipientId recipientId, long threadId) {
Intent intent = new Intent(context, MessageDetailsActivity.class);
intent.putExtra(MESSAGE_ID_EXTRA, message.getId());
intent.putExtra(THREAD_ID_EXTRA, threadId);
intent.putExtra(TYPE_EXTRA, message.isMms() ? MmsSmsDatabase.MMS_TRANSPORT : MmsSmsDatabase.SMS_TRANSPORT);
intent.putExtra(RECIPIENT_EXTRA, recipientId);
return intent;
}
@Override
protected void onPreCreate() {
dynamicTheme.onCreate(this);
@@ -44,7 +58,7 @@ public final class MessageDetailsActivity extends PassphraseRequiredActionBarAct
@Override
protected void onCreate(Bundle savedInstanceState, boolean ready) {
super.onCreate(savedInstanceState, ready);
setContentView(R.layout.message_details_2_activity);
setContentView(R.layout.message_details_activity);
glideRequests = GlideApp.with(this);

View File

@@ -32,11 +32,11 @@ final class MessageDetailsAdapter extends ListAdapter<MessageDetailsAdapter.Mess
public @NonNull RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
switch (viewType) {
case MessageDetailsViewState.MESSAGE_HEADER:
return new MessageHeaderViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.message_details_2_header, parent, false), glideRequests);
return new MessageHeaderViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.message_details_header, parent, false), glideRequests);
case MessageDetailsViewState.RECIPIENT_HEADER:
return new RecipientHeaderViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.message_details_2_recipient_header, parent, false));
return new RecipientHeaderViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.message_details_recipient_header, parent, false));
case MessageDetailsViewState.RECIPIENT:
return new RecipientViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.message_details_2_recipient, parent, false));
return new RecipientViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.message_details_recipient, parent, false));
default:
throw new AssertionError("unknown view type");
}

View File

@@ -48,18 +48,18 @@ final class MessageHeaderViewHolder extends RecyclerView.ViewHolder {
super(itemView);
this.glideRequests = glideRequests;
sentDate = itemView.findViewById(R.id.sent_time);
receivedDate = itemView.findViewById(R.id.received_time);
receivedGroup = itemView.findViewById(R.id.received_group);
expiresIn = itemView.findViewById(R.id.expires_in);
expiresGroup = itemView.findViewById(R.id.expires_group);
transport = itemView.findViewById(R.id.transport);
errorText = itemView.findViewById(R.id.error_text);
resendButton = itemView.findViewById(R.id.resend_button);
messageMetadata = itemView.findViewById(R.id.message_metadata);
updateStub = itemView.findViewById(R.id.message_view_update);
sentStub = itemView.findViewById(R.id.message_view_sent_multimedia);
receivedStub = itemView.findViewById(R.id.message_view_received_multimedia);
sentDate = itemView.findViewById(R.id.message_details_header_sent_time);
receivedDate = itemView.findViewById(R.id.message_details_header_received_time);
receivedGroup = itemView.findViewById(R.id.message_details_header_received_group);
expiresIn = itemView.findViewById(R.id.message_details_header_expires_in);
expiresGroup = itemView.findViewById(R.id.message_details_header_expires_group);
transport = itemView.findViewById(R.id.message_details_header_transport);
errorText = itemView.findViewById(R.id.message_details_header_error_text);
resendButton = itemView.findViewById(R.id.message_details_header_resend_button);
messageMetadata = itemView.findViewById(R.id.message_details_header_message_metadata);
updateStub = itemView.findViewById(R.id.message_details_header_message_view_update);
sentStub = itemView.findViewById(R.id.message_details_header_message_view_sent_multimedia);
receivedStub = itemView.findViewById(R.id.message_details_header_message_view_received_multimedia);
}
void bind(MessageRecord messageRecord, boolean running) {

View File

@@ -9,12 +9,9 @@ import org.thoughtcrime.securesms.ConfirmIdentityDialog;
import org.thoughtcrime.securesms.R;
import org.thoughtcrime.securesms.components.AvatarImageView;
import org.thoughtcrime.securesms.components.FromTextView;
import org.thoughtcrime.securesms.mms.GlideRequests;
import org.thoughtcrime.securesms.util.DateUtils;
import org.thoughtcrime.securesms.util.TextSecurePreferences;
import java.sql.Date;
import java.text.SimpleDateFormat;
import java.util.Locale;
final class RecipientViewHolder extends RecyclerView.ViewHolder {
@@ -28,12 +25,12 @@ final class RecipientViewHolder extends RecyclerView.ViewHolder {
RecipientViewHolder(View itemView) {
super(itemView);
fromView = itemView.findViewById(R.id.recipient_name);
avatar = itemView.findViewById(R.id.recipient_avatar);
timestamp = itemView.findViewById(R.id.recipient_timestamp);
error = itemView.findViewById(R.id.error_description);
conflictButton = itemView.findViewById(R.id.conflict_button);
unidentifiedDeliveryIcon = itemView.findViewById(R.id.ud_indicator);
fromView = itemView.findViewById(R.id.message_details_recipient_name);
avatar = itemView.findViewById(R.id.message_details_recipient_avatar);
timestamp = itemView.findViewById(R.id.message_details_recipient_timestamp);
error = itemView.findViewById(R.id.message_details_recipient_error_description);
conflictButton = itemView.findViewById(R.id.message_details_recipient_conflict_button);
unidentifiedDeliveryIcon = itemView.findViewById(R.id.message_details_recipient_ud_indicator);
}
void bind(RecipientDeliveryStatus data) {
@@ -45,13 +42,13 @@ final class RecipientViewHolder extends RecyclerView.ViewHolder {
timestamp.setVisibility(View.GONE);
error.setVisibility(View.VISIBLE);
conflictButton.setVisibility(View.VISIBLE);
error.setText(itemView.getContext().getString(R.string.MessageDetailsRecipient_new_safety_number));
error.setText(itemView.getContext().getString(R.string.message_details_recipient__new_safety_number));
conflictButton.setOnClickListener(unused -> new ConfirmIdentityDialog(itemView.getContext(), data.getMessageRecord(), data.getKeyMismatchFailure()).show());
} else if ((data.getNetworkFailure() != null && !data.getMessageRecord().isPending()) || (!data.getMessageRecord().getRecipient().isPushGroup() && data.getMessageRecord().isFailed())) {
timestamp.setVisibility(View.GONE);
error.setVisibility(View.VISIBLE);
conflictButton.setVisibility(View.GONE);
error.setText(itemView.getContext().getString(R.string.MessageDetailsRecipient_failed_to_send));
error.setText(itemView.getContext().getString(R.string.message_details_recipient__failed_to_send));
} else {
timestamp.setVisibility(View.VISIBLE);
error.setVisibility(View.GONE);