That fuck shit the fascists are using
1package org.tm.archive.messagedetails;
2
3import android.view.View;
4import android.widget.TextView;
5
6import androidx.annotation.NonNull;
7import androidx.recyclerview.widget.RecyclerView;
8
9import org.tm.archive.R;
10import org.tm.archive.badges.BadgeImageView;
11import org.tm.archive.components.AvatarImageView;
12import org.tm.archive.components.FromTextView;
13import org.tm.archive.util.DateUtils;
14import org.tm.archive.util.TextSecurePreferences;
15
16import java.util.Locale;
17
18final class RecipientViewHolder extends RecyclerView.ViewHolder {
19 private final AvatarImageView avatar;
20 private final FromTextView fromView;
21 private final TextView timestamp;
22 private final TextView error;
23 private final View conflictButton;
24 private final View unidentifiedDeliveryIcon;
25 private final BadgeImageView badge;
26 private MessageDetailsAdapter.Callbacks callbacks;
27
28 RecipientViewHolder(@NonNull View itemView, @NonNull MessageDetailsAdapter.Callbacks callbacks) {
29 super(itemView);
30
31 this.callbacks = callbacks;
32
33 fromView = itemView.findViewById(R.id.message_details_recipient_name);
34 avatar = itemView.findViewById(R.id.message_details_recipient_avatar);
35 timestamp = itemView.findViewById(R.id.message_details_recipient_timestamp);
36 error = itemView.findViewById(R.id.message_details_recipient_error_description);
37 conflictButton = itemView.findViewById(R.id.message_details_recipient_conflict_button);
38 unidentifiedDeliveryIcon = itemView.findViewById(R.id.message_details_recipient_ud_indicator);
39 badge = itemView.findViewById(R.id.message_details_recipient_badge);
40 }
41
42 void bind(RecipientDeliveryStatus data) {
43 unidentifiedDeliveryIcon.setVisibility(TextSecurePreferences.isShowUnidentifiedDeliveryIndicatorsEnabled(itemView.getContext()) && data.isUnidentified() ? View.VISIBLE : View.GONE);
44 fromView.setText(data.getRecipient());
45 avatar.setRecipient(data.getRecipient());
46 badge.setBadgeFromRecipient(data.getRecipient());
47
48 if (data.getKeyMismatchFailure() != null) {
49 timestamp.setVisibility(View.GONE);
50 error.setVisibility(View.VISIBLE);
51 conflictButton.setVisibility(View.VISIBLE);
52 error.setText(itemView.getContext().getString(R.string.message_details_recipient__new_safety_number));
53 conflictButton.setOnClickListener(unused -> callbacks.onErrorClicked(data.getMessageRecord()));
54 } else if ((data.getNetworkFailure() != null && !data.getMessageRecord().isPending()) || (!data.getMessageRecord().getToRecipient().isPushGroup() && data.getMessageRecord().isFailed())) {
55 timestamp.setVisibility(View.GONE);
56 error.setVisibility(View.VISIBLE);
57 conflictButton.setVisibility(View.GONE);
58 error.setText(itemView.getContext().getString(R.string.message_details_recipient__failed_to_send));
59 } else {
60 timestamp.setVisibility(View.VISIBLE);
61 error.setVisibility(View.GONE);
62 conflictButton.setVisibility(View.GONE);
63
64 if (data.getTimestamp() > 0) {
65 Locale dateLocale = Locale.getDefault();
66 timestamp.setText(DateUtils.getTimeString(itemView.getContext(), dateLocale, data.getTimestamp()));
67 } else {
68 timestamp.setText("");
69 }
70 }
71 }
72}